@charset "UTF-8";
/*!
 * DJ Music Website
 * 暗黑主题音乐网站样式
 * 兼容 Safari 5+ 和现代浏览器
 *
 * 技术栈:
 * - Bootstrap 3.4.1
 * - SCSS模块化架构
 * - ES5 JavaScript
 *
 * 设计原则:
 * - 无阴影设计 (box-shadow: none)
 * - 无圆角设计 (border-radius: 0)
 * - 高对比度暗黑主题
 * - 响应式布局
 * - 渐进增强
 *
 * 新架构说明:
 * - layout/    布局组件（header, navbar, footer等）
 * - components/ 通用UI组件（buttons, forms, modals等）
 * - music/     音乐专用组件（track-list, player等）
 * - pages/     页面专用样式
 */
*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-size: 14px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

button,
input[type=button],
input[type=submit],
input[type=reset] {
  outline: none !important;
  border: none !important;
}
button:focus, button:active, button:hover,
input[type=button]:focus,
input[type=button]:active,
input[type=button]:hover,
input[type=submit]:focus,
input[type=submit]:active,
input[type=submit]:hover,
input[type=reset]:focus,
input[type=reset]:active,
input[type=reset]:hover {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
button::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
input[type=submit]::-moz-focus-inner,
input[type=reset]::-moz-focus-inner {
  border: 0 !important;
  outline: none !important;
  padding: 0 !important;
}
button,
input[type=button],
input[type=submit],
input[type=reset] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0) !important;
}

input,
textarea,
select {
  outline: none !important;
}
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  box-shadow: none !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #ffffff;
  background-color: #0a0a0a;
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #f10732;
  text-decoration: none;
  background-color: transparent;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
a:hover, a:focus, a:active {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  text-decoration: none;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
a:visited {
  color: #f10732;
  text-decoration: none;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}
a:focus {
  outline: none !important;
  outline-offset: 0 !important;
  -moz-outline: none !important;
  -webkit-focus-ring-color: transparent !important;
}
a {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
a::-moz-focus-inner {
  border: 0 !important;
  outline: none !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: 500;
  line-height: 1.2;
  color: #ffffff;
  margin-top: 0;
  margin-bottom: 15px;
}
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  font-weight: 400;
  line-height: 1;
  color: #888888;
}

h1 {
  font-size: 32px;
}
h1 small {
  font-size: 24px;
}

h2 {
  font-size: 28px;
}
h2 small {
  font-size: 20px;
}

h3 {
  font-size: 24px;
}
h3 small {
  font-size: 18px;
}

h4 {
  font-size: 20px;
}
h4 small {
  font-size: 16px;
}

h5 {
  font-size: 18px;
}
h5 small {
  font-size: 12px;
}

h6 {
  font-size: 16px;
}
h6 small {
  font-size: 12px;
}

p {
  margin: 0 0 15px;
}
p:last-child {
  margin-bottom: 0;
}

small {
  font-size: 12px;
  color: #888888;
}

@media screen and (-webkit-min-device-pixel-ratio: 1) {
  body {
    line-height: 21px;
  }
  h1, h2, h3, h4, h5, h6 {
    line-height: normal;
  }
}
mark {
  background-color: #ffaa00;
  color: #ffffff;
  padding: 0.2em;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center {
  text-align: center;
}

.text-justify {
  text-align: justify;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-muted {
  color: #888888;
}

.text-primary {
  color: #f10732;
}

.text-success {
  color: #00cc66;
}

.text-info {
  color: #00aaff;
}

.text-warning {
  color: #ffaa00;
}

.text-danger {
  color: #f10732;
}

ul, ol {
  margin-top: 0;
  margin-bottom: 15px;
}
ul ul, ul ol, ol ul, ol ol {
  margin-bottom: 0;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  list-style: none;
}
.list-inline > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}
.list-inline > li:first-child {
  padding-left: 0;
}
.list-inline > li:last-child {
  padding-right: 0;
}

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 16px;
  border-left: 5px solid #333333;
  background-color: #1a1a1a;
  color: #cccccc;
}
blockquote p:last-child {
  margin-bottom: 0;
}
blockquote footer {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: #888888;
}
blockquote footer:before {
  content: "— ";
}

code, kbd, pre, samp {
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
}

code {
  padding: 2px 4px;
  font-size: 90%;
  color: #f10732;
  background-color: #2a2a2a;
  border-radius: 0;
}

kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #ffffff;
  background-color: #0a0a0a;
  border-radius: 0;
  border: 1px solid #333333;
}

pre {
  display: block;
  padding: 15px;
  margin: 0 0 20px;
  font-size: 12px;
  line-height: 1.5;
  word-break: break-all;
  word-wrap: break-word;
  color: #ffffff;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}

table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
  background-color: transparent;
}
table > thead > tr > th,
table > thead > tr > td,
table > tbody > tr > th,
table > tbody > tr > td,
table > tfoot > tr > th,
table > tfoot > tr > td {
  padding: 10px;
  line-height: 1.5;
  vertical-align: top;
  border-top: 1px solid #333333;
}
table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #333333;
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 700;
}
table > tbody + tbody {
  border-top: 2px solid #333333;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  color: #ffffff;
}
table.table-striped > tbody > tr:nth-child(odd) {
  background-color: #1a1a1a;
}
table.table-bordered {
  border: 1px solid #333333;
}
table.table-bordered > thead > tr > th,
table.table-bordered > thead > tr > td,
table.table-bordered > tbody > tr > th,
table.table-bordered > tbody > tr > td,
table.table-bordered > tfoot > tr > th,
table.table-bordered > tfoot > tr > td {
  border: 1px solid #333333;
}
table.table-hover > tbody > tr:hover {
  background-color: rgb(67.5, 67.5, 67.5);
}
table.table-condensed > thead > tr > th,
table.table-condensed > thead > tr > td,
table.table-condensed > tbody > tr > th,
table.table-condensed > tbody > tr > td,
table.table-condensed > tfoot > tr > th,
table.table-condensed > tfoot > tr > td {
  padding: 5px;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 20px;
  font-size: 20px;
  line-height: inherit;
  color: #ffffff;
  border: 0;
  border-bottom: 1px solid #333333;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: 500;
  color: #ffffff;
}

input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
textarea,
select {
  display: block;
  width: 100%;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #ffffff;
  background-color: #1a1a1a;
  background-image: none;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=time]:focus,
input[type=week]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=color]:focus,
textarea:focus,
select:focus {
  border-color: #0088ff;
  outline: 0;
  box-shadow: none;
}
input[type=text]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=datetime]::-moz-placeholder, input[type=datetime-local]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=color]::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
  color: #888888;
  opacity: 1;
}
input[type=text]::placeholder,
input[type=password]::placeholder,
input[type=datetime]::placeholder,
input[type=datetime-local]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=time]::placeholder,
input[type=week]::placeholder,
input[type=number]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=color]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #888888;
  opacity: 1;
}
input[type=text][disabled], input[type=text][readonly],
input[type=password][disabled],
input[type=password][readonly],
input[type=datetime][disabled],
input[type=datetime][readonly],
input[type=datetime-local][disabled],
input[type=datetime-local][readonly],
input[type=date][disabled],
input[type=date][readonly],
input[type=month][disabled],
input[type=month][readonly],
input[type=time][disabled],
input[type=time][readonly],
input[type=week][disabled],
input[type=week][readonly],
input[type=number][disabled],
input[type=number][readonly],
input[type=email][disabled],
input[type=email][readonly],
input[type=url][disabled],
input[type=url][readonly],
input[type=search][disabled],
input[type=search][readonly],
input[type=tel][disabled],
input[type=tel][readonly],
input[type=color][disabled],
input[type=color][readonly],
textarea[disabled],
textarea[readonly],
select[disabled],
select[readonly] {
  background-color: #0a0a0a;
  opacity: 0.6;
}
input[type=text][disabled],
input[type=password][disabled],
input[type=datetime][disabled],
input[type=datetime-local][disabled],
input[type=date][disabled],
input[type=month][disabled],
input[type=time][disabled],
input[type=week][disabled],
input[type=number][disabled],
input[type=email][disabled],
input[type=url][disabled],
input[type=search][disabled],
input[type=tel][disabled],
input[type=color][disabled],
textarea[disabled],
select[disabled] {
  cursor: not-allowed;
}

textarea {
  height: auto;
  resize: vertical;
}

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23666666' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 8px 10px;
  padding-right: 24px;
}
select::-ms-expand {
  display: none;
}

input[type=file] {
  display: block;
  width: 100%;
}

input[type=radio],
input[type=checkbox] {
  margin: 4px 0 0;
  margin-top: 1px;
  line-height: normal;
}

.btn {
  display: inline-block;
  padding: 10px 15px;
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid transparent;
  border-radius: 0;
  background-image: none;
  box-shadow: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.btn:focus, .btn:active:focus {
  outline: none;
}
.btn:hover, .btn:focus {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none;
}
.btn:active {
  outline: none !important;
  background-image: none;
  box-shadow: none !important;
}
.btn.disabled, .btn[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
  box-shadow: none;
}
.btn.btn-lg {
  padding: 10px 20px;
  font-size: 16px;
  line-height: 1.33;
}
.btn.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
}
.btn.btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
}
.btn.btn-block {
  display: block;
  width: 100%;
}

.btn-default {
  color: #ffffff;
  background-color: #2a2a2a;
  border-color: #333333;
}
.btn-default:hover, .btn-default:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(16.5, 16.5, 16.5);
  border-color: rgb(25.5, 25.5, 25.5);
}
.btn-default:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(3.75, 3.75, 3.75);
  border-color: rgb(12.75, 12.75, 12.75);
}
.btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus {
  background-color: #2a2a2a;
  border-color: #333333;
}

.btn-primary {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}
.btn-primary:hover, .btn-primary:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.btn-primary:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
  border-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
}
.btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus {
  background-color: #f10732;
  border-color: #f10732;
}

.btn-success {
  color: #ffffff;
  background-color: #00cc66;
  border-color: #00cc66;
}
.btn-success:hover, .btn-success:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(0, 153, 76.5);
  border-color: rgb(0, 153, 76.5);
}
.btn-success:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(0, 127.5, 63.75);
  border-color: rgb(0, 127.5, 63.75);
}
.btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus {
  background-color: #00cc66;
  border-color: #00cc66;
}

.btn-info {
  color: #ffffff;
  background-color: #00aaff;
  border-color: #00aaff;
}
.btn-info:hover, .btn-info:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: #0088cc;
  border-color: #0088cc;
}
.btn-info:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(0, 119, 178.5);
  border-color: rgb(0, 119, 178.5);
}
.btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus {
  background-color: #00aaff;
  border-color: #00aaff;
}

.btn-warning {
  color: #ffffff;
  background-color: #ffaa00;
  border-color: #ffaa00;
}
.btn-warning:hover, .btn-warning:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: #cc8800;
  border-color: #cc8800;
}
.btn-warning:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(178.5, 119, 0);
  border-color: rgb(178.5, 119, 0);
}
.btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus {
  background-color: #ffaa00;
  border-color: #ffaa00;
}

.btn-danger {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}
.btn-danger:hover, .btn-danger:focus {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.btn-danger:active {
  outline: none !important;
  box-shadow: none !important;
  color: #ffffff;
  background-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
  border-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
}
.btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus {
  background-color: #f10732;
  border-color: #f10732;
}

.btn-link {
  font-weight: 400;
  color: #f10732;
  background-color: transparent;
  border-color: transparent;
  border-radius: 0;
}
.btn-link:hover, .btn-link:focus {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  text-decoration: none;
  background-color: transparent;
  border-color: transparent;
}
.btn-link[disabled]:hover, .btn-link[disabled]:focus, .btn-link.disabled:hover, .btn-link.disabled:focus {
  color: #666666;
  text-decoration: none;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

.img-responsive {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.img-rounded {
  border-radius: 0;
}

.img-circle {
  /* 移除圆角，CSS2.1不支持border-radius */
  border-radius: 0;
}

.img-thumbnail {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 4px;
  line-height: 1.5;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
}

.img-fill {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
}
@supports not (transform: translate(-50%, -50%)) {
  .img-fill {
    margin-top: -50%;
    margin-left: -50%;
  }
}
.img-fill {
  display: block;
}

.img-square {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.img-square::after {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.img-square img {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
}
@supports not (transform: translate(-50%, -50%)) {
  .img-square img {
    margin-top: -50%;
    margin-left: -50%;
  }
}
.img-square img {
  display: block;
}

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background-color: #1a1a1a;
  border-radius: 0;
}

::-webkit-scrollbar-thumb {
  background-color: #333333;
  border-radius: 0;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #555555;
}
::-webkit-scrollbar-thumb:focus, ::-webkit-scrollbar-thumb:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: #777777;
}

::-webkit-scrollbar-corner {
  background-color: #1a1a1a;
}

::-moz-selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

::selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

::-moz-selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

.show {
  display: block !important;
}

.hide {
  display: none !important;
}

.invisible {
  visibility: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.pull-left {
  float: left !important;
}

.pull-right {
  float: right !important;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (prefers-contrast: high) {
  body {
    background-color: #000000;
    color: #ffffff;
  }
  a {
    color: #00ffff;
  }
  a:hover, a:focus {
    color: #ffffff;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
.no-data {
  text-align: center;
  padding: 60px 20px;
  color: #888888;
}
.no-data img {
  display: block;
  width: 200px;
  height: 200px;
  margin: 0 auto 20px;
  opacity: 0.3;
  filter: grayscale(100%);
}
.no-data p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #cccccc;
}

@media print {
  * {
    color: black !important;
    background: white !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  pre,
  blockquote {
    border: 1px solid #cccccc;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.icon-ai {
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("/static/assets/images/robot.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  margin-right: 4px;
}

.page-header {
  border-bottom: 1px solid #333333;
}

.main-content {
  padding-top: 20px;
  padding-bottom: 20px;
  min-height: 100vh;
  overflow: hidden;
}
.main-content:after {
  content: "";
  display: table;
  clear: both;
}

.main-content-full {
  padding-top: 70px;
  min-height: 100vh;
  width: 100%;
}
@media (max-width: 767px) {
  .main-content-full {
    padding-top: 65px;
  }
}
.main-content-full .container-fluid {
  max-width: none;
  width: 100%;
}

@media (min-width: 768px) {
  .container-fluid {
    padding-left: calc(16px / 2 + 10px);
    padding-right: calc(16px / 2 + 10px);
  }
}

.navbar {
  background-color: #1a1a1a;
  border: none;
  border-bottom: 1px solid #333333;
  box-shadow: none;
  z-index: 1030;
}
.navbar .navbar-brand {
  height: 50px;
  padding: 15px 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 20px;
  color: #f10732;
}
.navbar .navbar-brand:hover, .navbar .navbar-brand:focus {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  text-decoration: none;
}
.navbar .navbar-toggle {
  position: relative;
  float: right;
  padding: 9px 10px;
  margin-top: 8px;
  margin-right: 15px;
  margin-bottom: 8px;
  background-color: transparent;
  background-image: none;
  border: 1px solid #333333;
  border-radius: 0;
}
.navbar .navbar-toggle:focus, .navbar .navbar-toggle:hover {
  background-color: #2a2a2a;
}
.navbar .navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 0;
  background-color: #cccccc;
}
.navbar .navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
.navbar .navbar-collapse {
  padding-left: 0;
  padding-right: 0;
  border-top: 1px solid #333333;
  box-shadow: none;
}
.navbar .navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar .navbar-collapse {
    border-top: 0;
  }
}
.navbar .navbar-nav {
  margin: calc(15px / 2) -15px;
}
.navbar .navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #cccccc;
  line-height: 1.5;
}
.navbar .navbar-nav > li > a:hover, .navbar .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: #2a2a2a;
}
.navbar .navbar-nav > .active > a, .navbar .navbar-nav > .active > a:hover, .navbar .navbar-nav > .active > a:focus {
  color: #f10732;
  background-color: #2a2a2a;
}
.navbar .navbar-nav > .disabled > a, .navbar .navbar-nav > .disabled > a:hover, .navbar .navbar-nav > .disabled > a:focus {
  color: #666666;
  background-color: transparent;
}
@media (min-width: 768px) {
  .navbar .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar .navbar-nav > li {
    float: left;
  }
  .navbar .navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
    border-radius: 0;
  }
}
.navbar .navbar-form {
  padding: 10px 15px;
  margin-top: 8px;
  margin-bottom: 8px;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  box-shadow: none;
}
@media (min-width: 768px) {
  .navbar .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
}
.navbar .navbar-form .form-control {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .navbar .navbar-form {
    margin-left: -15px;
    margin-right: -15px;
  }
}
@media (min-width: 768px) {
  .navbar .navbar-form {
    width: auto;
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 0;
    margin-left: 0;
    border: 0;
    box-shadow: none;
  }
}
.navbar .navbar-text {
  margin-top: 15px;
  margin-bottom: 15px;
  color: #cccccc;
}
@media (min-width: 768px) {
  .navbar .navbar-text {
    float: left;
    margin-right: 15px;
    margin-left: 15px;
  }
}

.navbar-inverse {
  background-color: #1a1a1a;
  border-color: #333333;
}
.navbar-inverse .navbar-brand {
  color: #f10732;
}
.navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.navbar-inverse .navbar-text {
  color: #888888;
}
.navbar-inverse .navbar-nav > li > a {
  color: #cccccc;
}
.navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: #2a2a2a;
}
.navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
  color: #f10732;
  background-color: #2a2a2a;
}
.navbar-inverse .navbar-nav > .disabled > a, .navbar-inverse .navbar-nav > .disabled > a:hover, .navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #666666;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333333;
}
.navbar-inverse .navbar-toggle:hover, .navbar-inverse .navbar-toggle:focus {
  background-color: #2a2a2a;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #cccccc;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #333333;
}

.music-section {
  margin-bottom: 40px;
}
.music-section:last-child {
  margin-bottom: 30px;
}
.music-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
@supports not (display: flex) {
  .music-section .section-header:before, .music-section .section-header:after {
    content: " ";
    display: table;
  }
  .music-section .section-header:after {
    clear: both;
  }
  .music-section .section-header {
    *zoom: 1;
    display: block;
  }
}
.music-section .section-header .section-title {
  margin: 0;
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
}
@supports not (display: flex) {
  .music-section .section-header .section-title {
    float: left;
  }
}
.music-section .section-header .section-link {
  color: #0088ff;
  font-size: 12px;
  text-decoration: none;
}
@supports not (display: flex) {
  .music-section .section-header .section-link {
    float: right;
  }
}
.music-section .section-header .section-link:hover, .music-section .section-header .section-link:focus {
  color: #f10732;
  text-decoration: none;
}

.hero-section {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  padding: 40px;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .hero-section {
    padding: 30px 20px;
  }
}
.hero-section .hero-content .hero-title {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .hero-section .hero-content .hero-title {
    font-size: 28px;
  }
}
.hero-section .hero-content .hero-subtitle {
  font-size: 16px;
  color: #cccccc;
  margin: 0 0 30px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .hero-section .hero-content .hero-subtitle {
    font-size: 14px;
    margin-bottom: 20px;
  }
}
.hero-section .hero-content .hero-actions .btn {
  margin-right: 15px;
  margin-bottom: 10px;
}
.hero-section .hero-content .hero-actions .btn:last-child {
  margin-right: 0;
}
.hero-section .featured-track .track-thumbnail {
  margin-bottom: 15px;
}
.hero-section .featured-track .track-thumbnail .play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
@supports not (display: flex) {
  .hero-section .featured-track .track-thumbnail .play-overlay {
    display: table;
    width: 100%;
    height: 100%;
  }
}
.hero-section .featured-track .track-thumbnail .play-overlay .play-btn-large {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #f10732;
  border: none;
  color: #000000;
  font-size: 24px;
  cursor: pointer;
  transition: transform 0.2s ease;
}
@supports not (display: flex) {
  .hero-section .featured-track .track-thumbnail .play-overlay .play-btn-large {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    border-radius: 0;
    width: 60px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
  }
}
.hero-section .featured-track .track-thumbnail .play-overlay .play-btn-large:hover {
  transform: scale(1.1);
}
@supports not (transform: scale(1.1)) {
  .hero-section .featured-track .track-thumbnail .play-overlay .play-btn-large:hover {
    background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  }
}
.hero-section .featured-track .track-thumbnail:hover .play-overlay {
  opacity: 1;
}
.hero-section .featured-track .track-info {
  text-align: center;
}
.hero-section .featured-track .track-info .track-title {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 5px;
}
.hero-section .featured-track .track-info .track-artist {
  font-size: 14px;
  color: #cccccc;
  margin: 0 0 15px;
}
.hero-section .featured-track .track-info .track-stats {
  /* 移除flex和gap，使用CSS2.1兼容的布局 */
  text-align: center;
}
.hero-section .featured-track .track-info .track-stats > * {
  display: inline-block;
  margin-left: 20px;
  margin-right: 20px;
}
@supports not (display: flex) {
  .hero-section .featured-track .track-info .track-stats {
    text-align: center;
  }
}
.hero-section .featured-track .track-info .track-stats .stat {
  font-size: 12px;
  color: #888888;
}
@supports not (display: flex) {
  .hero-section .featured-track .track-info .track-stats .stat {
    display: inline-block;
    margin: 0 10px;
  }
}
.hero-section .featured-track .track-info .track-stats .stat .glyphicon {
  margin-right: 5px;
}

#content-area {
  background-color: #0a0a0a;
  min-height: 60vh;
}
#content-area .page-header {
  padding: 20px 0 15px;
  margin: 0 0 20px;
  border-bottom: 2px solid #f10732;
  background-color: #1a1a1a;
}
#content-area .page-header h1, #content-area .page-header h2 {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 24px;
  color: #ffffff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}
#content-area .page-header h2 {
  font-size: 18px;
}
#content-area .page-header .page-description {
  color: #cccccc;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.4;
}
#content-area .page-header .results-info {
  color: #cccccc;
  font-size: 12px;
  margin: 0;
}
#content-area .page-header .results-info .results-count {
  color: #f10732;
  font-weight: 700;
}
#content-area .page-header .filter-nav-basic .filter-item,
#content-area .page-header .filter-nav-advanced .filter-item {
  display: inline-block;
  padding: 5px 10px;
  margin-right: 5px;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
  background-color: #2a2a2a;
  font-size: 12px;
  line-height: 1.2;
  vertical-align: baseline;
}
#content-area .page-header .filter-nav-basic .filter-item:hover,
#content-area .page-header .filter-nav-advanced .filter-item:hover {
  color: #ffffff;
  background-color: rgb(67.5, 67.5, 67.5);
  border-color: #333333;
  text-decoration: none;
}
#content-area .page-header .filter-nav-basic .filter-item.active,
#content-area .page-header .filter-nav-advanced .filter-item.active {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}
#content-area .page-header .filter-nav-basic .filter-item.active:hover,
#content-area .page-header .filter-nav-advanced .filter-item.active:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
#content-area .content-section {
  margin-bottom: 30px;
}
#content-area .content-section:last-child {
  margin-bottom: 0;
}
#content-area .content-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
  display: block;
}
#content-area .content-section .section-header h2, #content-area .content-section .section-header h3, #content-area .content-section .section-header h4 {
  margin: 0;
  float: left;
}
#content-area .content-section .section-header .section-actions {
  float: right;
}
#content-area .content-section .section-header .section-actions .btn {
  margin-left: 5px;
}
#content-area .content-section .section-header:before, #content-area .content-section .section-header:after {
  content: " ";
  display: table;
}
#content-area .content-section .section-header:after {
  clear: both;
}
#content-area .content-section .section-header {
  *zoom: 1;
}
#content-area .content-section .section-content {
  padding: 15px 0;
}

.row:before, .row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row {
  *zoom: 1;
}

.row-eq-height {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.row-eq-height [class*=col-] {
  display: table-cell;
  vertical-align: top;
  float: none;
}
@supports not (display: table) {
  .row-eq-height {
    display: block;
  }
  .row-eq-height [class*=col-] {
    display: block;
    float: left;
  }
}

.card-layout .card-row {
  margin-bottom: 20px;
}
.card-layout .card-row:before, .card-layout .card-row:after {
  content: " ";
  display: table;
}
.card-layout .card-row:after {
  clear: both;
}
.card-layout .card-row {
  *zoom: 1;
}
.card-layout .card-row .card {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
}
.card-layout .card-row .card .card-header {
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
}
.card-layout .card-row .card .card-header:first-child {
  border-radius: 0;
}
.card-layout .card-row .card .card-body {
  padding: 20px;
}
.card-layout .card-row .card .card-footer {
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-top: 1px solid #333333;
}
.card-layout .card-row .card .card-footer:last-child {
  border-radius: 0;
}
.card-layout .card-row .card {
  margin-bottom: 20px;
  height: 100%;
}
.card-layout .card-row .card .card-image {
  width: 100%;
  height: 200px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #2a2a2a;
}
.card-layout .card-row .card .card-content {
  padding: 20px;
}
.card-layout .card-row .card .card-content .card-title {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
}
.card-layout .card-row .card .card-content .card-description {
  color: #cccccc;
  margin-bottom: 15px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}
@supports not (-webkit-line-clamp: 3) {
  .card-layout .card-row .card .card-content .card-description {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
.card-layout .card-row .card .card-content .card-meta {
  font-size: 12px;
  color: #888888;
  margin-bottom: 10px;
}
.card-layout .card-row .card .card-content .card-meta .meta-item {
  margin-right: 15px;
}
.card-layout .card-row .card .card-content .card-meta .meta-item:last-child {
  margin-right: 0;
}
.card-layout .card-row .card .card-content .card-actions {
  margin-top: 15px;
  padding-top: 10px;
  border-top: 1px solid #333333;
  text-align: right;
}
.card-layout .card-row .card .card-content .card-actions .btn {
  margin-left: 5px;
}

@media (max-width: 767px) {
  .container-fluid {
    padding-left: 10px;
    padding-right: 10px;
  }
  #featured-carousel .carousel-caption {
    padding: 10px;
  }
  #featured-carousel .carousel-caption h3 {
    font-size: 20px;
    margin-bottom: 5px;
  }
  #featured-carousel .carousel-caption p {
    font-size: 12px;
    margin-bottom: 5px;
  }
  #featured-carousel .carousel-caption .carousel-buttons .btn {
    font-size: 12px;
    padding: 5px 10px;
    margin-right: 5px;
  }
  #featured-carousel .carousel-indicators {
    bottom: 5px;
  }
  #featured-carousel .carousel-indicators li {
    width: 8px;
    height: 8px;
    margin: 0 2px;
  }
  .music-section {
    margin-bottom: 20px;
  }
  .music-section .section-header .section-title {
    font-size: 20px;
  }
  .navbar .navbar-brand {
    font-size: 14px;
    padding: 10px 15px;
  }
  .navbar .navbar-form {
    margin: 5px 0;
  }
  .navbar .navbar-form .form-control {
    font-size: 12px;
  }
  .navbar .navbar-form .btn {
    font-size: 12px;
    padding: 5px 10px;
  }
}
@media (max-width: 479px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .visible-xs {
    display: none !important;
  }
}

@media (max-width: 479px) {
  .visible-sm {
    display: none !important;
  }
}
@media (min-width: 992px) {
  .visible-sm {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .visible-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-md {
    display: none !important;
  }
}

@media (max-width: 991px) {
  .visible-lg {
    display: none !important;
  }
}

.loading-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  display: table;
  width: 100%;
  height: 100%;
}
.loading-overlay .loading-content {
  text-align: center;
  color: #ffffff;
  display: table-cell;
  vertical-align: middle;
}
.loading-overlay .loading-content .spinner {
  display: inline-block;
  width: 40px;
  height: 40px;
  border: 4px solid #2a2a2a;
  border-top: 4px solid #f10732;
  border-radius: 50%;
  margin-bottom: 15px;
  /* 移除animation，CSS2.1不支持动画 */
}
.loading-overlay .loading-content p {
  margin: 0;
  font-size: 16px;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.main-footer {
  background-color: #1a1a1a;
  border-top: 1px solid #333333;
  padding: 20px 0;
  margin-top: 40px;
  color: #cccccc;
}
.main-footer .footer-content {
  text-align: center;
}
.main-footer .footer-content .footer-links {
  padding-left: 0;
  list-style: none;
}
.main-footer .footer-content .footer-links > li {
  display: inline-block;
  padding-right: 5px;
  padding-left: 5px;
}
.main-footer .footer-content .footer-links > li:first-child {
  padding-left: 0;
}
.main-footer .footer-content .footer-links > li:last-child {
  padding-right: 0;
}
.main-footer .footer-content .footer-links {
  margin-bottom: 15px;
}
.main-footer .footer-content .footer-links > li {
  display: inline-block;
  margin: 0 2px;
}
.main-footer .footer-content .footer-links > li:not(:last-child):after {
  content: "|";
  color: #888888;
  margin-left: 8px;
  margin-right: 6px;
}
.main-footer .footer-content .footer-links a {
  color: #cccccc;
  padding: 0;
  text-decoration: none;
  font-size: 12px;
}
.main-footer .footer-content .footer-links a:hover, .main-footer .footer-content .footer-links a:focus {
  color: #f10732;
  text-decoration: none;
}
.main-footer .footer-content .footer-copyright {
  font-size: 12px;
  color: #888888;
  margin: 0;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .main-footer {
    padding: 15px 0;
  }
  .main-footer .footer-content .footer-links {
    margin-bottom: 10px;
  }
  .main-footer .footer-content .footer-links > li {
    margin: 0 1px;
  }
  .main-footer .footer-content .footer-links > li:not(:last-child):after {
    margin-left: 4px;
    margin-right: 3px;
  }
  .main-footer .footer-content .footer-links a {
    font-size: 12px;
  }
  .main-footer .footer-content .footer-copyright {
    font-size: 12px;
  }
}

.results-header {
  display: table;
  width: 100%;
  margin-bottom: 20px;
  padding: 15px 0;
  border-bottom: 1px solid #333333;
  table-layout: fixed;
}
@supports not (display: table) {
  .results-header {
    width: 100%;
    overflow: hidden;
  }
}
.results-header .header-controls {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}
@supports not (display: table-cell) {
  .results-header .header-controls {
    width: 100%;
    overflow: hidden;
  }
}
.results-header .category-title {
  float: left;
  width: 40%;
}
.results-header .category-title .results-title {
  margin: 0;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
}
.results-header .category-title .results-info {
  margin: calc(5px / 2) 0 0 0;
  color: #888888;
  font-size: 12px;
}
.results-header .category-title .results-info .results-count {
  color: #f10732;
  font-weight: 500;
}
.results-header .filter-nav {
  float: right;
  width: 60%;
  text-align: right;
}
.results-header .filter-nav .filter-item {
  display: inline-block;
  padding: calc(10px / 2) 10px;
  margin-left: 5px;
  background-color: #2a2a2a;
  color: #cccccc;
  text-decoration: none;
  font-size: 12px;
  border: 1px solid #333333;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .results-header .filter-nav .filter-item {
    transition: none;
  }
}
.results-header .filter-nav .filter-item:hover, .results-header .filter-nav .filter-item:focus {
  background-color: #1a1a1a;
  color: #ffffff;
  text-decoration: none;
  border-color: #f10732;
}
.results-header .filter-nav .filter-item.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.results-header .filter-nav .filter-item.active:hover, .results-header .filter-nav .filter-item.active:focus {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.results-header .filter-nav .filter-item:first-child {
  margin-left: 0;
}
.results-header::after {
  content: "";
  display: table;
  clear: both;
}

@media (max-width: calc(992px - 1px)) {
  .results-header {
    display: block;
  }
  .results-header .header-controls {
    display: block;
  }
  .results-header .category-title {
    float: none;
    width: 100%;
    margin-bottom: 15px;
    text-align: center;
  }
  .results-header .filter-nav {
    float: none;
    width: 100%;
    text-align: center;
  }
  .results-header .filter-nav .filter-item {
    margin: 0 calc(5px / 2);
    margin-bottom: calc(5px / 2);
  }
}
@media (max-width: calc(768px - 1px)) {
  .results-header {
    padding: 10px 0;
    margin-bottom: 15px;
  }
  .results-header .category-title .results-title {
    font-size: 16px;
  }
  .results-header .filter-nav .filter-item {
    padding: calc(5px / 2) 5px;
    font-size: 12px;
    margin: 0 1px;
    margin-bottom: calc(5px / 2);
  }
}
.site-header {
  background-color: #1a1a1a;
  border-bottom: 1px solid #333333;
  position: relative;
  z-index: 1030;
}

.header-toolbar {
  background-color: #1a1a1a;
  margin-bottom: 12px;
}
.header-toolbar .container {
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
}
.header-toolbar .toolbar-content {
  display: table;
  width: 100%;
  height: 60px;
  table-layout: fixed;
}
@supports not (display: table) {
  .header-toolbar .toolbar-content {
    width: 100%;
    height: 60px;
    overflow: hidden;
  }
}
.header-toolbar .toolbar-section {
  display: table-cell;
  vertical-align: middle;
}
@supports not (display: table-cell) {
  .header-toolbar .toolbar-section {
    float: left;
    height: 60px;
    line-height: 60px;
  }
}
.header-toolbar .toolbar-section.left {
  width: 25%;
  text-align: left;
}
@supports not (display: table-cell) {
  .header-toolbar .toolbar-section.left {
    width: 25%;
  }
}
.header-toolbar .toolbar-section.center {
  width: 50%;
  text-align: center;
}
@supports not (display: table-cell) {
  .header-toolbar .toolbar-section.center {
    width: 50%;
  }
}
.header-toolbar .toolbar-section.right {
  width: 25%;
  text-align: right;
}
@supports not (display: table-cell) {
  .header-toolbar .toolbar-section.right {
    width: 25%;
  }
}

.site-logo {
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .site-logo {
    transition: none;
  }
}
.site-logo:hover, .site-logo:focus {
  color: #f10732;
  text-decoration: none;
  opacity: 0.8;
}
.site-logo .logo-image {
  display: inline-block;
  height: 32px;
  width: auto;
  vertical-align: middle;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .site-logo .logo-image {
    transition: none;
  }
}
.site-logo .logo-icon {
  display: inline-block;
  margin-right: 10px;
  font-size: 20px;
  color: #f10732;
}
.site-logo .logo-text {
  display: inline-block;
  vertical-align: middle;
}

.header-search {
  max-width: 400px;
  margin: 0 auto;
  position: relative;
}
.header-search .search-form {
  position: relative;
  margin: 0;
}
.header-search .search-input {
  width: 100%;
  height: 36px;
  padding: 0 40px 0 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .header-search .search-input {
    transition: none;
  }
}
.header-search .search-input:focus {
  outline: none;
  border-color: #f10732;
  background-color: rgb(54.75, 54.75, 54.75);
}
.header-search .search-input::-moz-placeholder {
  color: #888888;
}
.header-search .search-input::placeholder {
  color: #888888;
}
.header-search .search-input:-webkit-autofill, .header-search .search-input:-webkit-autofill:hover, .header-search .search-input:-webkit-autofill:focus, .header-search .search-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #2a2a2a inset !important;
  -webkit-text-fill-color: #ffffff !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.header-search .search-btn, .header-search .search-btn-clear {
  position: absolute;
  right: 0;
  top: 0;
  width: 36px;
  height: 36px;
  background-color: transparent;
  border: none;
  color: #888888;
  cursor: pointer;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .header-search .search-btn, .header-search .search-btn-clear {
    transition: none;
  }
}
.header-search .search-btn:hover, .header-search .search-btn:focus, .header-search .search-btn-clear:hover, .header-search .search-btn-clear:focus {
  color: #f10732;
  outline: none;
}
.header-search .search-btn .glyphicon, .header-search .search-btn-clear .glyphicon {
  font-size: 12px;
}
.header-search .search-btn-clear {
  width: 58px;
}

.header-actions .action-group {
  display: inline-block;
  margin-left: 15px;
  vertical-align: middle;
}
.header-actions .action-group:first-child {
  margin-left: 0;
}
.header-actions .action-btn {
  display: inline-block;
  padding: 6px 15px;
  margin-left: 10px;
  background-color: transparent;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .header-actions .action-btn {
    transition: none;
  }
}
.header-actions .action-btn:first-child {
  margin-left: 0;
}
.header-actions .action-btn:hover, .header-actions .action-btn:focus {
  background-color: #2a2a2a;
  border-color: #f10732;
  color: #f10732;
  text-decoration: none;
  outline: none;
}
.header-actions .action-btn.primary {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.header-actions .action-btn.primary:hover, .header-actions .action-btn.primary:focus {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.header-actions .action-btn.vip {
  background-color: #ffaa00;
  border-color: #ffaa00;
  color: #ffffff;
}
.header-actions .action-btn.vip:hover, .header-actions .action-btn.vip:focus {
  background-color: #ffbb33;
}
.header-actions .user-dropdown {
  display: inline-block;
  vertical-align: middle;
}
.header-actions .user-dropdown .user-info-trigger {
  display: inline-block;
  padding: 4px 10px;
  color: #ffffff;
  text-decoration: none;
  border: 1px solid #333333;
  background-color: transparent;
}
.header-actions .user-dropdown .user-info-trigger:hover {
  background-color: #2a2a2a;
  border-color: #f10732;
}
.header-actions .user-dropdown .user-avatar {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  margin-right: 6px;
}
.header-actions .user-dropdown .user-nickname {
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.header-actions .user-dropdown .caret {
  display: inline-block;
  vertical-align: middle;
  margin-left: 6px;
}
.header-actions .user-dropdown .dropdown-menu {
  min-width: 150px;
}
.header-actions .user-dropdown .dropdown-menu .user-info-item {
  padding: 8px 12px;
  color: #ffffff;
  cursor: default;
}
.header-actions .user-dropdown .dropdown-menu .user-info-item .text-muted {
  color: #cccccc;
}
.header-actions .user-dropdown .dropdown-menu .user-info-item .text-danger {
  color: #f10732;
  font-weight: bold;
}
.header-actions .user-dropdown .dropdown-menu a {
  color: #ffffff;
}
.header-actions .user-dropdown .dropdown-menu a:hover {
  background-color: rgb(67.5, 67.5, 67.5);
}
.header-actions .user-dropdown .dropdown-menu a .glyphicon {
  margin-right: 8px;
}
.header-actions .user-dropdown .dropdown-menu .divider {
  background-color: #333333;
}
.header-actions .vip-link {
  display: inline-block;
  margin-left: 10px;
  color: #ffaa00;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .header-actions .vip-link {
    transition: none;
  }
}
.header-actions .vip-link:hover, .header-actions .vip-link:focus {
  color: #ffbb33;
  text-decoration: none;
  outline: none;
}
.header-actions .vip-link .glyphicon {
  margin-right: 5px;
}

.main-navbar {
  background-color: #0a0a0a;
}
.main-navbar .navbar-content {
  width: 100%;
  margin: 0;
  padding: 0;
}
.main-navbar .navbar-nav {
  width: 100%;
  text-align: center;
  margin: 0;
  padding: 0;
  list-style: none;
  display: table;
  table-layout: fixed;
}
@supports not (display: table) {
  .main-navbar .navbar-nav {
    width: 100%;
    overflow: hidden;
  }
}
.main-navbar .nav-item {
  display: table-cell;
  position: relative;
}
@supports not (display: table-cell) {
  .main-navbar .nav-item {
    float: left;
    width: 20%;
  }
}
.main-navbar .nav-item.dropdown:hover .dropdown-menu, .main-navbar .nav-item.dropdown.open .dropdown-menu {
  display: block !important;
}
.main-navbar .nav-item.dropdown .dropdown-menu:hover {
  display: block !important;
}
.main-navbar .nav-item.dropdown:hover .nav-link {
  color: #ffffff;
  background-color: #f10732;
}
.main-navbar .nav-item .nav-link {
  display: block;
  padding: 15px 20px;
  color: #cccccc;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  background-color: transparent;
  transition: all 0.2s ease;
}
@supports not (transform: translateZ(0)) {
  .main-navbar .nav-item .nav-link {
    transition: none;
  }
}
.main-navbar .nav-item .nav-link:hover, .main-navbar .nav-item .nav-link:focus {
  color: #ffffff;
  text-decoration: none;
  background-color: #f10732;
}
.main-navbar .nav-item .nav-link.active {
  color: #ffffff;
  background-color: #f10732;
}
.main-navbar .nav-item .nav-link.dropdown-toggle {
  position: relative;
}
.main-navbar .nav-item .nav-link.dropdown-toggle .caret {
  display: none;
}
.main-navbar .nav-item .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background-color: #0a0a0a;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-top: 0;
  z-index: 1000;
  padding: 0;
  display: none;
}
.main-navbar .nav-item .dropdown-menu li {
  list-style: none;
  margin: 0;
  border-radius: 0;
}
.main-navbar .nav-item .dropdown-menu li a {
  display: block;
  padding: 4px;
  margin: 8px;
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
  border-radius: 12px;
  background-color: transparent;
  clear: both;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid #555555 !important;
  text-align: center;
}
.main-navbar .nav-item .dropdown-menu li a:hover, .main-navbar .nav-item .dropdown-menu li a:focus {
  background-color: #f10732;
  color: #ffffff;
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid #f10732 !important;
}
.main-navbar .nav-item .dropdown-menu li.active a {
  background-color: #f10732;
  color: #ffffff;
}
.main-navbar .nav-item .dropdown-menu li.active a:hover, .main-navbar .nav-item .dropdown-menu li.active a:focus {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  color: #ffffff;
}
.main-navbar .nav-item .dropdown-menu li.disabled a {
  color: #888888;
  cursor: not-allowed;
}
.main-navbar .nav-item .dropdown-menu li.disabled a:hover, .main-navbar .nav-item .dropdown-menu li.disabled a:focus {
  background-color: transparent;
  color: #888888;
}
.main-navbar .nav-item .dropdown-menu li.divider {
  height: 1px;
  background-color: #555555;
  margin: calc(5px / 2) 0;
  overflow: hidden;
  border-radius: 0;
}

.header-toolbar *:focus,
.main-navbar *:focus {
  outline: none !important;
  box-shadow: none !important;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #f10732;
  color: #ffffff;
  padding: 8px;
  text-decoration: none;
  z-index: calc(1030 + 1);
}
.skip-link:focus {
  top: 6px;
}

.breadcrumb-nav .breadcrumb li.dropdown:hover .dropdown-menu, .breadcrumb-nav .breadcrumb li.dropdown.open .dropdown-menu {
  display: block !important;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu:hover {
  display: block !important;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 160px;
  background-color: #0a0a0a;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-top: 0;
  z-index: 1000;
  padding: 0;
  display: none;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li {
  list-style: none;
  margin: 0;
  border-radius: 0;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li a {
  display: block;
  padding: 4px;
  margin: 8px;
  color: #ffffff;
  text-decoration: none;
  font-size: 12px;
  border-radius: 12px;
  background-color: transparent;
  clear: both;
  font-weight: 400;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid #555555 !important;
  text-align: center;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li a:hover, .breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li a:focus {
  background-color: #f10732;
  color: #ffffff;
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid #f10732 !important;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.active a {
  background-color: #f10732;
  color: #ffffff;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.active a:hover, .breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.active a:focus {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  color: #ffffff;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.disabled a {
  color: #888888;
  cursor: not-allowed;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.disabled a:hover, .breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li.disabled a:focus {
  background-color: transparent;
  color: #888888;
}

.main-footer {
  background-color: #1a1a1a;
  border-top: 1px solid #333333;
  padding: 20px 0;
  margin-top: 30px;
}
.main-footer .footer-content {
  text-align: center;
}
.main-footer .footer-links {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
}
.main-footer .footer-links li {
  display: inline-block;
  margin: 0 10px;
}
.main-footer .footer-links li:before {
  content: "·";
  margin-right: calc(10px * 2);
  color: #888888;
}
.main-footer .footer-links li:first-child:before {
  content: none;
  margin: 0;
}
.main-footer .footer-links li a {
  color: #cccccc;
  text-decoration: none;
  font-size: 12px;
}
.main-footer .footer-links li a:hover {
  color: #ffffff;
  text-decoration: underline;
}
.main-footer .footer-copyright {
  color: #888888;
  font-size: 12px;
  margin: 0;
}

.btn {
  border-radius: 0;
  font-size: 14px;
}
.btn:focus, .btn:active, .btn:active:focus {
  box-shadow: none !important;
  outline: none !important;
  background-image: none !important;
}

.btn-default {
  background-color: #2a2a2a;
  border-color: transparent;
  color: #cccccc;
}
.btn-default:hover {
  background-color: #555555;
  border-color: #555555;
  color: #ffffff;
}
.btn-default:focus, .btn-default:active, .btn-default:active:focus {
  box-shadow: none !important;
  outline: none !important;
  background-color: #2a2a2a !important;
  border-color: transparent !important;
  color: #cccccc !important;
  background-image: none !important;
}
.btn-default.active {
  box-shadow: none !important;
  outline: none !important;
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.btn-default.active:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  color: #ffffff;
}
.btn-default.active:focus, .btn-default.active:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: #f10732 !important;
  border-color: #f10732 !important;
  color: #ffffff !important;
}

.btn-primary {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.btn-primary:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  color: #ffffff;
}
.btn-primary:focus, .btn-primary:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
  border-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
}

.btn-play {
  background-color: transparent;
  border: none;
  color: #f10732;
  font-size: 24px;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  line-height: 36px;
}
.btn-play:active, .btn-play:focus {
  background-color: transparent;
  color: #f10732;
  transform: none;
  outline: none;
}
@supports not (transform: none) {
  .btn-play:active, .btn-play:focus {
    background-color: transparent;
    color: #f10732;
  }
}
.btn-play:hover {
  background-color: transparent;
  color: #ffffff !important;
  transform: scale(1.1);
}
@supports not (transform: scale(1.1)) {
  .btn-play:hover {
    background-color: transparent;
    color: #ffffff;
  }
}
.btn-play .glyphicon {
  font-size: 24px;
  margin: 0;
  line-height: 1;
}
.btn-play--sm {
  width: 28px;
  height: 28px;
  font-size: 18px;
}
.btn-play--sm .glyphicon {
  font-size: 18px;
}
.btn-play--lg {
  width: 48px;
  height: 48px;
  font-size: 32px;
}
.btn-play--lg .glyphicon {
  font-size: 32px;
}

.btn-bulk {
  background-color: #2a2a2a;
  color: #ffffff;
  border: 1px solid #555555;
  border-radius: 0;
  transition: none;
  box-shadow: none;
}
.btn-bulk:hover {
  background-color: #1a1a1a;
  border-color: #777777;
  color: #ffffff;
  box-shadow: none;
}
.btn-bulk:active, .btn-bulk:active:focus {
  background-color: #2a2a2a !important;
  border-color: #555555 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
  background-image: none !important;
}
.btn-bulk:focus {
  background-color: #2a2a2a !important;
  border-color: #555555 !important;
  color: #ffffff !important;
  outline: none !important;
  box-shadow: none !important;
}
.btn-bulk .glyphicon {
  margin-right: 4px;
  font-size: 12px;
}
.btn-bulk:disabled, .btn-bulk.disabled {
  background-color: #0a0a0a;
  color: #666666;
  border-color: #222222;
  cursor: not-allowed;
  opacity: 1;
  box-shadow: none;
}
.btn-bulk:disabled:hover, .btn-bulk:disabled:active, .btn-bulk:disabled:focus, .btn-bulk.disabled:hover, .btn-bulk.disabled:active, .btn-bulk.disabled:focus {
  background-color: #0a0a0a;
  color: #666666;
  border-color: #222222;
  box-shadow: none;
}

.btn-circle {
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background-color: #2a2a2a;
  color: #cccccc;
  cursor: pointer;
}
.btn-circle:hover {
  background-color: #f10732;
  color: #ffffff;
}

.btn-view-all {
  background-color: #2a2a2a;
  border-color: transparent;
  color: #cccccc;
  border-radius: 0;
  padding: 6px 15px;
  font-size: 14px;
  text-decoration: none;
  display: inline-block;
}
.btn-view-all:hover {
  background-color: #555555;
  border-color: #555555;
  color: #ffffff;
  text-decoration: none;
}
.btn-view-all:focus, .btn-view-all:active, .btn-view-all:active:focus, .btn-view-all:visited {
  background-color: #2a2a2a;
  border-color: transparent;
  color: #cccccc;
  box-shadow: none !important;
  outline: none !important;
  text-decoration: none;
}

.btn-refresh {
  display: inline-block;
  padding: 0 8px;
  height: 24px;
  line-height: 24px;
  background-color: #f10732;
  color: #fff;
  border: 1px solid #f10732;
  font-size: 12px;
  font-weight: normal;
  cursor: pointer;
  vertical-align: baseline;
  margin-right: 8px;
}
.btn-refresh .glyphicon {
  margin-right: 4px;
  font-size: 11px;
  vertical-align: baseline;
}
.btn-refresh:hover {
  background-color: rgb(248.3245967742, 25.1754032258, 66.1814516129);
  color: #fff;
  border-color: rgb(248.3245967742, 25.1754032258, 66.1814516129);
}
.btn-refresh:active {
  background-color: rgb(216.2197580645, 6.2802419355, 44.8588709677);
  border-color: rgb(216.2197580645, 6.2802419355, 44.8588709677);
}
.btn-refresh:focus {
  background-color: #f10732;
  color: #fff;
  border-color: #f10732;
  outline: none;
  box-shadow: none;
}
.btn-refresh.refreshing {
  opacity: 0.7;
  cursor: wait;
}

.form-control {
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  border-radius: 0;
  font-size: 14px;
}
.form-control:focus {
  outline: none !important;
  box-shadow: none !important;
}
.form-control:hover {
  border-color: #333333;
}
.form-control:-webkit-autofill, .form-control:-webkit-autofill:hover, .form-control:-webkit-autofill:focus, .form-control:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #2a2a2a inset !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #2a2a2a !important;
  border-color: #555555 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

select.form-control {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23cccccc' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 12px;
  padding-right: 35px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
}
select.form-control option {
  background-color: #1a1a1a;
  color: #ffffff;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.5;
}
select.form-control option:checked, select.form-control option:hover {
  background-color: #2a2a2a;
  background: #2a2a2a;
  color: #f10732;
}
select.form-control option:disabled {
  color: #888888;
  background-color: #0a0a0a;
}
select.form-control option[value=""],
select.form-control option:first-child {
  color: #888888;
  font-style: italic;
}
select.form-control[multiple], select.form-control[size] {
  background-image: none;
  padding-right: 12px;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
}

input[type=number] {
  -moz-appearance: textfield;
  -webkit-appearance: textfield;
          appearance: textfield;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.number-input-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}
.number-input-wrapper input[type=number].form-control {
  padding-right: 18px;
}
.number-input-wrapper .number-controls {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  width: 15px;
  height: 100%;
  margin-right: 8px;
  z-index: 10;
}
.number-input-wrapper .number-controls .number-up,
.number-input-wrapper .number-controls .number-down {
  width: 100%;
  height: 50%;
  cursor: pointer;
  position: relative;
  display: block;
}
.number-input-wrapper .number-controls .number-up:before,
.number-input-wrapper .number-controls .number-down:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  margin-left: -6px;
}
.number-input-wrapper .number-controls .number-up:hover,
.number-input-wrapper .number-controls .number-down:hover {
  background-color: transparent;
}
.number-input-wrapper .number-controls .number-up:active,
.number-input-wrapper .number-controls .number-down:active {
  background-color: transparent;
}
.number-input-wrapper .number-controls .number-up.disabled,
.number-input-wrapper .number-controls .number-down.disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.number-input-wrapper .number-controls .number-up.disabled:hover,
.number-input-wrapper .number-controls .number-down.disabled:hover {
  background-color: transparent;
}
.number-input-wrapper .number-controls .number-up:before {
  border-bottom: 6px solid #cccccc;
  top: auto;
  bottom: 1px;
  margin-top: 0;
}
.number-input-wrapper .number-controls .number-up:hover:before {
  border-bottom-color: #ffffff;
}
.number-input-wrapper .number-controls .number-up:active:before {
  border-bottom-color: #ffffff;
}
.number-input-wrapper .number-controls .number-down:before {
  border-top: 6px solid #cccccc;
  top: 2px;
  margin-top: 0;
}
.number-input-wrapper .number-controls .number-down:hover:before {
  border-top-color: #ffffff;
}
.number-input-wrapper .number-controls .number-down:active:before {
  border-top-color: #ffffff;
}

.control-label {
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
}

.help-block {
  color: #888888;
  font-size: 12px;
}

.input-group-addon {
  background-color: #1a1a1a;
  border-color: #555555;
  color: #cccccc;
  border-radius: 0;
  font-size: 14px;
}

input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
input[type=checkbox] + label, input[type=checkbox] + span, input[type=checkbox] ~ label, input[type=checkbox] ~ span {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
  display: inline-block;
  color: #cccccc;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: 16px;
  min-height: 16px;
  vertical-align: middle;
}
input[type=checkbox] + label:before, input[type=checkbox] + span:before, input[type=checkbox] ~ label:before, input[type=checkbox] ~ span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #555555;
  background-color: #2a2a2a;
  transition: all 0.2s ease;
  border-radius: 0;
  box-shadow: none;
}
input[type=checkbox] + label:after, input[type=checkbox] + span:after, input[type=checkbox] ~ label:after, input[type=checkbox] ~ span:after {
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease;
}
input[type=checkbox] + label:hover:before, input[type=checkbox] + span:hover:before, input[type=checkbox] ~ label:hover:before, input[type=checkbox] ~ span:hover:before {
  border-color: #f10732;
  background-color: rgb(54.75, 54.75, 54.75);
}
input[type=checkbox]:checked + label:before, input[type=checkbox]:checked + span:before, input[type=checkbox]:checked ~ label:before, input[type=checkbox]:checked ~ span:before {
  background-color: #f10732;
  border-color: #f10732;
}
input[type=checkbox]:checked + label:after, input[type=checkbox]:checked + span:after, input[type=checkbox]:checked ~ label:after, input[type=checkbox]:checked ~ span:after {
  transform: rotate(45deg) scale(1);
}
input[type=checkbox]:disabled + label, input[type=checkbox]:disabled + span, input[type=checkbox]:disabled ~ label, input[type=checkbox]:disabled ~ span {
  opacity: 0.5;
  cursor: not-allowed;
}
input[type=checkbox]:disabled + label:before, input[type=checkbox]:disabled + span:before, input[type=checkbox]:disabled ~ label:before, input[type=checkbox]:disabled ~ span:before {
  background-color: #1a1a1a;
  border-color: #333333;
}
input[type=checkbox]:focus {
  outline: none;
}
input[type=checkbox]:focus-visible + label:before, input[type=checkbox]:focus-visible + span:before, input[type=checkbox]:focus-visible ~ label:before, input[type=checkbox]:focus-visible ~ span:before {
  border-color: #f10732;
  border-width: 1px;
}
@supports not selector(:focus-visible) {
  input[type=checkbox]:focus + label:before, input[type=checkbox]:focus + span:before, input[type=checkbox]:focus ~ label:before, input[type=checkbox]:focus ~ span:before {
    border-color: #f10732;
    border-width: 1px;
  }
}

.custom-checkbox {
  position: relative;
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  cursor: pointer;
}
.custom-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 2;
}
.custom-checkbox input[type=checkbox] + .checkbox-box {
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #555555;
  background-color: #2a2a2a;
  transition: all 0.2s ease;
  border-radius: 0;
  box-shadow: none;
}
.custom-checkbox input[type=checkbox] + .checkbox-box:after {
  content: "";
  position: absolute;
  left: 3px;
  top: 0;
  width: 6px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg) scale(0);
  transition: transform 0.2s ease;
}
.custom-checkbox input[type=checkbox]:hover + .checkbox-box {
  border-color: #f10732;
  background-color: rgb(54.75, 54.75, 54.75);
}
.custom-checkbox input[type=checkbox]:checked + .checkbox-box {
  background-color: #f10732;
  border-color: #f10732;
}
.custom-checkbox input[type=checkbox]:checked + .checkbox-box:after {
  transform: rotate(45deg) scale(1);
}
.custom-checkbox input[type=checkbox]:disabled + .checkbox-box {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: #1a1a1a;
  border-color: #333333;
}
.custom-checkbox input[type=checkbox]:focus + .checkbox-box {
  outline: none !important;
}

.radio-group .radio-inline {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 8px;
  font-weight: normal;
  cursor: pointer;
  position: relative;
  padding-left: 28px;
  line-height: 20px;
}
.radio-group .radio-inline input[type=radio] {
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  opacity: 0;
  z-index: 1;
}
.radio-group .radio-inline span {
  position: relative;
  display: inline-block;
  transition: color 0.3s;
  color: #cccccc;
}
.radio-group .radio-inline span:before {
  content: "";
  position: absolute;
  left: -28px;
  top: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #333333;
  background: #0a0a0a;
  transition: all 0.3s;
}
.radio-group .radio-inline span:after {
  content: "";
  position: absolute;
  left: -23px;
  top: 5px;
  width: 8px;
  height: 8px;
  background: #00dd77;
  opacity: 0;
  transition: opacity 0.3s;
}
.radio-group .radio-inline:hover span:before {
  border-color: #00dd77;
}
.radio-group .radio-inline input[type=radio]:checked + span {
  color: #00dd77;
}
.radio-group .radio-inline input[type=radio]:checked + span:before {
  border-color: #00dd77;
}
.radio-group .radio-inline input[type=radio]:checked + span:after {
  opacity: 1;
}

.checkbox-group .checkbox-inline {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 8px;
  font-weight: normal;
  cursor: pointer;
  position: relative;
  padding-left: 28px;
  line-height: 20px;
}
.checkbox-group .checkbox-inline input[type=checkbox] {
  position: absolute;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  cursor: pointer;
  opacity: 0;
  z-index: 1;
}
.checkbox-group .checkbox-inline span {
  position: relative;
  display: inline-block;
  transition: color 0.3s;
  padding-left: 0;
  color: #cccccc;
}
.checkbox-group .checkbox-inline span:before {
  content: "";
  position: absolute;
  left: -28px;
  top: 0;
  width: 18px;
  height: 18px;
  border: 2px solid #333333;
  background: #0a0a0a;
  transition: all 0.3s;
}
.checkbox-group .checkbox-inline span:after {
  content: "";
  position: absolute;
  left: -20px;
  top: 4px;
  width: 4px;
  height: 9px;
  border-style: solid;
  border-color: #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.3s;
}
.checkbox-group .checkbox-inline:hover span:before {
  border-color: #00dd77;
}
.checkbox-group .checkbox-inline input[type=checkbox]:checked + span {
  color: #00dd77;
}
.checkbox-group .checkbox-inline input[type=checkbox]:checked + span:before {
  border-color: #00dd77;
  background: #00dd77;
}
.checkbox-group .checkbox-inline input[type=checkbox]:checked + span:after {
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #888888;
  opacity: 1;
}

::-moz-placeholder {
  color: #888888;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #888888;
  opacity: 1;
}

:-moz-placeholder {
  color: #888888;
  opacity: 1;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  background-color: #1a1a1a !important;
  -webkit-text-fill-color: #ffffff !important;
}

.custom-select {
  position: relative;
  display: block;
  width: 100%;
}
.custom-select.active .select-trigger {
  border-color: #555555;
}
.custom-select.active .select-dropdown {
  display: block;
  border-color: #555555;
}
.custom-select select {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}

.select-trigger {
  display: block;
  width: 100%;
  height: 36px;
  padding: 8px 35px 8px 12px;
  cursor: pointer;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  position: relative;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.select-trigger:hover {
  border-color: #555555;
  background-color: rgb(17.65, 17.65, 17.65);
}
.select-trigger:focus, .select-trigger.active {
  outline: none !important;
  box-shadow: none !important;
}
.select-trigger:after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #cccccc;
  margin-top: -3px;
}
.select-trigger.active:after {
  border-top: none;
  border-bottom: 6px solid #cccccc;
  margin-top: -6px;
}
.select-trigger.placeholder {
  color: #888888;
}

.select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #1a1a1a;
  border: 1px solid #555555;
  border-top: none;
  max-height: 300px;
  overflow-y: auto;
  display: none;
  border-radius: 0;
}
.select-dropdown.active {
  display: block;
}
.select-dropdown .filter-group-title {
  display: block;
  padding: 8px 12px;
  background-color: #2a2a2a;
  color: #888888;
  font-size: 12px;
  font-weight: 700;
  border-top: 1px solid #333333;
  cursor: default;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.select-dropdown .filter-group-title:first-child {
  border-top: none;
}
.select-dropdown .select-option {
  display: block;
  padding: 10px 12px;
  color: #cccccc;
  cursor: pointer;
  border-bottom: 1px solid #333333;
  font-size: 14px;
  text-decoration: none;
  background-color: #1a1a1a;
}
.select-dropdown .select-option:last-child {
  border-bottom: none;
}
.select-dropdown .select-option:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.select-dropdown .select-option.selected {
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 500;
  border-left: 3px solid #f10732;
  padding-left: 9px;
}
.select-dropdown .select-option.selected:hover {
  background-color: rgb(54.75, 54.75, 54.75);
}
.select-dropdown .select-option.placeholder {
  color: #888888;
}
.select-dropdown::-webkit-scrollbar {
  width: 8px;
}
.select-dropdown::-webkit-scrollbar-track {
  background: #0a0a0a;
}
.select-dropdown::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 0;
}
.select-dropdown::-webkit-scrollbar-thumb:hover {
  background: #555555;
}

.dropdown-toggle {
  background-color: transparent;
  border: 1px solid #555555;
  color: #ffffff;
  padding: 2px 10px 2px 0px;
  width: 100%;
  text-align: left;
  cursor: pointer;
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.5;
}
.dropdown-toggle:hover {
  background-color: transparent;
  border-color: #333333;
  color: #ffffff;
  text-decoration: none;
}
.dropdown-toggle:focus {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none;
}
.dropdown-toggle .caret {
  float: right;
  margin-top: 6px;
  border-top: 4px solid #cccccc;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropdown-toggle .selected-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-right: 20px;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 0;
  margin: 2px 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #1a1a1a;
  background-clip: padding-box;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
}
.dropdown-menu > li > a {
  display: block;
  padding: 2px 10px;
  clear: both;
  font-weight: normal;
  line-height: 1.42857143;
  color: #cccccc;
  white-space: nowrap;
  text-decoration: none;
}
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus {
  color: #f10732;
  text-decoration: none;
  background-color: #2a2a2a;
}
.dropdown-menu > li.active > a, .dropdown-menu > li.active > a:hover, .dropdown-menu > li.active > a:focus {
  color: #ffffff;
  text-decoration: none;
  background-color: #f10732;
  outline: 0;
}
.dropdown-menu > li.disabled > a, .dropdown-menu > li.disabled > a:hover, .dropdown-menu > li.disabled > a:focus {
  color: #666666;
  cursor: not-allowed;
  background-color: transparent;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 9px 0;
  overflow: hidden;
  background-color: #333333;
}

.open > .dropdown-menu {
  display: block;
}

.dropdown-menu--green li > a:hover, .dropdown-menu--green li > a:focus {
  background-color: rgba(0, 221, 119, 0.1);
  color: #00dd77;
}
.dropdown-menu--green li > a.active {
  background-color: #00dd77;
  color: #ffffff;
}

.dropdown-menu--blue li > a:hover, .dropdown-menu--blue li > a:focus {
  background-color: rgba(0, 136, 255, 0.1);
  color: #0088ff;
}
.dropdown-menu--blue li > a.active {
  background-color: #0088ff;
  color: #ffffff;
}

.dropdown-menu--warning li > a:hover, .dropdown-menu--warning li > a:focus {
  background-color: rgba(255, 170, 0, 0.1);
  color: #ffaa00;
}
.dropdown-menu--warning li > a.active {
  background-color: #ffaa00;
  color: #ffffff;
}

.dropdown-menu--danger li > a:hover, .dropdown-menu--danger li > a:focus {
  background-color: rgba(241, 7, 50, 0.1);
  color: #f10732;
}
.dropdown-menu--danger li > a.active {
  background-color: #f10732;
  color: #ffffff;
}

.dropdown-menu-scrollable {
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
}
.dropdown-menu-scrollable::-webkit-scrollbar {
  width: 8px;
}
.dropdown-menu-scrollable::-webkit-scrollbar-track {
  background-color: #1a1a1a;
}
.dropdown-menu-scrollable::-webkit-scrollbar-thumb {
  background-color: #555555;
  border: 2px solid #1a1a1a;
}
.dropdown-menu-scrollable::-webkit-scrollbar-thumb:hover {
  background-color: #888888;
}

.dropdown-header {
  display: block;
  padding: 5px 15px;
  font-size: 12px;
  color: #888888;
  font-weight: bold;
  background-color: #1a1a1a;
  cursor: default;
}
.dropdown-header:hover {
  background-color: #1a1a1a;
  color: #888888;
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  display: none;
  overflow: hidden;
  outline: 0;
}
.modal.fade {
  opacity: 0;
}
.modal.in {
  opacity: 1;
}
.modal.in {
  display: table !important;
  width: 100%;
  height: 100%;
}
.modal .modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
@media (min-width: 768px) {
  .modal .modal-dialog {
    width: 600px;
    margin: 0;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .modal#cropperModal .modal-dialog {
    width: 350px !important;
    max-width: 350px !important;
  }
}
.modal#cropperModal .modal-content {
  max-width: 100%;
}
.modal#cropperModal .modal-body {
  max-width: 100%;
  overflow: hidden;
}
.modal#cropperModal .cropper-container-wrapper {
  max-width: 400px;
  overflow: hidden;
}
.modal#cropperModal .cropper-container-wrapper img {
  max-width: 100%;
  height: auto;
}
.modal .modal-content {
  position: relative;
  display: inline-block;
  text-align: left;
  vertical-align: middle;
  background-color: #1a1a1a;
  border-radius: 0;
  box-shadow: none;
  outline: 0;
}
.modal .modal-header {
  padding: 10px 15px;
  border-bottom: 1px solid #333333;
  background-color: #2a2a2a;
}
.modal .modal-header h1, .modal .modal-header h2, .modal .modal-header h3, .modal .modal-header h4, .modal .modal-header h5, .modal .modal-header h6 {
  font-size: 15px;
}
.modal .modal-header .modal-title {
  margin: 0;
  line-height: 1.5;
  color: #ffffff;
}
.modal .modal-header .close {
  float: right;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  color: #888888;
  text-shadow: none;
  opacity: 1;
  background: none;
  border: none;
  cursor: pointer;
}
.modal .modal-header .close:hover, .modal .modal-header .close:focus {
  color: #ffffff;
  text-decoration: none;
  opacity: 1;
}
.modal .modal-body {
  position: relative;
  padding: 20px;
  color: #ffffff;
}
.modal .modal-body .qrcode-box {
  width: 210px;
  height: 210px;
  margin: 0 auto;
}
.modal .modal-body .help-text {
  color: #cccccc;
  font-size: 12px;
  margin-top: 15px;
  text-align: center;
}
.modal .modal-footer {
  padding: 15px 20px;
  text-align: right;
  border-top: 1px solid #333333;
  background-color: #2a2a2a;
}
.modal .modal-footer:before, .modal .modal-footer:after {
  display: table;
  content: " ";
}
.modal .modal-footer:after {
  clear: both;
}
.modal .modal-footer .btn {
  margin-left: 5px;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop.in {
  opacity: 0.5;
}

@media (min-width: 768px) {
  #payModal .modal-dialog {
    width: 400px;
  }
}
#payModal .modal-body {
  padding: 20px;
  text-align: center;
}
#payModal .modal-body .pay-title {
  font-size: 18px;
  color: #ffffff;
  margin-bottom: 15px;
}
#payModal .modal-body .pay-qrcode {
  width: 200px;
  height: 200px;
  margin: 0 auto 15px;
  background: #ffffff;
}
#payModal .modal-body .pay-button {
  display: block;
  width: 100%;
  padding: 12px 20px;
  margin: 15px 0;
  text-decoration: none;
  color: #ffffff;
  font-size: 16px;
  text-align: center;
  border: none;
  cursor: pointer;
}
#payModal .modal-body .pay-button .pay-icon {
  width: 24px;
  height: 24px;
  vertical-align: middle;
  margin-right: 10px;
}
#payModal .modal-body .pay-button.pay-button-alipay {
  background: #1677FF;
}
#payModal .modal-body .pay-button.pay-button-alipay:hover {
  background: #0d5fd8;
}
#payModal .modal-body .pay-button.pay-button-wechat {
  background: #07C160;
}
#payModal .modal-body .pay-button.pay-button-wechat:hover {
  background: #06ad51;
}
#payModal .modal-body .pay-tip {
  margin: 10px 0 0 0;
  font-size: 14px;
  color: #888888;
}

@media (min-width: 768px) {
  #confirmModal .modal-dialog {
    width: 400px;
  }
}
#confirmModal .modal-body {
  padding: 20px;
  text-align: center;
}
#confirmModal .modal-body .confirm-icon {
  font-size: 48px;
  margin-bottom: 15px;
}
#confirmModal .modal-body .confirm-icon.icon-question {
  color: #3498db;
}
#confirmModal .modal-body .confirm-icon.icon-warning {
  color: #f39c12;
}
#confirmModal .modal-body .confirm-icon.icon-info {
  color: #1abc9c;
}
#confirmModal .modal-body .confirm-message {
  font-size: 15px;
  color: #ffffff;
  line-height: 1.6;
  margin-bottom: 15px;
  white-space: pre-line;
}
#confirmModal .modal-footer {
  text-align: center;
}
#confirmModal .modal-footer .btn {
  min-width: 100px;
  margin: 0 5px;
}

@media (min-width: 768px) {
  #uploadResultModal .modal-dialog {
    width: 500px;
  }
}
#uploadResultModal .modal-body {
  padding: 20px;
}
#uploadResultModal .modal-body .result-summary {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  padding: 15px;
  border: 1px solid;
  text-align: center;
}
#uploadResultModal .modal-body .result-summary i {
  font-size: 20px;
  margin-right: 8px;
  vertical-align: middle;
}
#uploadResultModal .modal-body .result-summary strong {
  font-weight: 700;
}
#uploadResultModal .modal-body .result-summary.success {
  background: rgba(46, 204, 113, 0.1);
  border-color: #2ecc71;
  color: #2ecc71;
}
#uploadResultModal .modal-body .result-summary.error {
  background: rgba(231, 76, 60, 0.1);
  border-color: #e74c3c;
  color: #e74c3c;
}
#uploadResultModal .modal-body .result-summary.warning {
  background: rgba(255, 184, 0, 0.1);
  border-color: #ffb800;
  color: #ffb800;
}
#uploadResultModal .modal-body .result-desc {
  margin: 10px 0;
  color: #cccccc;
  line-height: 1.6;
}
#uploadResultModal .modal-body .failed-files {
  margin-top: 15px;
}
#uploadResultModal .modal-body .failed-files .section-title {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 10px;
}
#uploadResultModal .modal-body .failed-files .failed-list {
  list-style: none;
  padding: 0;
  margin: 0;
  max-height: 200px;
  overflow-y: auto;
  background: #0a0a0a;
  border: 1px solid #333333;
  padding: 10px;
}
#uploadResultModal .modal-body .failed-files .failed-list li {
  padding: 6px 0;
  border-bottom: 1px solid #333333;
  font-size: 13px;
}
#uploadResultModal .modal-body .failed-files .failed-list li:last-child {
  border-bottom: none;
}
#uploadResultModal .modal-body .failed-files .failed-list li .file-number {
  display: inline-block;
  width: 30px;
  color: #888888;
}
#uploadResultModal .modal-body .failed-files .failed-list li .file-name {
  color: #ffffff;
  margin-right: 8px;
}
#uploadResultModal .modal-body .failed-files .failed-list li .file-reason {
  color: #e74c3c;
  font-size: 12px;
}
#uploadResultModal .modal-body .suggestions {
  margin-top: 15px;
  padding: 10px;
  background: #2a2a2a;
  border-left: 2px solid #00dd77;
}
#uploadResultModal .modal-body .suggestions .section-title {
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 5px;
}
#uploadResultModal .modal-body .suggestions ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#uploadResultModal .modal-body .suggestions ul li {
  padding: 4px 0;
  padding-left: 16px;
  position: relative;
  color: #cccccc;
  font-size: 13px;
}
#uploadResultModal .modal-body .suggestions ul li:before {
  content: "•";
  position: absolute;
  left: 0;
  color: #00dd77;
}
#uploadResultModal .modal-footer .btn {
  min-width: 100px;
}

.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 0;
  list-style: none;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 5px 12px;
  margin-left: -1px;
  line-height: 1.4;
  height: 28px;
  color: #ffffff;
  text-decoration: none;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  transition: none;
  box-shadow: none;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.pagination > li > a:hover,
.pagination > li > a:focus {
  z-index: 3;
  color: #ffffff;
  background-color: #1a1a1a;
  border-color: #777777;
  box-shadow: none;
}
.pagination > li.active > a, .pagination > li.active > a:hover, .pagination > li.active > a:focus, .pagination > li.active > span, .pagination > li.active > span:hover, .pagination > li.active > span:focus {
  z-index: 2;
  color: #ffffff;
  cursor: default;
  background-color: #f10732;
  border-color: #f10732;
  box-shadow: none;
}
.pagination > li.disabled > span,
.pagination > li.disabled > span:hover,
.pagination > li.disabled > span:focus,
.pagination > li.disabled > a,
.pagination > li.disabled > a:hover,
.pagination > li.disabled > a:focus {
  color: #666666;
  cursor: not-allowed;
  background-color: #0a0a0a;
  border-color: #222222;
  box-shadow: none;
}

.bulk-actions-bar {
  border-radius: 0;
  padding: 10px 0;
  margin-bottom: 20px;
  overflow: hidden;
}
.bulk-actions-bar .bulk-actions-left {
  float: left;
  width: 60%;
  line-height: 32px;
}
.bulk-actions-bar .bulk-actions-left .bulk-action-btns {
  display: inline-block;
  vertical-align: middle;
}
.bulk-actions-bar .bulk-actions-left .bulk-action-btns .btn {
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  font-size: 12px;
  padding: 5px 10px;
  line-height: 1.4;
  height: 28px;
}
.bulk-actions-bar .bulk-actions-left .bulk-action-btns .btn:last-child {
  margin-right: 0;
}
.bulk-actions-bar .bulk-actions-right {
  float: right;
  width: 38%;
  text-align: right;
  line-height: 32px;
}
.bulk-actions-bar .bulk-actions-right .pagination {
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
@supports (display: flex) {
  .bulk-actions-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .bulk-actions-bar .bulk-actions-left {
    float: none;
    width: auto;
    flex: 1;
  }
  .bulk-actions-bar .bulk-actions-left .bulk-action-btns {
    display: flex;
    gap: 5px;
    overflow: visible;
  }
  .bulk-actions-bar .bulk-actions-left .bulk-action-btns .btn {
    float: none;
    margin-right: 0;
  }
  .bulk-actions-bar .bulk-actions-right {
    float: none;
    width: auto;
    flex-shrink: 0;
  }
}

.bulk-actions-count {
  display: inline-block;
  padding: 5px 10px;
  margin-left: 10px;
  font-size: 12px;
  color: #cccccc;
  background-color: #0a0a0a;
  border: 1px solid #555555;
  border-radius: 0;
  vertical-align: middle;
  line-height: 1.4;
  height: 28px;
}
.bulk-actions-count .count-number {
  color: #f10732;
  font-weight: bold;
}

@media (max-width: calc(768px - 1px)) {
  .bulk-actions-bar .bulk-actions-left,
  .bulk-actions-bar .bulk-actions-right {
    float: none;
    width: 100%;
    text-align: left;
  }
  .bulk-actions-bar .bulk-actions-right {
    margin-top: 10px;
  }
}
.custom-select {
  position: relative;
  display: block;
  width: 100%;
}
.custom-select.active .select-trigger {
  border-color: #555555;
}
.custom-select.active .select-dropdown {
  display: block;
  border-color: #555555;
}
.custom-select select {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  z-index: -1;
}

.select-trigger {
  display: block;
  width: 100%;
  height: 36px;
  padding: 8px 35px 8px 12px;
  cursor: pointer;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.5;
  text-align: left;
  position: relative;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.select-trigger:hover {
  border-color: #555555;
  background-color: rgb(17.65, 17.65, 17.65);
}
.select-trigger:focus, .select-trigger.active {
  outline: none !important;
  box-shadow: none !important;
}
.select-trigger:after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #cccccc;
  margin-top: -3px;
}
.select-trigger.active:after {
  border-top: none;
  border-bottom: 6px solid #cccccc;
  margin-top: -6px;
}
.select-trigger.placeholder {
  color: #888888;
}

.select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #1a1a1a;
  border: 1px solid #555555;
  border-top: none;
  max-height: 300px;
  overflow-y: auto;
  display: none;
  border-radius: 0;
}
.select-dropdown.active {
  display: block;
}
.select-dropdown .filter-group-title {
  display: block;
  padding: 8px 12px;
  background-color: #2a2a2a;
  color: #888888;
  font-size: 12px;
  font-weight: 700;
  border-top: 1px solid #333333;
  cursor: default;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.select-dropdown .filter-group-title:first-child {
  border-top: none;
}
.select-dropdown .select-option {
  display: block;
  padding: 10px 12px;
  color: #cccccc;
  cursor: pointer;
  border-bottom: 1px solid #333333;
  font-size: 14px;
  text-decoration: none;
  background-color: #1a1a1a;
}
.select-dropdown .select-option:last-child {
  border-bottom: none;
}
.select-dropdown .select-option:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.select-dropdown .select-option.selected {
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 500;
  border-left: 3px solid #f10732;
  padding-left: 9px;
}
.select-dropdown .select-option.selected:hover {
  background-color: rgb(54.75, 54.75, 54.75);
}
.select-dropdown .select-option.placeholder {
  color: #888888;
}
.select-dropdown::-webkit-scrollbar {
  width: 8px;
}
.select-dropdown::-webkit-scrollbar-track {
  background: #0a0a0a;
}
.select-dropdown::-webkit-scrollbar-thumb {
  background: #2a2a2a;
  border-radius: 0;
}
.select-dropdown::-webkit-scrollbar-thumb:hover {
  background: #555555;
}

.genre-header {
  display: block;
  overflow: hidden;
  margin-bottom: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.genre-header:after {
  content: "";
  display: table;
  clear: both;
}
.genre-header h2 {
  float: left;
  color: #ffffff;
  font-size: 28px;
  margin: 0;
}
@media (max-width: 767px) {
  .genre-header h2 {
    font-size: 24px;
  }
}
.genre-header .genre-tabs {
  float: right;
}

.genre-tabs {
  display: inline-block;
}
.genre-tabs .genre-tab {
  display: inline-block;
  width: 36px;
  line-height: 24px;
  text-align: center;
  background-color: #1a1a1a;
  color: #cccccc;
  border: 1px solid #333333;
  margin-left: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
}
.genre-tabs .genre-tab:hover {
  background-color: #f10732;
  color: #0a0a0a;
  border-color: #f10732;
}
.genre-tabs .genre-tab.active {
  background-color: #f10732;
  color: #0a0a0a;
  border-color: #f10732;
}

.genre-content {
  position: relative;
}

.recommendation-content {
  margin-bottom: 20px;
}

.recommendation-header {
  display: inline-block;
  vertical-align: baseline;
  color: #ffffff;
  font-size: 26px;
  font-weight: 400;
  margin-right: 20px;
  padding: 0;
  line-height: 1.2;
}
.recommendation-header .glyphicon {
  color: #f10732;
  margin-right: 5px;
  font-size: 26px;
  display: inline;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .recommendation-header {
    font-size: 20px;
    margin-right: 15px;
  }
  .recommendation-header .glyphicon {
    font-size: 20px;
    margin-right: 5px;
  }
}

.recommendation-tabs {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #333333;
}
.recommendation-tabs .recommendation-tabs-container {
  display: table;
  width: 100%;
}
.recommendation-tabs .recommendation-tabs-container .category-left-section {
  display: table-cell;
  vertical-align: baseline;
  width: auto;
}
.recommendation-tabs .recommendation-tabs-container .category-left-section .recommendation-header,
.recommendation-tabs .recommendation-tabs-container .category-left-section .recommendation-tab,
.recommendation-tabs .recommendation-tabs-container .category-left-section .dropdown {
  display: inline-block;
  vertical-align: baseline;
  margin-right: 4px;
}
.recommendation-tabs .recommendation-tabs-container .category-right-section {
  display: table-cell;
  vertical-align: baseline;
  width: 1%;
  white-space: nowrap;
  text-align: right;
}
.recommendation-tabs .recommendation-tabs-container .category-right-section .category-type-tab {
  display: inline-block;
  margin-left: 4px;
}
.recommendation-tabs .recommendation-tabs-container .category-right-section .music-search-inline,
.recommendation-tabs .recommendation-tabs-container .category-right-section .filter-tabs-pc {
  display: inline-block;
  vertical-align: middle;
}
.recommendation-tabs .recommendation-tabs-container .category-right-section .recommendation-tab {
  display: inline-block;
}
.recommendation-tabs .recommendation-tabs-left {
  display: table-cell;
  vertical-align: baseline;
  width: auto;
  white-space: nowrap;
}
.recommendation-tabs .recommendation-tabs-left .recommendation-header {
  display: inline-block;
  margin-right: 15px;
  vertical-align: baseline;
}
.recommendation-tabs .recommendation-tabs-left .recommendation-header::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #f10732;
  margin-right: 5px;
  vertical-align: middle;
}
.recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container {
  display: inline-block;
  vertical-align: baseline;
}
.recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container .recommendation-tab {
  display: inline-block;
  margin-right: 8px;
  vertical-align: baseline;
}
.recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container .recommendation-tab:last-child {
  margin-right: 0;
}
.recommendation-tabs .recommendation-tabs-right {
  display: table-cell;
  vertical-align: baseline;
  width: 1%;
  white-space: nowrap;
  text-align: right;
  padding-left: 15px;
}
.recommendation-tabs .recommendation-tabs-right .track-type-filter {
  display: inline-block;
  vertical-align: baseline;
}
.recommendation-tabs .recommendation-tabs-right .track-type-filter .track-type-tab {
  display: inline-block;
  padding: 0 8px;
  height: 24px;
  line-height: 24px;
  background-color: #2a2a2a;
  color: #ffffff;
  border: 1px solid #333333;
  font-size: 12px;
  cursor: pointer;
  vertical-align: baseline;
  margin-left: 5px;
}
.recommendation-tabs .recommendation-tabs-right .track-type-filter .track-type-tab:first-child {
  margin-left: 0;
}
.recommendation-tabs .recommendation-tabs-right .track-type-filter .track-type-tab:hover {
  background-color: rgb(54.75, 54.75, 54.75);
  color: #ffffff;
}
.recommendation-tabs .recommendation-tabs-right .track-type-filter .track-type-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}

.recommendation-tab {
  display: inline-block;
  padding: 0;
  height: 24px;
  line-height: 24px;
  background-color: transparent;
  color: #cccccc;
  border: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
  white-space: nowrap;
  margin-right: 5px;
}
.recommendation-tab:last-child {
  margin-right: 0;
}
.recommendation-tab:hover {
  color: #f10732;
  text-decoration: none;
}
.recommendation-tab.active {
  color: #f10732;
  font-weight: bold;
}
.recommendation-tab:focus {
  outline: none;
  box-shadow: none;
}
.recommendation-tab.dropdown .dropdown-toggle {
  color: #cccccc;
  text-decoration: none;
}
.recommendation-tab.dropdown .dropdown-toggle:hover {
  color: #f10732;
}
.recommendation-tab.dropdown .dropdown-toggle .caret {
  margin-left: -5px;
  margin-top: 10px;
}

.recommendation-panels {
  position: relative;
}

.recommendation-panel {
  display: none;
}
.recommendation-panel[style*="display: none"] {
  display: none !important;
}
.recommendation-panel:first-child {
  display: block;
}
.recommendation-panel .row {
  margin-left: 0;
  margin-right: 0;
}
.recommendation-panel .row [class*=col-] {
  padding-left: 0;
  padding-right: 0;
}

.nav-tabs {
  border-bottom: 1px solid #333333;
}
.nav-tabs > li > a {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  color: #cccccc;
}
.nav-tabs > li > a:hover {
  background-color: #2a2a2a;
  border-color: #555555;
  color: #ffffff;
}
.nav-tabs > li.active > a {
  background-color: #0a0a0a;
  border-color: #333333 #333333 transparent;
  color: #ffffff;
}
.nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
  background-color: #0a0a0a;
  border-color: #333333 #333333 transparent;
  color: #ffffff;
}

.nav-pills > li > a {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  color: #cccccc;
}
.nav-pills > li > a:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.nav-pills > li.active > a {
  background-color: #f10732;
  color: #ffffff;
}
.nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
  background-color: #f10732;
  color: #ffffff;
}

.ranking-sidebar {
  margin-bottom: 20px;
}
.ranking-sidebar .sidebar-title {
  padding-bottom: 15px;
  border-bottom: 1px solid #333333;
  position: relative;
  overflow: hidden;
  margin-bottom: 10px;
  font-size: 16px;
}
.ranking-sidebar .sidebar-title .glyphicon {
  color: #f10732;
  margin-right: 5px;
}

.ranking-category-switch {
  float: left;
  color: #ffffff;
  font-size: 16px;
}
.ranking-category-switch .ranking-category-tab {
  display: inline;
  color: #cccccc;
  cursor: pointer;
  font-weight: normal;
}
.ranking-category-switch .ranking-category-tab:hover {
  color: #f10732;
}
.ranking-category-switch .ranking-category-tab.active {
  color: #f10732;
  font-weight: bold;
}
.ranking-category-switch .ranking-category-sep {
  color: #cccccc;
  margin: 0 4px;
}

.ranking-category-content {
  display: none;
}
.ranking-category-content[style*="display: block"] {
  display: block !important;
}

.ranking-type-tabs {
  float: right;
  margin-top: -2px;
}
.ranking-type-tabs .ranking-type-tab {
  display: inline-block;
  min-width: 40px;
  padding: 0 8px;
  line-height: 24px;
  text-align: center;
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  margin-left: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
}
.ranking-type-tabs .ranking-type-tab:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.ranking-type-tabs .ranking-type-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}

.ranking-time-tabs {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-bottom: 1px solid #333333;
  padding: 10px 0;
}
.ranking-time-tabs .ranking-time-tab {
  display: table-cell;
  width: 33.333%;
  line-height: 24px;
  text-align: center;
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  border-right: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
}
.ranking-time-tabs .ranking-time-tab:last-child {
  border-right: 1px solid #333333;
}
.ranking-time-tabs .ranking-time-tab:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.ranking-time-tabs .ranking-time-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
  z-index: 1;
  position: relative;
}

.ranking-tabs {
  float: right;
  margin-top: -2px;
}
.ranking-tabs .ranking-tab {
  display: inline-block;
  width: 36px;
  line-height: 24px;
  text-align: center;
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  margin-left: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
}
.ranking-tabs .ranking-tab:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.ranking-tabs .ranking-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}

.ranking-list {
  position: relative;
}

.category-type-tab {
  display: inline-block;
  line-height: 24px;
  text-align: center;
  padding: 0 6px;
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  font-size: 12px;
  font-weight: bold;
  vertical-align: baseline;
  text-decoration: none;
  cursor: pointer;
  margin-left: 4px;
}
.category-type-tab:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
  text-decoration: none;
}
.category-type-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.category-type-tab:focus {
  text-decoration: none;
  outline: none !important;
  box-shadow: none !important;
}

.ranking-group {
  display: block;
  width: 100%;
}
.ranking-group[style*="display: none"] {
  display: none !important;
}

.ranking-item {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding: 12.5px 5px;
  border-bottom: 1px solid #333333;
}
.ranking-item .rank-number {
  display: table-cell;
  width: 24px;
  vertical-align: middle;
  text-align: center;
}
.ranking-item .ranking-content {
  display: table-cell;
  width: auto;
  vertical-align: middle;
  padding-left: 10px;
  padding-right: 10px;
}
.ranking-item .ranking-plays {
  display: table-cell;
  width: 40px;
  vertical-align: middle;
  text-align: right;
}
.ranking-item .ranking-date {
  display: table-cell;
  vertical-align: middle;
  width: 50px;
  color: #888888;
  font-size: 12px;
  font-weight: normal;
  text-align: right;
  white-space: nowrap;
}
.ranking-item:last-child {
  border-bottom: none;
}
.ranking-item:hover {
  background-color: #0a0a0a;
  cursor: pointer;
}
.ranking-item:hover .ranking-title {
  color: #f10732;
}
.ranking-item.top-rank .rank-number {
  background-color: #f10732;
  color: #ffffff;
  font-weight: bold;
}

.rank-number {
  background-color: #2a2a2a;
  color: #cccccc;
  font-size: 12px;
  font-weight: 700;
  line-height: 24px;
  height: 24px;
}
.rank-number:not(.ranking-item *) {
  display: block;
  width: 30px;
  text-align: center;
}

.ranking-content .ranking-title {
  font-size: 14px;
  color: #ffffff;
  margin: 0 0 2px 0;
  line-height: 1.2;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ranking-content .ranking-artist {
  font-size: 12px;
  color: #cccccc;
  margin: 0;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ranking-plays {
  color: #888888;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.hero-banner {
  margin-bottom: 30px;
}
.hero-banner .carousel {
  height: 421px;
}
@media (max-width: 991px) {
  .hero-banner .carousel {
    height: 300px;
  }
}
.hero-banner .carousel .carousel-inner {
  height: 100%;
}
.hero-banner .carousel .carousel-inner .item {
  height: 100%;
}
.hero-banner .carousel .carousel-inner .item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@supports not ((-o-object-fit: cover) or (object-fit: cover)) {
  .hero-banner .carousel .carousel-inner .item img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
  }
}
.hero-banner .carousel .carousel-inner .item .carousel-caption {
  background: rgba(0, 0, 0, 0.8);
  padding: 20px;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: left;
}
.hero-banner .carousel .carousel-inner .item .carousel-caption h3 {
  color: #ffffff;
  font-size: 24px;
  margin-bottom: 5px;
}
.hero-banner .carousel .carousel-inner .item .carousel-caption p {
  color: #cccccc;
  margin-bottom: 10px;
}
.hero-banner .carousel .carousel-inner .item .carousel-caption p:last-of-type {
  margin-bottom: 15px;
}
.hero-banner .carousel .carousel-inner .item .carousel-caption .carousel-buttons .btn {
  margin-right: 10px;
}
.hero-banner .carousel .carousel-inner .item .carousel-caption .carousel-buttons .btn:last-child {
  margin-right: 0;
}

.main-recommendations {
  margin-bottom: 30px;
}

.tag {
  display: inline-block;
  padding: 4px 8px;
  margin: 2px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0;
  background-color: #2a2a2a;
  border: 1px solid #333333;
}
.tag:hover {
  color: #ffffff;
  background-color: rgb(67.5, 67.5, 67.5);
}
.tag:hover:hover {
  color: #ffffff;
  background-color: #2a2a2a;
  text-decoration: none;
}
.tag:hover {
  text-decoration: none;
}
.tag.tag-primary {
  color: #ffffff;
  background-color: #f10732;
}
.tag.tag-primary:hover {
  color: #ffffff;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  text-decoration: none;
}
.tag.tag-success {
  color: #ffffff;
  background-color: #00cc66;
}
.tag.tag-success:hover {
  color: #ffffff;
  background-color: rgb(0, 153, 76.5);
  text-decoration: none;
}
.tag.tag-info {
  color: #ffffff;
  background-color: #00aaff;
}
.tag.tag-info:hover {
  color: #ffffff;
  background-color: #0088cc;
  text-decoration: none;
}
.tag.tag-warning {
  color: #ffffff;
  background-color: #ffaa00;
}
.tag.tag-warning:hover {
  color: #ffffff;
  background-color: #cc8800;
  text-decoration: none;
}
.tag.tag-danger {
  color: #ffffff;
  background-color: #f10732;
}
.tag.tag-danger:hover {
  color: #ffffff;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  text-decoration: none;
}

.tag-list {
  padding-left: 0;
  list-style: none;
  margin: 0;
}
.tag-list .tag-item {
  display: inline-block;
  margin: 2px;
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  background-color: #f10732;
  border-radius: 0;
}
.badge:empty {
  display: none;
}
.badge.badge-primary {
  background-color: #f10732;
}
.badge.badge-success {
  background-color: #00cc66;
}
.badge.badge-info {
  background-color: #00aaff;
}
.badge.badge-warning {
  background-color: #ffaa00;
}
.badge.badge-danger {
  background-color: #f10732;
}
a .badge:hover, a .badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.btn .badge {
  position: relative;
  top: -1px;
}

.badge-new {
  display: inline-block;
  padding: 0 5px;
  height: 20px;
  line-height: 20px;
  background-color: #f10732;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  margin-left: 5px;
}

.badge-vip {
  display: inline-block;
  padding: 2px 6px;
  background-color: #ffd700;
  color: #000000;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  vertical-align: middle;
}
.track-thumbnail-mini .badge-vip, .music-thumbnail .badge-vip {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.badge-gold {
  display: inline-block;
  color: #f10732;
  font-size: inherit;
  vertical-align: middle;
}
.badge-gold .glyphicon {
  color: #f10732;
  margin-right: 2px;
}

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid #333333;
  border-radius: 0;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: 700;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert.alert-success {
  color: rgb(0, 51, 25.5);
  background-color: #99ffcc;
  border-color: #33ff99;
}
.alert.alert-success hr {
  border-top-color: rgb(0, 255, 127.5);
}
.alert.alert-success .alert-link {
  color: black;
}
.alert.alert-info {
  color: #004466;
  background-color: #cceeff;
  border-color: #66ccff;
}
.alert.alert-info hr {
  border-top-color: #33bbff;
}
.alert.alert-info .alert-link {
  color: #002233;
}
.alert.alert-warning {
  color: #664400;
  background-color: #ffeecc;
  border-color: #ffcc66;
}
.alert.alert-warning hr {
  border-top-color: #ffbb33;
}
.alert.alert-warning .alert-link {
  color: #332200;
}
.alert.alert-danger {
  color: rgb(92.3185483871, 2.6814516129, 19.1532258065);
  background-color: rgb(253.3629032258, 198.6370967742, 208.6935483871);
  border-color: rgb(250.4838709677, 99.5161290323, 127.2580645161);
}
.alert.alert-danger hr {
  border-top-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.alert.alert-danger .alert-link {
  color: rgb(42.7580645161, 1.2419354839, 8.8709677419);
}

.progress {
  height: 6px;
  background-color: #2a2a2a;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
}
.progress .progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 6px;
  color: #ffffff;
  text-align: center;
  background-color: #f10732;
  border-radius: 0;
  box-shadow: none;
  transition: width 0.2s ease;
}
.progress.progress-lg {
  height: 10px;
}
.progress.progress-lg .progress-bar {
  line-height: 10px;
}
.progress .progress-bar.progress-bar-success {
  background-color: #00cc66;
}
.progress .progress-bar.progress-bar-info {
  background-color: #00aaff;
}
.progress .progress-bar.progress-bar-warning {
  background-color: #ffaa00;
}
.progress .progress-bar.progress-bar-danger {
  background-color: #f10732;
}
.progress .progress-bar.progress-bar-striped {
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.breadcrumb {
  padding: 10px 15px;
  margin-bottom: 20px;
  list-style: none;
  background-color: #1a1a1a;
  border-radius: 0;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/ ";
  padding: 0 5px;
  color: #888888;
}
.breadcrumb > li a {
  color: #cccccc;
  text-decoration: none;
}
.breadcrumb > li a:hover, .breadcrumb > li a:focus, .breadcrumb > li a:active {
  color: #f10732;
  text-decoration: none;
}
.breadcrumb > li.active {
  color: #888888;
}
.breadcrumb > li.active a {
  color: #888888;
  cursor: default;
}
.breadcrumb > li.active a:hover, .breadcrumb > li.active a:focus, .breadcrumb > li.active a:active {
  color: #888888;
  text-decoration: none;
}

.custom-checkbox {
  position: relative;
  display: inline-block;
  padding-left: 25px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.custom-checkbox input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.custom-checkbox .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 18px;
  width: 18px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  border-radius: 0;
}
.custom-checkbox .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.custom-checkbox:hover input ~ .checkmark {
  background-color: rgb(54.75, 54.75, 54.75);
}
.custom-checkbox input:checked ~ .checkmark {
  background-color: #f10732;
  border-color: #f10732;
}
.custom-checkbox input:checked ~ .checkmark:after {
  display: block;
}
.custom-checkbox input:disabled ~ .checkmark {
  background-color: #1a1a1a;
  cursor: not-allowed;
}

.toast-title {
  font-weight: bold;
}

.toast-message {
  -ms-word-wrap: break-word;
  word-wrap: break-word;
}

.toast-message a,
.toast-message label {
  color: #ffffff;
}

.toast-message a:hover {
  color: #cccccc;
  text-decoration: none;
}

.toast-close-button {
  position: relative;
  right: -0.3em;
  top: -0.3em;
  float: right;
  font-size: 18px;
  font-weight: bold;
  color: #ffffff;
  text-shadow: none; /* 无文字阴影 */
  -webkit-text-shadow: none;
  opacity: 1; /* 完全不透明 */
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
}

.toast-close-button:hover,
.toast-close-button:focus {
  color: #cccccc; /* hover时稍暗 */
  text-decoration: none;
  cursor: pointer;
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
}

/*Additional properties for button version
 iOS requires the button element instead of an anchor tag.
 If you want the anchor version, it requires `href="#"`.*/
button.toast-close-button {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}

.toast-top-center {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-center {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-full-width {
  top: 0;
  right: 0;
  width: 100%;
}

.toast-bottom-full-width {
  bottom: 0;
  right: 0;
  width: 100%;
}

.toast-top-left {
  top: 12px;
  left: 12px;
}

.toast-top-right {
  top: 12px;
  right: 12px;
}

.toast-bottom-right {
  right: 12px;
  bottom: 12px;
}

.toast-bottom-left {
  bottom: 12px;
  left: 12px;
}

#toast-container {
  position: fixed;
  z-index: 999999;
  /*overrides*/
}

#toast-container * {
  box-sizing: border-box;
}

#toast-container > div {
  position: relative;
  overflow: hidden;
  margin: 0 0 8px;
  padding: 15px 15px 15px 50px;
  width: 320px;
  border-radius: 0; /* 无圆角设计 */
  background-position: 15px center;
  background-repeat: no-repeat;
  box-shadow: none; /* 无阴影设计 */
  color: #ffffff;
  opacity: 1; /* 完全不透明 */
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
  font-size: 14px;
  font-weight: normal;
}

#toast-container > div:hover {
  box-shadow: none; /* 无阴影 */
  border-color: #555555; /* hover时边框稍亮 */
  opacity: 1;
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
  cursor: pointer;
}

#toast-container > .toast-info {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=") !important;
}

#toast-container > .toast-error {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=") !important;
}

#toast-container > .toast-success {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==") !important;
}

#toast-container > .toast-warning {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=") !important;
}

#toast-container.toast-top-center > div,
#toast-container.toast-bottom-center > div {
  width: 300px;
  margin-left: auto;
  margin-right: auto;
}

#toast-container.toast-top-full-width > div,
#toast-container.toast-bottom-full-width > div {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
}

.toast {
  background-color: #1a1a1a; /* 网站次背景色 */
}

.toast-success {
  background-color: #00cc66; /* 网站成功色 - 深绿 */
  border-color: #00dd77; /* 边框用亮绿 */
}

.toast-error {
  background-color: #f10732; /* 网站危险色 - 红色 */
  border-color: #ff2244; /* 边框稍亮 */
}

.toast-info {
  background-color: #0088ff; /* 网站次强调色 - 蓝色 */
  border-color: #00aaff; /* 边框稍亮 */
}

.toast-warning {
  background-color: #ffaa00; /* 网站警告色 - 橙色 */
  border-color: #ffbb22; /* 边框稍亮 */
}

.toast-progress {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  background-color: rgba(255, 255, 255, 0.3); /* 白色半透明进度条 */
  opacity: 1; /* 不透明 */
  -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  filter: alpha(opacity=100);
}

/*Responsive Design*/
@media all and (max-width: 240px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 11em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 241px) and (max-width: 480px) {
  #toast-container > div {
    padding: 8px 8px 8px 50px;
    width: 18em;
  }
  #toast-container .toast-close-button {
    right: -0.2em;
    top: -0.2em;
  }
}
@media all and (min-width: 481px) and (max-width: 768px) {
  #toast-container > div {
    padding: 15px 15px 15px 50px;
    width: 25em;
  }
}
/**
 * AJAX 加载状态样式
 * 兼容性: CSS 2.1, Safari 5+
 */
/* 按钮加载状态 */
.btn-loading {
  opacity: 0.7;
  cursor: not-allowed;
}

/* 旋转动画 - 使用 -webkit- 前缀兼容 Safari 5 */
.glyphicon-spin {
  display: inline-block;
  animation: spin 1s infinite linear;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 列表加载提示容器 */
.ajax-loading {
  display: block;
  text-align: center;
  padding: 60px 20px;
  color: #cccccc;
  /* 加载图标容器 */
}
.ajax-loading .ajax-loading-spinner {
  margin-bottom: 15px;
}
.ajax-loading .ajax-loading-spinner .glyphicon {
  font-size: 36px;
  color: #f10732;
}
.ajax-loading {
  /* 加载文字 */
}
.ajax-loading p {
  margin: 0;
  font-size: 14px;
  color: #888888;
}

/* 降级方案 - Safari 5 不支持 animation */
@supports not (animation: spin 1s) {
  .glyphicon-spin {
    /* 静态显示图标，不旋转 */
    animation: none;
  }
}
/* ===== 全局 AJAX 加载指示器 ===== */
.ajax-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  /* 半透明遮罩层 */
}
.ajax-loader .ajax-loader-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000000;
  opacity: 0.5;
}
.ajax-loader {
  /* 加载动画容器 */
}
.ajax-loader .ajax-loader-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  padding: 30px 40px;
  min-width: 150px;
  /* 旋转动画 */
}
.ajax-loader .ajax-loader-spinner .spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto 15px;
  border: 3px solid #333333;
  border-top-color: #00dd77;
  border-left-color: #00dd77;
  border-radius: 50%; /* 圆形加载动画 */
  animation: spin 0.8s infinite linear;
}
.ajax-loader .ajax-loader-spinner {
  /* 加载文字 */
}
.ajax-loader .ajax-loader-spinner .loading-text {
  margin: 0;
  font-size: 14px;
  color: #ffffff;
}

/* 降级方案 - Safari 5 不支持 transform */
@supports not (transform: translate(-50%, -50%)) {
  .ajax-loader-spinner {
    /* 使用 margin 代替 transform 居中 */
    margin-left: -75px;
    margin-top: -50px;
  }
}
.track-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border: none;
}
.track-list .track-item {
  display: table;
  width: 100%;
  table-layout: fixed;
  border: none;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  min-height: 60px;
  margin-bottom: 6px;
}
.track-list .track-item:hover {
  background-color: #0a0a0a;
  text-decoration: none;
  color: #ffffff;
}
.track-list .track-item:hover .track-title {
  color: #f10732;
}
.track-list .track-item:hover .track-overlay {
  opacity: 1;
}
.track-list .track-item.active, .track-list .track-item.playing {
  background-color: rgba(241, 7, 50, 0.1);
  border-left: 3px solid #f10732;
}
.track-list .track-item.active .track-title, .track-list .track-item.playing .track-title {
  color: #f10732;
}
.track-list .track-item--compact {
  min-height: 50px;
}
.track-list .track-item--compact .track-cover {
  width: 50px;
  height: 50px;
}
.track-list .track-item--ranking {
  padding: 10px 5px;
}
.track-list .track-item--ranking .rank-number {
  display: table-cell;
  width: 24px;
  vertical-align: middle;
  text-align: center;
  background-color: #2a2a2a;
  color: #cccccc;
  font-size: 12px;
  font-weight: 700;
  line-height: 24px;
  height: 24px;
}
.track-list .track-item--ranking.top-rank .rank-number {
  background-color: #f10732;
  color: #ffffff;
  font-weight: bold;
}
.track-list .track-item--card {
  display: block;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  position: relative;
  overflow: hidden;
}
.track-list .track-item--card:hover {
  background-color: #2a2a2a;
  border-color: #f10732;
}
.track-list .track-item--card .track-cover {
  display: block;
  width: 100%;
  height: auto;
}
.track-list .track-item .track-cover {
  display: table-cell;
  width: 69px;
  height: 69px;
  position: relative;
  overflow: hidden;
  background-color: #2a2a2a;
  box-sizing: border-box;
  min-width: 69px;
  max-width: 69px;
  min-height: 69px;
  max-height: 69px;
}
.track-list .track-item .track-cover img {
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@supports not ((-o-object-fit: cover) or (object-fit: cover)) {
  .track-list .track-item .track-cover img {
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    margin-top: -35px;
    margin-left: -35px;
  }
}
.track-list .track-item .track-cover .track-genre-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 69px;
  height: 20px;
  background-color: #f10732;
  color: #ffffff;
  font-weight: 400;
  display: flex;
  align-items: center;
  justify-content: center;
}
.track-list .track-item .track-cover .track-genre-overlay .genre-text {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  max-width: calc(69px - 10px);
  text-align: center;
}
.track-list .track-item .track-cover .track-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(10, 10, 10, 0.8);
  opacity: 0;
  z-index: 2;
}
.track-list .track-item .track-cover .track-overlay .btn-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@supports not (transform: translate(-50%, -50%)) {
  .track-list .track-item .track-cover .track-overlay .btn-play {
    top: 40%;
    left: 40%;
  }
}
.track-list .track-item .track-info {
  display: table-cell;
  width: auto;
  vertical-align: middle;
  padding: 5px 10px;
}
.track-list .track-item .track-info .track-title-row {
  display: block;
  border-bottom: 1px solid #333333;
  overflow: hidden;
  width: 100%;
  text-decoration: none;
  color: inherit;
}
.track-list .track-item .track-info .track-title-row > * {
  max-width: 100%;
  box-sizing: border-box;
}
.track-list .track-item .track-info .track-title-row:hover {
  text-decoration: none;
}
.track-list .track-item .track-info .track-title-row:hover .track-title {
  color: #f10732;
}
.track-list .track-item .track-info .track-title {
  font-size: 13px;
  font-weight: 500;
  color: #ffffff;
  margin: 0;
  padding: 0;
  line-height: 1.3;
  display: block;
  height: 2.6em;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  min-height: 2.6em;
  margin-bottom: 4px;
}
@supports not (display: -webkit-box) {
  .track-list .track-item .track-info .track-title {
    display: block;
    height: 2.6em;
  }
}
.track-list .track-item .track-info .track-meta-row {
  margin-top: 5px;
  font-size: 12px;
  color: #888888;
  line-height: 1.2;
  overflow: hidden;
}
.track-list .track-item .track-info .track-meta-row > * {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  white-space: nowrap;
}
.track-list .track-item .track-info .track-meta-row > *:last-child {
  margin-right: 0;
}
.track-list .track-item .track-info .track-meta-row .track-meta-left {
  float: left;
}
.track-list .track-item .track-info .track-meta-row .track-meta-left > * {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  white-space: nowrap;
}
.track-list .track-item .track-info .track-meta-row .track-meta-right {
  float: right;
}
.track-list .track-item .track-info .track-artist {
  font-size: 12px;
  color: #cccccc;
  margin: 0;
  line-height: 1.2;
}
.track-list .track-item .track-info .track-artist a {
  color: inherit;
  text-decoration: none;
}
.track-list .track-item .track-info .track-artist a:hover {
  color: #f10732;
  text-decoration: none;
}
.track-list .track-item .track-info .track-duration {
  font-size: 12px;
  color: #cccccc;
}
.track-list .track-item .track-info .track-plays {
  font-size: 12px;
  color: #888888;
}
.track-list .track-item .track-info .track-bpm {
  font-size: 12px;
  font-weight: 500;
  color: #888888;
}
.track-list .track-item .track-info .track-key {
  font-size: 12px;
  font-weight: 500;
  color: #888888;
}
.track-list .track-item .track-info .track-date {
  font-size: 12px;
  color: #888888;
}
.track-list .track-item .track-info .track-genre {
  display: inline-block;
  padding: 2px 8px;
  background-color: #2a2a2a;
  color: #cccccc;
  font-size: 12px;
  border: none;
  white-space: nowrap;
}
.track-list .track-item .track-actions {
  display: table-cell;
  width: 100px;
  vertical-align: middle;
  text-align: right;
  padding-right: 10px;
}
.track-list .track-item .track-actions > * {
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
}
.track-list .track-item .track-actions > *:last-child {
  margin-right: 0;
}
@supports not (display: inline-block) {
  .track-list .track-item .track-actions > * {
    float: left;
    margin-right: 5px;
  }
}
.track-list .track-item .track-actions .btn-circle {
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background-color: #2a2a2a;
  color: #cccccc;
  cursor: pointer;
}
.track-list .track-item .track-actions .btn-circle:hover {
  background-color: #f10732;
  color: #ffffff;
}

.track-thumbnail {
  position: relative;
  overflow: hidden;
  background-color: #2a2a2a;
  display: block;
}
.track-thumbnail img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail img {
    margin-top: -50px;
    margin-left: -50px;
  }
}
.track-thumbnail:empty::before {
  content: "♪";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 24px;
  color: #888888;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail:empty::before {
    top: 40%;
    left: 45%;
  }
}

.track-thumbnail--xs {
  width: 40px;
  height: 40px;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail--xs img {
    margin-top: calc(-40px / 2);
    margin-left: calc(-40px / 2);
  }
}

.track-thumbnail--sm {
  width: 50px;
  height: 50px;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail--sm img {
    margin-top: calc(-50px / 2);
    margin-left: calc(-50px / 2);
  }
}

.track-thumbnail--md {
  width: 120px;
  height: 120px;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail--md img {
    margin-top: calc(-120px / 2);
    margin-left: calc(-120px / 2);
  }
}

.track-thumbnail--lg {
  width: 210px;
  height: 210px;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail--lg img {
    margin-top: calc(-210px / 2);
    margin-left: calc(-210px / 2);
  }
}

.track-thumbnail--custom {
  width: 69px;
  height: 69px;
}
@supports not (transform: translate(-50%, -50%)) {
  .track-thumbnail--custom img {
    margin-top: calc(-69px / 2);
    margin-left: calc(-69px / 2);
  }
}

.track-thumbnail--square {
  aspect-ratio: 1/1;
}
@supports not (aspect-ratio: 1/1) {
  .track-thumbnail--square::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
}

.track-thumbnail--wide {
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 16/9) {
  .track-thumbnail--wide::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
}

.track-thumbnail--fill, .hero-section .featured-track .track-thumbnail {
  width: 100%;
  height: 100%;
}

· .track-player-section {
  margin-bottom: 30px;
}
· .track-player-section .row {
  margin: 0;
}

.track-detail-player {
  padding: 15px;
  margin-bottom: 5px;
}

.track-detail-header {
  margin-bottom: 20px;
}
.track-detail-header .row {
  margin-left: calc(-15px / 2);
  margin-right: calc(-15px / 2);
}
.track-detail-header .row [class*=col-] {
  padding-left: calc(15px / 2);
  padding-right: calc(15px / 2);
}

.player-stats-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  background: #1a1a1a;
}
@supports not (display: table) {
  .player-stats-row {
    display: block;
  }
  .player-stats-row .player-section,
  .player-stats-row .stats-section {
    float: left;
  }
  .player-stats-row::after {
    content: "";
    display: table;
    clear: both;
  }
}

.player-section {
  display: table-cell;
  vertical-align: top;
}
@supports not (display: table-cell) {
  .player-section {
    float: left;
    width: calc(100% - 220px);
  }
}

.stats-section {
  display: table-cell;
  vertical-align: top;
  width: 152px;
  border-radius: 0 10px;
  background: #f10732;
}
@supports not (display: table-cell) {
  .stats-section {
    float: right;
    width: 152px;
  }
}

.audio-player-container {
  position: relative;
}

.waveform-image-wrapper {
  position: relative;
  width: 100%;
  margin-bottom: 7px;
  background-color: #0a0a0a;
}
.waveform-image-wrapper .waveform-image {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
}

.player-track-title {
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 15px;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.player-controls-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding: 0 15px;
}
@supports not (display: table) {
  .player-controls-row {
    display: block;
    overflow: hidden;
  }
}

.player-buttons-section {
  display: table-cell;
  width: 145px;
  vertical-align: middle;
  padding-right: 15px;
}
@supports not (display: table) {
  .player-buttons-section {
    float: left;
    width: 145px;
  }
}

.player-buttons {
  display: inline-block;
  white-space: nowrap;
}

.player-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #cccccc;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: 5px;
  padding: 0;
  text-align: center;
}
.player-btn:last-child {
  margin-right: 0;
}
.player-btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.player-btn:focus, .player-btn:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.player-btn:disabled {
  background-color: #0a0a0a;
  color: #888888;
  border-color: #333333;
  cursor: not-allowed;
  opacity: 0.5;
}
.player-btn:disabled:hover {
  background-color: #0a0a0a;
  color: #888888;
  border-color: #333333;
}
.player-btn .glyphicon {
  line-height: 38px;
  font-size: 14px;
}

.player-btn-play,
.player-btn-pause {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.player-btn-play .glyphicon,
.player-btn-pause .glyphicon {
  font-size: 16px;
}
.player-btn-play:hover,
.player-btn-pause:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.player-btn-play:focus, .player-btn-play:active,
.player-btn-pause:focus,
.player-btn-pause:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
}

.player-progress-section {
  display: table-cell;
  vertical-align: middle;
  padding-right: 15px;
}
@supports not (display: table) {
  .player-progress-section {
    float: left;
    width: calc(100% - 145px - 100px - 33px);
  }
}

.player-progress-wrapper {
  position: relative;
  width: 100%;
}

.player-progress-bar {
  position: relative;
  width: 100%;
  height: 6px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  cursor: pointer;
  overflow: hidden;
}
.player-progress-bar:hover {
  background-color: rgb(54.75, 54.75, 54.75);
}
.player-progress-bar:hover .player-progress-fill {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}

.player-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #f10732;
  transition: background-color 0.3s ease;
}

.player-time-section {
  display: table-cell;
  width: 100px;
  vertical-align: middle;
  padding-right: 15px;
}
@supports not (display: table) {
  .player-time-section {
    float: left;
    width: 100px;
  }
}

.player-time {
  display: block;
  text-align: center;
  font-size: 12px;
  color: #888888;
  white-space: nowrap;
}
.player-time .time-current,
.player-time .time-duration {
  display: inline;
}
.player-time .time-separator {
  margin: 0 4px;
  color: #888888;
}

.player-volume-section {
  display: table-cell;
  width: 115px;
  vertical-align: middle;
  text-align: right;
  position: relative;
}
@supports not (display: table) {
  .player-volume-section {
    float: right;
    width: 115px;
  }
}

.player-volume-control {
  position: relative;
  display: inline-block;
}
.player-volume-control .player-btn-volume {
  display: inline-block;
  width: 40px;
  vertical-align: middle;
}
.player-volume-control .player-volume-bar {
  display: none;
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 30px;
  height: 100px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  margin-bottom: 5px;
  cursor: pointer;
}
.player-volume-control .player-volume-bar .volume-track {
  position: absolute;
  top: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: calc(100% - 10px);
  background-color: #555555;
}
.player-volume-control .player-volume-bar .volume-value {
  position: absolute;
  bottom: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 0;
  background-color: #f10732;
}
.player-volume-control:hover .player-volume-bar,
.player-volume-control .player-volume-bar:hover {
  display: block;
}

.player-volume-bar-horizontal {
  display: inline-block;
  width: 60px;
  height: 6px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  position: relative;
  vertical-align: middle;
  margin-left: 5px;
  cursor: pointer;
}
.player-volume-bar-horizontal:hover .volume-value-horizontal {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.player-volume-bar-horizontal .volume-track-horizontal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #555555;
}
.player-volume-bar-horizontal .volume-value-horizontal {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #f10732;
  transition: background-color 0.2s ease;
}

.player-cover-section {
  display: table-cell;
  width: 47px;
  vertical-align: middle;
  padding-right: 10px;
}
@supports not (display: table) {
  .player-cover-section {
    float: left;
    width: 47px;
    margin-right: 10px;
  }
}

.player-track-cover {
  width: 40px;
  height: 40px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.player-track-cover.image-loading img {
  opacity: 0;
}
.player-track-cover.image-loaded img, .player-track-cover.loaded img {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.player-track-cover img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@supports not ((-o-object-fit: cover) or (object-fit: cover)) {
  .player-track-cover img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
    min-width: 100%;
  }
}
.player-track-cover img.image-error {
  opacity: 0.3;
}

.track-stats-container {
  padding: 5px 15px;
}
@supports not (display: table) {
  .track-stats-container {
    min-height: 158px;
  }
}

.player-cover {
  display: table-cell;
  width: 25%;
  vertical-align: middle;
  padding-right: 20px;
}

.player-waveform {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  padding: 0 20px;
}

.player-stats {
  display: table-cell;
  width: 25%;
  vertical-align: middle;
  padding-left: 20px;
  text-align: center;
}

.track-cover-square {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  background-color: #2a2a2a;
  border: 2px solid #555555;
  overflow: hidden;
}
.track-cover-square .cover-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.track-cover-square .cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: table;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.track-cover-square:hover .cover-overlay {
  opacity: 1;
}

.btn-play-large {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  color: #ffffff;
  cursor: pointer;
  padding: 0;
}
.btn-play-large .glyphicon {
  font-size: 64px;
  color: #ffffff;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.btn-play-large:hover .glyphicon {
  color: #f10732;
  transform: scale(1.15);
}
.btn-play-large:focus {
  outline: none !important;
  box-shadow: none !important;
}

.waveform-container {
  position: relative;
  width: 100%;
  background-color: #0a0a0a;
  padding: 20px 0;
}

.waveform-title {
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 10px;
  font-weight: 500;
}

.waveform-controls {
  display: table;
  width: 100%;
  table-layout: fixed;
}

.waveform-buttons {
  display: table-cell;
  width: 140px;
  vertical-align: middle;
}
.waveform-buttons .waveform-btn {
  background-color: transparent;
  border: 1px solid #555555;
  color: #ffffff;
  width: 32px;
  height: 32px;
  padding: 0;
  margin-right: 5px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.waveform-buttons .waveform-btn .glyphicon {
  font-size: 12px;
  line-height: 30px;
}
.waveform-buttons .waveform-btn:hover {
  border-color: #f10732;
  color: #f10732;
}
.waveform-buttons .waveform-btn:focus {
  outline: none !important;
  box-shadow: none !important;
}

.waveform-progress-wrapper {
  display: table-cell;
  vertical-align: middle;
  padding: 0 15px;
}

.waveform-progress {
  width: 100%;
  height: 6px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  position: relative;
  cursor: pointer;
}
.waveform-progress .waveform-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #f10732;
  width: 0;
  transition: width 0.1s linear;
}

.waveform-time {
  display: table-cell;
  width: 100px;
  vertical-align: middle;
  text-align: right;
  font-size: 12px;
  color: #cccccc;
}
.waveform-time .time-current {
  color: #ffffff;
}
.waveform-time .time-separator {
  margin: 0 4px;
}

.stat-circle-main {
  font-size: 16px;
  width: 7.6875em;
  height: 7.6875em;
  position: relative;
  display: inline-block;
}

.circle-content {
  width: 100%;
  height: 100%;
  background-color: #1a1a1a;
  border: 2px solid #f10732;
  border-radius: 50%;
  position: relative;
  text-align: center;
  transition: all 0.2s ease;
}
@supports (display: flex) {
  .circle-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
.circle-content:hover {
  border-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  background-color: rgb(38.75, 38.75, 38.75);
}

.circle-info {
  position: absolute;
  top: 1.125em;
  left: 0;
  right: 0;
  text-align: center;
}
.circle-info .info-label {
  display: block;
  font-size: 0.5625em;
  color: #888888;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25em;
  font-weight: 500;
}
.circle-info .info-value {
  display: block;
  font-size: 2.25em;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
}

.circle-center {
  position: absolute;
  bottom: 1em;
  left: 0;
  right: 0;
  text-align: center;
  height: 1.625em;
  line-height: 1.625em;
}
.circle-center .info-key {
  display: inline-block;
  font-size: 0.875em;
  color: #ffffff;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0 0.25em;
  vertical-align: middle;
  line-height: 1.625em;
}
.circle-center .circle-btn {
  background-color: transparent;
  border: 0;
  color: #cccccc;
  font-size: 0.75em;
  cursor: pointer;
  padding: 0 0.25em;
  vertical-align: middle;
  line-height: 1.625em;
  transition: color 0.2s ease;
}
.circle-center .circle-btn:hover {
  color: #f10732;
}
.circle-center .circle-btn.circle-btn-like:hover {
  color: #f10732;
}
.circle-center .circle-btn.circle-btn-download:hover {
  color: #0088ff;
}

.track-title-info {
  margin-bottom: 15px;
}

.track-title-main {
  font-size: 20px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px 0;
  line-height: 1.2;
}

.track-meta-info {
  margin-bottom: 10px;
}
.track-meta-info .meta-item {
  display: inline-block;
  margin-right: 20px;
  font-size: 12px;
  color: #cccccc;
}
.track-meta-info .meta-item .meta-label {
  color: #888888;
  margin-right: 5px;
}
.track-meta-info .meta-item .meta-value {
  color: #ffffff;
  font-weight: 500;
}

.track-key-info {
  margin-bottom: 10px;
}
.track-key-info .info-label {
  font-size: 12px;
  color: #888888;
  margin-right: 10px;
}
.track-key-info .key-tag {
  display: inline-block;
  padding: 4px 10px;
  margin-right: 5px;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.track-key-info .key-tag:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}

.track-download-info {
  font-size: 12px;
  color: #888888;
  line-height: 1.5;
}

.track-action-buttons {
  margin-top: 15px;
}
.track-action-buttons .btn-action {
  margin-right: 10px;
  padding: 5px 15px;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s ease;
}
.track-action-buttons .btn-action .glyphicon {
  margin-right: 5px;
}
.track-action-buttons .btn-action:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.track-action-buttons .btn-action:focus {
  outline: none !important;
  box-shadow: none !important;
}
.track-action-buttons .btn-download {
  background-color: #f10732;
  border-color: #f10732;
}
.track-action-buttons .btn-download:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}

.track-waveform {
  position: relative;
  width: 100%;
  height: 120px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  margin-bottom: 15px;
  overflow: hidden;
}

.waveform-canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.waveform-placeholder {
  width: 100%;
  height: 100%;
  display: block;
  background-image: url("../images/28562.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.track-controls-bar {
  background-color: #1a1a1a;
  border: 1px solid #2a2a2a;
  padding: 15px 20px;
  display: table;
  width: 100%;
  table-layout: fixed;
}
.track-controls-bar .controls-left {
  display: table-cell;
  width: 160px;
  vertical-align: middle;
  white-space: nowrap;
}
.track-controls-bar .controls-center {
  display: table-cell;
  vertical-align: middle;
  padding: 0 20px;
}
.track-controls-bar .controls-right {
  display: table-cell;
  width: 240px;
  vertical-align: middle;
  text-align: right;
  white-space: nowrap;
}

.control-btn {
  cursor: pointer;
  padding: 5px;
  margin-right: 10px;
}
.control-btn .glyphicon {
  font-size: 18px;
}
.control-btn.btn-play-pause .glyphicon {
  font-size: 24px;
}
.control-btn:last-child {
  margin-right: 0;
}

body .control-btn:not(.controls-left-column .control-btn) {
  background: none;
  border: none;
  color: #cccccc;
  transition: color 0.2s ease;
}
body .control-btn:not(.controls-left-column .control-btn):hover {
  color: #ffffff;
}
body .control-btn:not(.controls-left-column .control-btn):focus, body .control-btn:not(.controls-left-column .control-btn):active {
  background: none;
  border: none;
  color: #cccccc;
  outline: none;
  box-shadow: none;
}

.time-display {
  display: inline-block;
  vertical-align: middle;
  font-size: 12px;
  color: #cccccc;
  font-weight: 400;
}
.time-display .time-current,
.time-display .time-total {
  display: inline-block;
}
.time-display .time-separator {
  margin: 0 4px;
  color: #cccccc;
}

.progress-bar-container {
  width: 100%;
}

.progress-bar-track {
  position: relative;
  width: 100%;
  height: 4px;
  background-color: #333333;
  cursor: pointer;
}
.progress-bar-track:hover .progress-bar-handle {
  opacity: 1;
}

.progress-bar-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #666666;
  transition: width 0.1s linear;
}

.progress-bar-handle {
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  transform: translate(-50%, -50%);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s ease;
}
.progress-bar-handle:hover {
  opacity: 1;
}

.bpm-display {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  font-size: 12px;
  color: #cccccc;
}
.bpm-display .bpm-value {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin-right: 4px;
}
.bpm-display .bpm-label {
  font-size: 12px;
  color: #888888;
}

.volume-control {
  display: inline-block;
  vertical-align: middle;
}
.volume-control .btn-volume {
  margin-right: 5px;
}
.volume-control .volume-slider {
  display: inline-block;
  vertical-align: middle;
  width: 100px;
}
.volume-control .volume-input {
  width: 100%;
  height: 6px;
  background-color: #0a0a0a;
  border: 1px solid #555555;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.volume-control .volume-input::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  border: 2px solid #0088ff;
  cursor: pointer;
}
.volume-control .volume-input::-moz-range-thumb {
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  border: 2px solid #0088ff;
  cursor: pointer;
  border-radius: 0;
}

.track-content-section {
  margin-bottom: 30px;
  padding: 0 15px;
}
.track-content-section .row {
  margin: 0;
}

.track-filters-panel {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 15px;
  margin-bottom: 20px;
}
.track-filters-panel .filter-item {
  margin-bottom: 15px;
}
.track-filters-panel .filter-item:last-child {
  margin-bottom: 0;
}
.track-filters-panel .filter-label {
  display: block;
  font-size: 14px;
  color: #cccccc;
  margin-bottom: 5px;
  font-weight: 500;
  white-space: nowrap;
}
.track-filters-panel .custom-select {
  width: 100%;
}

.filter-grid {
  display: block;
  width: 100%;
}
.filter-grid.filter-grid-single .form-group {
  margin-bottom: 15px;
}
.filter-grid.filter-grid-single .form-group:last-child {
  margin-bottom: 15px;
}

.filter-actions {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #333333;
}
.filter-actions .btn {
  margin-bottom: 10px;
}

.recommendation-header .header-left,
.recommendation-header .header-right {
  display: table-cell;
  vertical-align: middle;
}
.recommendation-header .header-left {
  width: auto;
}
.recommendation-header .header-right {
  width: 150px;
  text-align: right;
}

.section-title {
  margin: 0 0 10px 0;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
}

.section-stats {
  font-size: 12px;
  color: #cccccc;
}
.section-stats .stat-item {
  display: inline-block;
  margin-right: 20px;
}
.section-stats .stat-item strong {
  color: #ffffff;
  font-weight: 500;
}

.quick-filter-tags {
  margin-bottom: 20px;
  padding: calc(15px - 2px) 15px;
  background-color: transparent;
  border-bottom: 1px solid #333333;
}
.quick-filter-tags .filter-tag-label {
  display: inline-block;
  margin-right: 15px;
  font-size: 12px;
  color: #888888;
  vertical-align: middle;
  line-height: 28px;
}
.quick-filter-tags .filter-tag {
  display: inline-block;
  padding: 4px 10px;
  margin-right: 8px;
  margin-bottom: 8px;
  background-color: transparent;
  border: 1px solid #555555;
  color: #cccccc;
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.1s ease;
}
.quick-filter-tags .filter-tag:hover {
  background-color: #2a2a2a;
  border-color: #cccccc;
  color: #ffffff;
}
.quick-filter-tags .filter-tag.active {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
  font-weight: 500;
}
.quick-filter-tags .filter-tag:focus {
  outline: 1px solid #0088ff;
  outline-offset: 1px;
}

.mix-workspace-table,
.ai-recommendations-table {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  margin-bottom: 20px;
}

.track-table {
  width: 100%;
  margin: 0;
  background-color: transparent;
}
.track-table thead {
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
}
.track-table thead th {
  padding: 15px;
  font-size: 12px;
  font-weight: 500;
  color: #cccccc;
  border: none;
  text-align: left;
}
.track-table thead th.text-center {
  text-align: center;
}
.track-table tbody tr {
  border-bottom: 1px solid #333333;
  transition: all 0.1s ease;
}
.track-table tbody tr:last-child {
  border-bottom: none;
}
.track-table tbody tr:hover {
  background-color: #2a2a2a;
}
.track-table tbody tr.active {
  background-color: rgba(241, 7, 50, 0.1);
}
.track-table tbody td {
  padding: 15px;
  font-size: 12px;
  color: #ffffff;
  border: none;
  vertical-align: middle;
}
.track-table tbody td.text-center {
  text-align: center;
}

.track-number {
  font-weight: 500;
  color: #888888;
}

.track-info .track-info-content {
  display: block;
}
.track-info .track-name {
  color: #ffffff;
  font-weight: 500;
}

.track-bpm {
  font-weight: 500;
  color: #0088ff;
}

.track-key {
  font-weight: 500;
  color: #00dd77;
}

.track-duration {
  color: #cccccc;
}

.track-coins {
  color: #ffaa00;
  font-weight: 500;
}

.track-actions .btn-action-icon {
  padding: 4px 8px;
  background-color: transparent;
  border: 1px solid #555555;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.1s ease;
}
.track-actions .btn-action-icon:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.track-actions .btn-action-icon:focus {
  outline: none !important;
  box-shadow: none !important;
}

.ai-recommendations-section {
  margin-top: 30px;
}

.section-header-ai {
  padding: 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  border-bottom: none;
}
.section-header-ai .section-title-ai {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
}
.section-header-ai .section-title-ai .glyphicon {
  margin-right: 10px;
  color: #ffaa00;
}

.badge-ai {
  display: inline-block;
  padding: 2px 6px;
  margin-left: 10px;
  background-color: #ffaa00;
  color: #0a0a0a;
  font-size: 12px;
  font-weight: 700;
  vertical-align: middle;
}

.track-row.ai-recommended:hover {
  background-color: rgba(255, 170, 0, 0.1);
}

.track-player-alternative-section {
  margin-bottom: 30px;
  padding: 15px;
}

.alternative-player-wrapper {
  width: 100%;
}

.player-info-bar {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #333333;
}
@supports not (display: table) {
  .player-info-bar {
    display: block;
  }
  .player-info-bar::after {
    content: "";
    display: table;
    clear: both;
  }
}

.player-info-left {
  display: table-cell;
  vertical-align: middle;
  width: 70%;
}
@supports not (display: table-cell) {
  .player-info-left {
    float: left;
    width: 70%;
  }
}
.player-info-left::after {
  content: "";
  display: table;
  clear: both;
}

.track-thumbnail-mini {
  float: left;
  width: 60px;
  height: 60px;
  margin-right: 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  overflow: hidden;
  position: relative;
}
.track-thumbnail-mini.image-loading img {
  opacity: 0;
}
.track-thumbnail-mini.image-loaded img {
  opacity: 1;
  transition: opacity 0.3s ease;
}
.track-thumbnail-mini img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.track-text-info {
  overflow: hidden;
}

.track-name {
  font-size: 16px;
  color: #ffffff;
  margin: 0 0 10px 0;
  font-weight: 700;
}

.track-metadata {
  font-size: 12px;
  color: #cccccc;
}
.track-metadata .meta-label {
  display: inline-block;
  margin-right: 15px;
}
.track-metadata .meta-label .glyphicon {
  margin-right: 5px;
  font-size: 12px;
}
.track-metadata .meta-mobile-only {
  display: none;
}

.player-info-right {
  display: table-cell;
  vertical-align: middle;
  width: 30%;
  text-align: right;
}
@supports not (display: table-cell) {
  .player-info-right {
    float: right;
    width: 30%;
  }
}

.action-btn-alt {
  display: inline-block;
  padding: 10px 15px;
  margin-left: 10px;
  background-color: #f10732;
  color: #ffffff;
  border: 0;
  font-size: 12px;
  cursor: pointer;
}
.action-btn-alt .glyphicon {
  margin-right: 5px;
}
.action-btn-alt:hover {
  background-color: #f02a52;
}
.action-btn-alt:focus, .action-btn-alt:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: #c01838;
}

.player-main-area {
  display: table;
  width: 100%;
  table-layout: fixed;
}
@supports not (display: table) {
  .player-main-area {
    display: block;
  }
  .player-main-area::after {
    content: "";
    display: table;
    clear: both;
  }
}

.player-main-area-mobile {
  display: none;
}

.player-controls-section {
  display: table-cell;
  vertical-align: middle;
  width: 60%;
  padding-right: 20px;
}
@supports not (display: table-cell) {
  .player-controls-section {
    float: left;
    width: 60%;
  }
}

.controls-inner-wrapper {
  display: table;
  width: 100%;
  table-layout: fixed;
}
@supports not (display: table) {
  .controls-inner-wrapper {
    display: block;
  }
  .controls-inner-wrapper::after {
    content: "";
    display: table;
    clear: both;
  }
}

.controls-inner-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding-right: 5px;
}
@supports not (display: table) {
  .controls-inner-row {
    display: block;
  }
  .controls-inner-row::after {
    content: "";
    display: table;
    clear: both;
  }
}

.controls-left-column {
  display: table-cell;
  vertical-align: middle;
  width: 220px;
  padding-right: 15px;
}
@supports not (display: table-cell) {
  .controls-left-column {
    float: left;
    width: 220px;
  }
}
.controls-left-column button {
  border-radius: 4px;
  border: none;
}
.controls-left-column button:focus, .controls-left-column button:active, .controls-left-column button:focus:active {
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.controls-left-column .jp-previous {
  background-color: #E91E63 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .jp-previous .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .jp-previous:hover {
  background-color: rgb(193.1174089069, 18.8825910931, 78.1052631579) !important;
  color: #ffffff !important;
}
.controls-left-column .jp-previous:focus, .controls-left-column .jp-previous:active, .controls-left-column .jp-previous:focus:active {
  background-color: #E91E63 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
.controls-left-column .btn-play {
  background-color: #2196F3 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .btn-play .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .btn-play:hover {
  background-color: rgb(11.5384615385, 124.0384615385, 213.4615384615) !important;
  color: #ffffff !important;
}
.controls-left-column .btn-play:focus, .controls-left-column .btn-play:active, .controls-left-column .btn-play:focus:active {
  background-color: #2196F3 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
}
.controls-left-column .jp-next {
  background-color: #FF9800 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .jp-next .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .jp-next:hover {
  background-color: rgb(204, 121.6, 0) !important;
  color: #ffffff !important;
}
.controls-left-column .jp-next:focus, .controls-left-column .jp-next:active, .controls-left-column .jp-next:focus:active {
  background-color: #FF9800 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
.controls-left-column .playlist-btn {
  background-color: #9C27B0 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .playlist-btn .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .playlist-btn:hover {
  background-color: rgb(118.9953488372, 29.7488372093, 134.2511627907) !important;
  color: #ffffff !important;
}
.controls-left-column .playlist-btn:focus, .controls-left-column .playlist-btn:active, .controls-left-column .playlist-btn:focus:active {
  background-color: #9C27B0 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
.controls-left-column .volume-btn {
  background-color: #00BCD4 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .volume-btn .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .volume-btn:hover {
  background-color: rgb(0, 142.7735849057, 161) !important;
  color: #ffffff !important;
}
.controls-left-column .volume-btn:focus, .controls-left-column .volume-btn:active, .controls-left-column .volume-btn:focus:active {
  background-color: #00BCD4 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
.controls-left-column .mode-btn {
  background-color: #4CAF50 !important;
  color: #ffffff !important;
  border: none !important;
}
.controls-left-column .mode-btn .glyphicon {
  color: #ffffff !important;
}
.controls-left-column .mode-btn:hover {
  background-color: rgb(60.5577689243, 139.4422310757, 63.7450199203) !important;
  color: #ffffff !important;
}
.controls-left-column .mode-btn:focus, .controls-left-column .mode-btn:active, .controls-left-column .mode-btn:focus:active {
  background-color: #4CAF50 !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}

.controls-right-column {
  display: table-cell;
  vertical-align: middle;
  width: 75px;
  text-align: center;
}
@supports not (display: table-cell) {
  .controls-right-column {
    float: left;
    width: 150px;
  }
}

.controls-buttons-area {
  display: block;
  width: 100%;
  margin-bottom: 10px;
}
.controls-buttons-area .player-buttons-row {
  margin-left: 0;
  margin-right: 0;
}
.controls-buttons-area .player-btn-col {
  padding-left: 2px;
  padding-right: 2px;
}
.controls-buttons-area .player-btn-col .control-btn {
  width: 100%;
  display: inline-block;
  height: 35px;
}

.controls-actions-area {
  display: block;
  width: 100%;
}
.controls-actions-area .actions-row {
  margin-left: 0;
  margin-right: 0;
}
.controls-actions-area .action-btn-col {
  padding-left: 2px;
  padding-right: 2px;
}
.controls-actions-area .action-btn-col .action-btn-compact {
  width: 100%;
  display: block;
  padding: 3px 0;
  background-color: #2a2a2a;
  border: none;
  border-radius: 4px;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.controls-actions-area .action-btn-col .action-btn-compact:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.controls-actions-area .action-btn-col .action-btn-compact:focus {
  transform: none;
  box-shadow: none;
  outline: none !important;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner {
  display: table;
  margin: 0 auto;
  height: 35px;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner .action-icon-left {
  display: table-cell;
  vertical-align: middle;
  width: 25px;
  text-align: center;
  padding-right: 5px;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner .action-icon-left .glyphicon {
  font-size: 18px;
  color: #ffffff;
  transition: all 0.3s ease;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner .action-text-right {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner .action-text-right .action-label {
  display: block;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
}
.controls-actions-area .action-btn-col .action-btn-compact .action-btn-inner .action-text-right .action-count {
  display: block;
  font-size: 11px;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.3s ease;
}
.controls-actions-area .action-btn-col:nth-child(1) .action-btn-compact {
  background: linear-gradient(135deg, #E91E63 0%, #C2185B 100%);
}
.controls-actions-area .action-btn-col:nth-child(1) .action-btn-compact:hover {
  background: linear-gradient(135deg, #F06292 0%, #E91E63 100%);
}
.controls-actions-area .action-btn-col:nth-child(1) .action-btn-compact:hover .action-icon-left .glyphicon {
  transform: scale(1.1);
}
.controls-actions-area .action-btn-col:nth-child(2) .action-btn-compact {
  background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%);
}
.controls-actions-area .action-btn-col:nth-child(2) .action-btn-compact:hover {
  background: linear-gradient(135deg, #64B5F6 0%, #2196F3 100%);
}
.controls-actions-area .action-btn-col:nth-child(2) .action-btn-compact:hover .action-icon-left .glyphicon {
  transform: scale(1.1);
}
.controls-actions-area .action-btn-col:nth-child(3) .action-btn-compact {
  background: linear-gradient(135deg, #4CAF50 0%, #388E3C 100%);
}
.controls-actions-area .action-btn-col:nth-child(3) .action-btn-compact:hover {
  background: linear-gradient(135deg, #81C784 0%, #4CAF50 100%);
}
.controls-actions-area .action-btn-col:nth-child(3) .action-btn-compact:hover .action-icon-left .glyphicon {
  transform: scale(1.1);
}

.player-buttons {
  display: inline-block;
  white-space: nowrap;
}

.control-btn {
  background-color: #2a2a2a;
  border: none;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  text-align: center;
  vertical-align: middle;
  font-size: 16px;
  font-weight: bold;
}
.control-btn:hover {
  opacity: 0.8;
}
.control-btn:focus, .control-btn:active {
  box-shadow: none !important;
  outline: none !important;
  opacity: 0.6;
}
.control-btn:disabled {
  background-color: #0a0a0a;
  color: #888888;
  cursor: not-allowed;
  opacity: 0.5;
}
.control-btn:disabled:hover {
  opacity: 0.5;
}
.control-btn .glyphicon {
  line-height: 35px;
  font-size: 14px;
}

.jp-state-playing .jp-play .glyphicon.glyphicon-play {
  display: none;
}
.jp-state-playing .jp-play .glyphicon.glyphicon-pause {
  display: inline-block;
}

.jp-audio:not(.jp-state-playing) .jp-play .glyphicon.glyphicon-play {
  display: inline-block;
}
.jp-audio:not(.jp-state-playing) .jp-play .glyphicon.glyphicon-pause {
  display: none;
}

.controls-center-col {
  display: table-cell;
  vertical-align: middle;
  width: auto;
  text-align: center;
  padding-left: 15px;
}
@supports not (display: table-cell) {
  .controls-center-col {
    float: left;
    width: calc(100% - 220px);
  }
}

.circular-info-display {
  display: inline-block;
  width: 130px;
  height: 130px;
  border: 10px solid #333333;
  border-radius: 50%;
  background-color: #f0f0f0;
  position: relative;
  padding: 10px 5px;
  text-align: center;
}

.circular-bpm {
  margin-bottom: 5px;
  text-align: center;
}
.circular-bpm .bpm-value {
  display: block;
  font-size: 24px;
  color: #0a0a0a;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2px;
}
.circular-bpm .bpm-label {
  display: block;
  font-size: 10px;
  color: #666666;
  line-height: 1;
}

.circular-key {
  margin-bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.circular-key .key-label {
  font-size: 15px;
  color: #666666;
  margin-right: 5px;
  line-height: 1;
}
.circular-key .key-dot {
  width: 12px;
  height: 12px;
  background-color: #0a0a0a;
  border-radius: 50%;
  margin-right: 5px;
  flex-shrink: 0;
}
.circular-key .key-value {
  font-size: 15px;
  color: #0a0a0a;
  font-weight: 700;
  line-height: 1;
}
@supports not (display: flex) {
  .circular-key .key-label,
  .circular-key .key-dot,
  .circular-key .key-value {
    display: inline-block;
    vertical-align: baseline;
  }
  .circular-key .key-dot {
    position: relative;
    top: -2px;
  }
}

.circular-times {
  text-align: center;
}
.circular-times .time-current,
.circular-times .time-total {
  display: block;
  font-size: 11px;
  color: #0a0a0a;
  font-weight: 700;
  line-height: 1.3;
}
.circular-times .time-current {
  margin-bottom: 2px;
}

.controls-right-col {
  display: table-cell;
  vertical-align: middle;
  width: 33.333%;
  text-align: center;
  white-space: nowrap;
}
@supports not (display: table-cell) {
  .controls-right-col {
    float: left;
    width: 33.333%;
  }
}

.volume-controls {
  display: inline-block;
  white-space: nowrap;
  vertical-align: middle;
}

.volume-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #cccccc;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: 5px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}
.volume-btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.volume-btn:focus, .volume-btn:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.volume-btn .glyphicon {
  line-height: 38px;
  font-size: 14px;
}
.volume-btn.active {
  background-color: #0088ff;
  border-color: #0088ff;
  color: #ffffff;
}

.volume-slider-wrapper {
  display: inline-block;
  width: 100px;
  height: 6px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  position: relative;
  vertical-align: middle;
  margin-left: 5px;
  cursor: pointer;
}
.volume-slider-wrapper:hover .volume-value-horizontal {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.volume-slider-wrapper .volume-track-horizontal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #555555;
}
.volume-slider-wrapper .volume-value-horizontal {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #f10732;
  transition: background-color 0.2s ease;
}

.volume-controls-wrapper {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.volume-slider-vertical {
  position: absolute;
  bottom: 100%;
  left: 50%;
  margin-left: -23px;
  width: 40px;
  height: 100px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}
.volume-slider-vertical .volume-track-vertical {
  position: absolute;
  top: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: calc(100% - 10px);
  background-color: #555555;
}
.volume-slider-vertical .volume-value-vertical {
  position: absolute;
  bottom: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 0;
  background-color: #f10732;
  transition: background-color 0.2s ease;
}

.volume-controls-wrapper:hover .volume-slider-vertical,
.volume-slider-vertical:hover {
  opacity: 1;
  pointer-events: auto;
}

.mode-btn[title*=顺序播放] .glyphicon {
  color: #cccccc;
}
.mode-btn[title*=随机播放] .glyphicon {
  color: #0088ff;
}
.mode-btn[title*=单曲循环] .glyphicon {
  color: #f10732;
}

.playlist-btn {
  display: inline-block;
  width: 40px;
  height: 40px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #cccccc;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-right: 5px;
  padding: 0;
  text-align: center;
  vertical-align: middle;
}
.playlist-btn .glyphicon {
  line-height: 38px;
  font-size: 14px;
}
.playlist-btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.playlist-btn:focus, .playlist-btn:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.playlist-btn:focus {
  outline: none;
}
.playlist-btn.active {
  background-color: #0088ff;
  border-color: #0088ff;
  color: #ffffff;
}

.player-waveform-section {
  display: table-cell;
  vertical-align: middle;
  width: 60%;
}
@supports not (display: table-cell) {
  .player-waveform-section {
    float: left;
    width: 60%;
  }
}

.waveform-progress-container {
  position: relative;
  width: 100%;
  height: 130px;
  background-color: #0a0a0a;
  cursor: pointer;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.waveform-progress-unplayed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-size: 100% 100%;
  background-position: left center;
  background-repeat: no-repeat;
  opacity: 1;
  pointer-events: none;
}

.waveform-progress-table {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: table;
  table-layout: fixed;
  pointer-events: none;
}

.waveform-progress-played {
  display: table-cell;
  width: 0;
  background: transparent;
  opacity: 1;
  pointer-events: none;
}

.waveform-progress-unplayed-mask {
  display: table-cell;
  background-color: rgba(0, 0, 0, 0.6);
  pointer-events: none;
}

.waveform-clickable-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
  cursor: pointer;
  text-align: center;
  line-height: 130px;
  font-size: 14px;
  color: #cccccc;
}
.waveform-clickable-overlay.waveform-loading {
  color: #ffffff;
  line-height: 130px;
}
.waveform-clickable-overlay.waveform-loading .loading-spinner {
  vertical-align: middle;
  margin: 0;
}
.waveform-clickable-overlay.waveform-paused {
  color: #ffffff;
  font-size: 14px;
}
.waveform-clickable-overlay.waveform-ready {
  color: #ffffff;
}
.waveform-clickable-overlay.waveform-playing {
  color: #ffffff;
}

.loading-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(241, 7, 50, 0.3);
  border-top-color: #f10732;
  border-radius: 50%;
  vertical-align: middle;
  animation: spinner-rotate 0.8s linear infinite;
}
@keyframes spinner-rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.waveform-unsupported-message {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 480px;
  z-index: 10;
  padding: 15px;
  overflow: hidden;
  margin-left: -45%;
  margin-top: -50px;
}
@supports (transform: translate(-50%, -50%)) {
  .waveform-unsupported-message {
    margin-left: 0;
    margin-top: 0;
    transform: translate(-50%, -50%);
  }
}
@supports (display: flex) {
  .waveform-unsupported-message {
    display: flex;
    align-items: center;
    overflow: visible;
  }
}
.waveform-unsupported-message .unsupported-icon {
  display: block;
  font-size: 32px;
  line-height: 1;
  color: #ffaa00;
  float: left;
  width: 40px;
  margin-right: 15px;
  text-align: center;
}
@supports (display: flex) {
  .waveform-unsupported-message .unsupported-icon {
    float: none;
    flex-shrink: 0;
  }
}
.waveform-unsupported-message .unsupported-content {
  overflow: hidden;
}
@supports (display: flex) {
  .waveform-unsupported-message .unsupported-content {
    flex: 1;
    overflow: visible;
  }
}
.waveform-unsupported-message .unsupported-title {
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 5px 0;
  line-height: 1.2;
}
.waveform-unsupported-message .unsupported-text {
  font-size: 12px;
  color: #cccccc;
  line-height: 1.5;
  margin: 0 0 5px 0;
}
.waveform-unsupported-message .unsupported-suggestion {
  font-size: 12px;
  color: #888888;
  line-height: 1.5;
  margin: 0;
}

.filter-dropdowns-group {
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
  vertical-align: middle;
}
.filter-dropdowns-group .filter-dropdown {
  display: inline-block;
  margin-right: 5px;
  position: relative;
}
.filter-dropdowns-group .filter-dropdown:last-child {
  margin-right: 0;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle {
  display: inline-block;
  padding: 0 8px;
  height: 24px;
  line-height: 24px;
  background-color: #2a2a2a;
  color: #ffffff;
  border: 1px solid #333333;
  border-radius: 0;
  text-decoration: none;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle:hover {
  background-color: rgb(54.75, 54.75, 54.75);
  color: #ffffff;
  text-decoration: none;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle:focus {
  outline: 2px solid #0088ff;
  outline-offset: 2px;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle:disabled, .filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle[disabled] {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
  cursor: not-allowed;
  opacity: 0.5;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle:disabled:hover, .filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle[disabled]:hover {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle:disabled .caret, .filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle[disabled] .caret {
  border-top-color: #888888;
}
.filter-dropdowns-group .filter-dropdown .filter-dropdown-toggle .caret {
  margin-left: 5px;
  border-top-color: #cccccc;
}
.filter-dropdowns-group .filter-dropdown.disabled .filter-dropdown-toggle {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
  cursor: not-allowed;
  opacity: 0.5;
}
.filter-dropdowns-group .filter-dropdown.disabled .filter-dropdown-toggle:hover {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
}
.filter-dropdowns-group .filter-dropdown.disabled .filter-dropdown-toggle .caret {
  border-top-color: #888888;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li a {
  display: block;
  position: relative;
  color: #ffffff;
  padding: 5px 10px;
  padding-right: 50px;
  font-size: 12px;
  white-space: nowrap;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li a:hover {
  background-color: #f10732;
  color: #ffffff;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li a:hover .badge-recommended {
  color: #fff;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li a.selected {
  background-color: #f10732;
  color: #ffffff;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li a.selected .badge-recommended {
  color: #fff;
}
.filter-dropdowns-group .filter-dropdown .dropdown-menu li.recommended a {
  border-left: 3px solid #f10732;
  padding-left: 7px;
}
.filter-dropdowns-group .smart-filter-hint {
  display: inline-block;
  font-size: 12px;
  color: #ffaa00;
  margin-right: 10px;
  padding: 3px 6px;
  vertical-align: middle;
}
.filter-dropdowns-group .smart-filter-hint .glyphicon {
  font-size: 10px;
  margin-right: 3px;
}
.filter-dropdowns-group .badge-recommended {
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -8px;
  font-size: 10px;
  color: #f10732;
  font-weight: 500;
  line-height: 16px;
}

.track-type-tabs {
  display: inline-block;
  vertical-align: middle;
}
.track-type-tabs .category-type-tab {
  display: inline-block;
  padding: 0 8px;
  height: 24px;
  line-height: 24px;
  margin-right: 5px;
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  border-radius: 0;
  text-decoration: none;
  font-size: 12px;
  cursor: pointer;
}
.track-type-tabs .category-type-tab:hover {
  background-color: rgb(54.75, 54.75, 54.75);
  color: #ffffff;
  text-decoration: none;
}
.track-type-tabs .category-type-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.track-type-tabs .category-type-tab.disabled, .track-type-tabs .category-type-tab[disabled] {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
  cursor: not-allowed;
  opacity: 0.5;
}
.track-type-tabs .category-type-tab.disabled:hover, .track-type-tabs .category-type-tab[disabled]:hover {
  background-color: rgb(29.25, 29.25, 29.25);
  color: #888888;
}
.track-type-tabs .category-type-tab:last-child {
  margin-right: 0;
}

.spinning {
  display: inline-block;
  /* CSS2.1 不支持 animation，使用 JavaScript 实现旋转 */
}

.workspace-tabs-header {
  background-color: #1a1a1a;
  border-bottom: 1px solid #333333;
  margin-bottom: 20px;
}
.workspace-tabs-header .workspace-tabs-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: table;
  width: 100%;
  table-layout: fixed;
}
.workspace-tabs-header .workspace-tabs-nav li {
  display: table-cell;
}
.workspace-tabs-header .workspace-tabs-nav li a {
  display: block;
  padding: 15px 20px;
  color: #cccccc;
  text-align: center;
  text-decoration: none;
  background-color: transparent;
  border-right: 1px solid #333333;
}
.workspace-tabs-header .workspace-tabs-nav li a:hover {
  color: #ffffff;
  background-color: rgb(38.75, 38.75, 38.75);
}
.workspace-tabs-header .workspace-tabs-nav li.active a {
  color: #ffffff;
  background-color: #0a0a0a;
  border-bottom: 2px solid #f10732;
}
.workspace-tabs-header .workspace-tabs-nav li:last-child a {
  border-right: none;
}

.workspace-tab-content .tab-pane {
  display: none;
}
.workspace-tab-content .tab-pane.active {
  display: block;
}

.camelot-wheel-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px;
}

.camelot-wheel-header {
  text-align: center;
  margin-bottom: 30px;
}
.camelot-wheel-header h3 {
  color: #ffffff;
  font-size: 24px;
  margin-bottom: 10px;
}
.camelot-wheel-header .camelot-description {
  color: #cccccc;
  font-size: 14px;
}

.camelot-wheel-wrapper {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 30px;
}
.camelot-wheel-wrapper .camelot-wheel-svg {
  display: table-cell;
  width: 60%;
  max-width: 500px;
  height: auto;
  cursor: pointer;
}
.camelot-wheel-wrapper .camelot-wheel-svg .camelot-segment {
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.camelot-wheel-wrapper .camelot-wheel-svg .camelot-segment:hover {
  opacity: 1 !important;
}
.camelot-wheel-wrapper .camelot-wheel-svg .camelot-segment.highlighted {
  opacity: 1 !important;
  stroke: #0088ff;
  stroke-width: 3;
}
.camelot-wheel-wrapper .camelot-wheel-svg .camelot-segment.dimmed {
  opacity: 0.3 !important;
}
.camelot-wheel-wrapper .camelot-wheel-svg text {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.camelot-wheel-wrapper .camelot-info-panel {
  display: table-cell;
  width: 40%;
  padding-left: 30px;
  vertical-align: top;
}
.camelot-wheel-wrapper .camelot-info-panel h4 {
  color: #ffffff;
  font-size: 18px;
  margin-bottom: 15px;
  border-bottom: 1px solid #333333;
  padding-bottom: 10px;
}
.camelot-wheel-wrapper .camelot-info-panel .current-key-info {
  margin-bottom: 20px;
}
.camelot-wheel-wrapper .camelot-info-panel .current-key-info p {
  color: #cccccc;
  margin-bottom: 10px;
}
.camelot-wheel-wrapper .camelot-info-panel .current-key-info p .current-key-label,
.camelot-wheel-wrapper .camelot-info-panel .current-key-info p .current-note-label {
  display: block;
}
.camelot-wheel-wrapper .camelot-info-panel .current-key-info p #current-key,
.camelot-wheel-wrapper .camelot-info-panel .current-key-info p #current-note {
  color: #f10732;
  font-weight: bold;
  font-size: 18px;
}
.camelot-wheel-wrapper .camelot-info-panel .compatible-keys-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.camelot-wheel-wrapper .camelot-info-panel .compatible-keys-list li {
  padding: 10px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  margin-bottom: 5px;
  color: #ffffff;
}
.camelot-wheel-wrapper .camelot-info-panel .compatible-keys-list li:last-child {
  margin-bottom: 0;
}
.camelot-wheel-wrapper .camelot-info-panel .compatible-keys-list li strong {
  color: #f10732;
  margin-right: 5px;
}

.camelot-wheel-guide {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
}
.camelot-wheel-guide h4 {
  color: #ffffff;
  font-size: 18px;
  margin-bottom: 15px;
}
.camelot-wheel-guide ul {
  list-style-position: inside;
  padding-left: 0;
  margin: 0;
}
.camelot-wheel-guide ul li {
  color: #cccccc;
  margin-bottom: 10px;
}
.camelot-wheel-guide ul li:last-child {
  margin-bottom: 0;
}
.camelot-wheel-guide ul li strong {
  color: #ffffff;
}

.player-tabs-row {
  display: block;
  width: 100%;
  margin-top: 20px;
  clear: both;
}

.player-tabs-wrapper {
  background-color: #1a1a1a;
}

.player-tabs-header {
  display: table;
  width: 100%;
  padding: 10px 15px;
  border-bottom: 1px solid #333333;
  table-layout: fixed;
}
.player-tabs-header .tabs-header-left {
  display: table-cell;
  width: auto;
  vertical-align: middle;
}
.player-tabs-header .tabs-header-right {
  display: table-cell;
  width: 590px;
  vertical-align: middle;
  text-align: right;
  min-height: 32px;
}
.player-tabs-header .tabs-header-right .tab-controls {
  display: none;
  white-space: nowrap;
}
.player-tabs-header .tabs-header-right .tab-controls.active {
  display: inline-block;
}
.player-tabs-header .tabs-header-right .playlist-controls .control-checkbox {
  display: inline-block;
  margin-right: 15px;
  color: #ffffff;
  font-size: 12px;
  vertical-align: middle;
  cursor: pointer;
}
.player-tabs-header .tabs-header-right .playlist-controls .control-checkbox .play-mode-checkbox {
  position: static !important;
  opacity: 0;
  margin-right: 4px;
  vertical-align: middle;
  cursor: pointer;
}
.player-tabs-header .tabs-header-right .playlist-controls .control-checkbox .checkbox-visual {
  display: none !important;
}
.player-tabs-header .tabs-header-right .playlist-controls .control-checkbox .checkbox-text {
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
}
.player-tabs-header .tabs-header-right .playlist-controls .workspace-stats {
  display: inline-block;
  margin-right: 15px;
  vertical-align: middle;
  white-space: nowrap;
}
.player-tabs-header .tabs-header-right .playlist-controls .workspace-stats .stat-item {
  display: inline-block;
  margin-right: 15px;
  color: #cccccc;
  font-size: 12px;
  white-space: nowrap;
}
.player-tabs-header .tabs-header-right .playlist-controls .workspace-stats .stat-item:last-child {
  margin-right: 0;
}
.player-tabs-header .tabs-header-right .playlist-controls .workspace-stats .stat-item .stat-label {
  display: inline;
  color: #888888;
}
.player-tabs-header .tabs-header-right .playlist-controls .workspace-stats .stat-item .stat-value {
  display: inline;
  color: #f10732;
  font-weight: 700;
}
.player-tabs-header .tabs-header-right .playlist-controls .btn-show-all {
  display: inline-block;
  padding: 4px 12px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  vertical-align: middle;
}
.player-tabs-header .tabs-header-right .playlist-controls .btn-show-all .glyphicon {
  margin-right: 4px;
  font-size: 12px;
}
.player-tabs-header .tabs-header-right .playlist-controls .btn-show-all:hover {
  background-color: #2a2a2a;
  border-color: #f10732;
  color: #f10732;
}
.player-tabs-header .tabs-header-right .playlist-controls .btn-show-all:focus {
  outline: none;
}
.player-tabs-header .tabs-header-right .playlist-controls .btn-show-all.active {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.player-tabs-header .tabs-header-right .workspace-controls .workspace-stats {
  display: inline-block;
  margin-right: 15px;
  vertical-align: middle;
  white-space: nowrap;
}
.player-tabs-header .tabs-header-right .workspace-controls .workspace-stats .stat-item {
  display: inline-block;
  margin-right: 15px;
  color: #cccccc;
  font-size: 12px;
  white-space: nowrap;
}
.player-tabs-header .tabs-header-right .workspace-controls .workspace-stats .stat-item:last-child {
  margin-right: 0;
}
.player-tabs-header .tabs-header-right .workspace-controls .workspace-stats .stat-item .stat-label {
  display: inline;
  color: #888888;
}
.player-tabs-header .tabs-header-right .workspace-controls .workspace-stats .stat-item .stat-value {
  display: inline;
  color: #f10732;
  font-weight: 700;
}
.player-tabs-header .tabs-header-right .workspace-controls .btn-show-all {
  display: inline-block;
  padding: 4px 12px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  vertical-align: middle;
}
.player-tabs-header .tabs-header-right .workspace-controls .btn-show-all .glyphicon {
  margin-right: 4px;
  font-size: 12px;
}
.player-tabs-header .tabs-header-right .workspace-controls .btn-show-all:hover {
  background-color: #2a2a2a;
  border-color: #f10732;
  color: #f10732;
}
.player-tabs-header .tabs-header-right .workspace-controls .btn-show-all:focus {
  outline: none;
}
.player-tabs-header .tabs-header-right .workspace-controls .btn-show-all.active {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.player-tabs-header .result-title {
  display: inline-block;
  margin: 0;
  padding: 0 15px 0 0;
  color: #f10732;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.player-tabs-header .result-title .glyphicon {
  margin-right: 5px;
  font-size: 14px;
}
.player-tabs-header .result-title .tab-count {
  color: #f10732;
  margin-left: 5px;
}
.player-tabs-header .player-tab-btn {
  display: inline-block;
  padding: 0 15px 0 0;
  background-color: transparent;
  border: none;
  color: #cccccc;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  transition: all 0.2s ease;
}
.player-tabs-header .player-tab-btn .glyphicon {
  margin-right: 5px;
  font-size: 14px;
}
.player-tabs-header .player-tab-btn .tab-count {
  color: #888888;
  transition: all 0.2s ease;
}
.player-tabs-header .player-tab-btn:hover {
  color: #ffffff;
}
.player-tabs-header .player-tab-btn:hover .tab-count {
  color: #ffffff;
}
.player-tabs-header .player-tab-btn.active {
  color: #f10732;
  font-weight: 700;
}
.player-tabs-header .player-tab-btn.active .tab-count {
  color: #f10732;
}
.player-tabs-header .player-tab-btn:focus, .player-tabs-header .player-tab-btn:active {
  background-color: transparent;
  border: none;
  color: #cccccc;
  outline: none;
  box-shadow: none;
}
.player-tabs-header .player-tab-btn.active:focus, .player-tabs-header .player-tab-btn.active:active {
  background-color: transparent;
  color: #f10732;
}

.player-tabs-content {
  overflow-y: auto;
}

.player-tab-pane {
  display: none;
}
.player-tab-pane.active {
  display: block;
}

.playlist-container,
.workspace-container {
  padding: 0;
  display: block;
  width: 100%;
  background-color: #1a1a1a;
}

.playlist-footer-bar,
.workspace-footer-bar {
  display: table;
  width: 100%;
  background-color: #2a2a2a;
  border-top: 1px solid #333333;
  table-layout: fixed;
  height: 45px;
}

.playlist-toolbar,
.workspace-toolbar {
  display: table-cell;
  width: auto;
  padding: 10px 15px;
  vertical-align: middle;
}
.playlist-toolbar .toolbar-checkbox,
.workspace-toolbar .toolbar-checkbox {
  display: inline-block;
  margin-right: 15px;
  color: #ffffff;
  font-size: 12px;
  vertical-align: middle;
  cursor: pointer;
}
.playlist-toolbar .toolbar-checkbox .checkbox-label,
.workspace-toolbar .toolbar-checkbox .checkbox-label {
  cursor: pointer;
}
.playlist-toolbar .toolbar-btn,
.workspace-toolbar .toolbar-btn {
  display: inline-block;
  padding: 4px 12px;
  margin-right: 5px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  vertical-align: middle;
}
.playlist-toolbar .toolbar-btn .glyphicon,
.workspace-toolbar .toolbar-btn .glyphicon {
  margin-right: 4px;
  font-size: 12px;
}
.playlist-toolbar .toolbar-btn .selected-count,
.workspace-toolbar .toolbar-btn .selected-count {
  font-weight: bold;
}
.playlist-toolbar .toolbar-btn:hover,
.workspace-toolbar .toolbar-btn:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.playlist-toolbar .toolbar-btn.btn-danger:hover,
.workspace-toolbar .toolbar-btn.btn-danger:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.playlist-toolbar .toolbar-btn:disabled,
.workspace-toolbar .toolbar-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.playlist-toolbar .toolbar-btn:disabled:hover,
.workspace-toolbar .toolbar-btn:disabled:hover {
  background-color: #0a0a0a;
  border-color: #333333;
  color: #cccccc;
}
.playlist-toolbar .toolbar-btn:focus,
.workspace-toolbar .toolbar-btn:focus {
  outline: none;
}

.playlist-pagination,
.workspace-pagination {
  display: none;
  padding: 10px 15px;
  vertical-align: middle;
  text-align: right;
  width: 200px;
  white-space: nowrap;
}
.playlist-pagination[style*="display: block"], .playlist-pagination[style*="display: table-cell"],
.workspace-pagination[style*="display: block"],
.workspace-pagination[style*="display: table-cell"] {
  display: table-cell !important;
}
.playlist-pagination .pagination-btn,
.workspace-pagination .pagination-btn {
  display: inline-block;
  padding: 5px 10px;
  margin: 0 5px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
}
.playlist-pagination .pagination-btn:hover:not(:disabled),
.workspace-pagination .pagination-btn:hover:not(:disabled) {
  background-color: #1a1a1a;
  border-color: #f10732;
  color: #f10732;
}
.playlist-pagination .pagination-btn:disabled,
.workspace-pagination .pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.playlist-pagination .pagination-btn:disabled:hover,
.workspace-pagination .pagination-btn:disabled:hover {
  background-color: #0a0a0a;
  border-color: #333333;
  color: #cccccc;
}
.playlist-pagination .pagination-btn:focus,
.workspace-pagination .pagination-btn:focus {
  outline: none;
}
.playlist-pagination .pagination-btn .glyphicon,
.workspace-pagination .pagination-btn .glyphicon {
  font-size: 10px;
}
.playlist-pagination .pagination-info,
.workspace-pagination .pagination-info {
  display: inline-block;
  margin: 0 10px;
  color: #cccccc;
  font-size: 12px;
  vertical-align: middle;
}
.playlist-pagination .pagination-info .current-page,
.workspace-pagination .pagination-info .current-page {
  color: #f10732;
  font-weight: bold;
}
.playlist-pagination .pagination-info .total-pages,
.workspace-pagination .pagination-info .total-pages {
  color: #888888;
}

.playlist-items,
.workspace-items {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
  max-height: 355px;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #1a1a1a;
}
.playlist-items .list-item .item-index,
.workspace-items .list-item .item-index {
  display: table-cell;
  vertical-align: middle;
  width: 45px;
  min-width: 45px;
  text-align: center;
  padding: 0 5px;
  font-size: 12px;
  color: #888;
  font-family: "Courier New", monospace;
}
.playlist-items::-webkit-scrollbar,
.workspace-items::-webkit-scrollbar {
  width: 8px;
}
.playlist-items::-webkit-scrollbar-track,
.workspace-items::-webkit-scrollbar-track {
  background-color: #0a0a0a;
  border-left: 1px solid #333333;
}
.playlist-items::-webkit-scrollbar-thumb,
.workspace-items::-webkit-scrollbar-thumb {
  background-color: #555555;
}
.playlist-items::-webkit-scrollbar-thumb:hover,
.workspace-items::-webkit-scrollbar-thumb:hover {
  background-color: #f10732;
}
.playlist-items.show-all,
.workspace-items.show-all {
  max-height: 500px;
}
.playlist-items .empty-message,
.workspace-items .empty-message {
  display: block;
  text-align: center;
  padding: 60px 0;
  color: #888888;
  font-size: 14px;
}
.playlist-items .list-item,
.workspace-items .list-item {
  display: table;
  table-layout: fixed;
  width: 100%;
  padding: 10px 15px;
  border-bottom: 1px solid #333333;
  cursor: pointer;
}
.playlist-items .list-item:hover,
.workspace-items .list-item:hover {
  background-color: #2a2a2a;
}
.playlist-items .list-item.active,
.workspace-items .list-item.active {
  background-color: #2a2a2a;
}
.playlist-items .list-item.active .item-title,
.workspace-items .list-item.active .item-title {
  color: #f10732;
  font-weight: 700;
}
.playlist-items .list-item:last-child,
.workspace-items .list-item:last-child {
  border-bottom: none;
}
.playlist-items .list-item .playing-icon,
.workspace-items .list-item .playing-icon {
  display: table-cell;
  width: 0;
  min-width: 0;
  height: 20px;
  vertical-align: middle;
  padding-right: 0;
  background: none;
  background-size: 20px 20px;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
  transition: width 0.2s ease, padding-right 0.2s ease;
}
.playlist-items .list-item.is-playing .playing-icon,
.workspace-items .list-item.is-playing .playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/play.gif);
}
.playlist-items .list-item.is-loading .playing-icon,
.workspace-items .list-item.is-loading .playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/play.gif);
}
.playlist-items .list-item.is-paused .playing-icon,
.workspace-items .list-item.is-paused .playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/stop.gif);
}
.playlist-items .list-item .item-checkbox,
.workspace-items .list-item .item-checkbox {
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  min-width: 30px;
  text-align: center;
  padding: 0;
  position: relative;
}
.playlist-items .list-item .item-checkbox .checkbox-wrapper,
.workspace-items .list-item .item-checkbox .checkbox-wrapper {
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
  padding: 8px 0;
}
.playlist-items .list-item .item-checkbox .checkbox-wrapper .checkbox-visual,
.workspace-items .list-item .item-checkbox .checkbox-wrapper .checkbox-visual {
  display: inline-block;
  vertical-align: middle;
}
.playlist-items .list-item .item-title,
.workspace-items .list-item .item-title {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
  font-size: 14px;
  color: #ffffff;
  overflow: hidden;
}
.playlist-items .list-item .item-title .track-title-text,
.workspace-items .list-item .item-title .track-title-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.playlist-items .list-item .item-title .track-title-text .title-repeat,
.workspace-items .list-item .item-title .track-title-text .title-repeat {
  display: none;
}
.playlist-items .list-item .item-title .track-artist-text,
.workspace-items .list-item .item-title .track-artist-text {
  display: none;
}
.playlist-items .list-item .item-title .track-meta-mobile,
.workspace-items .list-item .item-title .track-meta-mobile {
  display: none;
}
.playlist-items .list-item .item-bpm,
.workspace-items .list-item .item-bpm {
  display: table-cell;
  vertical-align: middle;
  width: 70px;
  min-width: 70px;
  padding-left: 10px;
  font-size: 12px;
  color: #cccccc;
  text-align: center;
}
.playlist-items .list-item .item-key,
.workspace-items .list-item .item-key {
  display: table-cell;
  vertical-align: middle;
  width: 60px;
  min-width: 60px;
  padding-left: 10px;
  font-size: 12px;
  color: #cccccc;
  text-align: center;
}
.playlist-items .list-item .item-duration,
.workspace-items .list-item .item-duration {
  display: table-cell;
  vertical-align: middle;
  width: 124px;
  min-width: 124px;
  padding-left: 10px;
  font-size: 12px;
  color: #cccccc;
  text-align: center;
}
.playlist-items .list-item .item-actions,
.workspace-items .list-item .item-actions {
  display: table-cell;
  vertical-align: middle;
  width: 124px;
  min-width: 124px;
  white-space: nowrap;
  text-align: right;
  padding-left: 8px;
}
.playlist-items .list-item .item-actions button,
.workspace-items .list-item .item-actions button {
  margin-left: 5px;
}
.playlist-items .list-item .btn-remove,
.playlist-items .list-item .btn-add-to-playlist,
.playlist-items .list-item .btn-add-to-workspace,
.playlist-items .list-item .btn-continue-mix,
.workspace-items .list-item .btn-remove,
.workspace-items .list-item .btn-add-to-playlist,
.workspace-items .list-item .btn-add-to-workspace,
.workspace-items .list-item .btn-continue-mix {
  padding: 4px 6px;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  cursor: pointer;
  margin-right: 5px;
  vertical-align: middle;
}
.playlist-items .list-item .btn-remove .icon-ai,
.playlist-items .list-item .btn-add-to-playlist .icon-ai,
.playlist-items .list-item .btn-add-to-workspace .icon-ai,
.playlist-items .list-item .btn-continue-mix .icon-ai,
.workspace-items .list-item .btn-remove .icon-ai,
.workspace-items .list-item .btn-add-to-playlist .icon-ai,
.workspace-items .list-item .btn-add-to-workspace .icon-ai,
.workspace-items .list-item .btn-continue-mix .icon-ai {
  display: block;
  width: 14px;
  height: 14px;
  vertical-align: middle;
}
.playlist-items .list-item .btn-remove:hover,
.playlist-items .list-item .btn-add-to-playlist:hover,
.playlist-items .list-item .btn-add-to-workspace:hover,
.playlist-items .list-item .btn-continue-mix:hover,
.workspace-items .list-item .btn-remove:hover,
.workspace-items .list-item .btn-add-to-playlist:hover,
.workspace-items .list-item .btn-add-to-workspace:hover,
.workspace-items .list-item .btn-continue-mix:hover {
  background-color: #f10732;
  border-color: #f10732;
}
.playlist-items .list-item .btn-remove:disabled, .playlist-items .list-item .btn-remove[disabled],
.playlist-items .list-item .btn-add-to-playlist:disabled,
.playlist-items .list-item .btn-add-to-playlist[disabled],
.playlist-items .list-item .btn-add-to-workspace:disabled,
.playlist-items .list-item .btn-add-to-workspace[disabled],
.playlist-items .list-item .btn-continue-mix:disabled,
.playlist-items .list-item .btn-continue-mix[disabled],
.workspace-items .list-item .btn-remove:disabled,
.workspace-items .list-item .btn-remove[disabled],
.workspace-items .list-item .btn-add-to-playlist:disabled,
.workspace-items .list-item .btn-add-to-playlist[disabled],
.workspace-items .list-item .btn-add-to-workspace:disabled,
.workspace-items .list-item .btn-add-to-workspace[disabled],
.workspace-items .list-item .btn-continue-mix:disabled,
.workspace-items .list-item .btn-continue-mix[disabled] {
  opacity: 0.3;
  cursor: not-allowed;
}
.playlist-items .list-item .btn-remove:disabled:hover, .playlist-items .list-item .btn-remove[disabled]:hover,
.playlist-items .list-item .btn-add-to-playlist:disabled:hover,
.playlist-items .list-item .btn-add-to-playlist[disabled]:hover,
.playlist-items .list-item .btn-add-to-workspace:disabled:hover,
.playlist-items .list-item .btn-add-to-workspace[disabled]:hover,
.playlist-items .list-item .btn-continue-mix:disabled:hover,
.playlist-items .list-item .btn-continue-mix[disabled]:hover,
.workspace-items .list-item .btn-remove:disabled:hover,
.workspace-items .list-item .btn-remove[disabled]:hover,
.workspace-items .list-item .btn-add-to-playlist:disabled:hover,
.workspace-items .list-item .btn-add-to-playlist[disabled]:hover,
.workspace-items .list-item .btn-add-to-workspace:disabled:hover,
.workspace-items .list-item .btn-add-to-workspace[disabled]:hover,
.workspace-items .list-item .btn-continue-mix:disabled:hover,
.workspace-items .list-item .btn-continue-mix[disabled]:hover {
  background-color: #0a0a0a;
  border-color: #333333;
}
.playlist-items .list-item .btn-remove:focus,
.playlist-items .list-item .btn-add-to-playlist:focus,
.playlist-items .list-item .btn-add-to-workspace:focus,
.playlist-items .list-item .btn-continue-mix:focus,
.workspace-items .list-item .btn-remove:focus,
.workspace-items .list-item .btn-add-to-playlist:focus,
.workspace-items .list-item .btn-add-to-workspace:focus,
.workspace-items .list-item .btn-continue-mix:focus {
  outline: none;
}
.playlist-items .list-item .btn-remove:last-child,
.playlist-items .list-item .btn-add-to-playlist:last-child,
.playlist-items .list-item .btn-add-to-workspace:last-child,
.playlist-items .list-item .btn-continue-mix:last-child,
.workspace-items .list-item .btn-remove:last-child,
.workspace-items .list-item .btn-add-to-playlist:last-child,
.workspace-items .list-item .btn-add-to-workspace:last-child,
.workspace-items .list-item .btn-continue-mix:last-child {
  margin-right: 0;
}
.playlist-items .list-item .btn-continue-mix:hover,
.workspace-items .list-item .btn-continue-mix:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.playlist-items .list-item .btn-add-to-playlist:hover,
.workspace-items .list-item .btn-add-to-playlist:hover {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.playlist-items .empty-message,
.workspace-items .empty-message {
  display: block;
  padding: 20px;
  text-align: center;
  font-size: 14px;
  color: #888888;
}

.no-safari5 .player-tabs-header {
  display: table;
}
.no-safari5 .player-tab-btn {
  display: table-cell;
}
.no-safari5 .list-item {
  display: table;
}
.no-safari5 .item-info,
.no-safari5 .item-actions,
.no-safari5 .btn-remove {
  display: table-cell;
}
.no-safari5 .playlist-header,
.no-safari5 .workspace-header {
  display: table;
}
.no-safari5 .playlist-title,
.no-safari5 .workspace-title,
.no-safari5 .btn-clear-all {
  display: table-cell;
}

.producer-tabs {
  display: inline-block;
  margin-left: 20px;
}
.producer-tabs .producer-tab {
  display: inline-block;
  padding: 0;
  margin-right: 15px;
  color: #cccccc;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.producer-tabs .producer-tab:last-child {
  margin-right: 0;
}
.producer-tabs .producer-tab:hover {
  color: #ffffff;
  text-decoration: none;
}
.producer-tabs .producer-tab.active {
  color: #f10732;
}
.producer-tabs .producer-tab.producer-refresh .glyphicon-refresh {
  transition: transform 0.3s ease;
}
.producer-tabs .producer-tab.producer-refresh:hover .glyphicon-refresh {
  transform: rotate(180deg);
}
.producer-tabs .producer-tab.producer-refresh.loading .glyphicon-refresh {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.producer-group {
  display: block;
  width: 100%;
}
.producer-group[style*="display: none"] {
  display: none !important;
}

.dj-producer-grid {
  display: block;
}
.dj-producer-grid .row {
  margin-bottom: 10px;
}
.dj-producer-grid .row:last-child {
  margin-bottom: 0;
}

.dj-producer-card {
  background-color: #1a1a1a;
  border: none;
  padding: 0;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s ease;
}
.dj-producer-card:hover {
  background-color: rgb(33.65, 33.65, 33.65);
}
@supports (transform: translateY(-2px)) {
  .dj-producer-card:hover {
    transform: translateY(-2px);
  }
}
.dj-producer-card:focus, .dj-producer-card:active {
  box-shadow: none !important;
  outline: none !important;
  transform: translateY(0);
  background-color: #1a1a1a;
}
.dj-producer-card.dj-producer-card--large {
  height: calc(180px * 2 + 10px);
  margin-bottom: 15px;
}
.dj-producer-card.dj-producer-card--large .dj-producer-content {
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--large .dj-producer-content {
    display: block;
    text-align: center;
  }
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--large .dj-producer-avatar-container {
    margin-bottom: 10px;
  }
}
.dj-producer-card.dj-producer-card--large .dj-producer-avatar {
  width: 100%;
  height: 196px;
}
.dj-producer-card.dj-producer-card--large .dj-producer-info {
  flex: 1;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--large .dj-producer-info {
    display: block;
  }
}
.dj-producer-card.dj-producer-card--large .dj-producer-name {
  font-size: 16px;
  margin-bottom: 10px;
}
.dj-producer-card.dj-producer-card--large .dj-producer-bio {
  display: block;
  margin-bottom: 15px;
  font-size: 12px;
  line-height: 1.4;
}
.dj-producer-card.dj-producer-card--large .dj-producer-tracks {
  display: block;
}
.dj-producer-card.dj-producer-card--small {
  height: 181px;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
.dj-producer-card.dj-producer-card--small .dj-producer-content {
  position: relative;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 10px;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.3) 70%, transparent 100%);
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--small .dj-producer-content {
    display: block;
    text-align: center;
    padding: 10px;
    background-color: rgba(0, 0, 0, 0.6);
  }
}
.dj-producer-card.dj-producer-card--small .dj-producer-avatar-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}
.dj-producer-card.dj-producer-card--small .dj-producer-avatar {
  width: 100%;
  height: 100%;
}
.dj-producer-card.dj-producer-card--small .dj-producer-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@supports not ((-o-object-fit: cover) or (object-fit: cover)) {
  .dj-producer-card.dj-producer-card--small .dj-producer-avatar img {
    width: auto;
    height: 100%;
    min-width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  @supports not (transform: translateX(-50%)) {
    .dj-producer-card.dj-producer-card--small .dj-producer-avatar img {
      left: 0;
      margin-left: -25%;
    }
  }
}
.dj-producer-card.dj-producer-card--small .dj-producer-info {
  text-align: center;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--small .dj-producer-info {
    display: block;
    text-align: center;
  }
}
.dj-producer-card.dj-producer-card--small .dj-producer-name {
  font-size: 14px;
  margin-bottom: 5px;
  color: #ffffff;
  font-weight: 500;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}
.dj-producer-card.dj-producer-card--small .dj-producer-bio {
  display: block;
  font-size: 12px;
  line-height: 1.3;
  margin-bottom: 5px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@supports not (-webkit-line-clamp: 2) {
  .dj-producer-card.dj-producer-card--small .dj-producer-bio {
    max-height: calc(12px * 1.3 * 2);
    overflow: hidden;
  }
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats {
  white-space: nowrap;
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats .stat-item {
  display: inline-block !important;
  font-size: 12px;
  padding: 4px;
  margin-right: 4px;
  background-color: rgba(42, 42, 42, 0.5);
  color: #cccccc;
  white-space: nowrap;
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats .stat-item:last-child {
  margin-right: 0;
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats .stat-item:hover {
  background-color: rgb(219, 29, 64);
  color: #ffffff;
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats .stat-item .stat-icon {
  display: inline-block;
  margin-right: 2px;
  vertical-align: middle;
}
.dj-producer-card.dj-producer-card--small .dj-producer-stats .stat-item .stat-value {
  display: inline-block;
  color: #ffffff;
  vertical-align: middle;
}
.dj-producer-card.dj-producer-card--small .dj-producer-tracks {
  display: none;
}
.dj-producer-card.dj-producer-card--small:hover {
  border-color: #f10732;
  background-color: rgb(38.75, 38.75, 38.75);
}
.dj-producer-card.dj-producer-card--small:hover .dj-producer-tracks {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #1a1a1a;
  border: 1px solid #f10732;
  border-top: none;
  padding: 10px;
  z-index: 10;
}
.dj-producer-card.dj-producer-card--medium {
  height: calc(180px * 2 + 10px);
  margin-bottom: 15px;
}
.dj-producer-card.dj-producer-card--medium .dj-producer-content {
  text-align: center;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--medium .dj-producer-content {
    display: block;
    text-align: center;
    padding-top: 10px;
  }
}
.dj-producer-card.dj-producer-card--medium .dj-producer-avatar-container {
  flex: 0 0 auto;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--medium .dj-producer-avatar-container {
    margin-bottom: 10px;
  }
}
.dj-producer-card.dj-producer-card--medium .dj-producer-overlay {
  flex: 1 1 auto;
}
@supports not (display: flex) {
  .dj-producer-card.dj-producer-card--medium .dj-producer-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
}
.dj-producer-card.dj-producer-card--medium .dj-producer-bio {
  display: none !important;
}
.dj-producer-card.dj-producer-card--medium .dj-producer-tracks {
  display: block;
}

.dj-producer-avatar-container {
  text-align: center;
  position: relative;
}

.dj-producer-badge {
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 5;
  background-color: #0088ff;
  color: #ffffff;
  padding: 2px 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  border: 1px solid #555555;
  border-radius: 0;
  box-shadow: none;
  white-space: nowrap;
}

.dj-producer-avatar {
  width: 100%;
  height: 60px;
  background-color: #2a2a2a;
  display: block;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
}
.dj-producer-avatar img {
  display: block;
  max-width: none;
  max-height: none;
  border: none;
  outline: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.dj-producer-avatar img.image-fitted {
  opacity: 1;
}
.no-js .dj-producer-avatar img, .dj-producer-avatar img.image-fit-fallback {
  opacity: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
}
@supports (transform: translate(-50%, -50%)) {
  .no-js .dj-producer-avatar img, .dj-producer-avatar img.image-fit-fallback {
    margin-top: 0;
    margin-left: 0;
    transform: translate(-50%, -50%);
  }
}
.dj-producer-avatar img.image-error {
  opacity: 0.3;
  filter: grayscale(100%);
}
.dj-producer-avatar.image-error {
  border: 2px solid #f10732;
}
.dj-producer-avatar.image-error::after {
  content: "⚠️ 图片无法加载";
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -10px;
  margin-left: -60px;
  background-color: #f10732;
  color: #ffffff;
  padding: 5px;
  font-size: 10px;
  font-weight: 600;
  border: 1px solid #333333;
  z-index: 10;
}
@supports (transform: translate(-50%, -50%)) {
  .dj-producer-avatar.image-error::after {
    margin-top: 0;
    margin-left: 0;
    transform: translate(-50%, -50%);
  }
}
.dj-producer-avatar::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin: -8px 0 0 -8px;
  border: 2px solid #555555;
  border-top: 2px solid #f10732;
  opacity: 1;
  transition: opacity 0.3s ease;
  z-index: 1;
}
@supports (animation: avatar-loading 1s linear infinite) {
  .dj-producer-avatar::before {
    border-radius: 50%;
    animation: avatar-loading 1s linear infinite;
  }
}
@supports not (animation: avatar-loading 1s linear infinite) {
  .dj-producer-avatar::before {
    content: "●";
    width: auto;
    height: auto;
    margin: -6px 0 0 -3px;
    border: none;
    color: #f10732;
    font-size: 10px;
  }
}
.image-loaded .dj-producer-avatar::before, .dj-producer-avatar::before.image-loaded {
  opacity: 0;
}
.dj-producer-avatar.image-loaded::before {
  opacity: 0;
}
.dj-producer-card--large .dj-producer-avatar {
  width: 120px;
  height: 120px;
}
.dj-producer-card--large .dj-producer-avatar::before {
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
}
@supports not (animation: avatar-loading 1s linear infinite) {
  .dj-producer-card--large .dj-producer-avatar::before {
    margin: -8px 0 0 -4px;
    font-size: 14px;
  }
}
.dj-producer-card--medium .dj-producer-avatar {
  width: 100px;
  height: 100px;
}
.dj-producer-card--medium .dj-producer-avatar::before {
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
}
@supports not (animation: avatar-loading 1s linear infinite) {
  .dj-producer-card--medium .dj-producer-avatar::before {
    margin: -7px 0 0 -3px;
    font-size: 12px;
  }
}
.dj-producer-card--medium .dj-producer-avatar img.image-fit-fallback {
  margin-top: -60px;
  margin-left: -60px;
}
.dj-producer-card--small .dj-producer-avatar {
  width: 60px;
  height: 60px;
}

@keyframes avatar-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.dj-producer-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.75);
  padding: 5px 5px 10px;
  text-align: center;
}
@supports (background: linear-gradient(transparent, rgba(0, 0, 0, 0.8))) {
  .dj-producer-overlay {
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.85));
  }
}
.dj-producer-overlay .dj-producer-name {
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  margin: 0 0 2px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}
.dj-producer-overlay .dj-producer-stats {
  display: block;
  text-align: center;
  margin-top: 3px;
  white-space: nowrap;
}
@supports not (display: flex) {
  .dj-producer-overlay .dj-producer-stats {
    text-align: center;
  }
}
.dj-producer-overlay .dj-producer-stats .stat-item {
  color: #ffffff;
  font-size: 10px;
  display: inline-block;
  margin: 0 3px;
  white-space: nowrap;
}
@supports (display: flex) {
  .dj-producer-overlay .dj-producer-stats .stat-item {
    display: flex;
    align-items: center;
    margin: 0;
  }
}
.dj-producer-overlay .dj-producer-stats .stat-item .stat-icon {
  display: inline-block;
  font-size: 9px;
  color: #ffffff;
  opacity: 0.8;
  margin-right: 2px;
  vertical-align: middle;
}
.dj-producer-overlay .dj-producer-stats .stat-item .stat-value {
  display: inline-block;
  color: #ffffff;
  font-weight: 600;
  font-size: 10px;
  vertical-align: middle;
}

.dj-producer-info {
  color: #ffffff;
}
.dj-producer-card--large .dj-producer-info .dj-producer-name,
.dj-producer-card--large .dj-producer-info .dj-producer-stats {
  display: none;
}

.dj-producer-name {
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 5px;
  line-height: 1.3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  transition: color 0.3s ease;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dj-producer-card:hover .dj-producer-name {
  color: #f10732;
}

.dj-producer-bio {
  font-size: 12px;
  color: #cccccc;
  line-height: 1.3;
  margin-bottom: 5px;
  display: none;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  text-align: justify;
  word-break: break-word;
}
@supports (hyphens: auto) {
  .dj-producer-bio {
    hyphens: auto;
  }
}
.dj-producer-card--large .dj-producer-bio {
  display: -webkit-box;
  text-align: center;
  font-size: 14px;
  -webkit-line-clamp: 3;
  margin-bottom: 10px;
}
@supports not (-webkit-line-clamp: 3) {
  .dj-producer-card--large .dj-producer-bio {
    display: block;
    max-height: calc(14px * 1.3 * 3);
  }
}
.dj-producer-card--small .dj-producer-bio {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  text-align: left;
}
@supports not (-webkit-line-clamp: 1) {
  .dj-producer-card--small .dj-producer-bio {
    display: block;
    max-height: calc(12px * 1.3);
  }
}

.dj-producer-stats {
  font-size: 12px;
  color: #888888;
  margin-top: 5px;
  white-space: nowrap;
}
.dj-producer-stats .stat-item {
  display: inline-block;
  margin-right: 10px;
  font-size: 11px;
  color: #cccccc;
  white-space: nowrap;
}
.dj-producer-stats .stat-item:last-child {
  margin-right: 0;
}
@supports (display: flex) {
  .dj-producer-stats .stat-item {
    display: inline-flex;
    align-items: center;
  }
}
.dj-producer-stats .stat-item .stat-icon {
  display: inline-block;
  font-size: 10px;
  color: #ffffff;
  opacity: 0.7;
  margin-right: 2px;
  vertical-align: middle;
}
.dj-producer-stats .stat-item .stat-value {
  display: inline-block;
  font-weight: 500;
  color: #ffffff;
  font-size: 11px;
  vertical-align: middle;
}
.dj-producer-card--large .dj-producer-stats {
  text-align: center;
  margin-top: 10px;
}
.dj-producer-card--large .dj-producer-stats .stat-item {
  display: inline-block !important;
  font-size: 12px;
  padding: 4px 10px;
  margin-right: 10px;
  background-color: rgba(42, 42, 42, 0.6);
}
.dj-producer-card--large .dj-producer-stats .stat-item:last-child {
  margin-right: 0;
}
.dj-producer-card--large .dj-producer-stats .stat-item:hover {
  background-color: rgb(219, 29, 64);
  color: #ffffff;
}
.dj-producer-card--medium .dj-producer-stats {
  text-align: center;
  margin-top: 10px;
}
.dj-producer-card--medium .dj-producer-stats .stat-item {
  display: inline-block !important;
  font-size: 12px;
  margin-right: 10px;
  color: #cccccc;
}
.dj-producer-card--medium .dj-producer-stats .stat-item:last-child {
  margin-right: 0;
}
.dj-producer-card--medium .dj-producer-stats .stat-item .stat-icon {
  display: inline-block;
  font-size: 10px;
  color: #ffffff;
  opacity: 0.8;
  margin-right: 2px;
  vertical-align: middle;
}
.dj-producer-card--medium .dj-producer-stats .stat-item .stat-value {
  display: inline-block;
  font-weight: 500;
  color: #ffffff;
  font-size: 11px;
  vertical-align: middle;
}

.dj-producer-tracks {
  display: none;
  text-align: left;
}
.dj-producer-tracks .tracks-title {
  font-size: 12px;
  color: #cccccc;
  margin-bottom: 5px;
}
.dj-producer-tracks .track-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dj-producer-tracks .track-list .track-item {
  font-size: 12px;
  color: #888888;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dj-producer-tracks .track-list .track-item:before {
  content: "• ";
  color: #f10732;
  margin-right: 5px;
}
.dj-producer-tracks ul, .dj-producer-tracks ol {
  list-style: none;
  padding-left: 0;
}
.dj-producer-tracks ul li, .dj-producer-tracks ol li {
  list-style: none;
  margin: 0;
}

.dj-producer-section .page-header {
  border-bottom: 1px solid #333333;
  background-color: transparent;
  margin: 0 0 15px;
  padding-bottom: 15px;
}
.dj-producer-section .page-header h3 {
  color: #ffffff;
  font-size: 26px;
  margin: 0;
  text-shadow: none;
  font-weight: 400;
}
.dj-producer-section .page-header h3 .icon-recommend {
  display: inline-block;
  color: #f10732;
  font-size: 18px;
  margin-right: 5px;
  vertical-align: middle;
  font-family: Arial, sans-serif;
  line-height: 1;
}
@supports not (display: inline-block) {
  .dj-producer-section .page-header h3 .icon-recommend {
    display: inline;
    zoom: 1;
  }
}
.dj-producer-section .page-header h3 .icon-recommend:hover {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.dj-producer-section .page-header h3::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #f10732;
  margin-right: 5px;
  vertical-align: middle;
}
.dj-producer-section .page-header .btn {
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #555555;
  padding: 8px 16px;
  font-size: 12px;
  transition: all 0.3s ease;
}
.dj-producer-section .page-header .btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
  transform: none;
}
.dj-producer-section .page-header .btn:focus {
  outline: none !important;
  box-shadow: none !important;
}

.featured-tabs {
  float: right;
  margin-top: -2px;
}
.featured-tabs .featured-tab {
  display: inline-block;
  width: 36px;
  line-height: 24px;
  text-align: center;
  background-color: #1a1a1a;
  color: #cccccc;
  border: 1px solid #333333;
  margin-left: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: bold;
  transition: all 0.3s ease;
}
.featured-tabs .featured-tab:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.featured-tabs .featured-tab.active {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}

.featured-sidebar {
  min-height: 382px;
}
.featured-sidebar .sidebar-title {
  color: #ffffff;
  font-size: 16px;
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.featured-sidebar .sidebar-title .glyphicon {
  color: #f10732;
  margin-right: 5px;
}

.featured-list, .music-list {
  position: relative;
}

.featured-group {
  display: block;
  width: 100%;
}

.featured-item, .music-item {
  display: table;
  width: 100%;
  table-layout: fixed;
  padding: 10px 8px;
  background-color: transparent;
  border-bottom: 1px solid #333333;
  transition: all 0.3s ease;
  min-height: auto;
}
.featured-item:last-child, .music-item:last-child {
  margin-bottom: 0;
  border-bottom: none;
}
@supports not (display: table) {
  .featured-item, .music-item {
    display: block;
    overflow: hidden;
  }
  .featured-item .featured-content, .featured-item .music-content, .music-item .featured-content, .music-item .music-content {
    float: left;
    width: 85%;
  }
  .featured-item .featured-date, .featured-item .music-meta, .music-item .featured-date, .music-item .music-meta {
    float: right;
    width: 12%;
    margin-top: 5px;
    text-align: right;
  }
}
.featured-item:hover, .music-item:hover {
  background-color: #0a0a0a;
  cursor: pointer;
}
.featured-item:hover .featured-title, .featured-item:hover .music-title, .music-item:hover .featured-title, .music-item:hover .music-title {
  color: #f10732;
}

.featured-content, .music-content {
  display: table-cell;
  vertical-align: middle;
  width: auto;
}
.featured-content .featured-title, .featured-content .music-title, .music-content .featured-title, .music-content .music-title {
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin: 2px 0;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.featured-date, .music-meta {
  display: table-cell;
  vertical-align: middle;
  width: 60px;
  color: #888888;
  font-size: 12px;
  margin: 2px 0;
  padding: 0;
  font-weight: normal;
  text-align: right;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.featured-date.today, .today.music-meta {
  color: #f10732;
  font-weight: 600;
}
.featured-date:hover, .music-meta:hover {
  color: #cccccc;
}

.carousel .carousel-caption {
  background: rgba(0, 0, 0, 0.7);
  padding: 15px;
}
.carousel .carousel-caption h3 {
  color: #ffffff;
  font-size: 24px;
  margin-bottom: 5px;
}
.carousel .carousel-caption p {
  color: #cccccc;
  margin-bottom: 10px;
}
.carousel .carousel-caption p:last-of-type {
  margin-bottom: 15px;
}
.carousel .carousel-caption .carousel-buttons .btn {
  margin-right: 5px;
}
.carousel .carousel-caption .carousel-buttons .btn:last-child {
  margin-right: 0;
}
.carousel .carousel-indicators li {
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #333333;
}
.carousel .carousel-indicators li.active {
  background-color: #f10732;
}
.carousel .carousel-control {
  background: none;
}
.carousel .carousel-control.left {
  background: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
.carousel .carousel-control.right {
  background: linear-gradient(to left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
}
.carousel .carousel-control .glyphicon {
  color: #ffffff;
}

.date-display {
  font-size: 12px;
  color: #888888;
  font-weight: normal;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.date-display.today {
  color: #f10732;
  font-weight: 600;
}
.date-display:hover {
  color: #cccccc;
}
.date-display.date-xs {
  font-size: 12px;
}
.date-display.date-sm {
  font-size: 12px;
}
.date-display.date-md {
  font-size: 14px;
}

.ai-search-sidebar {
  background-color: #1a1a1a;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 15px;
  height: 100%;
  margin-bottom: 15px;
}

.ai-search-header {
  background-color: #f10732;
  padding: 15px;
  margin: -15px -15px 15px -15px;
  text-align: center;
  border-radius: 0;
}
@supports (background: linear-gradient(135deg, #f10732 0%, #d00629 100%)) {
  .ai-search-header {
    background: linear-gradient(135deg, #f10732 0%, #d00629 100%);
  }
}
.ai-search-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  color: #ffffff !important;
}
.ai-search-header h3 .glyphicon {
  margin-right: 5px;
  color: #ffffff !important;
}
.ai-search-header p {
  margin: 5px 0 0 0;
  font-size: 12px;
  color: #ffffff !important;
  opacity: 0.9;
  line-height: 1.3;
}

.scene-selector .custom-select {
  position: relative;
  display: block;
  width: 100%;
}
.scene-selector .custom-select.active .select-trigger {
  border-color: #555555 !important;
  border-bottom-color: #555555 !important;
}
.scene-selector .custom-select.active .select-dropdown {
  display: block;
  border-color: #555555 !important;
  border-top: 1px solid #555555 !important;
}
.scene-selector .select-trigger {
  display: block;
  width: 100%;
  padding: 8px 35px 8px 12px;
  cursor: pointer;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  font-size: 14px;
  text-align: left;
  position: relative;
  border-radius: 0;
}
.scene-selector .select-trigger:hover {
  border-color: #333333;
}
.scene-selector .select-trigger:focus, .scene-selector .select-trigger.active {
  border-color: #555555;
  outline: none;
  box-shadow: none;
}
.scene-selector .select-trigger:after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid #cccccc;
  transform: translateY(-50%);
  pointer-events: none;
}
@supports not (transform: translateY(-50%)) {
  .scene-selector .select-trigger:after {
    top: 10px;
    transform: none;
  }
}
.scene-selector .select-trigger.active:after {
  border-top: none;
  border-bottom: 6px solid #cccccc;
}
.scene-selector .select-trigger.placeholder {
  color: #888888;
}
.scene-selector .select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1000;
  background-color: #1a1a1a;
  border: 1px solid #555555;
  border-top: none;
  max-height: 250px;
  overflow-y: auto;
  display: none;
  border-radius: 0;
}
.scene-selector .select-dropdown .select-option {
  display: block;
  padding: 10px 12px;
  color: #cccccc;
  cursor: pointer;
  border-bottom: 1px solid #333333;
  font-size: 14px;
  text-decoration: none;
}
.scene-selector .select-dropdown .select-option:last-child {
  border-bottom: none;
}
.scene-selector .select-dropdown .select-option:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.scene-selector .select-dropdown .select-option.selected {
  background-color: #f10732;
  color: #ffffff;
}
.scene-selector .select-dropdown .select-option.selected:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.scene-selector .select-dropdown .select-option.placeholder {
  color: #888888;
  font-style: italic;
}

.genre-selector .genre-header {
  display: block;
  margin-bottom: 5px;
  position: relative;
  overflow: hidden; /* 清除浮动 */
}
.genre-selector .genre-header .control-label {
  display: inline-block;
  margin-bottom: 0; /* 移除默认margin */
}
.genre-selector .genre-header .control-label .match-tab-link {
  cursor: pointer;
  color: #888888;
  display: inline;
  padding: 0;
}
.genre-selector .genre-header .control-label .match-tab-link:hover {
  color: #cccccc;
}
.genre-selector .genre-header .control-label .match-tab-link.active {
  color: #f10732;
  font-weight: 700;
}
.genre-selector .genre-header .control-label .separator {
  margin: 0 4px;
  color: #888888;
  display: inline;
}
.genre-selector .genre-header .help-block {
  display: inline-block;
  margin: 0 0 0 5px;
}
.genre-selector .match-tab-content {
  display: none;
}
.genre-selector .match-tab-content.active {
  display: block;
}
.genre-selector .header-scroll-arrows {
  float: right;
  margin-top: 0; /* 与label对齐 */
  line-height: 20px; /* 确保垂直对齐 */
}
.genre-selector .header-scroll-arrows .scroll-arrow {
  display: inline-block;
  width: 22px;
  height: 20px;
  background-color: transparent;
  border: none;
  color: #cccccc;
  cursor: pointer;
  text-align: center;
  line-height: 18px;
  font-size: 14px;
  font-weight: bold;
  margin-left: 2px;
  vertical-align: top;
}
.genre-selector .header-scroll-arrows .scroll-arrow:hover {
  background-color: transparent;
  color: #ffffff;
  border: none;
}
.genre-selector .header-scroll-arrows .scroll-arrow:focus, .genre-selector .header-scroll-arrows .scroll-arrow:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: transparent;
  color: #ffffff;
  border: none;
}
.genre-selector .header-scroll-arrows .scroll-arrow.disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.genre-selector .header-scroll-arrows .scroll-arrow.disabled:hover {
  background-color: transparent;
  color: #888888;
  border: none;
}
.genre-selector .genre-tags {
  min-height: 40px; /* 固定最小高度 */
}
.genre-selector .genre-tags .scroll-content {
  padding: 5px 0;
}
.genre-selector .genre-tags .btn.genre-tag {
  padding: 6px 10px;
  margin-right: 5px;
  margin-bottom: 0;
}
.genre-selector .genre-tags .btn.genre-tag:last-child {
  margin-right: 0;
}
.genre-selector .genre-tags .btn.genre-tag.selected {
  background-color: #f10732 !important;
  border-color: #f10732 !important;
  color: #ffffff !important;
}
.genre-selector .genre-tags .btn.genre-tag.selected:hover, .genre-selector .genre-tags .btn.genre-tag.selected:focus {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355) !important;
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355) !important;
  color: #ffffff !important;
}

.scene-selector .match-tab-content {
  display: none;
}
.scene-selector .match-tab-content.active {
  display: block;
}

.bpm-range {
  margin-bottom: 15px;
}
.bpm-range .bpm-label {
  display: block;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 5px;
}
.bpm-range .bpm-inputs {
  display: block;
  white-space: nowrap;
}
.bpm-range .bpm-inputs .bpm-input {
  display: inline-block;
  width: 60px;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  padding: 5px;
  border-radius: 0;
  font-size: 12px;
  text-align: center;
  vertical-align: top;
}
.bpm-range .bpm-inputs .bpm-input:focus {
  border-color: #0088ff;
  box-shadow: none;
  outline: none;
}
.bpm-range .bpm-inputs .bpm-separator {
  display: inline-block;
  color: #cccccc;
  margin: 0 5px;
  line-height: 30px;
  vertical-align: top;
  font-size: 14px;
}

.controls-row {
  display: block;
  /* CSS2.1兼容的两列布局 */
}
.controls-row .bpm-range {
  float: left;
  width: 200px;
  margin-bottom: 0;
  padding-right: 10px;
}
.controls-row .bpm-range .bpm-label {
  display: block;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 5px;
}
.controls-row .bpm-range .bpm-inputs {
  display: block;
  width: 100%;
}
.controls-row .bpm-range .bpm-inputs div[data-number-controls] {
  display: inline-block;
  width: 49%;
  vertical-align: top;
}
.controls-row .bpm-range .bpm-inputs .input-group-addon {
  display: inline-block;
  width: 2%;
  text-align: center;
  background-color: transparent;
  border: none;
  color: #cccccc;
  font-size: 14px;
  vertical-align: top;
}
.controls-row .bpm-range .bpm-inputs .form-control {
  width: 100%;
}
.controls-row .count-selector {
  float: right;
  width: 120px;
  margin-bottom: 0;
}
.controls-row .count-selector .count-label {
  display: block;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 5px;
}
.controls-row .count-selector .count-input {
  width: 100%;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #ffffff;
  padding: 5px;
  border-radius: 0;
  font-size: 14px;
  text-align: center;
}
.controls-row .count-selector .count-input:focus {
  border-color: #0088ff;
  box-shadow: none;
  outline: none;
}
.controls-row {
  /* 清除浮动 */
}
.controls-row:after {
  content: "";
  display: table;
  clear: both;
}

.horizontal-scroll-container {
  position: relative;
  display: block;
}
.horizontal-scroll-container .scroll-content {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  min-height: 32px; /* 固定最小高度，防止标签数量变化导致高度变化 */
  height: auto;
  /* 隐藏滚动条 - 跨浏览器兼容 */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}
.horizontal-scroll-container .scroll-content::-webkit-scrollbar {
  display: none; /* Chrome/Safari/Opera */
}
.horizontal-scroll-container .scroll-arrow {
  display: none;
}

.ai-search-actions {
  width: 100%;
  /* 清除浮动确保布局稳定 */
  overflow: hidden;
}
.ai-search-actions .btn-ai-search {
  width: 100%;
  background-color: #f10732;
  border: none;
  color: #ffffff;
  padding: 10px;
  border-radius: 0;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  display: block;
  box-sizing: border-box;
  position: relative;
}
.ai-search-actions .btn-ai-search:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  color: #ffffff;
}
.ai-search-actions .btn-ai-search:focus {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  box-shadow: none;
  outline: none;
}
.ai-search-actions .btn-ai-search.loading {
  cursor: not-allowed;
  opacity: 0.8;
}
.ai-search-actions .btn-ai-search.loading .btn-content {
  display: none;
}
.ai-search-actions .btn-ai-search.loading .btn-loading {
  display: inline-block !important;
}
.ai-search-actions .btn-ai-search .btn-content,
.ai-search-actions .btn-ai-search .btn-loading {
  display: inline-block;
  vertical-align: middle;
}
.ai-search-actions .btn-ai-search .btn-loading {
  display: none;
}
.ai-search-actions .btn-ai-search .loading-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  margin-right: 6px;
  vertical-align: middle;
  animation: spin 0.8s linear infinite;
}
.ai-search-actions .btn-ai-search .robot-icon {
  display: inline-block;
  width: 26px;
  height: 26px;
  margin-right: 5px;
  vertical-align: middle;
  margin-top: -2px;
}
.ai-search-actions .btn-ai-search .glyphicon {
  margin-right: 5px;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ai-search-actions.multi-buttons .btn-ai-search {
  width: 50%;
  float: left;
}
.ai-search-actions.multi-buttons .btn-ai-search:first-child {
  padding-right: 5px;
}
.ai-search-actions.multi-buttons .btn-ai-search:last-child {
  padding-left: 5px;
}
.ai-search-actions .btn-secondary {
  background-color: #2a2a2a;
  color: #cccccc;
}
.ai-search-actions .btn-secondary:hover {
  background-color: #555555;
  color: #ffffff;
}

.quick-recommendations {
  display: none;
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #333333;
}
.quick-recommendations .quick-label {
  display: block;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 10px;
}
.quick-recommendations .quick-btn-group {
  display: block;
  margin-bottom: 5px;
}
.quick-recommendations .quick-btn-group .quick-btn {
  display: inline-block;
  background-color: #2a2a2a;
  border: 1px solid #555555;
  color: #cccccc;
  padding: 5px 10px;
  border-radius: 0;
  font-size: 12px;
  margin-right: 5px;
  margin-bottom: 5px;
  cursor: pointer;
  text-decoration: none;
}
.quick-recommendations .quick-btn-group .quick-btn:hover {
  background-color: #0088ff;
  color: #ffffff;
  text-decoration: none;
}
.quick-recommendations .quick-btn-group .quick-btn:focus {
  box-shadow: none;
  outline: none;
}

@supports not (display: flex) {
  .genre-tags,
  .bpm-inputs,
  .quick-btn-group {
    overflow: hidden;
  }
  .genre-tags:after,
  .bpm-inputs:after,
  .quick-btn-group:after {
    content: "";
    display: table;
    clear: both;
  }
  .genre-tag,
  .quick-btn {
    float: left;
  }
}
.aisearch-page-container {
  padding: 20px 0;
}

.layui-form-select dl {
  z-index: 9999;
}

.aisearch-panel {
  color: #ffffff;
  position: relative;
}

.ai-hint {
  padding: 15px;
  font-size: 12px;
  border-top: 1px solid #333333;
}
.ai-hint.text-muted {
  color: #888888;
}

.panel-default {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
}
.panel-default .panel-heading {
  background-color: #2a2a2a;
  border-bottom: 2px solid #333333;
  padding: 20px;
}
.panel-default .panel-body {
  background-color: #1a1a1a;
  padding: 20px;
  min-height: 400px;
}

.ai-camelot-container #ai-current-song {
  display: none;
}
.ai-camelot-container .ai-current-info .alert {
  margin-bottom: 0;
  background-color: rgba(0, 136, 255, 0.1);
  border: 1px solid rgba(0, 136, 255, 0.3);
  color: #ffffff;
  padding: 15px;
  border-radius: 0;
}
.ai-camelot-container .ai-current-info .alert .fa {
  margin-right: 10px;
  color: #0088ff;
  font-size: 16px;
}
.ai-camelot-container .ai-current-info .alert br {
  margin-bottom: 5px;
}
.ai-camelot-container .ai-current-info .alert-info {
  background-color: rgba(0, 136, 255, 0.1);
  border-color: rgba(0, 136, 255, 0.3);
}

.ai-result-loading {
  padding: 80px;
  text-align: center;
}
.ai-result-loading .fa-spinner {
  color: #f10732;
  font-size: 48px;
}
.ai-result-loading p {
  margin-top: 20px;
  color: #cccccc;
  font-size: 14px;
}

.ai-result-list {
  min-height: 400px;
}

.mt-10 {
  margin-top: 10px;
}

.mt-20 {
  margin-top: 20px;
}

.aisearch-page-container {
  padding: 20px 0;
  background-color: #0a0a0a;
}

.aisearch-main-wrapper {
  max-width: 700px;
  margin: 0 auto;
  margin-bottom: 20px;
}
.aisearch-main-wrapper .aisearch-panel {
  width: 100%;
  margin-bottom: 20px;
}
.aisearch-main-wrapper .aisearch-panel .ai-search-form {
  margin-left: auto;
  margin-right: auto;
}
.aisearch-main-wrapper .aisearch-panel .ai-search-form .ai-search-input-row {
  margin-bottom: 15px;
}
.aisearch-main-wrapper .aisearch-panel .ai-search-form .ai-search-input-row .search-form {
  width: 100%;
}
.aisearch-main-wrapper .aisearch-info-panel {
  width: 100%;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-header {
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-header .glyphicon {
  margin-right: 10px;
  color: #f10732;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content {
  padding: 15px;
  color: #cccccc;
  font-size: 12px;
  line-height: 1.6;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section {
  margin-bottom: 15px;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section:last-child {
  margin-bottom: 0;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-title {
  margin-top: 0;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-title .glyphicon {
  margin-right: 10px;
  color: #f10732;
  font-size: 12px;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-text {
  margin: 0 0 10px 0;
  color: #cccccc;
  line-height: 1.8;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-list {
  margin: 0;
  padding-left: 20px;
  list-style-type: disc;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-list li {
  margin-bottom: 10px;
  color: #cccccc;
  line-height: 1.8;
}
.aisearch-main-wrapper .aisearch-info-panel .info-panel-content .info-section .info-list li:last-child {
  margin-bottom: 0;
}
.aisearch-main-wrapper .search-input-row {
  margin-bottom: 15px;
  background-color: #f10732;
  border: 2px solid #333333;
  height: 45px;
  overflow: hidden;
  border-radius: 23px;
}
.aisearch-main-wrapper .search-input-row:hover {
  border-color: #f10732;
}
.aisearch-main-wrapper .search-input-row .search-robot {
  float: left;
  width: 40px;
  height: 40px;
  padding: 10px;
}
.aisearch-main-wrapper .search-input-row .search-robot img {
  width: 100%;
  height: 100%;
  display: block;
}
.aisearch-main-wrapper .search-input-row .search-box {
  float: left;
  width: 540px;
  height: 45px;
  position: relative;
}
.aisearch-main-wrapper .search-input-row .search-box .search-input {
  width: 100%;
  height: 45px;
  padding-left: 15px;
  padding-right: 70px;
  border: none;
  background-color: #0a0a0a;
  color: #ffffff;
  font-size: 14px;
}
.aisearch-main-wrapper .search-input-row .search-box .search-input:focus {
  outline: none;
}
.aisearch-main-wrapper .search-input-row .search-box .btn-search-icon {
  position: absolute;
  right: -16px;
  top: 0;
  width: 41px;
  height: 41px;
  padding: 0;
  background-color: #f10732;
  border: none;
  border-radius: 50%;
}
.aisearch-main-wrapper .search-input-row .search-box .btn-search-icon .glyphicon {
  font-size: 16px;
  color: #ffffff;
}
.aisearch-main-wrapper .search-input-row .search-box .btn-search-icon:hover {
  background-color: rgb(201.3516129032, 5.8483870968, 41.7741935484);
}
.aisearch-main-wrapper .search-input-row .search-box .btn-search-icon:focus {
  outline: none;
}
.aisearch-main-wrapper .controls-row {
  text-align: center;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector {
  display: inline-block;
  float: none;
  width: 100px;
  margin-right: 15px;
  margin-bottom: 0;
  vertical-align: top;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector .bpm-label {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 500;
  color: #cccccc;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector .bpm-label .glyphicon {
  color: #f10732;
  margin-right: 5px;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector select.form-control {
  width: 100%;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group {
  width: 120px;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label {
  display: block;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 500;
  color: #cccccc;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label .glyphicon {
  color: #f10732;
  margin-right: 5px;
  vertical-align: baseline;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label .match-tab {
  cursor: pointer;
  color: #888888;
  display: inline;
  padding: 0;
  vertical-align: baseline;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label .match-tab:hover {
  color: #cccccc;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label .match-tab.active {
  color: #f10732;
  font-weight: 700;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-mode-label .separator {
  margin: 0 4px;
  color: #888888;
  display: inline;
  vertical-align: baseline;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-content {
  display: none;
}
.aisearch-main-wrapper .controls-row .form-group.scene-selector.match-mode-group .match-content.active {
  display: block;
}
.aisearch-main-wrapper .btn-generate-wrapper {
  display: inline-block;
}
.aisearch-main-wrapper .btn-generate-wrapper .btn-generate {
  display: inline-block;
  padding: 12px 80px;
  background-color: #ff1744;
  color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  cursor: pointer;
  border: 2px solid #ff1744;
}
.aisearch-main-wrapper .btn-generate-wrapper .btn-generate .glyphicon {
  margin-right: 5px;
}
.aisearch-main-wrapper .btn-generate-wrapper .btn-generate:hover {
  background-color: #ff5722;
  border-color: #ff5722;
}
.aisearch-main-wrapper .btn-generate-wrapper .btn-generate.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.aisearch-main-wrapper .btn-generate-wrapper .input-minutes {
  display: inline-block;
  width: 50px;
  height: 24px;
  margin: 0 5px;
  padding: 0 5px;
  border: 1px solid #ffffff;
  background-color: #ffffff;
  color: #f10732;
  text-align: center;
  font-weight: 700;
  vertical-align: middle;
}
.aisearch-main-wrapper .ai-search-pagination .pagination-btn {
  padding: 8px 15px;
  background-color: #1a1a1a;
  color: #ffffff;
  border: 1px solid #333333;
  cursor: pointer;
}
.aisearch-main-wrapper .ai-search-pagination .pagination-btn:hover:not(:disabled) {
  background-color: rgb(67.5, 67.5, 67.5);
  border-color: #f10732;
}
.aisearch-main-wrapper .ai-search-pagination .pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.aisearch-main-wrapper .ai-search-pagination .pagination-info {
  display: inline-block;
  vertical-align: middle;
}

.ai-search-page-header {
  text-align: center;
  padding: 40px 0 30px;
  border-bottom: 2px solid #333333;
  margin-bottom: 30px;
}
.ai-search-page-header .header-content {
  max-width: 600px;
  margin: 0 auto;
}
.ai-search-page-header .page-title {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px;
}
.ai-search-page-header .page-title .glyphicon {
  color: #f10732;
  margin-right: 15px;
  font-size: 28px;
}
.ai-search-page-header .page-subtitle {
  font-size: 16px;
  color: #cccccc;
  margin: 0;
}
@media (max-width: 767px) {
  .ai-search-page-header {
    padding: 20px 0;
    margin-bottom: 20px;
  }
  .ai-search-page-header .page-title {
    font-size: 28px;
  }
  .ai-search-page-header .page-subtitle {
    font-size: 14px;
  }
}

.ai-search-main-content {
  display: table;
  width: 100%;
  table-layout: fixed;
}
@supports not (display: table) {
  .ai-search-main-content:before, .ai-search-main-content:after {
    content: " ";
    display: table;
  }
  .ai-search-main-content:after {
    clear: both;
  }
  .ai-search-main-content {
    *zoom: 1;
  }
}
@media (max-width: 767px) {
  .ai-search-main-content {
    display: block;
  }
}

.ai-filter-sidebar {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .ai-filter-sidebar {
    padding: 15px;
  }
}

.filter-section {
  margin-bottom: 20px;
}
.filter-section:last-child {
  margin-bottom: 0;
}
.filter-section .filter-section-title {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f10732;
}
.filter-section .filter-section-title .glyphicon {
  color: #f10732;
  margin-right: 10px;
}
.filter-section .filter-section-title .genre-count,
.filter-section .filter-section-title .mood-count {
  float: right;
  font-size: 12px;
  color: #888888;
  font-weight: 400;
}
.filter-section .filter-section-content {
  padding: 15px 0;
}

.custom-select-wrapper {
  position: relative;
  width: 100%;
}
.custom-select-wrapper .custom-select-trigger {
  display: block;
  width: 100%;
  padding: 10px 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
}
@supports not (transition: all 0.2s) {
  .custom-select-wrapper .custom-select-trigger {
    transition: none;
  }
}
.custom-select-wrapper .custom-select-trigger:hover {
  background-color: rgb(54.75, 54.75, 54.75);
  border-color: #555555;
}
.custom-select-wrapper .custom-select-trigger .select-value {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 20px;
}
.custom-select-wrapper .custom-select-trigger .select-value.placeholder {
  color: #888888;
}
.custom-select-wrapper .custom-select-trigger .select-arrow {
  position: absolute;
  right: 15px;
  top: 50%;
  margin-top: -6px;
  font-size: 12px;
  color: #cccccc;
  transition: transform 0.2s ease;
}
@supports not (transform: rotate(180deg)) {
  .custom-select-wrapper .custom-select-trigger .select-arrow {
    transition: none;
  }
}
.custom-select-wrapper .custom-select-trigger.active {
  border-color: #f10732;
  background-color: rgb(49.65, 49.65, 49.65);
}
.custom-select-wrapper .custom-select-trigger.active .select-arrow {
  transform: rotate(180deg);
}
.custom-select-wrapper .select-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #0a0a0a;
  border: 1px solid #333333;
  border-top: none;
  max-height: 300px;
  overflow-y: auto;
  z-index: 1000;
}
.custom-select-wrapper .select-dropdown.active {
  display: block;
}
.custom-select-wrapper .select-dropdown .select-option {
  padding: 10px 15px;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.1s ease;
}
@supports not (transition: all 0.1s) {
  .custom-select-wrapper .select-dropdown .select-option {
    transition: none;
  }
}
.custom-select-wrapper .select-dropdown .select-option.placeholder {
  color: #888888;
}
.custom-select-wrapper .select-dropdown .select-option:hover {
  background-color: #2a2a2a;
  color: #f10732;
}
.custom-select-wrapper .select-dropdown .select-option.selected {
  background-color: rgba(241, 7, 50, 0.2);
  color: #f10732;
  font-weight: 500;
}

.bpm-section .bpm-inputs {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 15px;
}
@supports not (display: table) {
  .bpm-section .bpm-inputs:before, .bpm-section .bpm-inputs:after {
    content: " ";
    display: table;
  }
  .bpm-section .bpm-inputs:after {
    clear: both;
  }
  .bpm-section .bpm-inputs {
    *zoom: 1;
  }
}
.bpm-section .bpm-inputs .bpm-input-group {
  display: table-cell;
  width: 45%;
}
@supports not (display: table-cell) {
  .bpm-section .bpm-inputs .bpm-input-group {
    float: left;
    width: 45%;
  }
}
.bpm-section .bpm-inputs .bpm-input-group label {
  display: block;
  font-size: 12px;
  color: #888888;
  margin-bottom: 5px;
  text-transform: uppercase;
}
.bpm-section .bpm-inputs .bpm-input-group .bpm-input {
  width: 100%;
  padding: 5px 10px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  text-align: center;
  font-weight: 700;
  font-size: 14px;
}
.bpm-section .bpm-inputs .bpm-input-group .bpm-input:focus {
  outline: none;
  border-color: #f10732;
  background-color: rgb(49.65, 49.65, 49.65);
}
.bpm-section .bpm-inputs .bpm-separator {
  display: table-cell;
  width: 10%;
  text-align: center;
  vertical-align: bottom;
  padding-bottom: 5px;
  color: #888888;
  font-weight: 700;
}
@supports not (display: table-cell) {
  .bpm-section .bpm-inputs .bpm-separator {
    float: left;
    width: 10%;
  }
}
.bpm-section .bpm-slider-wrapper {
  position: relative;
  height: 20px;
  margin-top: 10px;
}
.bpm-section .bpm-slider-wrapper .bpm-slider {
  position: absolute;
  width: 100%;
  height: 4px;
  background: transparent;
  outline: none;
  -webkit-appearance: none;
}
.bpm-section .bpm-slider-wrapper .bpm-slider::-webkit-slider-track {
  width: 100%;
  height: 4px;
  background: #333333;
}
.bpm-section .bpm-slider-wrapper .bpm-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background: #f10732;
  cursor: pointer;
}
.bpm-section .bpm-slider-wrapper .bpm-slider::-moz-range-track {
  width: 100%;
  height: 4px;
  background: #333333;
}
.bpm-section .bpm-slider-wrapper .bpm-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #f10732;
  cursor: pointer;
  border: none;
}

.genre-tags-container,
.mood-tags-container {
  min-height: 100px;
}
.genre-tags-container .genre-tags .tags-placeholder,
.genre-tags-container .mood-tags .tags-placeholder,
.mood-tags-container .genre-tags .tags-placeholder,
.mood-tags-container .mood-tags .tags-placeholder {
  padding: 20px 0;
  text-align: center;
  color: #888888;
  font-size: 12px;
}
.genre-tags-container .genre-tags .tag-item,
.genre-tags-container .mood-tags .tag-item,
.mood-tags-container .genre-tags .tag-item,
.mood-tags-container .mood-tags .tag-item {
  display: inline-block;
  padding: calc(5px + 2px) 10px;
  margin: 0 5px 5px 0;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #cccccc;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.1s ease;
}
@supports not (transition: all 0.1s) {
  .genre-tags-container .genre-tags .tag-item,
  .genre-tags-container .mood-tags .tag-item,
  .mood-tags-container .genre-tags .tag-item,
  .mood-tags-container .mood-tags .tag-item {
    transition: none;
  }
}
.genre-tags-container .genre-tags .tag-item:hover,
.genre-tags-container .mood-tags .tag-item:hover,
.mood-tags-container .genre-tags .tag-item:hover,
.mood-tags-container .mood-tags .tag-item:hover {
  background-color: rgb(54.75, 54.75, 54.75);
  border-color: #555555;
  color: #ffffff;
}
.genre-tags-container .genre-tags .tag-item.active,
.genre-tags-container .mood-tags .tag-item.active,
.mood-tags-container .genre-tags .tag-item.active,
.mood-tags-container .mood-tags .tag-item.active {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
  font-weight: 500;
}

.filter-actions {
  padding-top: 15px;
}
.filter-actions .btn {
  margin-bottom: 10px;
  font-weight: 700;
  padding: 15px 20px;
}
.filter-actions .btn .glyphicon {
  margin-right: 10px;
}
.filter-actions .btn-search {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.filter-actions .btn-search:hover {
  background-color: rgb(201.3516129032, 5.8483870968, 41.7741935484);
  border-color: rgb(201.3516129032, 5.8483870968, 41.7741935484);
  color: #ffffff;
}
.filter-actions .btn-reset {
  background-color: transparent;
  border: 1px solid #333333;
  color: #cccccc;
}
.filter-actions .btn-reset:hover {
  background-color: #2a2a2a;
  border-color: #555555;
  color: #ffffff;
}

.ai-results-content {
  flex: 1;
  min-height: 500px;
}
@media (max-width: 767px) {
  .ai-results-content {
    margin-top: 20px;
  }
}

.results-welcome {
  text-align: center;
  padding: 80px 20px;
}
.results-welcome .welcome-content {
  max-width: 500px;
  margin: 0 auto;
}
.results-welcome .welcome-icon {
  font-size: 80px;
  color: #f10732;
  margin-bottom: 30px;
}
.results-welcome .welcome-icon .glyphicon {
  opacity: 0.8;
}
.results-welcome h2 {
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px;
}
.results-welcome p {
  font-size: 14px;
  color: #cccccc;
  margin-bottom: 30px;
}
.results-welcome .welcome-steps {
  display: table;
  width: 100%;
  margin-top: 30px;
}
@supports not (display: table) {
  .results-welcome .welcome-steps:before, .results-welcome .welcome-steps:after {
    content: " ";
    display: table;
  }
  .results-welcome .welcome-steps:after {
    clear: both;
  }
  .results-welcome .welcome-steps {
    *zoom: 1;
  }
}
.results-welcome .welcome-steps .step-item {
  display: table-cell;
  width: 33.333%;
  padding: 0 10px;
  text-align: center;
}
@supports not (display: table-cell) {
  .results-welcome .welcome-steps .step-item {
    float: left;
    width: 33.333%;
  }
}
.results-welcome .welcome-steps .step-item .step-number {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  margin: 0 auto 10px;
  background-color: #f10732;
  color: #ffffff;
  font-weight: 700;
  font-size: 16px;
}
.results-welcome .welcome-steps .step-item .step-text {
  display: block;
  font-size: 12px;
  color: #888888;
}
@media (max-width: 767px) {
  .results-welcome {
    padding: 30px 15px;
  }
  .results-welcome .welcome-icon {
    font-size: 60px;
  }
  .results-welcome h2 {
    font-size: 24px;
  }
  .results-welcome .welcome-steps {
    display: block;
  }
  .results-welcome .welcome-steps .step-item {
    display: block;
    width: 100%;
    margin-bottom: 15px;
  }
  .results-welcome .welcome-steps .step-item:last-child {
    margin-bottom: 0;
  }
}

.results-stats {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 15px 20px;
  margin-bottom: 20px;
  display: table;
  width: 100%;
  table-layout: fixed;
}
@supports not (display: table) {
  .results-stats:before, .results-stats:after {
    content: " ";
    display: table;
  }
  .results-stats:after {
    clear: both;
  }
  .results-stats {
    *zoom: 1;
  }
}
.results-stats .stats-info {
  display: table-cell;
  vertical-align: middle;
}
@supports not (display: table-cell) {
  .results-stats .stats-info {
    float: left;
    width: 70%;
  }
}
.results-stats .stats-info .stats-item {
  display: inline-block;
  margin-right: 15px;
  font-size: 12px;
  color: #cccccc;
}
.results-stats .stats-info .stats-item strong {
  color: #f10732;
  font-weight: 700;
}
.results-stats .stats-info .stats-separator {
  color: #333333;
  margin: 0 5px;
}
.results-stats .stats-actions {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
}
@supports not (display: table-cell) {
  .results-stats .stats-actions {
    float: right;
    width: 30%;
  }
}
.results-stats .stats-actions .btn-play-all {
  background-color: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.results-stats .stats-actions .btn-play-all:hover {
  background-color: rgb(201.3516129032, 5.8483870968, 41.7741935484);
  border-color: rgb(201.3516129032, 5.8483870968, 41.7741935484);
}
@media (max-width: 767px) {
  .results-stats {
    display: block;
    padding: 15px;
  }
  .results-stats .stats-info,
  .results-stats .stats-actions {
    display: block;
    width: 100%;
    text-align: center;
  }
  .results-stats .stats-info {
    margin-bottom: 15px;
  }
  .results-stats .stats-actions .btn-play-all {
    width: 100%;
  }
}

.results-list {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  min-height: 400px;
}

.results-loading {
  text-align: center;
  padding: 80px 20px;
}
.results-loading .loading-spinner {
  font-size: 60px;
  color: #f10732;
  margin-bottom: 30px;
}
.results-loading .loading-spinner .glyphicon {
  animation: spin 1s linear infinite;
}
.results-loading .loading-text {
  font-size: 14px;
  color: #cccccc;
  margin: 0;
}

.workspace-controls.tab-controls {
  display: inline-block;
  white-space: nowrap;
}
.workspace-controls .workspace-stats {
  display: inline-block;
  white-space: nowrap;
}
.workspace-controls .workspace-stats .workspace-actions {
  display: inline-block;
  vertical-align: middle;
}
.workspace-controls .workspace-stats .workspace-actions > * {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown {
  display: inline-block;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-toggle {
  display: inline-block;
  padding: 6px 12px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-toggle:hover {
  background-color: rgb(13.25, 13.25, 13.25);
  border-color: #222222;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-toggle i {
  margin-left: 5px;
  font-size: 12px;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-menu {
  min-width: 120px;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-menu a {
  padding: 8px 15px;
  font-size: 14px;
}
.workspace-controls .workspace-stats .workspace-actions .mix-style-dropdown .dropdown-menu a:hover {
  background-color: rgb(67.5, 67.5, 67.5);
}
.workspace-controls .workspace-stats .workspace-actions .btn-smart-recommend i {
  margin-right: 5px;
}
.workspace-controls .workspace-stats .workspace-actions .btn-help i {
  font-size: 14px;
}
.workspace-controls .workspace-stats .stat-item {
  display: inline-block;
  white-space: nowrap;
  margin-left: 10px;
  vertical-align: middle;
}

.results-empty {
  text-align: center;
  padding: 80px 20px;
}
.results-empty .empty-icon {
  font-size: 80px;
  color: #888888;
  margin-bottom: 30px;
  opacity: 0.5;
}
.results-empty h3 {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 15px;
}
.results-empty p {
  font-size: 14px;
  color: #888888;
  margin-bottom: 30px;
}
.results-empty .btn-retry {
  padding: 15px 40px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.spinning {
  animation: spin 1s linear infinite;
}
@media (max-width: 767px) {
  .filter-section {
    margin-bottom: 15px;
  }
  .custom-select-wrapper .select-dropdown {
    max-height: 200px;
  }
}
input[type=number] {
  -moz-appearance: textfield;
}
input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ai-search-form .form-control {
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  border-radius: 10px;
}
.ai-search-form .form-control:focus {
  outline: none;
  border-color: #f10732;
  background-color: rgb(49.65, 49.65, 49.65);
  box-shadow: none;
}
.ai-search-form .form-control:hover {
  border-color: #555555;
}

.search-results-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-top: none;
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
}
.search-results-dropdown .search-results-header {
  padding: 10px 15px;
  background-color: #2a2a2a;
  font-size: 12px;
  color: #888888;
  border-bottom: 1px solid #333333;
}
.search-results-dropdown .search-results-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.search-results-dropdown .search-result-item {
  padding: 10px 15px;
  cursor: pointer;
  border-bottom: 1px solid #333333;
}
.search-results-dropdown .search-result-item:last-child {
  border-bottom: none;
}
.search-results-dropdown .search-result-item:hover {
  background-color: #2a2a2a;
}
.search-results-dropdown .search-result-item .result-title {
  display: block;
  font-size: 14px;
  color: #ffffff;
  margin-bottom: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-results-dropdown .search-result-item .result-meta {
  font-size: 12px;
  color: #888888;
}
.search-results-dropdown .search-result-item .result-meta .meta-bpm,
.search-results-dropdown .search-result-item .result-meta .meta-key {
  display: inline-block;
  margin-right: 10px;
}
.search-results-dropdown .search-result-item .result-meta .meta-key {
  color: #f10732;
}

#searchResultsContainer {
  background-color: #1a1a1a;
}
#searchResultsContainer .result-title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f10732;
}
#searchResultsContainer .result-title .glyphicon {
  margin-right: 10px;
}
#searchResultsContainer #searchResultsList .music-list-container {
  background-color: transparent;
  border: none;
  padding: 0;
}
#searchResultsContainer #searchResultsList .music-grid {
  width: 100%;
}
#searchResultsContainer #searchResultsList .music-item {
  width: 100%;
  max-width: 100%;
}

.ai-generate-row {
  text-align: center;
  margin: 20px auto 0;
}
.ai-generate-row .btn-ai-generate {
  display: inline-block;
  padding: 0;
  background: linear-gradient(135deg, #ff6b00 0%, #ff8c00 50%, #ffa500 100%);
  border: none;
  border-radius: 50px;
  cursor: pointer;
  overflow: hidden;
  vertical-align: middle;
  text-align: left;
  padding: 0 16px;
}
.ai-generate-row .btn-ai-generate > span {
  display: table-cell;
  vertical-align: middle;
}
.ai-generate-row .btn-ai-generate:hover {
  background: linear-gradient(135deg, #ff5500 0%, #ff7b00 50%, #ff9500 100%);
}
.ai-generate-row .btn-ai-generate:hover .btn-ai-arrow {
  background-color: rgba(0, 0, 0, 0.3);
}
.ai-generate-row .btn-ai-generate:active {
  opacity: 0.9;
}
.ai-generate-row .btn-ai-generate:focus {
  outline: none;
}
.ai-generate-row .btn-ai-generate .btn-ai-icon {
  width: 60px;
  height: 60px;
  padding: 10px;
}
.ai-generate-row .btn-ai-generate .btn-ai-icon .robot-icon {
  width: 40px;
  height: 40px;
  display: block;
}
.ai-generate-row .btn-ai-generate .btn-ai-text {
  padding: 10px 15px 10px 0;
}
.ai-generate-row .btn-ai-generate .btn-ai-text .btn-ai-title {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
}
.ai-generate-row .btn-ai-generate .btn-ai-text .btn-ai-subtitle {
  display: block;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.4;
}
.ai-generate-row .btn-ai-generate .btn-ai-arrow {
  width: 50px;
  height: 60px;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.15);
}
.ai-generate-row .btn-ai-generate .btn-ai-arrow .glyphicon {
  font-size: 18px;
  color: #fff;
  line-height: 60px;
}
.ai-generate-row .btn-ai-help {
  display: inline-block;
  width: 44px;
  height: 44px;
  padding: 0;
  margin-left: 12px;
  background-color: #2a2a2a;
  border: 2px solid #333333;
  border-radius: 50%;
  cursor: pointer;
  vertical-align: middle;
  text-align: center;
}
.ai-generate-row .btn-ai-help .glyphicon {
  font-size: 20px;
  color: #cccccc;
  line-height: 40px;
}
.ai-generate-row .btn-ai-help:hover {
  background-color: #1a1a1a;
  border-color: #f10732;
}
.ai-generate-row .btn-ai-help:hover .glyphicon {
  color: #f10732;
}
.ai-generate-row .btn-ai-help:focus {
  outline: none;
}

#aiInfoModal .modal-header {
  background: linear-gradient(135deg, #ff6b00 0%, #ff8c00 100%);
  border-bottom: none;
  padding: 20px;
}
#aiInfoModal .modal-header .modal-title {
  color: #fff;
  font-weight: 700;
}
#aiInfoModal .modal-header .modal-title .glyphicon {
  margin-right: 10px;
}
#aiInfoModal .modal-header .close {
  color: #fff;
  opacity: 0.8;
  text-shadow: none;
}
#aiInfoModal .modal-header .close:hover {
  opacity: 1;
}
#aiInfoModal .modal-body {
  padding: 20px;
  background-color: #1a1a1a;
}
#aiInfoModal .modal-body .ai-info-section {
  margin-bottom: 20px;
}
#aiInfoModal .modal-body .ai-info-section:last-child {
  margin-bottom: 0;
}
#aiInfoModal .modal-body .ai-info-section h5 {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
#aiInfoModal .modal-body .ai-info-section h5 .glyphicon {
  color: #f10732;
  margin-right: 10px;
}
#aiInfoModal .modal-body .ai-info-section p {
  margin: 0;
  color: #cccccc;
  line-height: 1.8;
}
#aiInfoModal .modal-body .ai-info-section ul {
  margin: 0;
  padding-left: 20px;
}
#aiInfoModal .modal-body .ai-info-section ul li {
  color: #cccccc;
  line-height: 1.8;
  margin-bottom: 5px;
}
#aiInfoModal .modal-body .ai-info-section ul li:last-child {
  margin-bottom: 0;
}
#aiInfoModal .modal-body .ai-info-section .text-warning {
  color: #f0ad4e;
}
#aiInfoModal .modal-footer {
  background-color: #2a2a2a;
  border-top: 1px solid #333333;
  padding: 15px 20px;
}
#aiInfoModal .modal-footer .btn-primary {
  background: linear-gradient(135deg, #ff6b00 0%, #ff8c00 100%);
  border: none;
  padding: 10px 30px;
}
#aiInfoModal .modal-footer .btn-primary:hover {
  background: linear-gradient(135deg, #ff5500 0%, #ff7b00 100%);
}

@media (max-width: 767px) {
  .ai-generate-row {
    padding: 0 15px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-icon {
    width: 50px;
    height: 50px;
    padding: 8px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-icon .robot-icon {
    width: 34px;
    height: 34px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-text {
    padding: 8px 10px 8px 0;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-text .btn-ai-title {
    font-size: 16px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-text .btn-ai-subtitle {
    font-size: 10px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-arrow {
    width: 40px;
    height: 50px;
  }
  .ai-generate-row .btn-ai-generate .btn-ai-arrow .glyphicon {
    font-size: 14px;
    line-height: 50px;
  }
  .ai-generate-row .btn-ai-help {
    width: 36px;
    height: 36px;
    margin-left: 8px;
  }
  .ai-generate-row .btn-ai-help .glyphicon {
    font-size: 16px;
    line-height: 32px;
  }
}
.aisearch-mini-player {
  margin-bottom: 15px;
  background: #1a1a1a;
}
.aisearch-mini-player .player-main-area-mobile {
  display: block !important;
  visibility: visible !important;
  padding: 12px 15px;
}
.aisearch-mini-player .mobile-title-row {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}
.aisearch-mini-player .mobile-track-title {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}
.aisearch-mini-player .mobile-track-title .title-text {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aisearch-mini-player .mobile-track-meta {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  white-space: nowrap;
  padding-left: 15px;
}
.aisearch-mini-player .mobile-track-meta .meta-bpm {
  background: rgba(255, 170, 0, 0.2);
  color: #ffaa00;
}
.aisearch-mini-player .mobile-track-meta .meta-key {
  background: rgba(0, 221, 119, 0.2);
  color: #00dd77;
}
.aisearch-mini-player .mobile-player-row {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}
.aisearch-mini-player .mobile-time-left,
.aisearch-mini-player .mobile-time-right {
  display: table-cell;
  vertical-align: middle;
  width: 45px;
}
.aisearch-mini-player .mobile-time-left {
  text-align: left;
  padding-right: 10px;
}
.aisearch-mini-player .mobile-time-right {
  text-align: right;
  padding-left: 10px;
}
.aisearch-mini-player .mobile-waveform {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}
.aisearch-mini-player .mobile-waveform .waveform-progress-container,
.aisearch-mini-player .mobile-waveform .waveform-progress-unplayed,
.aisearch-mini-player .mobile-waveform .waveform-progress-table,
.aisearch-mini-player .mobile-waveform .waveform-progress-played,
.aisearch-mini-player .mobile-waveform .waveform-progress-unplayed-mask {
  height: 24px;
}
.aisearch-mini-player .mobile-waveform .waveform-progress-unplayed {
  background-color: #2a2a2a;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}
.aisearch-mini-player .mobile-controls-row {
  padding-top: 10px;
  border-top: 1px solid #333333;
}
.aisearch-mini-player.jp-state-loading .btn-play .glyphicon-play,
.aisearch-mini-player.jp-state-loading .btn-play .glyphicon-pause {
  display: none !important;
}
.aisearch-mini-player.jp-state-loading .btn-play:before {
  content: "\e031";
  font-family: "Glyphicons Halflings";
  display: inline-block;
  font-size: 16px;
  line-height: 38px;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 767px) {
  .aisearch-mini-player .mobile-title-row {
    display: block;
  }
  .aisearch-mini-player .mobile-track-title {
    display: block;
    margin-bottom: 4px;
  }
  .aisearch-mini-player .mobile-track-meta {
    display: block;
    text-align: left;
    padding-left: 0;
  }
}
.ai-search-page-wrapper {
  background: #0a0a0a;
  min-height: calc(100vh - 200px);
  padding: 30px 0 40px;
}

.ai-search-page-header {
  margin-bottom: 40px;
  padding: 40px 0;
  background: linear-gradient(180deg, #1a1a1a 0%, #0a0a0a 100%);
  border: 1px solid #333333;
}
.ai-search-page-header .header-content {
  text-align: center;
}
.ai-search-page-header .page-title {
  color: #ffffff;
  font-size: 36px;
  font-weight: 700;
  margin: 0 0 15px 0;
  letter-spacing: 2px;
}
.ai-search-page-header .page-title .glyphicon {
  color: #f10732;
  margin-right: 15px;
  font-size: 32px;
  vertical-align: middle;
}
.ai-search-page-header .page-subtitle {
  color: #cccccc;
  font-size: 16px;
  margin: 0;
  letter-spacing: 1px;
}

.ai-search-main-content {
  display: block;
}
.ai-search-main-content .ai-filter-sidebar {
  margin-bottom: 30px;
}

.ai-filter-sidebar {
  width: 100%;
  background: #1a1a1a;
  border: 2px solid #333333;
  padding: 30px;
  position: relative;
}
.ai-filter-sidebar:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #f10732;
}

.filter-section {
  padding-right: 20px;
  border-right: 1px solid #222222;
  min-height: 200px;
}
.filter-section:last-child {
  border-right: none;
  padding-right: 0;
}

.filter-actions {
  padding-left: 20px;
  border-left: 1px solid #222222;
  min-height: 200px;
}

.filter-section-title {
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 20px 0;
  padding-bottom: 10px;
  border-bottom: 2px solid #222222;
  position: relative;
}
.filter-section-title .glyphicon {
  display: inline-block;
  margin-right: 10px;
  color: #f10732;
  font-size: 18px;
  vertical-align: middle;
}
.filter-section-title:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 30px;
  height: 2px;
  background: #f10732;
}

.genre-count,
.mood-count {
  font-size: 12px;
  color: #888888;
  font-weight: 400;
}

.bpm-inputs {
  margin-bottom: 15px;
}

.bpm-input-group {
  display: inline-block;
  width: 45%;
  vertical-align: top;
}
.bpm-input-group:first-child {
  margin-right: 5%;
}
.bpm-input-group label {
  display: block;
  color: #888888;
  font-size: 12px;
  margin-bottom: 5px;
}

.bpm-input {
  width: 100%;
  background: #0a0a0a;
  border: 2px solid #333333;
  color: #ffffff;
  padding: 10px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
}
.bpm-input:focus {
  outline: none;
  border-color: #f10732;
  background: #2a2a2a;
}

.bpm-separator {
  display: inline-block;
  width: 5%;
  text-align: center;
  color: #888888;
  font-size: 18px;
  vertical-align: top;
  line-height: 50px;
}

.bpm-slider-wrapper {
  position: relative;
  height: 40px;
  padding-top: 10px;
}

.bpm-slider {
  position: absolute;
  width: 100%;
  height: 4px;
  background: #2a2a2a;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  outline: none;
}
.bpm-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  background: #f10732;
  cursor: pointer;
}
.bpm-slider::-moz-range-thumb {
  width: 16px;
  height: 16px;
  background: #f10732;
  cursor: pointer;
  border: none;
}

.genre-tags-container,
.mood-tags-container {
  min-height: 100px;
}

.genre-tags,
.mood-tags {
  font-size: 0;
}
.genre-tags .tag-item,
.mood-tags .tag-item {
  font-size: 12px;
}

.tag-item {
  display: inline-block;
  background: #2a2a2a;
  border: 2px solid #333333;
  color: #cccccc;
  padding: 10px 15px;
  font-size: 12px;
  cursor: pointer;
  margin-right: 10px;
  margin-bottom: 10px;
  font-weight: 500;
  position: relative;
}
.tag-item:hover {
  background: #0a0a0a;
  border-color: #f10732;
  color: #f10732;
}
.tag-item.active {
  background: #f10732;
  border-color: #f10732;
  color: #ffffff;
}
.tag-item.active:after {
  content: "✓";
  position: absolute;
  top: -8px;
  right: -8px;
  width: 18px;
  height: 18px;
  background: #00cc66;
  color: #ffffff;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
}

.tags-placeholder {
  color: #888888;
  font-size: 14px;
  padding: 20px;
  text-align: center;
}

.btn-search {
  background: #f10732;
  border: 2px solid #f10732;
  color: #ffffff;
  font-weight: 700;
  padding: 15px 20px;
  font-size: 16px;
  width: 100%;
  cursor: pointer;
  letter-spacing: 2px;
  position: relative;
  overflow: hidden;
}
.btn-search .glyphicon {
  margin-right: 10px;
}
.btn-search:hover {
  background: #d10628;
  border-color: #d10628;
}
.btn-search:active, .btn-search:focus {
  background: #b1051f;
  border-color: #b1051f;
  outline: none;
}

.btn-reset {
  background: transparent;
  border: 2px solid #333333;
  color: #888888;
  width: 100%;
  padding: 10px 15px;
  font-size: 14px;
  cursor: pointer;
  margin-top: 15px;
}
.btn-reset:hover {
  border-color: #f10732;
  color: #f10732;
  background: #2a2a2a;
}

.ai-results-content {
  width: 100%;
  background: #1a1a1a;
  border: 2px solid #333333;
  min-height: 600px;
  position: relative;
}
.ai-results-content:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #f10732 0%, #0088ff 100%);
}

.results-welcome {
  padding: 40px 30px;
  text-align: center;
}

.welcome-icon {
  font-size: 80px;
  color: #f10732;
  margin-bottom: 30px;
}

.results-welcome h2 {
  color: #ffffff;
  font-size: 28px;
  margin-bottom: 15px;
}
.results-welcome p {
  color: #888888;
  font-size: 16px;
  margin-bottom: 30px;
}

.welcome-steps {
  text-align: center;
  margin-top: 50px;
}

.step-item {
  display: inline-block;
  vertical-align: top;
  text-align: center;
  margin: 0 20px;
}

.step-number {
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  background: #f10732;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 10px;
}

.step-text {
  display: block;
  color: #cccccc;
  font-size: 14px;
}

.results-stats {
  padding: 30px;
  border-bottom: 2px solid #222222;
  background: linear-gradient(90deg, #1a1a1a 0%, #151515 100%);
}
.results-stats:after {
  content: "";
  display: table;
  clear: both;
}

.stats-info {
  float: left;
  color: #cccccc;
  font-size: 16px;
  line-height: 40px;
  font-weight: 500;
}
.stats-info .stats-item {
  display: inline-block;
  margin-right: 20px;
}
.stats-info .stats-item strong {
  color: #f10732;
  font-size: 24px;
  margin-left: 5px;
}

.stats-count {
  color: #f10732;
  font-size: 24px;
  font-weight: 700;
}

.stats-separator {
  color: #333333;
  margin: 0 15px;
  font-size: 18px;
}

.stats-actions {
  float: right;
}

.btn-play-all {
  background: #00cc66;
  border: 2px solid #00cc66;
  color: #ffffff;
  padding: 10px 20px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}
.btn-play-all .glyphicon {
  margin-right: 10px;
}
.btn-play-all:hover {
  background: #00b359;
  border-color: #00b359;
}

.results-list {
  padding: 20px;
}

.song-item {
  padding: 20px;
  border: 2px solid #222222;
  border-left: 4px solid #222222;
  margin-bottom: 15px;
  background: #0a0a0a;
  position: relative;
}
.song-item:after {
  content: "";
  display: table;
  clear: both;
}
.song-item:hover {
  border-color: #f10732;
  border-left-color: #f10732;
  background: #2a2a2a;
}

.song-number {
  float: left;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #f10732;
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  margin-right: 20px;
  position: relative;
}
.song-number:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-top: 8px solid #0a0a0a;
  border-left: 8px solid transparent;
}

.song-info {
  float: left;
  width: calc(100% - 120px);
}

.song-title {
  color: #ffffff;
  font-size: 18px;
  margin: 0 0 10px 0;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.song-meta {
  color: #888888;
  font-size: 14px;
  line-height: 1.8;
}
.song-meta span {
  display: inline-block;
  margin-right: 15px;
  padding: 2px 10px;
  background: #2a2a2a;
  border: 1px solid #222222;
}
.song-meta span:before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background: #f10732;
  margin-right: 6px;
  vertical-align: middle;
}

.song-actions {
  float: right;
}
.song-actions .btn-play {
  background: #f10732;
  border: 2px solid #f10732;
  color: #ffffff;
  width: 50px;
  height: 50px;
  padding: 0;
  cursor: pointer;
  font-size: 18px;
  position: relative;
}
.song-actions .btn-play:hover {
  background: #d10628;
  border-color: #d10628;
}
.song-actions .btn-play:hover .glyphicon {
  transform: scale(1.2);
}
.song-actions .btn-play .glyphicon {
  display: inline-block;
  vertical-align: middle;
}

.results-loading {
  padding: 100px 30px;
  text-align: center;
}

.loading-spinner {
  font-size: 50px;
  color: #f10732;
  margin-bottom: 20px;
}

.spinning {
  display: inline-block;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.loading-text {
  color: #888888;
  font-size: 16px;
}

.results-empty {
  padding: 100px 30px;
  text-align: center;
}

.empty-icon {
  font-size: 80px;
  color: #333333;
  margin-bottom: 30px;
}

.results-empty h3 {
  color: #ffffff;
  margin-bottom: 15px;
}
.results-empty p {
  color: #888888;
  margin-bottom: 30px;
}
.results-empty .btn-retry {
  background: #f10732;
  border: none;
  color: #ffffff;
}
.results-empty .btn-retry:hover {
  background: rgb(216.2197580645, 6.2802419355, 44.8588709677);
}

@media (max-width: 991px) {
  .filter-section,
  .filter-actions {
    border-right: none;
    border-bottom: 1px solid #222222;
    padding-bottom: 20px;
    margin-bottom: 20px;
    min-height: auto;
  }
  .filter-section:last-child,
  .filter-actions:last-child {
    border-bottom: none;
  }
  .step-item {
    display: block;
    margin: 0 0 20px 0;
  }
}
@media (max-width: 767px) {
  .ai-search-page-wrapper {
    padding: 15px 0;
  }
  .ai-search-page-header {
    margin-bottom: 15px;
    padding: 20px 0;
  }
  .ai-search-page-header .page-title {
    font-size: 24px;
  }
  .ai-search-page-header .page-subtitle {
    font-size: 14px;
  }
  .ai-filter-sidebar {
    padding: 15px;
  }
  .results-stats {
    padding: 15px;
  }
  .results-stats .stats-info,
  .results-stats .stats-actions {
    float: none;
    display: block;
    text-align: center;
    line-height: normal;
  }
  .results-stats .stats-info {
    margin-bottom: 15px;
  }
  .results-stats .stats-item {
    display: block;
    margin: 5px 0;
  }
  .results-list {
    padding: 15px;
  }
  .song-item {
    text-align: center;
  }
  .song-item .song-number,
  .song-item .song-info,
  .song-item .song-actions {
    float: none;
    width: 100%;
    margin: 0 0 10px 0;
  }
  .song-item .song-number {
    margin: 0 auto 10px;
  }
  .song-meta span {
    display: block;
    margin-bottom: 5px;
  }
  .song-meta span:after {
    content: "";
  }
}
/*
 * 浮动音乐播放器样式
 * 基于 jPlayer 2.9.2
 * 兼容性: Safari 5+ / IE9+ / Chrome 21+ / Firefox 28+
 */
.floating-player {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 380px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  z-index: 9999;
  display: none;
}
.floating-player.is-visible {
  display: block;
}
.floating-player .jp-jplayer {
  width: 0;
  height: 0;
  position: absolute;
  visibility: hidden;
}

.floating-player__info {
  padding: 10px 12px;
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
  position: relative;
}
.floating-player__info .fp-btn-minimize {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  padding: 0;
  line-height: 24px;
  text-align: center;
}
.floating-player__info .fp-btn-minimize .glyphicon {
  font-size: 12px;
}

.floating-player__title {
  font-size: 13px;
  color: #ffffff;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 30px;
}

.floating-player__controls {
  padding: 10px 12px;
  background-color: #1a1a1a;
  border-bottom: 1px solid #333333;
}

.floating-player__row {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.floating-player__row .fp-controls-section {
  display: table-cell;
  vertical-align: middle;
  width: 109px;
  white-space: nowrap;
}
.floating-player__row .fp-progress-section {
  display: table-cell;
  vertical-align: middle;
  padding: 0 10px;
}
.floating-player__row .fp-time-section {
  display: table-cell;
  vertical-align: middle;
  width: 80px;
  white-space: nowrap;
}
.floating-player__row .fp-mode-section {
  display: table-cell;
  vertical-align: middle;
  width: 33px;
  text-align: center;
  position: relative;
}
.floating-player__row .fp-volume-section {
  display: table-cell;
  vertical-align: middle;
  width: 33px;
  text-align: right;
  position: relative;
}

.floating-player__buttons {
  display: inline-block;
  white-space: nowrap;
}
.floating-player__buttons .fp-btn {
  display: inline-block;
  margin-right: 4px;
}
.floating-player__buttons .fp-btn:last-child {
  margin-right: 0;
}

.fp-btn {
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #333333;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.fp-btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.fp-btn:focus, .fp-btn:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.fp-btn:disabled {
  background-color: #0a0a0a;
  color: #888888;
  border-color: #333333;
  cursor: not-allowed;
  opacity: 0.5;
}
.fp-btn:disabled:hover {
  background-color: #0a0a0a;
  color: #888888;
  border-color: #333333;
}
.fp-btn .glyphicon {
  font-size: 12px;
}

.fp-btn-play,
.fp-btn-pause {
  padding: 6px 10px;
}
.fp-btn-play .glyphicon,
.fp-btn-pause .glyphicon {
  font-size: 14px;
}

.floating-player__progress {
  position: relative;
  width: 100%;
  height: 6px;
}
.floating-player__progress .fp-progress-container {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  cursor: pointer;
  overflow: hidden;
}
.floating-player__progress .fp-progress-container:hover {
  background-color: rgb(54.75, 54.75, 54.75);
}
.floating-player__progress .fp-progress-container:hover .fp-play-bar {
  background-color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
}
.floating-player__progress .fp-progress-container .fp-play-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  height: 100%;
  background-color: #f10732;
  transition: background-color 0.3s ease;
}

.floating-player__time {
  display: block;
  text-align: center;
  font-size: 11px;
  color: #888888;
  white-space: nowrap;
}
.floating-player__time .fp-time {
  display: inline;
}
.floating-player__time .fp-time-separator {
  margin: 0 4px;
  color: #888888;
}

.floating-player__volume {
  position: relative;
  display: inline-block;
}
.floating-player__volume .fp-btn-volume {
  display: block;
}
.floating-player__volume .fp-volume-bar {
  display: none;
  position: absolute;
  bottom: 100%;
  right: 0;
  width: 30px;
  height: 100px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  margin-bottom: 5px;
  cursor: pointer;
}
.floating-player__volume .fp-volume-bar .fp-volume-track {
  position: absolute;
  top: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: calc(100% - 10px);
  background-color: #555555;
}
.floating-player__volume .fp-volume-bar .fp-volume-value {
  position: absolute;
  bottom: 5px;
  left: 50%;
  margin-left: -2px;
  width: 4px;
  height: 0;
  background-color: #f10732;
}
.floating-player__volume:hover .fp-volume-bar,
.floating-player__volume .fp-volume-bar:hover {
  display: block;
}

.floating-player__actions {
  padding: 8px 12px;
  border-bottom: 1px solid #333333;
}
.floating-player__actions .row {
  margin-left: 0;
  margin-right: 0;
}
.floating-player__actions [class*=col-] {
  padding-left: 4px;
  padding-right: 4px;
}
.floating-player__actions .fp-btn-playlist,
.floating-player__actions .fp-btn-open-full {
  position: relative;
  width: 100%;
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  text-align: center;
  display: block;
  text-decoration: none;
}
.floating-player__actions .fp-btn-playlist .glyphicon,
.floating-player__actions .fp-btn-open-full .glyphicon {
  font-size: 12px;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
}
.floating-player__actions .fp-btn-playlist .fp-btn-text {
  font-size: 12px;
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
}
.floating-player__actions .fp-btn-playlist .fp-playlist-count {
  position: absolute;
  top: -5px;
  right: -5px;
  background-color: #f10732;
  color: #ffffff;
  font-size: 10px;
  padding: 2px 6px;
  min-width: 18px;
  line-height: 1.2;
  text-align: center;
}
.floating-player__actions .fp-btn-open-full .fp-btn-text {
  font-size: 12px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
  line-height: 1;
  white-space: nowrap;
}
.floating-player__actions .fp-btn-open-full:hover {
  text-decoration: none;
  background-color: rgb(54.75, 54.75, 54.75);
}
.floating-player__actions .fp-btn-open-full:focus {
  outline: none !important;
  box-shadow: none !important;
}

.floating-player__playlist {
  border-top: 1px solid #333333;
}

.fp-playlist-header {
  display: table;
  width: 100%;
  padding: 10px 12px;
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
}
.fp-playlist-header h4 {
  display: table-cell;
  vertical-align: middle;
  margin: 0;
  font-size: 14px;
  color: #ffffff;
  font-weight: 500;
}
.fp-playlist-header .fp-btn-clear-all {
  display: table-cell;
  vertical-align: middle;
  width: auto;
  float: right;
}

.fp-batch-toolbar {
  display: block;
  padding: 8px 12px;
  background-color: #0a0a0a;
  border-bottom: 1px solid #333333;
}
.fp-batch-toolbar .fp-batch-checkbox {
  display: inline-block;
  vertical-align: middle;
  margin: 0 8px 0 0;
  cursor: pointer;
}
.fp-batch-toolbar .fp-batch-checkbox .fp-select-all {
  margin: 0 4px 0 0;
  vertical-align: middle;
}
.fp-batch-toolbar .fp-batch-checkbox .fp-checkbox-label {
  font-size: 12px;
  color: #cccccc;
  vertical-align: middle;
}
.fp-batch-toolbar .fp-btn-batch {
  display: inline-block;
  vertical-align: middle;
  margin-right: 4px;
  padding: 4px 8px;
  font-size: 12px;
}
.fp-batch-toolbar .fp-btn-batch .fp-btn-text {
  margin-left: 2px;
}
.fp-batch-toolbar .fp-btn-batch .fp-selection-count {
  margin-left: 2px;
  color: #f10732;
}

.fp-playlist-items {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 300px;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #1a1a1a;
}
.fp-playlist-items::-webkit-scrollbar {
  width: 8px;
}
.fp-playlist-items::-webkit-scrollbar-track {
  background-color: #0a0a0a;
  border-left: 1px solid #333333;
}
.fp-playlist-items::-webkit-scrollbar-thumb {
  background-color: #555555;
}
.fp-playlist-items::-webkit-scrollbar-thumb:hover {
  background-color: #f10732;
}
.fp-playlist-items .fp-playlist-item {
  display: table;
  width: 100%;
  padding: 8px 12px;
  border-bottom: 1px solid #333333;
  cursor: pointer;
  transition: background-color 0.2s ease;
  position: relative;
}
.fp-playlist-items .fp-playlist-item:hover {
  background-color: #2a2a2a;
}
.fp-playlist-items .fp-playlist-item:hover .fp-btn-remove {
  display: table-cell;
}
.fp-playlist-items .fp-playlist-item.active {
  background-color: rgb(54.75, 54.75, 54.75);
}
.fp-playlist-items .fp-playlist-item.active .fp-track-info .fp-track-title {
  color: #f10732;
}
.fp-playlist-items .fp-playlist-item .fp-playing-icon {
  display: table-cell;
  width: 0;
  min-width: 0;
  height: 20px;
  vertical-align: middle;
  padding-right: 0;
  background: none;
  background-size: 20px 20px;
  background-position: center center;
  background-repeat: no-repeat;
  overflow: hidden;
  transition: width 0.2s ease, padding-right 0.2s ease;
}
.fp-playlist-items .fp-playlist-item.is-playing .fp-playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/play.gif);
}
.fp-playlist-items .fp-playlist-item.is-loading .fp-playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/play.gif);
}
.fp-playlist-items .fp-playlist-item.is-paused .fp-playing-icon {
  width: 20px;
  min-width: 20px;
  padding-right: 8px;
  background-image: url(../images/stop.gif);
}
.fp-playlist-items .fp-playlist-item .fp-item-checkbox {
  display: table-cell;
  vertical-align: middle;
  width: 30px;
  cursor: pointer;
}
.fp-playlist-items .fp-playlist-item .fp-item-checkbox .fp-track-checkbox {
  margin: 0;
  vertical-align: middle;
}
.fp-playlist-items .fp-playlist-item .fp-track-info {
  display: table-cell;
  vertical-align: middle;
  padding: 0 8px;
  padding-right: 35px;
}
.fp-playlist-items .fp-playlist-item .fp-track-info .fp-track-title {
  font-size: 12px;
  color: #cccccc;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: color 0.2s ease;
}
.fp-playlist-items .fp-playlist-item .fp-btn-remove {
  display: none;
  position: absolute;
  right: 12px;
  top: 50%;
  margin-top: -12px;
  background-color: transparent;
  border: 0;
  padding: 4px 6px;
  color: #888888;
  cursor: pointer;
  transition: color 0.2s ease;
}
.fp-playlist-items .fp-playlist-item .fp-btn-remove:hover {
  background-color: transparent;
  border-color: transparent;
  color: #f10732;
}
.fp-playlist-items .fp-playlist-item .fp-btn-remove .glyphicon {
  font-size: 14px;
}

.fp-playlist-pagination {
  padding: 10px 12px;
  background-color: #2a2a2a;
  border-top: 1px solid #333333;
  text-align: center;
}
.fp-playlist-pagination .fp-btn-page {
  width: 28px;
  height: 28px;
  padding: 4px;
  margin: 0 8px;
}
.fp-playlist-pagination .fp-btn-page:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.fp-playlist-pagination .fp-page-info {
  display: inline-block;
  color: #cccccc;
  font-size: 12px;
  margin: 0 8px;
}
.fp-playlist-pagination .fp-page-info .fp-current-page {
  color: #f10732;
  font-weight: 500;
}

.fp-playlist-item-placeholder {
  height: 48px;
  background-color: #2a2a2a;
  border: 1px dashed #555555;
  margin-bottom: 0;
}

.fp-playlist-items .fp-playlist-item.ui-sortable-helper {
  background-color: #2a2a2a;
  border: 1px solid #f10732;
  opacity: 0.8;
  cursor: move;
}

.floating-player__minimized {
  padding: 15px;
  text-align: center;
  background-color: #1a1a1a;
  position: relative;
}
.floating-player__minimized .fp-btn-play-mini,
.floating-player__minimized .fp-btn-pause-mini {
  width: 50px;
  height: 50px;
  border: 2px solid #f10732;
  background-color: #2a2a2a;
}
.floating-player__minimized .fp-btn-play-mini .glyphicon,
.floating-player__minimized .fp-btn-pause-mini .glyphicon {
  font-size: 24px;
  line-height: 46px;
}
.floating-player__minimized .fp-btn-play-mini:hover,
.floating-player__minimized .fp-btn-pause-mini:hover {
  background-color: #f10732;
}
.floating-player__minimized .fp-btn-expand {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  padding: 0;
  line-height: 20px;
  text-align: center;
}
.floating-player__minimized .fp-btn-expand .glyphicon {
  font-size: 10px;
}

.floating-player--minimized {
  width: 80px;
  height: 80px;
}
.floating-player--minimized .jp-jplayer {
  display: none;
}

.fp-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.fp-btn:disabled:hover {
  background-color: #2a2a2a;
  color: #cccccc;
}

.dropdown-hover {
  position: relative;
}
.dropdown-hover:hover .dropdown-menu, .dropdown-hover.open .dropdown-menu {
  display: block !important;
  opacity: 1;
  visibility: visible;
}
.dropdown-hover .dropdown-menu:hover {
  display: block !important;
  opacity: 1;
  visibility: visible;
}
.dropdown-hover .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  margin: 0;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease-in-out;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
  list-style: none;
  z-index: 1002;
}
.dropdown-hover .dropdown-menu .dropdown-header {
  padding: 8px 4px;
  border-bottom: 1px solid #333333;
  background: #2a2a2a;
  color: #ffaa00;
}
.dropdown-hover .dropdown-menu li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #333333;
}
.dropdown-hover .dropdown-menu li:last-child {
  border-bottom: none;
}
.dropdown-hover .dropdown-menu li a {
  display: block;
  color: #cccccc;
  padding: calc(10px / 2) calc(15px / 2);
  text-decoration: none;
  font-size: 13px;
  white-space: nowrap;
}
.dropdown-hover .dropdown-menu li a:hover, .dropdown-hover .dropdown-menu li a:focus {
  background-color: #2a2a2a;
  color: #f10732;
  text-decoration: none;
}

.breadcrumb-nav {
  margin-bottom: 15px;
}
.breadcrumb-nav .breadcrumb {
  background-color: #0a0a0a;
  border: none;
  border-radius: 0;
  padding: 0 15px;
  margin-bottom: 0;
}
.breadcrumb-nav .breadcrumb li {
  color: #cccccc;
}
.breadcrumb-nav .breadcrumb li a {
  color: #cccccc;
  text-decoration: none;
}
.breadcrumb-nav .breadcrumb li a:hover {
  color: #f10732;
  text-decoration: none;
}
.breadcrumb-nav .breadcrumb li.dropdown {
  position: relative;
}
.breadcrumb-nav .breadcrumb li.dropdown:hover .dropdown-toggle {
  color: #f10732;
}
.breadcrumb-nav .breadcrumb li.dropdown .caret {
  display: none;
}
.breadcrumb-nav .breadcrumb li.dropdown .dropdown-menu li + li:before {
  display: none;
}
.breadcrumb-nav .breadcrumb li.active {
  color: #f10732;
}
.breadcrumb-nav .breadcrumb li + li:before {
  content: " / ";
  color: #888888;
  padding: 0 5px;
}

.filter-toolbar {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-bottom: 2px solid #f10732;
  padding: 20px;
  margin-bottom: 30px;
  *zoom: 1;
}
.filter-toolbar:before, .filter-toolbar:after {
  content: " ";
  display: table;
}
.filter-toolbar:after {
  clear: both;
}

.filter-left {
  float: left;
  width: 60%;
}

.filter-right {
  float: right;
  width: 38%;
  text-align: right;
  *zoom: 1;
}
.filter-right:before, .filter-right:after {
  content: " ";
  display: table;
}
.filter-right:after {
  clear: both;
}

.filter-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 20px;
  padding: 15px 0;
}
.filter-nav .filter-item {
  display: inline-block;
  padding: calc(10px + 2px) calc(15px + 2px);
  color: #cccccc;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.filter-nav .filter-item:hover {
  color: #ffffff;
  background-color: #2a2a2a;
  text-decoration: none;
}
.filter-nav .filter-item.active {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}

.category-filter-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding: 15px 0;
}
.category-filter-bar .filter-left {
  display: flex;
  align-items: center;
}
.category-filter-bar .filter-right {
  display: flex;
  align-items: center;
  gap: 15px;
}
.category-filter-bar .filter-tabs {
  display: flex;
  gap: 5px;
}
.category-filter-bar .filter-tabs .tab-btn {
  display: inline-block;
  padding: calc(10px + 2px) calc(15px + 2px);
  color: #ffffff;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.category-filter-bar .filter-tabs .tab-btn:hover {
  color: #ffffff;
  background-color: #2a2a2a;
  border-color: #555555;
  text-decoration: none;
}
.category-filter-bar .filter-tabs .tab-btn.active {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
  text-decoration: none;
}
.category-filter-bar .filter-tabs .tab-btn:focus {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none;
}
.category-filter-bar .type-tabs .tab-btn.active {
  background-color: #0088ff;
  border-color: #0088ff;
}
.category-filter-bar .time-tabs .tab-btn {
  font-size: calc(12px - 1px);
  padding: 10px 15px;
}
.category-filter-bar .time-tabs .tab-btn.active {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}

.filter-group {
  display: inline-block;
  margin-left: 10px;
  vertical-align: top;
}
.filter-group:first-child {
  margin-left: 0;
}

.filter-select {
  width: auto;
  min-width: 80px;
  height: 36px;
  padding: 5px 15px;
  background-color: #2a2a2a;
  border: 2px solid #555555;
  border-radius: 0;
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cccccc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 5px center;
  background-size: 12px;
  padding-right: 30px;
}
.filter-select:hover {
  background-color: #0a0a0a;
  border-color: #0088ff;
  transform: translateY(-1px);
}
.filter-select:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #f10732;
}
.filter-select option {
  background-color: #1a1a1a;
  color: #ffffff;
  padding: 5px;
}
.filter-select option:hover, .filter-select option:checked {
  background-color: #f10732;
  color: #ffffff;
}

.category-content {
  background-color: #0a0a0a;
}

.music-grid {
  width: 100%;
  margin: 0;
  padding: 0;
}

.music-item {
  display: block;
  width: 100%;
  border: none;
  overflow: visible;
  border-bottom: 1px solid #333333;
}
.music-item::after {
  content: "";
  display: table;
  clear: both;
}
.music-item:hover {
  background-color: #1a1a1a;
}
.music-item:hover .music-title,
.music-item:hover .music-title a {
  color: #f10732;
}
.music-item:hover .play-overlay {
  display: block;
  visibility: visible;
  opacity: 1;
}
.music-item.active, .music-item.playing {
  background-color: rgba(241, 7, 50, 0.1);
  border-left: 3px solid #f10732;
}
.music-item.active .music-title,
.music-item.active .music-title a, .music-item.playing .music-title,
.music-item.playing .music-title a {
  color: #f10732;
}

.music-content {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  overflow: visible;
}
.music-content:hover {
  text-decoration: none;
}
.music-content:visited {
  color: inherit;
}
.music-content::after {
  content: "";
  display: table;
  clear: both;
}

.music-thumbnail {
  float: left;
  width: 60px;
  height: 60px;
  position: relative;
  overflow: hidden;
  margin-right: 10px;
}
.music-thumbnail .thumbnail-badge-vip {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #ffd700;
  color: #000000;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 4px;
  line-height: 1;
  z-index: 2;
}
.music-thumbnail .thumbnail-badge-recommend {
  position: absolute;
  top: 0;
  right: 0;
  background-color: #f10732;
  color: #ffffff;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 4px;
  line-height: 1;
  z-index: 2;
}
.music-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@supports not ((-o-object-fit: cover) or (object-fit: cover)) {
  .music-thumbnail img {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    margin-top: -40px;
    margin-left: -40px;
  }
}

.music-info {
  padding: 0 10px;
  /* 
   * 原理：当元素设置overflow:hidden时，会创建一个新的BFC（块级格式化上下文）
   * BFC不会与浮动元素重叠，因此会自动占满.music-thumbnail右侧的剩余空间
   * 这是CSS2.1时代的经典两栏布局技巧，完全兼容IE9+
   */
}

.music-title {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 4px 0;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.music-title a {
  color: #ffffff;
  text-decoration: none;
}
.music-title a:hover {
  color: #f10732;
  text-decoration: none;
}

.music-artist {
  font-size: 12px;
  color: #cccccc;
  margin: 0 0 15px 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.music-artist a {
  color: #cccccc;
  text-decoration: none;
}
.music-artist a:hover {
  color: #0088ff;
  text-decoration: none;
}

.music-meta {
  display: block;
  width: 100%;
  font-size: 12px;
  color: #888888;
  margin: 0;
  position: relative;
  overflow: visible;
}
.music-meta::after {
  content: "";
  display: table;
  clear: both;
}
.music-meta .meta-checkbox {
  display: inline-block;
  float: left;
  margin-right: 8px;
  vertical-align: middle;
  line-height: 1.8;
  position: relative;
}
.music-meta .meta-checkbox input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin: 0;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 0;
}
.music-meta .meta-checkbox label {
  margin: 0;
  padding-left: 20px;
  line-height: 1.8;
  min-height: 16px;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
}
.music-meta .meta-checkbox label:before {
  top: 50%;
  margin-top: -8px;
  left: 0;
}
.music-meta .meta-checkbox label:after {
  top: 50%;
  margin-top: -5px;
  left: 5px;
}
.music-meta .meta-waveform {
  display: block;
  height: 20px;
  overflow: hidden;
  position: relative;
  min-width: 200px;
}
.music-meta .meta-waveform img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15px;
}
.music-meta .meta-item {
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle;
  line-height: 1.8;
  float: left;
}
.music-meta .meta-item:last-child {
  margin-right: 0;
}
.music-meta .meta-item .glyphicon {
  display: inline-block;
  font-size: 12px;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  top: -1px;
}
.music-meta .meta-item.bpm {
  color: #888888;
}
.music-meta .meta-item.bpm .glyphicon {
  color: #888888;
}
.music-meta .meta-item.price {
  color: #888888;
}
.music-meta .meta-item.price .glyphicon {
  color: #888888;
}
.music-meta .meta-item.key {
  color: #888888;
}
.music-meta .meta-item.key .glyphicon {
  color: #888888;
}
.music-meta .meta-item.bitrate {
  color: #888888;
}
.music-meta .meta-item.bitrate .glyphicon {
  color: #888888;
}
.music-meta .meta-item.duration .glyphicon {
  color: #888888;
}
.music-meta .meta-item.plays .glyphicon {
  color: #888888;
}
.music-meta .meta-item.date .glyphicon {
  color: #888888;
}
.music-meta .meta-item.upload-date {
  color: #cccccc;
}
.music-meta .meta-item.upload-date .glyphicon {
  color: #cccccc;
}
.music-meta .meta-separator {
  display: inline-block;
  margin: 0 8px;
  color: #333333;
  float: left;
}
.music-meta .meta-actions {
  display: inline-block;
  float: left;
}
.music-meta .meta-actions .action-icon {
  display: inline-block;
  margin-right: 10px;
  color: #888888;
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  vertical-align: middle;
  padding: 0;
}
.music-meta .meta-actions .action-icon:first-child {
  margin-left: 0;
}
.music-meta .meta-actions .action-icon:hover {
  color: #f10732;
  text-decoration: none;
}
.music-meta .meta-actions .action-icon.icon-favorite.active {
  color: #ffaa00;
}
.music-meta .meta-actions .action-icon.icon-favorite:hover {
  color: #ffaa00;
}
.music-meta .meta-actions .action-icon.icon-download:hover {
  color: #0088ff;
}
.music-meta .meta-actions .action-icon .glyphicon {
  font-size: 14px;
}
.music-meta .meta-actions .action-icon-dropdown {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin-right: 10px;
}
.music-meta .meta-actions .action-icon-dropdown .action-icon {
  margin-right: 0;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  min-width: 120px;
  white-space: nowrap;
  display: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease-in-out;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  border-radius: 0;
  box-shadow: none;
  list-style: none;
  padding: 0;
  margin: 0;
  pointer-events: auto;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #333333;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu li:last-child {
  border-bottom: none;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu li a {
  padding: 2px 10px;
  display: block;
  color: #cccccc;
  text-decoration: none;
  font-size: 13px;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu li a:hover, .music-meta .meta-actions .action-icon-dropdown .dropdown-menu li a:focus {
  background-color: #2a2a2a;
  color: #f10732;
  text-decoration: none;
}
.music-meta .meta-actions .action-icon-dropdown:hover .dropdown-menu, .music-meta .meta-actions .action-icon-dropdown.open .dropdown-menu {
  display: block !important;
  opacity: 1;
  visibility: visible;
}
.music-meta .meta-actions .action-icon-dropdown .dropdown-menu:hover {
  display: block !important;
  opacity: 1;
  visibility: visible;
}

.pagination-wrapper {
  clear: both;
  text-align: center;
  padding: 30px 0;
  margin-top: 30px;
  border-top: 1px solid #333333;
}

.pagination {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pagination li {
  display: inline-block;
  margin: 0 2px;
}
.pagination li a,
.pagination li span {
  display: block;
  min-width: 32px;
  height: 32px;
  line-height: 30px;
  padding: 0 calc(10px / 2);
  text-align: center;
  font-size: 14px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  color: #cccccc;
  text-decoration: none;
  border-radius: 0;
  transition: all 0.2s ease;
}
.pagination li a:hover {
  background-color: #2a2a2a;
  color: #ffffff;
  border-color: #0088ff;
  transform: translateY(-1px);
}
.pagination li.active a, .pagination li.active span {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.pagination li.active a:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.pagination li.disabled a, .pagination li.disabled span {
  background-color: rgb(22.75, 22.75, 22.75);
  color: #888888;
  cursor: not-allowed;
  border-color: #333333;
  opacity: 0.6;
}
.pagination li.disabled a:hover {
  background-color: rgb(22.75, 22.75, 22.75);
  color: #888888;
  border-color: #333333;
  transform: none;
}

.header-controls {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}
@supports not (display: flex) {
  .header-controls {
    overflow: hidden;
    margin-bottom: 20px;
  }
}

.header-filters {
  display: flex;
  align-items: center;
  gap: 15px;
}
@supports not (display: flex) {
  .header-filters {
    float: left;
  }
  .header-filters > * {
    float: left;
    margin-right: 15px;
  }
}
.header-filters .filter-controls {
  display: flex;
  gap: 5px;
  margin-right: 15px;
}
@supports not (display: flex) {
  .header-filters .filter-controls {
    overflow: hidden;
  }
  .header-filters .filter-controls .filter-select {
    float: left;
    margin-right: 5px;
  }
  .header-filters .filter-controls .filter-select:last-child {
    margin-right: 15px;
  }
}
.header-filters .filter-controls .filter-select {
  display: inline-block;
  padding: calc(10px + 2px) calc(15px + 2px);
  color: #cccccc;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.header-filters .filter-controls .filter-select:hover {
  color: #ffffff;
  background-color: #2a2a2a;
  text-decoration: none;
}
.header-filters .filter-controls .filter-select.active {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}
.header-filters .filter-controls .filter-select {
  min-width: 100px;
}
.header-filters .time-filters {
  display: flex;
  gap: 5px;
}
@supports not (display: flex) {
  .header-filters .time-filters {
    overflow: hidden;
  }
  .header-filters .time-filters .filter-select {
    float: left;
    margin-right: 5px;
  }
  .header-filters .time-filters .filter-select:last-child {
    margin-right: 0;
  }
}
.header-filters .time-filters .filter-select {
  display: inline-block;
  padding: calc(10px + 2px) calc(15px + 2px);
  color: #cccccc;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  text-decoration: none;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.header-filters .time-filters .filter-select:hover {
  color: #ffffff;
  background-color: #2a2a2a;
  text-decoration: none;
}
.header-filters .time-filters .filter-select.active {
  color: #ffffff;
  background-color: #f10732;
  border-color: #f10732;
}
.header-filters .time-filters .filter-select {
  min-width: 80px;
}

.category-title {
  text-align: right;
}
@supports not (display: flex) {
  .category-title {
    float: right;
    width: 40%;
  }
}

.results-title {
  display: inline-block;
  vertical-align: baseline;
  color: #ffffff;
  font-size: 26px;
  font-weight: 400;
  margin: 0 0 5px 0;
  padding: 0;
  line-height: 1.2;
  position: relative;
}
.results-title::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #f10732;
  margin-right: 5px;
  vertical-align: middle;
  position: absolute;
  left: -10px;
  top: 50%;
  margin-top: -12px;
}
@supports (transform: translateY(-50%)) {
  .results-title::before {
    margin-top: 0;
    transform: translateY(-50%);
  }
}

.results-info {
  color: #cccccc;
  margin: 0;
  font-size: 14px;
  line-height: 1.4;
}
.results-info .results-count {
  color: #f10732;
  font-weight: 700;
}
.results-info .current-filters {
  color: #888888;
  font-size: 12px;
}
.results-info .current-filters .filter-tag {
  color: #0088ff;
  font-weight: 500;
}

.producer-content-row {
  padding: 0 15px;
}

.producer-grid {
  display: block;
  margin: 0 calc(0px - 5px);
}

.producer-card {
  display: block;
  width: 100%;
  padding: 0 5px;
  margin-bottom: 15px;
}

.producer-card-inner {
  display: table;
  width: 100%;
}
.producer-card-inner:hover {
  border-color: #f10732;
}

.producer-avatar-section {
  display: table-cell;
  width: 120px;
  vertical-align: top;
  padding-right: 15px;
  position: relative;
}

.producer-avatar {
  width: 163px;
  height: 163px;
  overflow: hidden;
  position: relative;
}
.producer-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.producer-avatar:empty:before {
  content: "\e008";
  font-family: "Glyphicons Halflings";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 48px;
  color: #888888;
}

.producer-badge {
  position: absolute;
  top: 0;
  right: 15px;
  padding: 2px 5px;
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  z-index: 1;
}
.producer-badge .glyphicon {
  font-size: 12px;
  margin-right: 2px;
}
.producer-badge.badge-top {
  background-color: #f10732;
}
.producer-badge.badge-hot {
  background-color: #ffaa00;
}

.producer-profile-section,
.producer-tabs-section {
  padding: 0 15px;
  margin-bottom: 15px;
}

.producer-info-section {
  display: table-cell;
  vertical-align: top;
  padding-left: 0;
}

.producer-header {
  display: table;
  width: 100%;
  margin-bottom: 4px;
}

.producer-info-left {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
}

.producer-title {
  display: table-cell;
  vertical-align: middle;
  padding-right: 15px;
}

.producer-name {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 5px 0;
}
.producer-name a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s ease;
}
.producer-name a:hover {
  color: #f10732;
}

.producer-meta {
  font-size: 12px;
  color: #888888;
  margin-bottom: 10px;
  display: block;
  width: 100%;
}
.producer-meta .meta-item {
  display: inline-block;
  margin-right: 10px;
}
.producer-meta .meta-item .glyphicon {
  font-size: 12px;
  margin-right: 3px;
}
.producer-meta .meta-separator {
  margin: 0 5px;
  color: #555555;
}

.producer-actions {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  white-space: nowrap;
}

.btn-follow {
  padding: 6px 15px;
  font-size: 12px;
  background-color: #f10732;
  color: #ffffff;
  border: 1px solid #f10732;
  transition: background-color 0.3s ease;
}
.btn-follow:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.btn-follow.following {
  background-color: transparent;
  color: #cccccc;
  border-color: #555555;
}
.btn-follow.following:hover {
  background-color: #2a2a2a;
}

.producer-stats {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}

.stat-item {
  display: table-cell;
  text-align: center;
  padding: 0 15px;
  border-right: 1px solid #333333;
}
.stat-item:first-child {
  padding-left: 0;
  text-align: left;
}
.stat-item:last-child {
  border-right: none;
  padding-right: 0;
}

.stat-value {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #f10732;
  margin-bottom: 2px;
}

.stat-label {
  display: block;
  font-size: 12px;
  color: #888888;
}

.producer-bio {
  font-size: 12px;
  color: #cccccc;
  line-height: 1.6;
  margin-bottom: 0;
}

.producer-tracks {
  margin-top: 15px;
  padding-top: 15px;
  border-top: 1px solid #333333;
}
.producer-tracks .row {
  margin: 0;
}
.producer-tracks .row + .row {
  margin-top: 5px;
}
.producer-tracks [class*=col-] {
  padding: 0 5px;
}

.track-link {
  display: table;
  width: 100%;
  padding: 5px 10px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  text-decoration: none;
  transition: all 0.3s ease;
  table-layout: fixed;
}
.track-link:hover {
  border-color: #f10732;
  background-color: #0a0a0a;
  text-decoration: none;
}
.track-link:hover .producer-track-title {
  color: #f10732;
}

.producer-track-title {
  display: table-cell;
  font-size: 13px;
  color: #ffffff;
  line-height: 1.6;
  width: 100%;
  padding-right: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.producer-track-date {
  display: table-cell;
  font-size: 12px;
  color: #888888;
  white-space: nowrap;
  width: 70px;
  text-align: right;
  vertical-align: middle;
}

.producer-search-box {
  display: inline-block;
  vertical-align: middle;
  margin-left: 15px;
}

.sidebar-section {
  margin-bottom: 20px;
}
.sidebar-section .section-header {
  color: #ffffff;
  font-size: 16px;
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.sidebar-section .section-header .section-title {
  color: #ffffff;
  font-size: 16px;
  margin: 0;
  font-weight: 400;
}
.sidebar-section .section-header .section-title .glyphicon {
  color: #f10732;
  margin-right: 5px;
}
.sidebar-section .section-header .section-more {
  font-size: 12px;
  color: #cccccc;
  text-decoration: none;
}
.sidebar-section .section-header .section-more:hover {
  color: #f10732;
}
.sidebar-section .section-header .section-more .glyphicon {
  font-size: 12px;
  margin-left: 2px;
}

.producer-sidebar-list {
  display: block;
}

.producer-sidebar-item {
  display: block;
  padding: 5px 0;
  border-bottom: 1px solid #333333;
  text-decoration: none;
}
.producer-sidebar-item:before, .producer-sidebar-item:after {
  content: " ";
  display: table;
}
.producer-sidebar-item:after {
  clear: both;
}
.producer-sidebar-item {
  *zoom: 1;
}
.producer-sidebar-item:hover {
  background-color: rgb(33.65, 33.65, 33.65);
}
.producer-sidebar-item:hover .producer-sidebar-name {
  color: #f10732;
}
.producer-sidebar-item:last-child {
  border-bottom: none;
}

.producer-sidebar-avatar {
  width: 50px;
  height: 50px;
  background-color: #2a2a2a;
  overflow: hidden;
  float: left;
  margin-right: 10px;
}
.producer-sidebar-avatar img {
  width: 100%;
  height: 100%;
  display: block;
}

.producer-sidebar-content {
  overflow: hidden;
}

.producer-sidebar-name {
  color: #ffffff;
  margin: 0 0 4px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.producer-sidebar-meta {
  font-size: 12px;
  color: #888888;
  padding-bottom: 5px;
  margin-left: 5px;
  border-bottom: 1px solid #333333;
}
.producer-sidebar-meta .meta-tag {
  display: inline-block;
}
.producer-sidebar-meta .meta-separator {
  margin: 0 4px;
  color: #888888;
}
.producer-sidebar-meta .meta-value {
  display: inline-block;
  color: #cccccc;
}

.producer-sidebar-avatar.image-loading {
  background: #2a2a2a;
  position: relative;
}
.producer-sidebar-avatar.image-loading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #555555;
  border-top-color: #f10732;
  animation: spin 0.6s linear infinite;
}
.producer-sidebar-avatar.image-loading img {
  opacity: 0;
  transition: opacity 0.3s ease;
}
.producer-sidebar-avatar.image-loading.loaded:before {
  display: none;
}
.producer-sidebar-avatar.image-loading.loaded img {
  opacity: 1;
}

.music-search-inline {
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

.producer-search-form .input-group,
.music-search-form .input-group {
  width: 200px;
}
.producer-search-form .form-control,
.music-search-form .form-control {
  height: 32px;
  font-size: 12px;
  border-right: 0;
}
.producer-search-form .form-control:focus,
.music-search-form .form-control:focus {
  border-color: #f10732;
  border-right: 0;
}
.producer-search-form .form-control:focus + .input-group-btn,
.music-search-form .form-control:focus + .input-group-btn {
  border-color: #f10732;
  background: #f10732;
}
.producer-search-form .form-control:focus + .input-group-btn .btn,
.music-search-form .form-control:focus + .input-group-btn .btn {
  background: #f10732;
}
.producer-search-form .form-control:-webkit-autofill, .producer-search-form .form-control:-webkit-autofill:hover, .producer-search-form .form-control:-webkit-autofill:focus, .producer-search-form .form-control:-webkit-autofill:active,
.music-search-form .form-control:-webkit-autofill,
.music-search-form .form-control:-webkit-autofill:hover,
.music-search-form .form-control:-webkit-autofill:focus,
.music-search-form .form-control:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #0a0a0a inset !important;
  -webkit-text-fill-color: #ffffff !important;
  background-color: #0a0a0a !important;
  border-color: #333333 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}
.producer-search-form .input-group-btn,
.music-search-form .input-group-btn {
  border: 1px solid #333333;
  border-left: 0;
  border-radius: 0 4px 4px 0;
  background: #2a2a2a;
}
.producer-search-form .input-group-btn .btn:hover,
.music-search-form .input-group-btn .btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}

.producer-profile-card {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
  margin-bottom: 20px;
}

.producer-profile-inner {
  display: table;
  width: 100%;
}

.producer-profile-avatar-section {
  display: table-cell;
  width: 200px;
  padding-right: 20px;
  vertical-align: top;
}

.producer-profile-avatar {
  width: 180px;
  height: 180px;
  overflow: hidden;
  position: relative;
  background-color: #2a2a2a;
  border: 2px solid #555555;
  border-radius: 12px;
}
.producer-profile-avatar img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.producer-profile-avatar:empty:before {
  content: "\e008";
  font-family: "Glyphicons Halflings";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  color: #888888;
}

.producer-profile-info-section {
  display: table-cell;
  vertical-align: top;
  padding-left: 20px;
}

.producer-profile-header {
  display: table;
  width: 100%;
  margin-bottom: 10px;
}

.producer-profile-name {
  display: table-cell;
  vertical-align: middle;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  padding-right: 20px;
}

.producer-profile-actions {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
  white-space: nowrap;
}
.producer-profile-actions .btn {
  padding: 6px 15px;
  font-size: 12px;
  margin-left: 10px;
  min-width: 80px;
}
.producer-profile-actions .btn:first-child {
  margin-left: 0;
}
.producer-profile-actions .btn .glyphicon {
  margin-right: 5px;
}

.producer-profile-meta {
  font-size: 12px;
  color: #888888;
  margin-bottom: 20px;
}
.producer-profile-meta .meta-item {
  display: inline-block;
  margin-right: 20px;
}
.producer-profile-meta .meta-item .glyphicon {
  margin-right: 5px;
  font-size: 12px;
}

.producer-profile-stats {
  display: block;
  margin-bottom: 15px;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  padding: 15px 0;
}
.producer-profile-stats .stat-item {
  display: inline-block;
  vertical-align: middle;
  margin-right: 30px;
}
.producer-profile-stats .stat-item:last-child {
  margin-right: 0;
}
.producer-profile-stats .stat-icon {
  display: inline-block;
  vertical-align: middle;
  font-size: 28px;
  color: #f10732;
  margin-right: 10px;
}
.producer-profile-stats .stat-content {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.2;
}
.producer-profile-stats .stat-value {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1;
}
.producer-profile-stats .stat-label {
  display: block;
  font-size: 12px;
  color: #888888;
  margin-top: 2px;
}

.producer-profile-bio {
  font-size: 12px;
  color: #cccccc;
  line-height: 1.6;
  margin: 0;
}

.tab-content-pane {
  display: none;
}
.tab-content-pane.active {
  display: block;
}

@media (max-width: 991px) {
  .producer-profile-card {
    padding: 15px;
  }
  .producer-profile-avatar-section {
    width: 160px;
    padding-right: 15px;
  }
  .producer-profile-avatar {
    width: 140px;
    height: 140px;
  }
  .producer-profile-info-section {
    padding-left: 15px;
  }
  .producer-profile-name {
    font-size: 24px;
  }
  .producer-profile-actions .btn {
    padding: 5px 10px;
    font-size: 12px;
    min-width: 70px;
  }
  .producer-profile-stats .stat-item {
    margin-right: 15px;
  }
  .producer-profile-stats .stat-icon {
    font-size: 24px;
  }
  .producer-profile-stats .stat-value {
    font-size: 22px;
  }
}
@media (max-width: 767px) {
  .producer-profile-card {
    padding: 10px;
  }
  .producer-profile-inner {
    display: block;
  }
  .producer-profile-avatar-section {
    display: block;
    width: 100%;
    padding-right: 0;
    margin-bottom: 15px;
    text-align: center;
  }
  .producer-profile-avatar {
    width: 120px;
    height: 120px;
    margin: 0 auto;
  }
  .producer-profile-info-section {
    display: block;
    padding-left: 0;
  }
  .producer-profile-header {
    display: block;
    text-align: center;
    margin-bottom: 10px;
  }
  .producer-profile-name {
    display: block;
    font-size: 20px;
    padding-right: 0;
    margin-bottom: 10px;
  }
  .producer-profile-actions {
    display: block;
    text-align: center;
  }
  .producer-profile-actions .btn {
    margin: 0 5px;
    min-width: 70px;
  }
  .producer-profile-meta {
    text-align: center;
    font-size: 12px;
  }
  .producer-profile-meta .meta-item {
    margin-right: 10px;
  }
  .producer-profile-stats .stat-item {
    display: block;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .producer-profile-stats .stat-item:last-child {
    margin-bottom: 0;
  }
  .producer-profile-stats .stat-icon {
    font-size: 20px;
  }
  .producer-profile-stats .stat-value {
    font-size: 20px;
  }
  .producer-profile-stats .stat-label {
    font-size: 12px;
  }
}
.producer-about-text .about-intro {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #1a1a1a;
  border-left: 3px solid #f10732;
}
.producer-about-text .about-intro p {
  color: #cccccc;
  line-height: 1.8;
  font-size: 15px;
  margin: 0;
}
.producer-about-text .about-details .detail-line {
  display: flex;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #333333;
  margin: 0;
}
.producer-about-text .about-details .detail-line:first-child {
  padding-top: 0;
}
.producer-about-text .about-details .detail-line:last-child {
  border-bottom: none;
}
.producer-about-text .about-details .detail-line .detail-icon {
  flex: 0 0 40px;
  font-size: 16px;
  margin-right: 15px;
  color: #f10732;
  text-align: center;
}
.producer-about-text .about-details .detail-line .detail-text {
  flex: 1;
  color: #cccccc;
  font-size: 15px;
  line-height: 1.6;
}
.producer-about-text .about-details .detail-line .detail-text strong {
  color: #ffffff;
  font-weight: normal;
  margin-left: 8px;
}

@media (max-width: 768px) {
  .producer-about-text .about-intro {
    margin-bottom: 30px;
    padding: 15px;
  }
  .producer-about-text .about-intro p {
    font-size: 14px;
  }
  .producer-about-text .about-details .detail-line {
    padding: 15px 0;
  }
  .producer-about-text .about-details .detail-line .detail-icon {
    flex: 0 0 35px;
    font-size: 14px;
    margin-right: 12px;
    color: #f10732;
    text-align: center;
  }
  .producer-about-text .about-details .detail-line .detail-text {
    font-size: 14px;
  }
  .producer-about-text .about-details .detail-line .detail-text strong {
    display: block;
    margin-left: 0;
    margin-top: 5px;
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.breadcrumb-section {
  margin-bottom: 5px;
}

.album-content-section {
  padding: 0 15px;
}

.album-grid {
  display: block;
}
.album-grid .row {
  margin-left: 0;
  margin-right: 0;
}

.album-card {
  background-color: #1a1a1a;
  margin-bottom: 20px;
  position: relative;
}
.album-card:hover {
  border-color: #555555;
}

.album-card-inner {
  display: block;
  width: 100%;
  position: relative;
}

.album-title {
  margin: 0 0 10px 0;
  font-size: 16px;
  font-weight: bold;
}
.album-title a {
  color: #ffffff;
  text-decoration: none;
}
.album-title a:hover {
  color: #f10732;
}

.album-artist .artist-info {
  color: #cccccc;
  font-size: 12px;
  margin-bottom: 5px;
}
.album-artist .artist-info .glyphicon {
  margin-right: 5px;
}
.album-artist .artist-info a {
  color: #cccccc;
  text-decoration: none;
}
.album-artist .artist-info a:hover {
  color: #0088ff;
}
.album-artist .album-meta {
  color: #888888;
  font-size: 12px;
}
.album-artist .album-meta .meta-item {
  display: inline-block;
}
.album-artist .album-meta .meta-item .glyphicon {
  margin-right: 5px;
}
.album-artist .album-meta .meta-separator {
  margin: 0 5px;
}

.album-cover-section {
  position: relative;
  width: 100%;
}

.album-cover {
  width: 100%;
  height: 200px;
  background-color: #2a2a2a;
  position: relative;
  overflow: hidden;
}
.album-cover img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.album-cover .album-header {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 15px;
  background-color: rgba(10, 10, 10, 0.85);
}

.album-badge {
  display: inline-block;
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  color: #ffffff;
  background-color: #1a1a1a;
  border: 1px solid #555555;
  border-radius: 0;
  box-shadow: none;
  white-space: nowrap;
}
.album-badge .glyphicon {
  margin-right: 4px;
  font-size: 10px;
}
.album-badge.badge-new {
  background-color: #f10732;
  border-color: #f10732;
}
.album-badge.badge-hot {
  background-color: #f10732;
  border-color: #f10732;
}
.album-badge.badge-featured {
  background-color: #0088ff;
  border-color: #0088ff;
}
.album-badge.badge-latest {
  background-color: #ffaa00;
  border-color: #ffaa00;
}

.album-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 4;
  background-color: rgba(0, 0, 0, 0.6);
  opacity: 0;
}
.album-overlay .btn-album-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
  border: none;
  color: #ffffff;
  padding: 0;
  cursor: pointer;
  transition: all 0.3s ease;
}
@supports not (transform: translate(-50%, -50%)) {
  .album-overlay .btn-album-play {
    top: 40%;
    left: 40%;
  }
}
.album-overlay .btn-album-play .glyphicon {
  font-size: 48px;
  color: #ffffff;
}
.album-overlay .btn-album-play:hover {
  background-color: transparent;
  transform: translate(-50%, -50%) scale(1.1);
}
@supports not (transform: translate(-50%, -50%)) {
  .album-overlay .btn-album-play:hover {
    top: 38%;
    left: 38%;
  }
}
.album-overlay .btn-album-play:hover .glyphicon {
  color: #f10732;
}
.album-overlay .btn-album-play:active {
  transform: translate(-50%, -50%) scale(0.95);
}
@supports not (transform: translate(-50%, -50%)) {
  .album-overlay .btn-album-play:active {
    top: 42%;
    left: 42%;
  }
}

.album-card:hover .album-overlay {
  opacity: 1;
}

.album-description {
  font-size: 12px;
  color: #cccccc;
  line-height: 1.6;
  margin-bottom: 15px;
  padding: 10px 0;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
}

.album-actions {
  display: block;
}
.album-actions .btn-action {
  display: inline-block;
  padding: 6px 15px;
  margin-right: 10px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 12px;
  cursor: pointer;
  text-decoration: none;
}
.album-actions .btn-action .glyphicon {
  margin-right: 4px;
  font-size: 12px;
}
.album-actions .btn-action:hover {
  background-color: #0a0a0a;
  border-color: #555555;
}
.album-actions .btn-action.btn-play-all {
  background-color: #f10732;
  border-color: #f10732;
}
.album-actions .btn-action.btn-play-all:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.album-actions .btn-action.collected {
  background-color: #f10732;
  border-color: #f10732;
}
.album-actions .btn-action.collected .glyphicon:before {
  content: "\e005";
}

.album-sidebar-list {
  display: block;
}

.album-sidebar-item {
  display: block;
  padding: 5px 0;
  border-bottom: 1px solid #333333;
  text-decoration: none;
}
.album-sidebar-item:before, .album-sidebar-item:after {
  content: " ";
  display: table;
}
.album-sidebar-item:after {
  clear: both;
}
.album-sidebar-item {
  *zoom: 1;
}
@supports (display: flex) {
  .album-sidebar-item {
    display: flex;
    align-items: center;
  }
  .album-sidebar-item > * + * {
    margin-left: 10px;
  }
}
.album-sidebar-item:hover {
  background-color: #2a2a2a;
}
.album-sidebar-item:hover .album-sidebar-title {
  color: #f10732;
}
.album-sidebar-item:last-child {
  border-bottom: none;
}

.album-sidebar-cover {
  width: 50px;
  height: 50px;
  background-color: #2a2a2a;
  overflow: hidden;
  float: left;
  margin-right: 10px;
}
@supports (display: flex) {
  .album-sidebar-cover {
    float: none;
    margin-right: 0;
    flex-shrink: 0;
  }
}
.album-sidebar-cover img {
  width: 100%;
  height: 100%;
  display: block;
}

.album-sidebar-content {
  overflow: hidden;
}
@supports (display: flex) {
  .album-sidebar-content {
    overflow: visible;
    flex: 1;
    min-width: 0;
  }
}

.album-sidebar-title {
  color: #ffffff;
  margin: 0 0 4px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.album-sidebar-meta {
  font-size: 12px;
  color: #888888;
  padding-bottom: 5px;
  margin-left: 5px;
  border-bottom: 1px solid #333333;
}
.album-sidebar-meta .meta-tag {
  display: inline-block;
}
.album-sidebar-meta .meta-separator {
  margin: 0 4px;
}
.album-sidebar-meta .meta-value {
  display: inline-block;
}

.album-cover.image-loading {
  background: #2a2a2a;
  position: relative;
}
.album-cover.image-loading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border: 3px solid #333333;
  border-top-color: #f10732;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@supports not (animation: spin 1s linear infinite) {
  .album-cover.image-loading:before {
    content: "●";
    width: auto;
    height: auto;
    margin: -8px 0 0 -8px;
    border: none;
    color: #f10732;
    font-size: 16px;
  }
}
.album-cover.image-loading img {
  opacity: 0;
}
.album-cover.image-loading.loaded:before {
  display: none;
}
.album-cover.image-loading.loaded img {
  opacity: 1;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.album-sidebar-cover.image-loading {
  background: #2a2a2a;
  position: relative;
}
.album-sidebar-cover.image-loading:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid #333333;
  border-top-color: #f10732;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@supports not (animation: spin 1s linear infinite) {
  .album-sidebar-cover.image-loading:before {
    content: "●";
    width: auto;
    height: auto;
    margin: -6px 0 0 -4px;
    border: none;
    color: #f10732;
    font-size: 12px;
  }
}
.album-sidebar-cover.image-loading img {
  opacity: 0;
}
.album-sidebar-cover.image-loading.loaded:before {
  display: none;
}
.album-sidebar-cover.image-loading.loaded img {
  opacity: 1;
}

.album-section .page-header {
  border-bottom: 1px solid #333333;
  background-color: transparent;
  margin: 0 0 15px;
  padding-bottom: 15px;
}
.album-section .page-header h3 {
  color: #ffffff;
  font-size: 26px;
  margin: 0;
  text-shadow: none;
  font-weight: 400;
}
.album-section .page-header h3::before {
  content: "" "";
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #f10732;
  margin-right: 5px;
  vertical-align: middle;
}
.album-section .page-header .btn {
  background-color: #2a2a2a;
  color: #cccccc;
  border: 1px solid #555555;
  padding: 8px 16px;
  font-size: 12px;
}
.album-section .page-header .btn:hover {
  background-color: #f10732;
  color: #ffffff;
  border-color: #f10732;
}
.album-section .page-header .btn:focus {
  outline: none !important;
  box-shadow: none !important;
}

.album-detail-section {
  padding: 0 15px;
}

.album-detail-header {
  margin-bottom: 15px;
  background-color: #1a1a1a;
  overflow: hidden;
}
@supports (display: flex) {
  .album-detail-header {
    display: flex;
    align-items: flex-start;
  }
  .album-detail-header > * + * {
    margin-left: 20px;
  }
}

.album-detail-cover {
  width: 234px;
  height: 234px;
  float: left;
  margin-right: 20px;
}
@supports (display: flex) {
  .album-detail-cover {
    float: none;
    margin-right: 0;
    flex-shrink: 0;
  }
}

.album-detail-cover-inner {
  width: 100%;
  height: 100%;
  background-color: #2a2a2a;
  overflow: hidden;
  position: relative;
}
.album-detail-cover-inner img {
  width: 100%;
  height: 100%;
  display: block;
}

.album-detail-info {
  overflow: hidden;
  padding: 15px 0;
}
@supports (display: flex) {
  .album-detail-info {
    flex: 1;
    min-width: 0;
  }
}

.album-detail-type {
  color: #888888;
  font-size: 12px;
  margin-bottom: 5px;
  text-transform: uppercase;
  letter-spacing: 1px;
}
.album-detail-type .glyphicon {
  margin-right: 5px;
}

.album-detail-title {
  font-size: 28px;
  font-weight: bold;
  color: #ffffff;
  margin: 0 0 15px 0;
  line-height: 1.2;
}

.album-detail-artist {
  margin-bottom: 15px;
}
.album-detail-artist .artist-link {
  color: #cccccc;
  font-size: 16px;
  text-decoration: none;
  display: inline-block;
}
.album-detail-artist .artist-link .glyphicon {
  margin-right: 5px;
}
.album-detail-artist .artist-link:hover {
  color: #f10732;
}

.album-detail-meta {
  color: #888888;
  font-size: 12px;
  margin-bottom: 20px;
}
.album-detail-meta .meta-item {
  display: inline-block;
}
.album-detail-meta .meta-item .glyphicon {
  margin-right: 4px;
}
.album-detail-meta .meta-separator {
  margin: 0 10px;
}

.album-detail-actions {
  display: block;
}
.album-detail-actions .btn-action {
  display: inline-block;
  padding: 10px 15px;
  margin-right: 10px;
  margin-bottom: 10px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 12px;
  cursor: pointer;
  text-decoration: none;
}
.album-detail-actions .btn-action .glyphicon {
  margin-right: 5px;
}
.album-detail-actions .btn-action:hover {
  background-color: #0a0a0a;
  border-color: #555555;
}
.album-detail-actions .btn-action.btn-play-all {
  background-color: #f10732;
  border-color: #f10732;
}
.album-detail-actions .btn-action.btn-play-all:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.album-detail-actions .btn-action.collected {
  background-color: #f10732;
  border-color: #f10732;
}

.album-detail-tabs {
  margin-bottom: 15px;
  border-bottom: 1px solid #333333;
}
.album-detail-tabs .tab-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.album-detail-tabs .tab-nav .tab-item {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: -1px;
}
.album-detail-tabs .tab-nav .tab-item.active .tab-link {
  color: #f10732;
  border-bottom: 1px solid #f10732 !important;
}
.album-detail-tabs .tab-nav .tab-link {
  display: block;
  padding: 10px 5px 10px 0;
  color: #cccccc;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 2px solid transparent;
  transition: all 0.3s ease;
}
.album-detail-tabs .tab-nav .tab-link .glyphicon {
  margin-right: 6px;
  font-size: 13px;
}
.album-detail-tabs .tab-nav .tab-link:hover {
  color: #ffffff;
}

.tab-content .tab-pane {
  display: none;
}
.tab-content .tab-pane.active {
  display: block;
}

.album-about {
  padding: 15px;
}
.album-about .about-title {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  margin: 0 0 15px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.album-about .about-content {
  color: #cccccc;
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 30px;
}
.album-about .about-content p {
  margin-bottom: 15px;
}
.album-about .about-content p:last-child {
  margin-bottom: 0;
}
.album-about .about-info .info-item {
  padding: 10px 0;
  border-bottom: 1px solid #333333;
}
.album-about .about-info .info-item:last-child {
  border-bottom: none;
}
.album-about .about-info .info-label {
  display: inline-block;
  width: 100px;
  color: #888888;
  font-size: 12px;
}
.album-about .about-info .info-value {
  color: #cccccc;
  font-size: 14px;
}

.album-comments {
  padding: 15px;
}

.comment-form {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #333333;
}
.comment-form .form-title {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  margin: 0 0 15px 0;
}
.comment-form .comment-textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  resize: vertical;
}
.comment-form .comment-textarea:focus {
  border-color: #f10732;
  outline: none;
}
.comment-form .btn-submit-comment {
  display: inline-block;
  padding: 10px 20px;
  background-color: #f10732;
  border: 1px solid #f10732;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
}
.comment-form .btn-submit-comment .glyphicon {
  margin-right: 5px;
}
.comment-form .btn-submit-comment:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
  border-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}

.comment-list .list-title {
  font-size: 16px;
  font-weight: bold;
  color: #ffffff;
  margin: 0 0 20px 0;
}

.comment-item {
  display: block;
  padding: 15px 0;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
@supports (display: flex) {
  .comment-item {
    display: flex;
    align-items: flex-start;
  }
  .comment-item > * + * {
    margin-left: 15px;
  }
}
.comment-item:last-child {
  border-bottom: none;
}

.comment-avatar {
  width: 40px;
  height: 40px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  text-align: center;
  line-height: 40px;
  float: left;
  margin-right: 15px;
}
@supports (display: flex) {
  .comment-avatar {
    float: none;
    margin-right: 0;
    flex-shrink: 0;
  }
}
.comment-avatar .glyphicon {
  color: #888888;
  font-size: 16px;
}

.comment-content {
  overflow: hidden;
}
@supports (display: flex) {
  .comment-content {
    flex: 1;
    min-width: 0;
  }
}

.comment-header {
  margin-bottom: 5px;
}
.comment-header .comment-author {
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  margin-right: 10px;
}
.comment-header .comment-date {
  color: #888888;
  font-size: 12px;
}

.comment-text {
  color: #cccccc;
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 992px) {
  .album-detail-header {
    display: block;
  }
  .album-detail-header .album-detail-cover {
    float: none;
    margin: 0 auto 20px auto;
  }
  .album-detail-header .album-detail-info {
    text-align: center;
  }
}
.login-header {
  width: 100%;
  height: 60px;
  background-color: transparent;
  position: relative;
  z-index: 1030;
}
.login-header .container {
  height: 100%;
}
.login-header .header-logo {
  display: inline-block;
  height: 60px;
  line-height: 60px;
  text-decoration: none;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
}
.login-header .header-logo img {
  width: 100px;
  height: auto;
  max-height: 40px;
  vertical-align: middle;
  margin-right: 10px;
  margin-top: -4px;
}
.login-header .header-logo span {
  vertical-align: middle;
}
.login-header .header-logo:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .login-header {
    height: 50px;
  }
  .login-header .header-logo {
    height: 50px;
    line-height: 50px;
    font-size: 16px;
  }
  .login-header .header-logo img {
    width: 80px;
    max-height: 32px;
    margin-right: 5px;
  }
}

.login-page,
.register-page,
.resetpwd-page {
  background-color: #0a0a0a;
  min-height: 100vh;
  padding: 0;
}

.login-page .login-wrapper.login-wrapper-centered,
.register-page .login-wrapper.login-wrapper-centered,
.resetpwd-page .login-wrapper.login-wrapper-centered {
  background-color: transparent !important;
  border: none !important;
  max-width: 500px !important;
  width: 500px !important;
  margin: 0 auto !important;
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.login-page .login-wrapper.login-wrapper-centered .login-container,
.register-page .login-wrapper.login-wrapper-centered .login-container,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-container {
  text-align: center;
  padding: 20px;
  width: 500px;
  position: static;
  display: block;
}
.login-page .login-wrapper.login-wrapper-centered .login-logo,
.login-page .login-wrapper.login-wrapper-centered .login-title,
.login-page .login-wrapper.login-wrapper-centered .login-tabs,
.login-page .login-wrapper.login-wrapper-centered .tab-content,
.login-page .login-wrapper.login-wrapper-centered .login-form,
.login-page .login-wrapper.login-wrapper-centered .login-footer,
.register-page .login-wrapper.login-wrapper-centered .login-logo,
.register-page .login-wrapper.login-wrapper-centered .login-title,
.register-page .login-wrapper.login-wrapper-centered .login-tabs,
.register-page .login-wrapper.login-wrapper-centered .tab-content,
.register-page .login-wrapper.login-wrapper-centered .login-form,
.register-page .login-wrapper.login-wrapper-centered .login-footer,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-logo,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-title,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-tabs,
.resetpwd-page .login-wrapper.login-wrapper-centered .tab-content,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-form,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-footer {
  max-width: 400px;
  width: 400px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.login-page .login-wrapper.login-wrapper-centered .login-title,
.register-page .login-wrapper.login-wrapper-centered .login-title,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-title {
  text-align: center;
}
.login-page .login-wrapper.login-wrapper-centered .login-footer,
.register-page .login-wrapper.login-wrapper-centered .login-footer,
.resetpwd-page .login-wrapper.login-wrapper-centered .login-footer {
  text-align: center;
}
@media (max-width: 767px) {
  .login-page .login-wrapper.login-wrapper-centered,
  .register-page .login-wrapper.login-wrapper-centered,
  .resetpwd-page .login-wrapper.login-wrapper-centered {
    max-width: 100% !important;
    width: calc(100% - 40px) !important;
    margin-left: 20px !important;
    margin-right: 20px !important;
    padding-top: 80px !important;
    padding-bottom: 40px !important;
  }
  .login-page .login-wrapper.login-wrapper-centered .login-container,
  .register-page .login-wrapper.login-wrapper-centered .login-container,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-container {
    padding: 20px;
    width: 100%;
  }
  .login-page .login-wrapper.login-wrapper-centered .login-logo,
  .login-page .login-wrapper.login-wrapper-centered .login-title,
  .login-page .login-wrapper.login-wrapper-centered .login-tabs,
  .login-page .login-wrapper.login-wrapper-centered .tab-content,
  .login-page .login-wrapper.login-wrapper-centered .login-form,
  .login-page .login-wrapper.login-wrapper-centered .login-footer,
  .register-page .login-wrapper.login-wrapper-centered .login-logo,
  .register-page .login-wrapper.login-wrapper-centered .login-title,
  .register-page .login-wrapper.login-wrapper-centered .login-tabs,
  .register-page .login-wrapper.login-wrapper-centered .tab-content,
  .register-page .login-wrapper.login-wrapper-centered .login-form,
  .register-page .login-wrapper.login-wrapper-centered .login-footer,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-logo,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-title,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-tabs,
  .resetpwd-page .login-wrapper.login-wrapper-centered .tab-content,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-form,
  .resetpwd-page .login-wrapper.login-wrapper-centered .login-footer {
    max-width: 100%;
    width: 100%;
  }
}

.login-page .login-wrapper,
.register-page .login-wrapper,
.resetpwd-page .login-wrapper {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  overflow: hidden;
}
@media (min-width: 992px) {
  .login-page .login-wrapper,
  .register-page .login-wrapper,
  .resetpwd-page .login-wrapper {
    display: table;
    width: 100%;
  }
  .login-page .login-wrapper .login-left,
  .login-page .login-wrapper .login-right,
  .register-page .login-wrapper .login-left,
  .register-page .login-wrapper .login-right,
  .resetpwd-page .login-wrapper .login-left,
  .resetpwd-page .login-wrapper .login-right {
    display: table-cell;
    vertical-align: middle;
  }
  .login-page .login-wrapper .login-left,
  .register-page .login-wrapper .login-left,
  .resetpwd-page .login-wrapper .login-left {
    width: 60%;
    padding: 60px 50px;
  }
  .login-page .login-wrapper .login-right,
  .register-page .login-wrapper .login-right,
  .resetpwd-page .login-wrapper .login-right {
    width: 40%;
    padding: 60px 40px;
    background-color: #f10732;
    color: #ffffff;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .login-page .login-wrapper .login-left,
  .login-page .login-wrapper .login-right,
  .register-page .login-wrapper .login-left,
  .register-page .login-wrapper .login-right,
  .resetpwd-page .login-wrapper .login-left,
  .resetpwd-page .login-wrapper .login-right {
    padding: 40px 30px;
  }
  .login-page .login-wrapper .login-right,
  .register-page .login-wrapper .login-right,
  .resetpwd-page .login-wrapper .login-right {
    background-color: #f10732;
    color: #ffffff;
    text-align: center;
  }
}

.login-logo {
  margin-bottom: 40px;
  text-align: center;
}
.login-logo img {
  max-width: 280px;
  height: auto;
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .login-logo {
    margin-bottom: 30px;
  }
  .login-logo img {
    max-width: 220px;
  }
}

.login-title {
  font-size: 32px;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 30px;
  text-align: center;
}
@media (max-width: 767px) {
  .login-title {
    font-size: 28px;
    margin-bottom: 20px;
  }
}

.login-subtitle {
  font-size: 14px;
  color: #888888;
  margin-bottom: 40px;
}

.login-tabs {
  display: table;
  width: 100%;
  margin-bottom: 30px;
  border-bottom: 2px solid #333333;
  table-layout: fixed;
}
.login-tabs .tab-item {
  display: table-cell;
  width: 33.333333%;
  text-align: center;
  padding: 10px 0;
  cursor: pointer;
  position: relative;
  color: #cccccc;
  font-size: 16px;
  font-weight: 500;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.login-tabs .tab-item:hover {
  color: #ffffff;
}
.login-tabs .tab-item.active {
  color: #f10732;
}
.login-tabs .tab-item.active:after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #f10732;
}
@media (max-width: 767px) {
  .login-tabs {
    margin-bottom: 20px;
  }
  .login-tabs .tab-item {
    font-size: 12px;
    padding: 5px 0;
  }
}

.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

.wechat-login {
  padding: 20px 0;
  text-align: center;
}
.wechat-login .qrcode-container {
  text-align: center;
  margin-bottom: 30px;
}
.wechat-login .qrcode-box {
  width: 210px;
  height: 210px;
  margin: 0 auto 20px;
  background-color: #1a1a1a;
  border: 2px solid #333333;
  display: block;
  text-align: center;
  line-height: 210px;
}
.wechat-login .qrcode-box img {
  max-width: 100%;
  max-height: 100%;
  display: inline-block;
  vertical-align: middle;
  line-height: normal;
}
.wechat-login .qrcode-box .qrcode-loading {
  color: #cccccc;
  font-size: 14px;
  line-height: normal;
  padding-top: 70px;
}
.wechat-login .qrcode-box .qrcode-loading .glyphicon {
  font-size: 14px;
  margin-bottom: 10px;
  display: block;
}
.wechat-login .qrcode-box .qrcode-loading p {
  margin: 0;
  font-size: 14px;
}
.wechat-login .qrcode-box .qrcode-error {
  line-height: normal;
  padding-top: 80px;
}
.wechat-login .qrcode-box .qrcode-error .error-text {
  color: #888888;
  font-size: 14px;
  margin-bottom: 10px;
  display: block;
}
.wechat-login .qrcode-box .qrcode-error .refresh-btn {
  color: #f10732;
  font-size: 12px;
  text-decoration: none;
  cursor: pointer;
}
.wechat-login .qrcode-box .qrcode-error .refresh-btn:hover {
  text-decoration: underline;
}
.wechat-login .qrcode-box .wechat-oauth-btn-container {
  padding: 20px;
  line-height: normal;
  text-align: center;
}
.wechat-login .qrcode-box .wechat-oauth-btn-container .btn-wechat-oauth {
  width: 100%;
  padding: 15px 20px;
  font-size: 16px;
  margin-bottom: 15px;
  background-color: #07c160;
  border-color: #07c160;
}
.wechat-login .qrcode-box .wechat-oauth-btn-container .btn-wechat-oauth:hover {
  background-color: #06ad56;
  border-color: #06ad56;
}
.wechat-login .qrcode-box .wechat-oauth-btn-container .btn-wechat-oauth .glyphicon {
  margin-right: 5px;
}
.wechat-login .qrcode-box .wechat-oauth-btn-container .help-text {
  color: #888888;
  font-size: 12px;
  margin: 0;
  line-height: 1.5;
}
.wechat-login .qrcode-tip {
  color: #ffffff;
  font-size: 14px;
  margin: 0 0 5px 0;
  text-align: center;
  font-weight: 500;
}
.wechat-login .mobile-qrcode-tip {
  color: #f10732;
  font-size: 12px;
  margin: 10px 0 0 0;
  text-align: center;
  font-weight: 500;
  line-height: 1.6;
}
.wechat-login .qrcode-desc {
  color: #cccccc;
  font-size: 12px;
  margin: 0;
  text-align: center;
}
@media (max-width: 767px) {
  .wechat-login .qrcode-box {
    width: 210px;
    height: 210px;
  }
}

.login-footer {
  margin-top: 30px;
  text-align: center;
}
.login-footer p {
  color: #cccccc;
  font-size: 14px;
  margin: 0;
}
.login-footer .link-register {
  color: #f10732;
  text-decoration: none;
  font-weight: 500;
}
.login-footer .link-register:hover {
  text-decoration: underline;
}

.login-form .form-group {
  margin-bottom: 24px;
}
.login-form .form-group label {
  display: block;
  margin-bottom: 8px;
  color: #cccccc;
  font-size: 14px;
  font-weight: 500;
}
.login-form .form-group label .glyphicon {
  margin-right: 6px;
  color: #f10732;
}
.login-form .form-group .form-control {
  width: 100%;
  height: 40px;
  padding: 0 16px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  line-height: 40px;
}
.login-form .form-group .form-control:focus {
  outline: none;
  border-color: #f10732;
  background-color: #2a2a2a;
}
.login-form .form-group .input-with-suffix {
  position: relative;
}
.login-form .form-group .input-with-suffix .form-control {
  padding-right: 0;
}
.login-form .form-group .input-with-suffix .input-suffix-link {
  position: absolute;
  right: 14px;
  top: 50%;
  margin-top: -10px;
  color: #f10732;
  font-size: 13px;
  text-decoration: none;
}
.login-form .form-group .input-with-suffix .input-suffix-link:hover {
  text-decoration: underline;
}

.captcha-wrapper {
  display: table;
  width: 100%;
  position: relative;
}
.captcha-wrapper .captcha-input,
.captcha-wrapper .captcha-image-wrapper {
  display: table-cell;
  vertical-align: middle;
}
.captcha-wrapper .captcha-input {
  width: 60%;
  padding-right: 12px;
  position: relative;
}
.captcha-wrapper .captcha-image-wrapper {
  width: 40%;
}
.captcha-wrapper .captcha-image {
  width: 100%;
  height: 40px;
  border: 1px solid #333333;
  cursor: pointer;
  display: block;
}
.captcha-wrapper .captcha-image:hover {
  opacity: 0.8;
  border-color: #f10732;
}

.checkbox-group {
  margin-bottom: 20px;
}
.checkbox-group .checkbox-label {
  display: block;
  cursor: pointer;
  color: #cccccc;
  font-size: 14px;
}
.checkbox-group .checkbox-label input[type=checkbox] {
  margin-right: 8px;
  cursor: pointer;
  width: 16px;
  height: 16px;
  vertical-align: middle;
}
.checkbox-group .checkbox-label span {
  vertical-align: middle;
}

.btn-login {
  width: 100%;
  padding: 14px 24px;
  background-color: #f10732;
  border: none;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
}
.btn-login .glyphicon {
  margin-right: 8px;
}
.btn-login:hover {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.btn-login:active {
  background-color: rgb(166.6592741935, 4.8407258065, 34.5766129032);
}
.btn-login:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.other-login {
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #333333;
}
.other-login .divider {
  text-align: center;
  margin: 30px 0;
  position: relative;
}
.other-login .divider:before, .other-login .divider:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 42%;
  height: 1px;
  background-color: #333333;
}
.other-login .divider:before {
  left: 0;
}
.other-login .divider:after {
  right: 0;
}
.other-login .divider span {
  display: inline-block;
  padding: 0 16px;
  background-color: #1a1a1a;
  color: #888888;
  font-size: 13px;
  position: relative;
  z-index: 1;
}
.other-login .btn-wechat {
  width: 100%;
  padding: 12px 20px;
  background-color: #09bb07;
  border: none;
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
}
.other-login .btn-wechat .glyphicon {
  margin-right: 8px;
  font-size: 16px;
}
.other-login .btn-wechat:hover {
  background-color: #08a006;
}

.register-panel h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .register-panel h2 {
    font-size: 24px;
  }
}
.register-panel p {
  font-size: 15px;
  margin-bottom: 40px;
  opacity: 0.95;
  line-height: 1.6;
}
.register-panel .btn-register {
  display: inline-block;
  padding: 14px 40px;
  background-color: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
.register-panel .btn-register:hover {
  background-color: #ffffff;
  color: #f10732;
  text-decoration: none;
}
.register-panel .features {
  margin-top: 60px;
  text-align: left;
}
@media (max-width: 767px) {
  .register-panel .features {
    margin-top: 40px;
  }
}
.register-panel .features .feature-item {
  margin-bottom: 20px;
}
.register-panel .features .feature-item .glyphicon {
  font-size: 20px;
  margin-right: 12px;
  opacity: 0.9;
  display: inline-block;
  vertical-align: middle;
}
.register-panel .features .feature-item span {
  font-size: 14px;
  opacity: 0.95;
  display: inline-block;
  vertical-align: middle;
}

.resetpwd-tabs {
  display: table;
  width: 100%;
  border-bottom: 1px solid #333333;
  margin-bottom: 20px;
}
.resetpwd-tabs .resetpwd-tab {
  display: table-cell;
  width: 50%;
  padding: 14px 20px;
  background-color: transparent;
  border: none;
  border-bottom: 3px solid transparent;
  color: #cccccc;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
}
.resetpwd-tabs .resetpwd-tab .glyphicon {
  margin-right: 6px;
  font-size: 16px;
}
.resetpwd-tabs .resetpwd-tab:hover {
  color: #ffffff;
  background-color: #2a2a2a;
}
.resetpwd-tabs .resetpwd-tab.active {
  color: #f10732;
  border-bottom-color: #f10732;
}

.error-message {
  display: none;
  color: #e74c3c;
  font-size: 12px;
  margin-top: 6px;
}

.form-control.error {
  border-color: #e74c3c;
}

.password-strength {
  margin-top: 8px;
}
.password-strength .strength-bar {
  height: 4px;
  background-color: #2a2a2a;
  overflow: hidden;
  margin-bottom: 6px;
}
.password-strength .strength-bar .strength-bar-inner {
  height: 100%;
  width: 0;
}
.password-strength .strength-bar .strength-bar-inner.weak {
  width: 33%;
  background-color: #e74c3c;
}
.password-strength .strength-bar .strength-bar-inner.medium {
  width: 66%;
  background-color: #f39c12;
}
.password-strength .strength-bar .strength-bar-inner.strong {
  width: 100%;
  background-color: #2ecc71;
}
.password-strength .strength-text {
  font-size: 12px;
  color: #888888;
}

.btn-send-code {
  position: absolute;
  right: 0;
  top: 0;
  height: 40px;
  padding: 0 20px;
  background-color: #f10732;
  border: none;
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  line-height: 40px;
}
.btn-send-code:hover {
  background-color: rgb(216.2197580645, 6.2802419355, 44.8588709677);
}
.btn-send-code:active {
  background-color: rgb(191.439516129, 5.560483871, 39.7177419355);
}
.btn-send-code:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f10732;
}

.user-center-body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  background: #0a0a0a;
  color: #ffffff;
  padding-top: 60px;
}

.top-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: #1a1a1a;
  border-bottom: 1px solid #333333;
  z-index: 1000;
}
.top-header:focus, .top-header:active {
  outline: none;
  background: #1a1a1a;
}
.top-header .mobile-menu-toggle {
  display: none;
  position: absolute;
  left: 15px;
  top: 50%;
  margin-top: -18px;
  width: 36px;
  height: 36px;
  background: transparent;
  border: 1px solid #333333;
  color: #ffffff;
  cursor: pointer;
  z-index: 10;
}
.top-header .mobile-menu-toggle i {
  font-size: 18px;
  line-height: 34px;
}
.top-header .mobile-menu-toggle:hover {
  background: #2a2a2a;
  border-color: #00dd77;
  color: #00dd77;
}
.top-header .header-container {
  display: block;
  height: 100%;
  padding: 0 20px;
  overflow: hidden;
}
@supports (display: flex) {
  .top-header .header-container {
    display: flex;
    align-items: center;
  }
}
.top-header .header-container:focus, .top-header .header-container:active {
  outline: none;
  background: #1a1a1a;
}
.top-header .header-left {
  float: left;
  width: auto;
}
.top-header .header-left .logo {
  display: block;
}
.top-header .header-left .logo img {
  height: 40px;
  max-width: 120px;
  display: block;
}
.top-header .header-center {
  float: left;
  width: 50%;
  text-align: center;
  padding: 0 40px;
}
@supports (display: flex) {
  .top-header .header-center {
    float: none;
    width: auto;
    flex: 1;
    display: flex;
    justify-content: center;
  }
}
.top-header .header-center .search-box {
  position: relative;
  width: 400px;
  display: inline-block;
}
.top-header .header-center .search-box input {
  width: 350px;
  height: 40px;
  padding: 0 50px 0 16px;
  border: 1px solid #555555;
  background: #2a2a2a;
  font-size: 14px;
  color: #ffffff;
  vertical-align: middle;
}
.top-header .header-center .search-box input:focus {
  outline: none;
  border-color: #00dd77;
  background: #1a1a1a;
}
.top-header .header-center .search-box button {
  position: absolute;
  right: 0;
  top: 0;
  height: 40px;
  width: 40px;
  border: none;
  background: #00dd77;
  color: #ffffff;
  cursor: pointer;
}
.top-header .header-center .search-box button:hover {
  background: rgb(17, 255, 145.1538461538);
}
.top-header .header-center .search-box button i {
  font-size: 16px;
}
.top-header .header-right {
  float: right;
  width: auto;
}
@supports (display: flex) {
  .top-header .header-right {
    float: none;
    display: flex;
    align-items: center;
    gap: 20px;
  }
}
.top-header .header-right .user-info {
  display: inline-block;
  vertical-align: middle;
  margin-right: 20px;
}
@supports (display: flex) {
  .top-header .header-right .user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-right: 0;
  }
}
.top-header .header-right .user-info .user-avatar {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px;
}
.top-header .header-right .user-info .user-avatar img {
  width: 36px;
  height: 36px;
  border: 2px solid #555555;
  display: block;
}
.top-header .header-right .user-info .user-avatar .vip-badge-img {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 14px;
  height: 14px;
  z-index: 10;
  border: none;
  outline: none;
}
.top-header .header-right .user-info .user-details {
  display: inline-block;
  vertical-align: middle;
}
.top-header .header-right .user-info .user-details .username {
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.2;
  display: block;
}
.top-header .header-right .user-info .user-details .user-stats {
  display: block;
  margin-top: 2px;
}
@supports (display: flex) {
  .top-header .header-right .user-info .user-details .user-stats {
    display: flex;
    align-items: center;
    gap: 8px;
  }
}
.top-header .header-right .user-info .user-details .user-stats .gold-count {
  font-size: 12px;
  color: #ffaa00;
  font-weight: 600;
  display: inline-block;
  margin-right: 8px;
}
.top-header .header-right .user-info .user-details .user-stats .gold-count i {
  font-size: 10px;
  margin-right: 2px;
}
.top-header .header-right .user-info .user-details .user-stats .vip-badge {
  background: #ffaa00;
  color: #2c2c2c;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 6px;
  text-transform: uppercase;
  display: inline-block;
}
.top-header .header-right .user-info .user-details .user-stats .normal-badge {
  background: #888888;
  color: #ffffff;
  font-size: 10px;
  padding: 2px 6px;
  display: inline-block;
}
.top-header .header-right .quick-actions {
  display: inline-block;
  vertical-align: middle;
}
@supports (display: flex) {
  .top-header .header-right .quick-actions {
    display: flex;
    gap: 8px;
  }
}
.top-header .header-right .quick-actions .action-btn {
  display: inline-block;
  padding: 8px 12px;
  font-size: 12px;
  text-decoration: none;
  border: 1px solid;
  margin-right: 8px;
  vertical-align: middle;
}
@supports (display: flex) {
  .top-header .header-right .quick-actions .action-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-right: 0;
  }
}
.top-header .header-right .quick-actions .action-btn i {
  font-size: 14px;
}
.top-header .header-right .quick-actions .action-btn.recharge-btn {
  color: #00cc66;
  border-color: #00cc66;
}
.top-header .header-right .quick-actions .action-btn.recharge-btn:hover {
  background: #00cc66;
  color: #ffffff;
}
.top-header .header-right .quick-actions .action-btn.logout-btn {
  color: #cccccc;
  border-color: #555555;
}
.top-header .header-right .quick-actions .action-btn.logout-btn:hover {
  background: #f10732;
  border-color: #f10732;
  color: #ffffff;
}

.sidebar-overlay {
  display: none;
  position: fixed;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
}
.sidebar-overlay.show {
  display: block;
}

.main-user-container {
  display: table;
  width: 100%;
  table-layout: fixed;
  height: calc(100vh - 60px);
}
@supports not (height: calc(100vh - 60px)) {
  .main-user-container {
    position: absolute;
    top: 60px;
    bottom: 0;
    left: 0;
    right: 0;
    height: auto;
  }
}

.sidebar {
  display: table-cell;
  width: 210px;
  background: #1a1a1a;
  color: #ffffff;
  overflow-y: auto;
  overflow-x: hidden;
  vertical-align: top;
  height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sidebar::-webkit-scrollbar {
  display: none;
}
.sidebar .sidebar-content {
  padding: 20px 0;
  min-height: 100%;
}
.sidebar .user-card {
  padding: 20px;
}
.sidebar .user-card .user-card-avatar {
  position: relative;
  text-align: center;
  margin-bottom: 16px;
}
.sidebar .user-card .user-card-avatar img {
  width: 80px;
  height: 80px;
}
.sidebar .user-card .user-card-avatar .vip-badge-img {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -40px;
  margin-left: 20px;
  width: 24px;
  height: 24px;
  z-index: 10;
  border: none;
  outline: none;
}
.sidebar .user-card .user-card-info {
  text-align: center;
}
.sidebar .user-card .user-card-info .user-card-name {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #ffffff;
}
.sidebar .user-card .user-card-info .user-card-status {
  margin: 0 0 16px 0;
}
.sidebar .user-card .user-card-info .user-card-status .status-vip {
  background: #ffaa00;
  color: #2c2c2c;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 12px;
  text-transform: uppercase;
}
.sidebar .user-card .user-card-info .user-card-status .status-normal {
  background: #888888;
  color: #ffffff;
  font-size: 12px;
  padding: 4px 12px;
}
.sidebar .user-card .user-card-info .user-card-stats {
  display: block;
  text-align: center;
}
@supports (display: flex) {
  .sidebar .user-card .user-card-info .user-card-stats {
    display: flex;
    justify-content: space-around;
  }
}
.sidebar .user-card .user-card-info .user-card-stats .stat-item {
  text-align: center;
  display: inline-block;
  width: 30%;
}
@supports (display: flex) {
  .sidebar .user-card .user-card-info .user-card-stats .stat-item {
    display: block;
    width: auto;
  }
}
.sidebar .user-card .user-card-info .user-card-stats .stat-item .stat-value {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: #00dd77;
  line-height: 1.2;
}
.sidebar .user-card .user-card-info .user-card-stats .stat-item .stat-label {
  font-size: 11px;
  color: #888888;
  text-transform: uppercase;
}
.sidebar .sidebar-nav .nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link {
  display: block;
  padding: 16px 20px;
  color: #cccccc;
  text-decoration: none;
  border-left: 3px solid transparent;
  text-align: center;
}
@supports (display: flex) {
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link i {
  font-size: 18px;
  width: 20px;
  text-align: center;
  display: inline-block;
}
@supports (display: flex) {
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link i {
    margin-right: 0;
  }
}
@supports not (display: flex) {
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link i {
    margin-right: 8px;
  }
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link span {
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
}
@supports (display: flex) {
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link span {
    display: inline;
  }
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link:hover {
  background: #2a2a2a;
  color: #ffffff;
  border-left-color: #00dd77;
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link.active {
  background: #2a2a2a;
  color: #00dd77;
  border-left-color: #00dd77;
}
.sidebar .sidebar-nav .nav-list .nav-item .nav-link.active i {
  color: #00dd77;
}
.sidebar .sidebar-nav .nav-list .nav-divider {
  height: 1px;
  background: #2a2a2a;
  margin: 8px 20px;
}

.main-user-content {
  display: table-cell;
  width: auto;
  background: #0a0a0a;
  vertical-align: top;
  padding-top: 0;
  height: 100%;
  overflow-y: auto;
}
.main-user-content .content-wrapper {
  padding: 15px;
  min-height: 100%;
}
.main-user-content .content-wrapper .content-header {
  margin-bottom: 10px;
}
.main-user-content .content-wrapper .content-header h1 {
  font-size: 28px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 8px 0;
}
.main-user-content .content-wrapper .content-header .breadcrumb {
  font-size: 14px;
  color: #cccccc;
  margin-bottom: 10px;
}
.main-user-content .content-wrapper .content-body {
  background: #1a1a1a;
  padding: 15px;
}
.main-user-content .content-wrapper .content-body .welcome-section {
  margin-bottom: 30px;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card {
  background: #0a0a0a;
  padding: 30px;
  height: 100%;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card h2 {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 16px 0;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card .welcome-text {
  font-size: 16px;
  color: #cccccc;
  margin: 0 0 24px 0;
  line-height: 1.5;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card .quick-stats .stat-card {
  text-align: center;
  padding: 20px;
  background: #2a2a2a;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card .quick-stats .stat-card .stat-number {
  font-size: 28px;
  font-weight: 700;
  color: #00dd77;
  line-height: 1;
  margin-bottom: 8px;
}
.main-user-content .content-wrapper .content-body .welcome-section .welcome-card .quick-stats .stat-card .stat-label {
  font-size: 14px;
  color: #888888;
  text-transform: uppercase;
}
.main-user-content .content-wrapper .content-body .checkin-section {
  background: #0a0a0a;
  padding: 15px;
  height: 100%;
  display: table;
  width: 100%;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-content {
  display: table-cell;
  vertical-align: middle;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar {
  margin-bottom: 0;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day {
  background: #2a2a2a;
  padding: 16px 8px;
  text-align: center;
  position: relative;
  margin-bottom: 5px;
  border: 1px solid transparent;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.checked {
  background: #00dd77;
  color: #ffffff;
  cursor: default;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.clickable {
  cursor: pointer;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.clickable:hover {
  background: rgb(54.75, 54.75, 54.75);
  border-color: #00dd77;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.clickable:active {
  background: rgb(62.4, 62.4, 62.4);
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.disabled .day-number,
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.disabled .day-reward {
  color: #666666;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.loading {
  cursor: not-allowed;
  opacity: 0.7;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.loading .day-number,
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.loading .day-reward {
  opacity: 0.5;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.checkin-day-special {
  padding: 16px 12px;
  margin-bottom: 0;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.checkin-day-special.checked {
  background: #ffaa00;
  color: #2c2c2c;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.checkin-day-special:not(.checked):hover {
  border-color: #ffaa00;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day.checkin-day-special .day-reward {
  font-size: 13px;
  font-weight: 600;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day .day-number {
  font-size: 11px;
  font-weight: 600;
  margin-bottom: 6px;
  text-transform: uppercase;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day .day-reward {
  font-size: 10px;
  line-height: 1.2;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day .check-mark {
  position: absolute;
  top: 2px;
  right: 4px;
  font-size: 12px;
  color: #ffffff;
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day .checkin-loading {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
}
.main-user-content .content-wrapper .content-body .checkin-section .checkin-calendar .checkin-day .checkin-loading .spinner {
  width: 24px;
  height: 24px;
  border: 3px solid rgba(255, 255, 255, 0.3);
  border-top-color: #00dd77;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes checkinSuccess {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
    border-color: transparent;
  }
  50% {
    transform: scale(1.05);
    border-color: #00dd77;
  }
  100% {
    transform: scale(1);
    border-color: transparent;
  }
}
.main-user-content .content-wrapper .content-body .download-records-section .stats-bar {
  background: #0a0a0a;
  padding: 16px 20px;
  margin-bottom: 20px;
  display: block;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .download-records-section .stats-bar {
    display: flex;
    justify-content: flex-start;
    gap: 40px;
  }
}
.main-user-content .content-wrapper .content-body .download-records-section .stats-bar .stat-item {
  display: inline-block;
  margin-right: 40px;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .download-records-section .stats-bar .stat-item {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-right: 0;
  }
}
.main-user-content .content-wrapper .content-body .download-records-section .stats-bar .stat-item .stat-label {
  font-size: 14px;
  color: #cccccc;
  margin-right: 12px;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .download-records-section .stats-bar .stat-item .stat-label {
    margin-right: 0;
  }
}
.main-user-content .content-wrapper .content-body .download-records-section .stats-bar .stat-item .stat-value {
  font-size: 20px;
  font-weight: 700;
  color: #00dd77;
}
.main-user-content .content-wrapper .content-body .download-records-section .pagination-wrapper {
  margin-top: 20px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card h4 {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 20px 0;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-tabs {
  display: block;
  margin-bottom: 20px;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-tabs .tab-item {
  display: block;
  float: left;
  padding: 12px 24px;
  color: #cccccc;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  transition: all 0.2s ease;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-tabs .tab-item:hover {
  color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-tabs .tab-item.active {
  color: #00dd77;
  border-bottom-color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-tabs .tab-item i {
  margin-right: 6px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .tab-content {
  display: none;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .tab-content.active {
  display: block;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table {
  width: 100%;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes a,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .box-link,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .btn-add-box {
  display: inline;
  color: #00dd77;
  text-decoration: none;
  font-size: 12px;
  padding: 0;
  border: none;
  background: transparent;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes a:hover,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .box-link:hover,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .btn-add-box:hover {
  color: #f10732;
  text-decoration: none;
  background: transparent;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes a i,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .box-link i,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .btn-add-box i {
  margin-right: 4px;
  font-size: 12px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes .box-link + .box-link::before,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .col-boxes a + a::before {
  content: ", ";
  color: #888888;
  margin: 0 2px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .text-muted {
  color: #888888;
  font-size: 12px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .action-buttons {
  display: block;
  white-space: nowrap;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .action-buttons .btn-icon {
  display: inline-block;
  width: 28px;
  height: 28px;
  line-height: 26px;
  text-align: center;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
  margin: 0 2px;
  vertical-align: middle;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .action-buttons .btn-icon:hover {
  color: #00dd77;
  border-color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .action-buttons .btn-icon.btn-danger:hover {
  color: #f10732;
  border-color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .action-buttons .btn-icon i {
  font-size: 12px;
  line-height: 26px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header {
  display: table;
  table-layout: fixed;
  width: 100%;
  background: #2a2a2a;
  padding: 0;
  font-weight: 600;
  font-size: 14px;
  color: #ffffff;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-checkbox,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-title,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-boxes,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-type,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-score,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-bpm,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-key,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-time,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-collect_time,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-action,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-id,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-category,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-views,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-downloads,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-duration,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-status,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-orderid,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-amount,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-createtime,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-task_name,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-song_count,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-create_time {
  display: table-cell;
  padding: 12px 16px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-checkbox {
  width: 50px;
  text-align: center;
  padding: 12px 8px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-title {
  width: auto;
  white-space: normal;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-id {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-category {
  width: 120px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-views {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-downloads {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-duration {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-boxes {
  width: 110px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-type {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-score {
  width: 70px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-bpm {
  width: 70px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-key {
  width: 70px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-time {
  width: 145px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-collect_time {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-action {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-orderid {
  width: 240px;
  text-align: center;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-id {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-amount {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-status {
  width: 100px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-createtime {
  width: 160px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-task_name {
  width: 280px;
  text-align: left;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-song_count {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-header .col-create_time {
  width: 160px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row {
  display: table;
  table-layout: fixed;
  width: 100%;
  padding: 0;
  background: #0a0a0a;
  transition: background-color 0.2s ease;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row:nth-child(even) {
  background: #1a1a1a;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row:hover {
  background: #2a2a2a;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-checkbox,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-boxes,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-bpm,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-key,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-time,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-collect_time,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-action,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-id,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-category,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-views,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-downloads,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-duration,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-orderid,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-amount,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-createtime,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-task_name,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-song_count,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-create_time {
  display: table-cell;
  padding: 12px 16px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-checkbox {
  width: 50px;
  text-align: center;
  padding: 12px 8px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title {
  width: auto;
  white-space: normal;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title i {
  color: #00dd77;
  margin-right: 8px;
  display: inline-block;
  vertical-align: middle;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text {
  font-size: 14px;
  color: #ffffff;
  font-weight: 500;
  display: inline-block;
  vertical-align: middle;
  max-width: calc(100% - 30px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text a {
  color: #ffffff;
  text-decoration: none;
  transition: color 0.2s ease;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text a:hover {
  color: #f10732;
  text-decoration: none;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text a:visited {
  color: #ffffff;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text a:visited:hover {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-title .title-text a:active {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-id {
  width: 80px;
  text-align: center;
  font-size: 13px;
  color: #cccccc;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-id .music-id {
  font-weight: 500;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-category {
  width: 120px;
  text-align: center;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-category a {
  color: #00dd77;
  text-decoration: none;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-category a:hover {
  color: #f10732;
  text-decoration: underline;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-category .category-link {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-views {
  width: 80px;
  text-align: center;
  font-size: 13px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-views .stat-value {
  color: #cccccc;
  font-weight: 500;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-downloads {
  width: 80px;
  text-align: center;
  font-size: 13px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-downloads .stat-value {
  color: #cccccc;
  font-weight: 500;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-duration {
  width: 80px;
  text-align: center;
  font-size: 13px;
  color: #cccccc;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score .sale-score {
  display: inline-block;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
  font-size: 14px;
  font-weight: 600;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score .sale-score.positive {
  color: #00cc66;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score .sale-score.negative {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-orderid {
  width: 240px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-orderid .order-number {
  display: inline-block;
  font-size: 12px;
  color: #888888;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-boxes {
  width: 110px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type .badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid transparent;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type .badge.badge-vip {
  color: #ffd700;
  border-color: #ffd700;
  background: rgba(255, 215, 0, 0.1);
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type .badge.badge-score {
  color: #00dd77;
  border-color: #00dd77;
  background: rgba(52, 152, 219, 0.1);
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-type .badge.badge-free {
  color: #2ecc71;
  border-color: #2ecc71;
  background: rgba(46, 204, 113, 0.1);
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status {
  width: 100px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  border: 1px solid;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-success {
  color: #00cc66;
  background: #0d2617;
  border-color: #00cc66;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-warning {
  color: #ff9800;
  background: #2d2010;
  border-color: #ff9800;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-info {
  color: #00dd77;
  background: rgba(0, 136, 255, 0.1);
  border-color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-danger {
  color: #f10732;
  background: rgba(241, 7, 50, 0.1);
  border-color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score {
  width: 70px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score .score-value {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-score .score-free {
  color: #888888;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-bpm {
  width: 70px;
  text-align: center;
  font-size: 12px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-key {
  width: 70px;
  text-align: center;
  font-size: 12px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-time {
  width: 160px;
  text-align: center;
  font-size: 12px;
  color: #888888;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-collect_time {
  width: 120px;
  text-align: center;
  font-size: 12px;
  color: #888888;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-action {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-action .btn-link {
  color: #00dd77;
  text-decoration: none;
  font-size: 12px;
  padding: 4px 8px;
  display: inline-block;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-action .btn-link:hover {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-action .btn-link i {
  margin-right: 4px;
  display: inline-block;
  vertical-align: middle;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-id {
  width: 80px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-id .order-type {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  color: #cccccc;
  background: #2a2a2a;
  border: 1px solid #333333;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-orderid .order-id {
  font-family: "Courier New", monospace;
  font-size: 13px;
  color: #ffffff;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-amount {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-amount .amount-value {
  font-size: 16px;
  font-weight: bold;
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status {
  width: 100px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge {
  display: inline-block;
  padding: 4px 12px;
  font-size: 12px;
  border: 1px solid;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-success {
  color: #00cc66;
  background: #0d2617;
  border-color: #00cc66;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-status .badge.badge-pending {
  color: #ff9800;
  background: #2d2010;
  border-color: #ff9800;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-createtime {
  width: 160px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-createtime .time-value {
  font-size: 13px;
  color: #cccccc;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-task_name {
  width: 280px;
  text-align: left;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-task_name .order-id {
  font-size: 12px;
  color: #888888;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-song_count {
  width: 120px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-song_count .song-count {
  color: #00dd77;
  font-weight: 600;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-create_time {
  width: 160px;
  text-align: center;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-body .table-row .col-create_time .create-time {
  font-size: 13px;
  color: #cccccc;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-footer {
  padding: 10px;
  background: #2a2a2a;
  margin-top: 1px;
  text-align: center;
  display: block;
  overflow: hidden;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-footer .btn-more {
  color: #00dd77;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-footer .btn-more:hover {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-footer .pagination-info {
  float: left;
  color: #888888;
  font-size: 12px;
  line-height: 32px;
  text-align: left;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-footer > ul.pagination {
  float: right;
  margin: 0;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions {
  padding: 12px;
  background: #1a1a1a;
  border-top: 1px solid #333333;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .checkbox-controls {
  float: left;
  line-height: 18px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .checkbox-controls .table-checkbox-label {
  display: inline-block;
  vertical-align: middle;
  margin-right: 16px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .checkbox-controls .btn-inverse-selection {
  display: inline-block;
  background: transparent;
  border: none;
  color: #00dd77;
  font-size: 14px;
  cursor: pointer;
  padding: 0;
  text-decoration: none;
  vertical-align: middle;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .checkbox-controls .btn-inverse-selection:hover {
  color: #f10732;
  text-decoration: underline;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .action-buttons {
  float: right;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .action-buttons .btn-action {
  display: inline-block;
  padding: 8px 16px;
  margin-left: 12px;
  background: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  cursor: pointer;
  text-decoration: none;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .action-buttons .btn-action i {
  margin-right: 6px;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .action-buttons .btn-action:hover {
  background: #0a0a0a;
  border-color: #00dd77;
  color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table .table-checkbox-actions .action-buttons .btn-action:first-child {
  margin-left: 0;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table input[type=checkbox]:checked + label:before,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table input[type=checkbox]:checked + span:before,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table input[type=checkbox]:checked ~ label:before,
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .downloads-table input[type=checkbox]:checked ~ span:before {
  background-color: #00dd77;
  border-color: #00dd77;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .empty-state {
  text-align: center;
  padding: 40px 20px;
  color: #888888;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .empty-state i {
  font-size: 48px;
  margin-bottom: 16px;
  display: block;
  opacity: 0.5;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .empty-state p {
  font-size: 14px;
  margin: 0 0 16px 0;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .empty-state .btn {
  background: transparent;
  color: #00dd77;
  padding: 8px 16px;
  font-size: 12px;
  text-decoration: none;
  display: inline-block;
}
.main-user-content .content-wrapper .content-body .recent-downloads .downloads-card .empty-state .btn:hover {
  color: #f10732;
}
.main-user-content .content-wrapper .content-body .quick-actions-section h4 {
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 20px 0;
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid {
  display: block;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .quick-actions-section .action-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item {
  display: block;
  background: #0a0a0a;
  padding: 20px;
  text-decoration: none;
  color: #ffffff;
  margin-bottom: 16px;
  width: 100%;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item {
    display: flex;
    align-items: center;
    gap: 16px;
    width: calc(50% - 8px);
    margin-bottom: 0;
  }
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item:hover {
  background: #2a2a2a;
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-icon {
  display: inline-block;
  width: 48px;
  height: 48px;
  text-align: center;
  line-height: 48px;
  background: #2a2a2a;
  margin-right: 16px;
  margin-bottom: 12px;
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-icon {
    margin-right: 0;
    margin-bottom: 0;
  }
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-icon i {
  font-size: 20px;
  color: #00dd77;
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-text {
  display: inline-block;
  width: calc(100% - 64px);
}
@supports (display: flex) {
  .main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-text {
    width: auto;
  }
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-text .action-title {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 4px;
}
.main-user-content .content-wrapper .content-body .quick-actions-section .action-grid .action-item .action-text .action-desc {
  font-size: 12px;
  color: #888888;
  line-height: 1.3;
}

@media (max-width: 992px) {
  .top-header .mobile-menu-toggle {
    display: block;
  }
  .top-header .header-container {
    padding: 0 15px 0 60px;
    display: flex !important;
    align-items: center;
    position: relative;
  }
  .top-header .header-left {
    float: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
  }
  .top-header .header-left .logo img {
    height: 36px;
    max-width: 100px;
  }
  .top-header .header-center {
    display: none;
  }
  .top-header .header-right {
    float: none;
    margin-left: auto;
    flex-shrink: 0;
    gap: 8px;
  }
  .top-header .header-right .user-info {
    margin-right: 0;
  }
  .top-header .header-right .user-info .user-avatar {
    margin-right: 0;
  }
  .top-header .header-right .user-info .user-avatar img {
    width: 32px;
    height: 32px;
  }
  .top-header .header-right .user-info .user-avatar .vip-badge-img {
    width: 12px;
    height: 12px;
  }
  .top-header .header-right .user-info .user-details {
    display: none;
  }
  .top-header .header-right .quick-actions {
    display: flex;
    gap: 6px;
  }
  .top-header .header-right .quick-actions .action-btn {
    padding: 6px 10px;
    font-size: 12px;
    white-space: nowrap;
  }
  .top-header .header-right .quick-actions .action-btn i {
    font-size: 14px;
    margin-right: 4px;
  }
  .main-user-container {
    display: block;
    height: auto;
  }
  .sidebar {
    display: block;
    width: 210px;
    position: fixed;
    left: -210px;
    top: 60px;
    height: calc(100vh - 60px);
    z-index: 999;
    transition: left 0.3s ease;
  }
  @supports not (transition: left 0.3s ease) {
    .sidebar {
      left: -210px;
    }
  }
  .sidebar.sidebar-open {
    left: 0;
  }
  .main-user-content {
    display: block;
    width: 100%;
    height: auto;
  }
  .main-user-content .content-wrapper {
    padding: 15px;
  }
}
@media (max-width: 768px) {
  .user-center-body {
    padding-top: 50px;
  }
  .top-header {
    height: 50px;
  }
  .top-header .mobile-menu-toggle {
    width: 32px;
    height: 32px;
    margin-top: -16px;
  }
  .top-header .mobile-menu-toggle i {
    font-size: 16px;
    line-height: 30px;
  }
  .top-header .header-container {
    height: 50px;
    padding: 0 10px 0 50px;
  }
  .top-header .header-left {
    margin-right: 10px;
  }
  .top-header .header-left .logo img {
    height: 28px;
    max-width: 80px;
  }
  .top-header .header-center {
    display: none !important;
  }
  .top-header .header-right {
    gap: 6px;
  }
  .top-header .header-right .user-info .user-avatar img {
    width: 28px;
    height: 28px;
  }
  .top-header .header-right .user-info .user-avatar .vip-badge-img {
    width: 10px;
    height: 10px;
  }
  .top-header .header-right .quick-actions {
    gap: 4px;
  }
  .top-header .header-right .quick-actions .action-btn {
    padding: 5px 8px;
    font-size: 11px;
  }
  .top-header .header-right .quick-actions .action-btn i {
    font-size: 12px;
    margin-right: 2px;
  }
  .sidebar {
    width: 210px;
    left: -210px;
    top: 50px;
    height: calc(100vh - 50px);
  }
  .sidebar .user-card {
    padding: 16px;
  }
  .sidebar .user-card .user-card-avatar img {
    width: 64px;
    height: 64px;
  }
  .sidebar .user-card .user-card-info .user-card-name {
    font-size: 16px;
  }
  .sidebar .user-card .user-card-info .user-card-stats .stat-item .stat-value {
    font-size: 14px;
  }
  .sidebar .user-card .user-card-info .user-card-stats .stat-item .stat-label {
    font-size: 10px;
  }
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link {
    padding: 12px 16px;
  }
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link i {
    font-size: 16px;
  }
  .sidebar .sidebar-nav .nav-list .nav-item .nav-link span {
    font-size: 13px;
  }
  .main-user-content .content-wrapper {
    padding: 12px;
  }
}
@media (max-width: 480px) {
  .top-header .header-container {
    padding: 0 8px 0 45px;
  }
  .top-header .mobile-menu-toggle {
    left: 8px;
  }
  .top-header .header-left {
    margin-right: 8px;
  }
  .top-header .header-left .logo img {
    height: 24px;
    max-width: 70px;
  }
  .top-header .header-right {
    gap: 4px;
  }
  .top-header .header-right .user-info .user-avatar img {
    width: 24px;
    height: 24px;
  }
  .top-header .header-right .user-info .user-avatar .vip-badge-img {
    width: 8px;
    height: 8px;
  }
  .top-header .header-right .quick-actions {
    gap: 3px;
  }
  .top-header .header-right .quick-actions .action-btn {
    padding: 4px 6px;
    font-size: 0;
  }
  .top-header .header-right .quick-actions .action-btn i {
    font-size: 14px;
    margin-right: 0;
  }
  .sidebar {
    width: 210px;
    left: -210px;
  }
  .main-user-content .content-wrapper {
    padding: 8px;
  }
}
.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.mb-0 {
  margin-bottom: 0;
}

.mb-1 {
  margin-bottom: 8px;
}

.mb-2 {
  margin-bottom: 16px;
}

.mb-3 {
  margin-bottom: 24px;
}

.mt-0 {
  margin-top: 0;
}

.mt-1 {
  margin-top: 8px;
}

.mt-2 {
  margin-top: 16px;
}

.mt-3 {
  margin-top: 24px;
}

.p-0 {
  padding: 0;
}

.p-1 {
  padding: 8px;
}

.p-2 {
  padding: 16px;
}

.p-3 {
  padding: 24px;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fade-in {
  animation: fadeIn 0.3s ease-out;
}
@supports not (animation: fadeIn 0.3s ease-out) {
  .fade-in {
    opacity: 1;
  }
}

.sidebar::-webkit-scrollbar,
.main-content::-webkit-scrollbar {
  width: 6px;
}

.sidebar::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar::-webkit-scrollbar-thumb {
  background: transparent;
}

.sidebar:hover::-webkit-scrollbar-thumb {
  background: #555555;
}

.sidebar:hover::-webkit-scrollbar-thumb:hover {
  background: #777777;
}

.main-content::-webkit-scrollbar-track {
  background: transparent;
}

.main-content::-webkit-scrollbar-thumb {
  background: transparent;
}

.main-content:hover::-webkit-scrollbar-thumb {
  background: #555555;
}

.main-content:hover::-webkit-scrollbar-thumb:hover {
  background: #777777;
}

.subscribe-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999;
  display: none;
}
.subscribe-modal.show {
  display: block;
}
.subscribe-modal .subscribe-content {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -150px;
  margin-top: -200px;
  width: 300px;
  background: #1a1a1a;
  border: 1px solid #333333;
}
@supports (transform: translate(-50%, -50%)) {
  .subscribe-modal .subscribe-content {
    margin-left: 0;
    margin-top: 0;
    transform: translate(-50%, -50%);
  }
}
.subscribe-modal .subscribe-header {
  padding: 16px 20px;
  border-bottom: 1px solid #333333;
  position: relative;
}
.subscribe-modal .subscribe-header h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
}
.subscribe-modal .subscribe-header .subscribe-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: #cccccc;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
}
.subscribe-modal .subscribe-header .subscribe-close:hover {
  color: #ffffff;
}
.subscribe-modal .subscribe-body {
  padding: 24px;
  text-align: center;
}
.subscribe-modal .subscribe-body .qrcode-image {
  width: 200px;
  height: 200px;
  display: block;
  margin: 0 auto 16px;
}
.subscribe-modal .subscribe-body .qrcode-tip {
  font-size: 14px;
  color: #888888;
  margin: 0;
}

.recent-downloads .favorites-section .box-link {
  color: #00dd77;
  text-decoration: none;
  font-size: 12px;
}
.recent-downloads .favorites-section .box-link:hover {
  color: #f10732;
  text-decoration: underline;
}
.recent-downloads .favorites-section .box-link + .box-link:before {
  content: ", ";
  color: #888888;
}
.recent-downloads .favorites-section .action-buttons {
  display: block;
  white-space: nowrap;
}
.recent-downloads .favorites-section .action-buttons .btn-icon {
  display: inline-block;
  padding: 4px 6px;
  margin: 0 2px;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
  transition: all 0.2s ease;
}
.recent-downloads .favorites-section .action-buttons .btn-icon:hover {
  color: #00dd77;
  border-color: #00dd77;
}
.recent-downloads .favorites-section .action-buttons .btn-icon.btn-danger:hover {
  color: #f10732;
  border-color: #f10732;
}
.recent-downloads .favorites-section .action-buttons .btn-icon i {
  font-size: 12px;
}
.recent-downloads .favorites-section .text-muted {
  color: #888888;
  font-size: 12px;
}

.musicbox-section .section-header {
  display: block;
  overflow: hidden;
  margin-bottom: 24px;
}
.musicbox-section .section-header h4 {
  float: left;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  line-height: 34px;
}
.musicbox-section .section-header .btn-create {
  float: right;
  padding: 8px 16px;
  background: #f10732;
  color: #ffffff;
  border: none;
  font-size: 14px;
  cursor: pointer;
}
.musicbox-section .section-header .btn-create:hover {
  background: rgb(248.3245967742, 25.1754032258, 66.1814516129);
}
.musicbox-section .section-header .btn-create i {
  margin-right: 6px;
}
.musicbox-section .musicbox-grid {
  display: block;
  margin: -12px;
  overflow: hidden;
}
@supports (display: grid) {
  .musicbox-section .musicbox-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 24px;
    margin: 0;
  }
}
.musicbox-section .musicbox-item {
  float: left;
  width: 200px;
  margin: 12px;
  background: #1a1a1a;
  border: 1px solid #333333;
}
@supports (display: grid) {
  .musicbox-section .musicbox-item {
    float: none;
    width: auto;
    margin: 0;
  }
}
.musicbox-section .musicbox-item:hover {
  border-color: #00dd77;
}
.musicbox-section .musicbox-item:hover .musicbox-overlay {
  opacity: 1;
  filter: alpha(opacity=100);
}
.musicbox-section .musicbox-item .musicbox-cover {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
}
.musicbox-section .musicbox-item .musicbox-cover img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  filter: alpha(opacity=0);
  transition: opacity 0.3s ease;
}
@supports not (opacity: 0) {
  .musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay {
    display: none;
  }
}
@supports not (opacity: 0) {
  .musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay:hover {
    display: block;
  }
}
.musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay .music-count {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -12px;
  margin-left: -50px;
  width: 100px;
  text-align: center;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
}
@supports (transform: translate(-50%, -50%)) {
  .musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay .music-count {
    margin-top: 0;
    margin-left: 0;
    transform: translate(-50%, -50%);
  }
}
.musicbox-section .musicbox-item .musicbox-cover .musicbox-overlay .music-count i {
  margin-right: 6px;
}
.musicbox-section .musicbox-item .musicbox-info {
  padding: 12px;
}
.musicbox-section .musicbox-item .musicbox-info .musicbox-title {
  margin-bottom: 6px;
}
.musicbox-section .musicbox-item .musicbox-info .musicbox-title a {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.musicbox-section .musicbox-item .musicbox-info .musicbox-title a:hover {
  color: #f10732;
}
.musicbox-section .musicbox-item .musicbox-info .musicbox-meta {
  font-size: 12px;
  color: #888888;
}
.musicbox-section .musicbox-item .musicbox-actions {
  display: block;
  overflow: hidden;
  padding: 0 12px 12px;
  border-top: 1px solid #333333;
  padding-top: 12px;
}
.musicbox-section .musicbox-item .musicbox-actions .btn-action {
  float: left;
  width: 48%;
  margin-right: 4%;
  padding: 6px 0;
  font-size: 12px;
  text-align: center;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
  display: block;
}
.musicbox-section .musicbox-item .musicbox-actions .btn-action:last-child {
  margin-right: 0;
}
.musicbox-section .musicbox-item .musicbox-actions .btn-action:hover {
  color: #00dd77;
  border-color: #00dd77;
}
.musicbox-section .musicbox-item .musicbox-actions .btn-action.btn-danger:hover {
  color: #f10732;
  border-color: #f10732;
}
.musicbox-section .musicbox-item .musicbox-actions .btn-action i {
  margin-right: 4px;
}

@media (max-width: 768px) {
  .subscribe-modal .subscribe-content {
    width: 90%;
    margin-left: -45%;
    max-width: 300px;
  }
  @supports (transform: translate(-50%, -50%)) {
    .subscribe-modal .subscribe-content {
      width: 90%;
      max-width: 300px;
      margin-left: 0;
    }
  }
  @supports (display: grid) {
    .musicbox-section .musicbox-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
  }
  .musicbox-section .musicbox-item {
    width: calc(50% - 12px);
  }
}
.apply-post-section .apply-post-card {
  background: #1a1a1a;
}
.apply-post-section .apply-post-card .card-header {
  padding-bottom: 15px;
  border-bottom: 1px solid #333333;
}
.apply-post-section .apply-post-card .card-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: normal;
  color: #ffffff;
}
.apply-post-section .apply-post-card .card-header h3 i {
  margin-right: 8px;
  color: #00dd77;
}
.apply-post-section .apply-post-card .alert {
  margin: 20px 24px;
  padding: 16px;
  background: #3a2f1f;
  border: 1px solid #5a4a2a;
  color: #f0ad4e;
}
.apply-post-section .apply-post-card .alert i {
  margin-right: 8px;
}
.apply-post-section .apply-post-card .alert strong {
  font-weight: bold;
}
.apply-post-section .apply-post-card .apply-post-form {
  padding: 0 24px 24px;
}
.apply-post-section .apply-post-card .apply-post-form .form-body {
  max-width: 350px;
  margin: 0 auto;
}
.apply-post-section .apply-post-card .apply-post-form .form-group {
  margin-bottom: 24px;
}
.apply-post-section .apply-post-card .apply-post-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #ffffff;
  font-weight: normal;
}
.apply-post-section .apply-post-card .apply-post-form .form-group label i {
  margin-right: 6px;
  color: #00dd77;
}
.apply-post-section .apply-post-card .apply-post-form .form-group label .required {
  color: #e74c3c;
  margin-left: 4px;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .form-control {
  width: 100%;
  height: 42px;
  padding: 8px 12px;
  font-size: 14px;
  color: #ffffff;
  background: #0a0a0a;
  border: 1px solid #333333;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .form-control:focus {
  outline: none;
  border-color: #00dd77;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .form-control:disabled, .apply-post-section .apply-post-card .apply-post-form .form-group .form-control[readonly] {
  background: #2a2a2a;
  color: #888888;
  cursor: not-allowed;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .form-control.error {
  border-color: #e74c3c;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .error-message {
  display: none;
  margin-top: 6px;
  font-size: 12px;
  color: #e74c3c;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .error-message:not(:empty) {
  display: block;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block {
  margin: 8px 0 0 0;
  font-size: 12px;
  color: #888888;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block.text-success {
  color: #2ecc71;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block.text-danger {
  color: #e74c3c;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block i {
  margin-right: 4px;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block a {
  color: #00dd77;
  text-decoration: none;
}
.apply-post-section .apply-post-card .apply-post-form .form-group .help-block a:hover {
  text-decoration: underline;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #333333;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn {
  width: 100%;
  height: 48px;
  padding: 0 32px;
  font-size: 16px;
  border: 1px solid transparent;
  cursor: pointer;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn i {
  margin-right: 8px;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn.btn-primary {
  background: #00dd77;
  color: #ffffff;
  border-color: #00dd77;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn.btn-primary:hover {
  background: #0077dd;
  border-color: #0077dd;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn.btn-primary:disabled {
  background: #2a2a2a;
  border-color: #333333;
  color: #888888;
  cursor: not-allowed;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn.btn-default {
  background: #2a2a2a;
  color: #888888;
  border-color: #333333;
  cursor: not-allowed;
}
.apply-post-section .apply-post-card .apply-post-form .form-actions .btn.btn-warning {
  background: #3a2f1f;
  color: #f0ad4e;
  border-color: #5a4a2a;
  cursor: not-allowed;
}
@media (max-width: 768px) {
  .apply-post-section {
    padding: 16px 0;
  }
  .apply-post-section .apply-post-card .card-header {
    padding: 16px;
  }
  .apply-post-section .apply-post-card .card-header h3 {
    font-size: 16px;
  }
  .apply-post-section .apply-post-card .alert {
    margin: 16px;
    padding: 12px;
    font-size: 13px;
  }
  .apply-post-section .apply-post-card .apply-post-form {
    padding: 0 16px 16px;
  }
  .apply-post-section .apply-post-card .apply-post-form .form-actions .btn {
    width: 100%;
    min-width: auto;
  }
}

.main-user-content .tab-header {
  display: block;
  margin-bottom: 20px;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
.main-user-content .tab-header .btn {
  display: block;
  float: left;
  padding: 12px 24px;
  color: #cccccc;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}
.main-user-content .tab-header .btn i {
  margin-right: 6px;
}
.main-user-content .tab-header .btn:hover {
  color: #00dd77;
}
.main-user-content .tab-header .btn.active {
  color: #00dd77;
  border-bottom-color: #00dd77;
}
.main-user-content .tab-body .tab-body__item {
  display: none;
}
.main-user-content .tab-body .tab-body__item.active {
  display: block;
}

.recharge-section .recharge-card {
  background: #1a1a1a;
}
.recharge-section .recharge-card .recharge-tabs {
  display: block;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
.recharge-section .recharge-card .recharge-tabs .tab-item {
  display: block;
  float: left;
  padding: 16px 24px;
  padding-left: 0;
  padding-top: 0;
  padding-top: 0;
  font-size: 14px;
  color: #cccccc;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.recharge-section .recharge-card .recharge-tabs .tab-item i {
  margin-right: 6px;
}
.recharge-section .recharge-card .recharge-tabs .tab-item:hover {
  color: #ffffff;
}
.recharge-section .recharge-card .recharge-tabs .tab-item.active {
  color: #00dd77;
  border-bottom-color: #00dd77;
}
.recharge-section .recharge-card .recharge-tabs .tab-note {
  display: block;
  float: right;
  padding: 16px 0;
  padding-top: 0;
  padding-left: 0;
  font-size: 12px;
  color: #f0ad4e;
  line-height: 24px;
}
.recharge-section .recharge-card .recharge-tabs .tab-note i {
  margin-right: 6px;
}
.recharge-section .recharge-card .recharge-form {
  padding: 24px;
}
.recharge-section .recharge-card .recharge-form .form-body {
  max-width: 800px;
  margin: 0 auto;
}
.recharge-section .recharge-card .recharge-form .promo-section {
  margin-bottom: 32px;
  padding: 16px;
  background: #3a2f1f;
  border: 1px solid #5a4a2a;
}
.recharge-section .recharge-card .recharge-form .promo-section .promo-image {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}
.recharge-section .recharge-card .recharge-form .promo-section .promo-text {
  margin: 0;
  font-size: 14px;
  color: #f0ad4e;
  line-height: 1.6;
}
.recharge-section .recharge-card .recharge-form .form-section {
  margin-bottom: 32px;
}
.recharge-section .recharge-card .recharge-form .form-section .section-title {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: normal;
  color: #ffffff;
}
.recharge-section .recharge-card .recharge-form .form-section .section-title i {
  margin-right: 8px;
  color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages {
  display: block;
  margin: -8px;
  overflow: hidden;
}
.recharge-section .recharge-card .recharge-form .gold-packages:after {
  content: "";
  display: table;
  clear: both;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item {
  float: left;
  width: 140px;
  margin: 8px 4px;
  padding: 12px;
  background: #2a2a2a;
  border: 1px solid #2a2a2a;
  text-align: center;
  cursor: pointer;
  position: relative;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item input[type=radio] {
  display: none;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item:hover {
  border-color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item:hover > .package-bonus.bonus-vip {
  background: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item.selected {
  border-color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item.selected > .package-bonus.bonus-vip {
  background: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item.selected .package-content .package-name {
  color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item > .package-bonus.bonus-vip {
  position: absolute;
  top: -10px;
  right: -1px;
  padding: 4px 8px;
  background: #f10732;
  color: #ffffff;
  font-size: 10px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item > .package-bonus.bonus-vip i {
  margin-right: 2px;
  font-size: 10px;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-name {
  font-size: 20px;
  color: #ffffff;
  margin-bottom: 8px;
  font-weight: bold;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-price {
  font-size: 14px;
  color: #666666;
  font-weight: bold;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-bonus {
  font-size: 12px;
  margin-top: 4px;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-bonus i {
  margin-right: 4px;
}
.recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-bonus.bonus-gold {
  color: #f39c12;
}
.recharge-section .recharge-card .recharge-form .payment-methods {
  display: block;
  overflow: hidden;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item {
  float: left;
  margin-right: 24px;
  padding: 4px 20px;
  background: #2a2a2a;
  border: 1px solid #2a2a2a;
  cursor: pointer;
  position: relative;
  display: table;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item input[type=radio] {
  display: none;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item .payment-icon {
  display: table-cell;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  margin-right: 8px;
  position: relative;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item .payment-icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  margin-left: -14px;
  background: #ffffff;
  z-index: 0;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item .payment-icon img {
  position: relative;
  z-index: 1;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item .payment-name {
  display: table-cell;
  font-size: 15px;
  color: #cccccc;
  vertical-align: middle;
  padding-left: 12px;
  white-space: nowrap;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item:hover {
  border-color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item:hover .payment-name {
  color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item.active {
  border-color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .payment-methods .payment-item.active .payment-name {
  color: #00dd77;
}
.recharge-section .recharge-card .recharge-form .payment-total {
  margin: 24px 0;
  padding: 16px;
  background: #2a2a2a;
  border: 1px solid #333333;
  text-align: right;
}
.recharge-section .recharge-card .recharge-form .payment-total .total-label {
  font-size: 16px;
  color: #cccccc;
  margin-right: 8px;
}
.recharge-section .recharge-card .recharge-form .payment-total .total-amount {
  font-size: 24px;
  color: #f10732;
  font-weight: bold;
}
.recharge-section .recharge-card .recharge-form .payment-total .total-amount em {
  font-style: normal;
}
.recharge-section .recharge-card .recharge-form .form-actions {
  margin-top: 32px;
}
.recharge-section .recharge-card .recharge-form .form-actions .btn {
  height: 52px;
  padding: 0 48px;
  font-size: 18px;
  background: #f10732;
  color: #ffffff;
  border: none;
  cursor: pointer;
}
.recharge-section .recharge-card .recharge-form .form-actions .btn i {
  margin-right: 8px;
}
.recharge-section .recharge-card .recharge-form .form-actions .btn:hover {
  background: #d00628;
}
.recharge-section .recharge-card .recharge-form .form-actions .btn:disabled {
  background: #2a2a2a;
  color: #888888;
  cursor: not-allowed;
}
.recharge-section .recharge-card .recharge-form .form-actions .btn-block {
  display: block;
  width: 100%;
}
@media (max-width: 768px) {
  .recharge-section .recharge-section {
    padding: 16px 0;
  }
  .recharge-section .recharge-card .recharge-tabs .tab-item {
    padding: 12px 16px;
    font-size: 13px;
  }
  .recharge-section .recharge-card .recharge-form {
    padding: 16px;
  }
  .recharge-section .recharge-card .recharge-form .gold-packages .package-item {
    width: 100px;
    padding: 12px 8px;
  }
  .recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-name {
    font-size: 12px;
  }
  .recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-price {
    font-size: 16px;
  }
  .recharge-section .recharge-card .recharge-form .gold-packages .package-item .package-content .package-bonus {
    font-size: 11px;
  }
  .recharge-section .recharge-card .recharge-form .payment-methods .payment-item {
    width: 100px;
    padding: 12px;
  }
  .recharge-section .recharge-card .recharge-form .payment-methods .payment-item img {
    width: 48px;
    height: 48px;
  }
  .recharge-section .recharge-card .recharge-form .payment-methods .payment-item .payment-name {
    font-size: 12px;
  }
  .recharge-section .recharge-card .recharge-form .payment-total {
    text-align: center;
  }
  .recharge-section .recharge-card .recharge-form .payment-total .total-label {
    font-size: 14px;
  }
  .recharge-section .recharge-card .recharge-form .payment-total .total-amount {
    font-size: 20px;
  }
}

.edit-profile-section .edit-profile-card {
  background: #1a1a1a;
}
.edit-profile-section .edit-profile-card .alert {
  margin-bottom: 24px;
  padding: 16px;
  background: #3a2f1f;
  border: 1px solid #5a4a2a;
  color: #f0ad4e;
}
.edit-profile-section .edit-profile-card .alert i {
  margin-right: 8px;
}
.edit-profile-section .edit-profile-card .alert strong {
  font-weight: bold;
}
.edit-profile-section .edit-profile-card .alert.alert-warning {
  background: #3a2f1f;
  border-color: #5a4a2a;
  color: #f0ad4e;
}
.edit-profile-section .edit-profile-card .alert.alert-info {
  background: #1f2f3a;
  border-color: #2a4a5a;
  color: #4e9fce;
}
.edit-profile-section .edit-profile-card .avatar-upload-section {
  text-align: center;
  padding: 20px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid #333333;
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper {
  position: relative;
  display: inline-block;
  width: 100px;
  height: 100px;
  margin-bottom: 15px;
  cursor: pointer;
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
  border: 2px solid #555555;
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper .avatar-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  display: none;
  text-align: center;
}
@supports (display: flex) {
  .edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper .avatar-overlay {
    display: none;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper .avatar-overlay i {
  font-size: 24px;
  margin-bottom: 6px;
  display: block;
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper .avatar-overlay span {
  font-size: 12px;
  display: block;
}
.edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper:hover .avatar-overlay {
  display: block;
}
@supports (display: flex) {
  .edit-profile-section .edit-profile-card .avatar-upload-section .avatar-preview-wrapper:hover .avatar-overlay {
    display: flex;
  }
}
.edit-profile-section .edit-profile-card .avatar-upload-section .help-block {
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 12px;
  color: #888888;
}
.edit-profile-section .edit-profile-card .form-container {
  display: block;
}
.edit-profile-section .edit-profile-card .form-container .form-body {
  max-width: 600px;
  margin: 0 auto;
  padding: 0 24px;
}
.edit-profile-section .edit-profile-card .form-container-old {
  display: block;
  overflow: hidden;
}
.edit-profile-section .edit-profile-card .form-container-old .form-left {
  float: left;
  width: 65%;
  padding: 24px;
}
@supports not (float: left) {
  .edit-profile-section .edit-profile-card .form-container-old .form-left {
    display: inline-block;
    width: 65%;
    vertical-align: top;
  }
}
.edit-profile-section .edit-profile-card .form-container-old .form-right {
  float: right;
  width: 35%;
  padding: 24px;
  text-align: center;
}
@supports not (float: right) {
  .edit-profile-section .edit-profile-card .form-container-old .form-right {
    display: inline-block;
    width: 35%;
    vertical-align: top;
  }
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-body {
  max-width: 500px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group {
  margin-bottom: 24px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #ffffff;
  font-weight: normal;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group label i {
  margin-right: 6px;
  color: #00dd77;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group label .required {
  color: #e74c3c;
  margin-left: 4px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control {
  width: 100%;
  height: 42px;
  padding: 8px 12px;
  font-size: 14px;
  color: #ffffff;
  background: #0a0a0a;
  border: 1px solid #333333;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control:focus {
  outline: none;
  border-color: #00dd77;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control:disabled, .edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control[readonly] {
  background: #2a2a2a;
  color: #888888;
  cursor: not-allowed;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control.error {
  border-color: #e74c3c;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button {
  position: relative;
  display: block;
  border: 1px solid #333333;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .form-control {
  width: 100%;
  padding-right: 110px;
  border: none;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .form-control:focus {
  border: none;
  outline: none;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button.focused {
  border-color: #00dd77;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action {
  position: absolute;
  right: 0;
  top: 0;
  height: 42px;
  padding: 0 16px;
  font-size: 13px;
  border: none;
  border-left: 1px solid #333333;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action i {
  margin-right: 4px;
  font-size: 12px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-primary {
  color: #00dd77;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-primary:hover:not(:disabled) {
  background: #00dd77;
  color: #ffffff;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-primary:disabled {
  color: #888888;
  background: #2a2a2a;
  cursor: not-allowed;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-success {
  color: #2ecc71;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-success:hover:not(:disabled) {
  background: #2ecc71;
  color: #ffffff;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-success:disabled {
  color: #888888;
  background: #2a2a2a;
  cursor: not-allowed;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-danger {
  color: #e74c3c;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-danger:hover:not(:disabled) {
  background: #e74c3c;
  color: #ffffff;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .input-with-button .btn-action.btn-danger:disabled {
  color: #888888;
  background: #2a2a2a;
  cursor: not-allowed;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group textarea.form-control {
  height: auto;
  resize: vertical;
  min-height: 80px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control-static {
  padding-top: 8px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control-static .btn {
  margin-right: 12px;
  vertical-align: middle;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .form-control-static .help-text {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  color: #888888;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .error-message {
  display: none;
  margin-top: 6px;
  font-size: 12px;
  color: #e74c3c;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .error-message:not(:empty) {
  display: block;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .help-block {
  margin: 8px 0 0 0;
  font-size: 12px;
  color: #888888;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .help-block.text-success {
  color: #2ecc71;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .help-block.text-danger {
  color: #e74c3c;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-group .help-block i {
  margin-right: 4px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #333333;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn {
  width: 100%;
  height: 48px;
  padding: 0 32px;
  font-size: 16px;
  border: 1px solid transparent;
  cursor: pointer;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn i {
  margin-right: 8px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn.btn-primary {
  background: #00dd77;
  color: #ffffff;
  border-color: #00dd77;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn.btn-primary:hover {
  background: #0077dd;
  border-color: #0077dd;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn.btn-primary:disabled {
  background: #2a2a2a;
  border-color: #333333;
  color: #888888;
  cursor: not-allowed;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn.btn-lg {
  height: 48px;
  font-size: 16px;
}
.edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn.btn-sm {
  height: 32px;
  padding: 0 16px;
  font-size: 13px;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-preview {
  width: 200px;
  height: 200px;
  margin: 0 auto 20px;
  border: 2px solid #333333;
  background: #0a0a0a;
  overflow: hidden;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-preview img {
  width: 100%;
  height: 100%;
  display: block;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn {
  display: block;
  width: 200px;
  margin: 0 auto 12px;
  height: 40px;
  line-height: 38px;
  padding: 0 16px;
  font-size: 14px;
  text-align: center;
  cursor: pointer;
  border: 1px solid #555555;
  background: #2a2a2a;
  color: #ffffff;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn:hover {
  background: #0a0a0a;
  border-color: #00dd77;
  color: #00dd77;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn i {
  margin-right: 6px;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn.btn-default {
  background: #2a2a2a;
  color: #ffffff;
  border-color: #555555;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn.btn-block {
  display: block;
  width: 100%;
}
.edit-profile-section .edit-profile-card .avatar-upload .avatar-actions .help-block {
  font-size: 12px;
  color: #888888;
  text-align: center;
  margin: 0;
}
@media (max-width: 992px) {
  .edit-profile-section .edit-profile-card .form-container .form-left,
  .edit-profile-section .edit-profile-card .form-container .form-right {
    float: none;
    width: 100%;
    padding: 20px;
  }
  .edit-profile-section .edit-profile-card .form-container .form-right {
    border-top: 1px solid #333333;
  }
}
@media (max-width: 768px) {
  .edit-profile-section .edit-profile-card .alert {
    padding: 12px;
    font-size: 13px;
  }
  .edit-profile-section .edit-profile-card .form-container .form-left,
  .edit-profile-section .edit-profile-card .form-container .form-right {
    padding: 16px;
  }
  .edit-profile-section .edit-profile-card .edit-profile-form .form-body {
    max-width: 100%;
  }
  .edit-profile-section .edit-profile-card .edit-profile-form .form-group {
    margin-bottom: 20px;
  }
  .edit-profile-section .edit-profile-card .edit-profile-form .form-actions .btn {
    width: 100%;
    min-width: auto;
  }
  .edit-profile-section .edit-profile-card .avatar-upload .avatar-preview {
    width: 150px;
    height: 150px;
  }
  .edit-profile-section .edit-profile-card .avatar-upload .avatar-actions label.btn {
    width: 100%;
    max-width: 200px;
  }
}

#changeEmailModal .modal-dialog {
  max-width: 500px;
}
#changeEmailModal .email-change-steps {
  display: block;
  text-align: center;
  padding: 20px 0;
  margin-bottom: 30px;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
#changeEmailModal .email-change-steps .step {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
}
#changeEmailModal .email-change-steps .step .step-number {
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 30px;
  border: 1px solid #333333;
  background: #2a2a2a;
  color: #888888;
  font-size: 14px;
  font-weight: bold;
}
#changeEmailModal .email-change-steps .step .step-text {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: #888888;
}
#changeEmailModal .email-change-steps .step.active .step-number {
  border-color: #00dd77;
  background: #00dd77;
  color: #ffffff;
}
#changeEmailModal .email-change-steps .step.active .step-text {
  color: #00dd77;
  font-weight: bold;
}
#changeEmailModal .email-change-steps .step.completed .step-number {
  border-color: #00dd77;
  background: #00dd77;
  color: #ffffff;
}
#changeEmailModal .email-change-steps .step.completed .step-text {
  color: #ffffff;
}
#changeEmailModal .email-change-steps .step-divider {
  display: inline-block;
  width: 40px;
  height: 1px;
  background: #333333;
  vertical-align: middle;
  margin: 0 10px;
}
#changeEmailModal .email-step-content {
  padding: 0 20px 20px;
}
#changeEmailModal .email-step-content .step-description {
  padding: 16px;
  margin-bottom: 24px;
  background: #2a2a2a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
}
#changeEmailModal .email-step-content .step-description i {
  margin-right: 8px;
  color: #00dd77;
}
#changeEmailModal .email-step-content .step-description strong {
  color: #00dd77;
  font-weight: bold;
}
#changeEmailModal .email-step-content .form-group {
  margin-bottom: 20px;
}
#changeEmailModal .email-step-content .form-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  color: #ffffff;
}
#changeEmailModal .email-step-content .form-group label i {
  margin-right: 6px;
  color: #00dd77;
}
#changeEmailModal .email-step-content .form-group .form-control {
  width: 100%;
  height: 42px;
  padding: 8px 12px;
  font-size: 14px;
  color: #ffffff;
  background: #0a0a0a;
  border: 1px solid #333333;
}
#changeEmailModal .email-step-content .form-group .form-control:focus {
  outline: none;
  border-color: #00dd77;
}
#changeEmailModal .email-step-content .form-group .input-with-button {
  position: relative;
  border: 1px solid #333333;
}
#changeEmailModal .email-step-content .form-group .input-with-button .form-control {
  padding-right: 110px;
  border: none;
}
#changeEmailModal .email-step-content .form-group .input-with-button .form-control:focus {
  border: none;
  outline: none;
}
#changeEmailModal .email-step-content .form-group .input-with-button.focused {
  border-color: #00dd77;
}
#changeEmailModal .email-step-content .form-group .input-with-button .btn-action {
  position: absolute;
  right: 0;
  top: 0;
  height: 42px;
  padding: 0 16px;
  font-size: 13px;
  border: none;
  border-left: 1px solid #333333;
  background: transparent;
  cursor: pointer;
  white-space: nowrap;
}
#changeEmailModal .email-step-content .form-group .input-with-button .btn-action i {
  margin-right: 4px;
  font-size: 12px;
}
#changeEmailModal .email-step-content .form-group .input-with-button .btn-action.btn-primary {
  color: #00dd77;
}
#changeEmailModal .email-step-content .form-group .input-with-button .btn-action.btn-primary:hover:not(:disabled) {
  background: #00dd77;
  color: #ffffff;
}
#changeEmailModal .email-step-content .form-group .input-with-button .btn-action.btn-primary:disabled {
  color: #888888;
  background: #2a2a2a;
  cursor: not-allowed;
}
#changeEmailModal .email-step-content .form-group .help-block {
  margin-top: 8px;
  font-size: 12px;
  color: #888888;
}
#changeEmailModal .email-step-content .step-actions {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid #333333;
  text-align: right;
}
#changeEmailModal .email-step-content .step-actions .btn {
  height: 40px;
  padding: 0 24px;
  margin-left: 12px;
  font-size: 14px;
  border: 1px solid;
  cursor: pointer;
}
#changeEmailModal .email-step-content .step-actions .btn i {
  margin-right: 6px;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-default {
  background: #2a2a2a;
  border-color: #333333;
  color: #ffffff;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-default:hover {
  background: #0a0a0a;
  border-color: #555555;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-primary {
  background: #00dd77;
  border-color: #00dd77;
  color: #ffffff;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-primary:hover:not(:disabled) {
  background: #0077dd;
  border-color: #0077dd;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-primary:disabled {
  background: #2a2a2a;
  border-color: #333333;
  color: #888888;
  cursor: not-allowed;
}
#changeEmailModal .email-step-content .step-actions .btn.btn-block {
  display: block;
  width: 100%;
  margin-left: 0;
}
#changeEmailModal .email-step-content .step-success {
  text-align: center;
  padding: 40px 20px;
}
#changeEmailModal .email-step-content .step-success i {
  font-size: 64px;
  color: #2ecc71;
  display: block;
  margin-bottom: 20px;
}
#changeEmailModal .email-step-content .step-success h3 {
  font-size: 20px;
  color: #ffffff;
  margin: 0 0 16px 0;
  font-weight: bold;
}
#changeEmailModal .email-step-content .step-success p {
  font-size: 14px;
  color: #cccccc;
  margin: 8px 0;
}
#changeEmailModal .email-step-content .step-success p strong {
  color: #00dd77;
  font-weight: bold;
}
#changeEmailModal .email-step-content .step-success .help-text {
  font-size: 12px;
  color: #888888;
  margin-top: 16px;
}
@media (max-width: 768px) {
  #changeEmailModal .modal-dialog {
    max-width: 100%;
    margin: 0;
  }
  #changeEmailModal .email-change-steps {
    padding: 15px 0;
  }
  #changeEmailModal .email-change-steps .step .step-number {
    width: 28px;
    height: 28px;
    line-height: 26px;
    font-size: 12px;
  }
  #changeEmailModal .email-change-steps .step .step-text {
    font-size: 11px;
  }
  #changeEmailModal .email-change-steps .step-divider {
    width: 30px;
    margin: 0 5px;
  }
  #changeEmailModal .email-step-content {
    padding: 0 15px 15px;
  }
  #changeEmailModal .email-step-content .step-actions .btn {
    display: block;
    width: 100%;
    margin: 8px 0 0 0;
  }
}

#cropperModal .modal-body {
  padding: 20px;
  background: #0a0a0a;
}
#cropperModal .modal-body .cropper-container-wrapper {
  width: 100%;
  max-height: 400px;
  background: #2a2a2a;
  margin-bottom: 16px;
}
#cropperModal .modal-body .cropper-container-wrapper img {
  display: block;
  max-width: 500px;
}
#cropperModal .modal-body .cropper-container .cropper-point {
  display: none !important;
}
#cropperModal .modal-body .cropper-info {
  padding: 12px;
  background: #2a2a2a;
  border: 1px solid #333333;
}
#cropperModal .modal-body .cropper-info p {
  margin: 0;
  font-size: 13px;
  color: #cccccc;
}
#cropperModal .modal-body .cropper-info p i {
  margin-right: 8px;
  color: #00dd77;
}
#cropperModal .modal-footer {
  background: #1a1a1a;
  border-top: 1px solid #333333;
}
#cropperModal .modal-footer .btn {
  padding: 8px 16px;
  font-size: 14px;
  border: 1px solid;
}
#cropperModal .modal-footer .btn.btn-default {
  background: transparent;
  border-color: #333333;
  color: #cccccc;
}
#cropperModal .modal-footer .btn.btn-default:hover {
  background: #2a2a2a;
  color: #ffffff;
}
#cropperModal .modal-footer .btn.btn-primary {
  background: #00dd77;
  border-color: #00dd77;
  color: #ffffff;
}
#cropperModal .modal-footer .btn.btn-primary:hover {
  background: rgb(0, 170, 91.5384615385);
  border-color: rgb(0, 170, 91.5384615385);
}
#cropperModal .modal-footer .btn.btn-primary i {
  margin-right: 6px;
}

.upload-music-section .upload-music-card {
  background: #1a1a1a;
}
.upload-music-section .upload-music-card .alert {
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid;
}
.upload-music-section .upload-music-card .alert i {
  float: left;
  margin-right: 12px;
  font-size: 18px;
  margin-top: 2px;
}
.upload-music-section .upload-music-card .alert .alert-content {
  overflow: hidden;
}
.upload-music-section .upload-music-card .alert .alert-content p {
  margin: 0 0 8px 0;
  line-height: 1.6;
}
.upload-music-section .upload-music-card .alert .alert-content p:last-child {
  margin-bottom: 0;
}
.upload-music-section .upload-music-card .alert .alert-content strong {
  font-weight: bold;
}
.upload-music-section .upload-music-card .alert.alert-info {
  background: #1f2f3a;
  border-color: #2a4a5a;
  color: #4e9fce;
}
.upload-music-section .upload-music-card .alert.alert-warning {
  background: #3a2f1f;
  border-color: #5a4a2a;
  color: #f0ad4e;
}
.upload-music-section .upload-music-card .alert .text-danger {
  color: #e74c3c;
}
.upload-music-section .upload-music-card .form-container {
  display: block;
  overflow: hidden;
}
.upload-music-section .upload-music-card .form-container .form-left {
  float: none;
  width: 100%;
  padding: 24px;
}
.upload-music-section .upload-music-card .form-container .form-right {
  display: none;
  float: right;
  width: 35%;
  padding: 24px;
  border-left: 1px solid #333333;
}
.upload-music-section .upload-music-card .form-section {
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid #333333;
}
.upload-music-section .upload-music-card .form-section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.upload-music-section .upload-music-card .form-section .section-title {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 20px 0;
  position: relative;
  overflow: hidden;
}
.upload-music-section .upload-music-card .form-section .section-title i {
  margin-right: 8px;
  color: #00dd77;
}
.upload-music-section .upload-music-card .form-section .section-title .add-file-btn {
  float: right;
  font-size: 13px;
  font-weight: normal;
  padding: 4px 12px;
  margin-left: 10px;
  border: 1px solid #00dd77;
  background: transparent;
  color: #00dd77;
  cursor: pointer;
  display: none;
}
.upload-music-section .upload-music-card .form-section .section-title .add-file-btn i {
  margin-right: 6px;
  font-size: 12px;
  color: #00dd77;
}
.upload-music-section .upload-music-card .form-section .section-title .add-file-btn:hover {
  background: #00dd77;
  color: #ffffff;
}
.upload-music-section .upload-music-card .form-section .section-title .add-file-btn:hover i {
  color: #ffffff;
}
.upload-music-section .upload-music-card .form-section .section-title .file-count-badge {
  float: right;
  font-size: 13px;
  font-weight: normal;
  color: #cccccc;
  padding: 4px 12px;
  border: 1px solid #333333;
  background: #2a2a2a;
  display: none;
}
.upload-music-section .upload-music-card .form-section .section-title .file-count-badge i {
  margin-right: 6px;
  font-size: 12px;
  color: #00dd77;
}
.upload-music-section .upload-music-card .form-section .section-title .file-count-badge .count {
  color: #00dd77;
  font-weight: 600;
  margin: 0 4px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper {
  border: 1px solid #333333;
  background: #0a0a0a;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header {
  display: table;
  width: 100%;
  table-layout: fixed;
  background: #2a2a2a;
  padding: 12px;
  font-weight: 600;
  font-size: 14px;
  color: #ffffff;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header > div {
  display: table-cell;
  vertical-align: middle;
  padding: 0 8px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header .col-cover {
  width: 80px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header .col-title {
  width: auto;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header .col-size {
  width: 100px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header .col-status {
  width: 150px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-header .col-action {
  width: 100px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body {
  min-height: 200px;
  padding: 0;
  background: #0a0a0a;
  border-top: 1px solid #333333;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body.dz-clickable {
  cursor: pointer;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-message {
  text-align: center;
  color: #888888;
  margin: 0;
  padding: 40px 20px;
  cursor: pointer;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-message i {
  display: block;
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.5;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-message p {
  margin: 4px 0;
  font-size: 14px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-message p.help-text {
  font-size: 12px;
  color: #888888;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview {
  display: block;
  margin: 0;
  padding: 12px;
  border-bottom: 1px solid #333333;
  overflow: hidden;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview:hover {
  background: #2a2a2a;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row > div {
  display: table-cell;
  vertical-align: middle;
  padding: 0 8px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover {
  width: 80px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail {
  position: relative;
  width: 60px;
  height: 60px;
  background: #2a2a2a;
  border: 1px solid #555555;
  overflow: hidden;
  cursor: pointer;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail img {
  width: 100%;
  height: 100%;
  display: block;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail .cover-upload-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  text-align: center;
  color: #ffffff;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail .cover-upload-overlay i {
  display: block;
  font-size: 24px;
  margin-top: 18px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail:hover .cover-upload-overlay {
  display: block;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-cover .cover-thumbnail input[type=file] {
  display: none;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-title {
  width: auto;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-title .file-name {
  color: #ffffff;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-size {
  width: 100px;
  font-size: 12px;
  color: #888888;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status {
  width: 150px;
  font-size: 12px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .status-text {
  color: #888888;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .status-text.status-uploading {
  color: #00dd77;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .status-text.status-success {
  color: #2ecc71;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .status-text.status-error {
  color: #e74c3c;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .progress-bar {
  width: 100%;
  height: 4px;
  background: #2a2a2a;
  margin-top: 4px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-status .progress-bar .progress-fill {
  height: 100%;
  background: #00dd77;
  width: 0%;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-action {
  width: 100px;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-action .btn-remove {
  padding: 4px 12px;
  font-size: 12px;
  border: 1px solid #f10732;
  background: transparent;
  color: #f10732;
  cursor: pointer;
}
.upload-music-section .upload-music-card .upload-dropzone-wrapper .dropzone-body .dz-preview .file-row .col-action .btn-remove:hover {
  background: #f10732;
  color: #ffffff;
}
.upload-music-section .upload-music-card .upload-music-form .row {
  margin-left: -10px;
  margin-right: -10px;
  overflow: hidden;
}
.upload-music-section .upload-music-card .upload-music-form .row > [class*=col-] {
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 767px) {
  .upload-music-section .upload-music-card .upload-music-form .row > [class*=col-] {
    width: 100%;
    float: none;
    display: block;
  }
}
@media (min-width: 768px) {
  .upload-music-section .upload-music-card .upload-music-form .row > [class*=col-] {
    width: 50%;
    float: left;
  }
}
.upload-music-section .upload-music-card .upload-music-form .form-group {
  margin-bottom: 24px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group > label {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #ffffff;
  font-weight: 600;
}
.upload-music-section .upload-music-card .upload-music-form .form-group > label i {
  margin-right: 6px;
  color: #00dd77;
  font-size: 14px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group > label .required {
  color: #e74c3c;
  margin-left: 4px;
  font-weight: bold;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .form-control {
  width: 100%;
  height: 44px;
  padding: 10px 14px;
  font-size: 14px;
  color: #ffffff;
  background: #0a0a0a;
  border: 1px solid #333333;
  transition: all 0.3s;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .form-control:hover {
  border-color: #00dd77;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .form-control:disabled, .upload-music-section .upload-music-card .upload-music-form .form-group .form-control[readonly] {
  background: #2a2a2a;
  color: #888888;
  cursor: not-allowed;
  opacity: 0.6;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .form-control:disabled:hover, .upload-music-section .upload-music-card .upload-music-form .form-group .form-control[readonly]:hover {
  border-color: #333333;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #0a0a0a;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23888888' d='M0 0 L5 6 L10 0 Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 10px 6px;
  padding-right: 36px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control:hover {
  background-color: #0a0a0a;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control:focus {
  background-color: #1a1a1a;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control::-ms-expand {
  display: none;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control option {
  background: #0a0a0a !important;
  background-image: none !important;
  color: #ffffff !important;
  padding: 8px 12px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group select.form-control option:hover, .upload-music-section .upload-music-card .upload-music-form .form-group select.form-control option:focus, .upload-music-section .upload-music-card .upload-music-form .form-group select.form-control option:checked {
  background: #00dd77 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button {
  position: relative;
  display: block;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button select.form-control {
  width: 100%;
  padding-right: 80px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button .btn-action {
  position: absolute;
  right: 0;
  top: 0;
  height: 42px;
  padding: 0 16px;
  font-size: 13px;
  border: 1px solid;
  background: transparent;
  cursor: pointer;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button .btn-action i {
  margin-right: 4px;
  font-size: 12px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button .btn-action.btn-primary {
  color: #00dd77;
  border-color: #00dd77;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .input-with-button .btn-action.btn-primary:hover {
  background: #00dd77;
  color: #ffffff;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .category-selects select {
  display: inline-block;
  width: auto;
  min-width: 150px;
  margin-right: 10px;
  vertical-align: middle;
  background-size: 10px 6px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .category-selects select option {
  background: #0a0a0a !important;
  background-image: none !important;
  color: #ffffff !important;
  padding: 8px 12px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .category-selects select option:hover, .upload-music-section .upload-music-card .upload-music-form .form-group .category-selects select option:focus, .upload-music-section .upload-music-card .upload-music-form .form-group .category-selects select option:checked {
  background: #00dd77 !important;
  background-image: none !important;
  color: #ffffff !important;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .activity-checkbox-wrap .checkbox-inline {
  font-weight: bold;
  color: #ffb800;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .activity-link-wrap .link-warning {
  color: #ffb800;
  text-decoration: underline;
  margin-right: 10px;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .activity-link-wrap .link-warning:hover {
  color: #ffc933;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block {
  margin: 10px 0 0 0;
  padding: 8px 12px;
  font-size: 12px;
  color: #888888;
  background: #2a2a2a;
  border-left: 2px solid #333333;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block i {
  margin-right: 6px;
  color: #00dd77;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-danger {
  color: #e74c3c;
  background: rgba(231, 76, 60, 0.1);
  border-left-color: #e74c3c;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-danger i {
  color: #e74c3c;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-warning {
  color: #ffb800;
  background: rgba(255, 184, 0, 0.1);
  border-left-color: #ffb800;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-warning i {
  color: #ffb800;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-success {
  color: #2ecc71;
  background: rgba(46, 204, 113, 0.1);
  border-left-color: #2ecc71;
}
.upload-music-section .upload-music-card .upload-music-form .form-group .help-block.text-success i {
  color: #2ecc71;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions {
  margin-top: 32px;
  padding-top: 24px;
  text-align: center;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn {
  width: 100%;
  max-width: 400px;
  height: 52px;
  padding: 0 40px;
  font-size: 16px;
  font-weight: 600;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.3s;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn i {
  margin-right: 10px;
  font-size: 16px;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-primary {
  background: #00dd77;
  color: #ffffff;
  border-color: #00dd77;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-primary:hover {
  background: #0077dd;
  border-color: #0077dd;
  transform: translateY(-2px);
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-primary:active {
  transform: translateY(0);
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-primary:disabled {
  background: #2a2a2a;
  border-color: #333333;
  color: #888888;
  cursor: not-allowed;
  opacity: 0.6;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-primary:disabled:hover {
  transform: none;
}
.upload-music-section .upload-music-card .upload-music-form .form-actions .btn.btn-lg {
  height: 52px;
  font-size: 16px;
}
.upload-music-section .upload-music-card .cover-upload .section-title {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  margin: 0 0 20px 0;
}
.upload-music-section .upload-music-card .cover-upload .section-title i {
  margin-right: 8px;
  color: #00dd77;
}
.upload-music-section .upload-music-card .cover-upload .cover-preview {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background: #0a0a0a;
  border: 2px solid #333333;
  overflow: hidden;
}
.upload-music-section .upload-music-card .cover-upload .cover-preview .cover-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  filter: alpha(opacity=0);
  transition: opacity 0.3s ease;
  cursor: pointer;
}
@supports not (opacity: 0) {
  .upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay {
    display: none;
  }
}
.upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay .cover-label {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -60px;
  width: 120px;
  text-align: center;
  color: #ffffff;
  cursor: pointer;
}
@supports (transform: translate(-50%, -50%)) {
  .upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay .cover-label {
    margin-top: 0;
    margin-left: 0;
    transform: translate(-50%, -50%);
  }
}
.upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay .cover-label i {
  display: block;
  font-size: 32px;
  margin-bottom: 8px;
}
.upload-music-section .upload-music-card .cover-upload .cover-preview .cover-overlay .cover-label span {
  font-size: 14px;
}
.upload-music-section .upload-music-card .cover-upload .cover-preview:hover .cover-overlay {
  opacity: 1;
  filter: alpha(opacity=100);
}
@supports not (opacity: 0) {
  .upload-music-section .upload-music-card .cover-upload .cover-preview:hover .cover-overlay {
    display: block;
  }
}
.upload-music-section .upload-music-card .cover-upload .help-block {
  margin-top: 12px;
  font-size: 12px;
  color: #888888;
  text-align: center;
}
@media (max-width: 992px) {
  .upload-music-section .upload-music-card .form-container .form-left,
  .upload-music-section .upload-music-card .form-container .form-right {
    float: none;
    width: 100%;
    padding: 20px;
  }
  .upload-music-section .upload-music-card .form-container .form-right {
    border-left: none;
    border-top: 1px solid #333333;
  }
}
@media (max-width: 768px) {
  .upload-music-section .upload-music-card .alert {
    padding: 12px;
    font-size: 13px;
  }
  .upload-music-section .upload-music-card .form-section {
    margin-bottom: 24px;
    padding-bottom: 16px;
  }
  .upload-music-section .upload-music-card .upload-music-form .form-group {
    margin-bottom: 20px;
  }
  .upload-music-section .upload-music-card .upload-music-form .form-actions .btn {
    width: 100%;
  }
}

.salelist-stats-cards {
  display: block;
  margin: -10px;
  margin-bottom: 20px;
  overflow: hidden;
}
@supports (display: flex) {
  .salelist-stats-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 0 20px 0;
  }
}
.salelist-stats-cards .stat-card {
  float: left;
  width: calc(25% - 20px);
  margin: 10px;
  padding: 20px;
  background: #1a1a1a;
  border: 1px solid #333333;
  display: block;
  overflow: hidden;
}
@supports (display: flex) {
  .salelist-stats-cards .stat-card {
    float: none;
    width: calc(25% - 15px);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 16px;
  }
}
.salelist-stats-cards .stat-card .stat-icon {
  float: left;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  background: #2a2a2a;
  border: 1px solid #555555;
  margin-right: 16px;
}
@supports (display: flex) {
  .salelist-stats-cards .stat-card .stat-icon {
    float: none;
    margin-right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.salelist-stats-cards .stat-card .stat-icon i {
  font-size: 24px;
  color: #00dd77;
}
.salelist-stats-cards .stat-card .stat-content {
  overflow: hidden;
}
@supports (display: flex) {
  .salelist-stats-cards .stat-card .stat-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
  }
}
.salelist-stats-cards .stat-card .stat-content .stat-label {
  font-size: 13px;
  color: #cccccc;
  margin-bottom: 6px;
}
.salelist-stats-cards .stat-card .stat-content .stat-value {
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
  margin-bottom: 4px;
}
.salelist-stats-cards .stat-card .stat-content .stat-unit {
  font-size: 12px;
  color: #888888;
}
.salelist-stats-cards .stat-card .stat-content .stat-desc {
  font-size: 13px;
  color: #cccccc;
  margin-top: 4px;
}
.salelist-stats-cards .stat-card.highlight {
  border-color: #00dd77;
  background: rgba(0, 221, 119, 0.05);
}
.salelist-stats-cards .stat-card.highlight .stat-icon {
  background: #00dd77;
  border-color: #00dd77;
}
.salelist-stats-cards .stat-card.highlight .stat-icon i {
  color: #ffffff;
}
.salelist-stats-cards .stat-card.highlight .stat-value {
  color: #00dd77;
}
.salelist-stats-cards .stat-card.info .stat-icon i {
  color: #0088ff;
}
@media (max-width: 992px) {
  .salelist-stats-cards .stat-card {
    width: calc(50% - 20px);
  }
  @supports (display: flex) {
    .salelist-stats-cards .stat-card {
      width: calc(50% - 10px);
    }
  }
}
@media (max-width: 768px) {
  .salelist-stats-cards .stat-card {
    width: 100%;
    margin: 10px 0;
  }
  @supports (display: flex) {
    .salelist-stats-cards .stat-card {
      width: 100%;
    }
  }
}

.salelist-section .downloads-card {
  background: #1a1a1a;
}

.main-tabs {
  display: block;
  border-bottom: 1px solid #333333;
  margin-bottom: 0;
  padding: 0;
  background: #2a2a2a;
}
.main-tabs .main-tab-item {
  display: inline-block;
  padding: 16px 24px;
  color: #cccccc;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.3s;
  cursor: pointer;
}
.main-tabs .main-tab-item i {
  margin-right: 8px;
  font-size: 16px;
}
.main-tabs .main-tab-item:hover {
  color: #ffffff;
  background: #1a1a1a;
}
.main-tabs .main-tab-item.active {
  color: #00dd77;
  border-bottom-color: #00dd77;
  background: #1a1a1a;
  font-weight: 600;
}

.main-tab-content {
  display: none;
  padding: 20px;
}
.main-tab-content.active {
  display: block;
}

.sub-tabs {
  display: block;
  border-bottom: 1px solid #333333;
  margin-bottom: 20px;
  padding: 0;
  background: transparent;
}
.sub-tabs .sub-tab-item {
  display: inline-block;
  padding: 12px 20px;
  color: #cccccc;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.3s;
  cursor: pointer;
  font-size: 14px;
}
.sub-tabs .sub-tab-item i {
  margin-right: 6px;
  font-size: 14px;
}
.sub-tabs .sub-tab-item:hover {
  color: #ffffff;
  background: #2a2a2a;
}
.sub-tabs .sub-tab-item.active {
  color: #00dd77;
  border-bottom-color: #00dd77;
  font-weight: 600;
}

.sub-tab-content {
  display: none;
  min-height: 400px;
}
.sub-tab-content.active {
  display: block;
}

.salelist-records {
  min-height: 300px;
}
.salelist-records .downloads-table {
  min-height: 200px;
}
.salelist-records .record-item {
  display: block;
  padding: 16px 20px;
  background: #0a0a0a;
  border-bottom: 1px solid #333333;
  transition: background-color 0.2s ease;
}
.salelist-records .record-item:hover {
  background: #2a2a2a;
}
.salelist-records .record-item:last-child {
  border-bottom: none;
}
.salelist-records .record-item .record-main {
  display: block;
  overflow: hidden;
  margin-bottom: 8px;
}
.salelist-records .record-item .record-main .record-info {
  float: left;
  width: 70%;
}
.salelist-records .record-item .record-main .record-info .record-id {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  color: #00dd77;
  background: rgba(0, 221, 119, 0.1);
  border: 1px solid #00dd77;
  margin-right: 12px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
}
.salelist-records .record-item .record-main .record-info .record-title {
  display: inline-block;
  vertical-align: middle;
  max-width: calc(100% - 80px);
}
.salelist-records .record-item .record-main .record-info .record-title a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
}
.salelist-records .record-item .record-main .record-info .record-title a:hover {
  color: #f10732;
}
.salelist-records .record-item .record-main .record-score {
  float: right;
  font-size: 16px;
  font-weight: 600;
  text-align: right;
}
.salelist-records .record-item .record-main .record-score .score-symbol {
  font-size: 14px;
}
.salelist-records .record-item .record-main .record-score .score-value {
  margin: 0 2px;
}
.salelist-records .record-item .record-main .record-score .score-unit {
  font-size: 12px;
  margin-left: 4px;
}
.salelist-records .record-item .record-main .record-score.positive {
  color: #00cc66;
}
.salelist-records .record-item .record-main .record-score.negative {
  color: #f10732;
}
.salelist-records .record-item .record-meta {
  display: block;
  overflow: hidden;
  font-size: 12px;
  color: #888888;
}
.salelist-records .record-item .record-meta .record-order {
  float: left;
}
.salelist-records .record-item .record-meta .record-time {
  float: right;
}
.salelist-records .loading-container {
  display: block;
  text-align: center;
  padding: 60px 20px;
  color: #888888;
  min-height: 300px;
  position: relative;
  padding-top: 120px;
}
.salelist-records .loading-container .icon-wrapper {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  margin: 0 auto 12px;
  vertical-align: middle;
}
.salelist-records .loading-container i {
  font-size: 32px;
  color: #00dd77;
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  vertical-align: middle;
}
.salelist-records .loading-container i.spinning {
  animation: spin 1s linear infinite;
}
.salelist-records .loading-container .loading-text {
  font-size: 14px;
  margin-top: 0;
  display: block;
}
.salelist-records .empty-state {
  display: block;
  text-align: center;
  padding: 60px 20px;
  padding-top: 120px;
  color: #888888;
  min-height: 300px;
}
.salelist-records .empty-state i {
  font-size: 48px;
  margin-bottom: 16px;
  display: block;
  opacity: 0.5;
}
.salelist-records .empty-state p {
  font-size: 14px;
  margin: 0;
}

.withdraw-panel {
  padding: 24px;
}
.withdraw-panel .withdraw-balance {
  background: #0a0a0a;
  padding: 20px 24px;
  margin-bottom: 24px;
  border: 1px solid #555555;
  display: block;
  overflow: hidden;
}
.withdraw-panel .withdraw-balance .balance-info {
  float: left;
  font-size: 16px;
  line-height: 24px;
}
.withdraw-panel .withdraw-balance .balance-info i {
  color: #00dd77;
  margin-right: 8px;
}
.withdraw-panel .withdraw-balance .balance-info .balance-label {
  color: #cccccc;
  margin-right: 12px;
}
.withdraw-panel .withdraw-balance .balance-info .balance-value {
  font-size: 24px;
  font-weight: 700;
  color: #00dd77;
  margin: 0 8px;
}
.withdraw-panel .withdraw-balance .balance-info .balance-unit {
  color: #888888;
}
.withdraw-panel .withdraw-balance .balance-fee {
  float: right;
  font-size: 13px;
  color: #cccccc;
  line-height: 24px;
}
.withdraw-panel .withdraw-balance .balance-fee i {
  color: #0088ff;
  margin-right: 6px;
}
.withdraw-panel .withdraw-form {
  max-width: 600px;
  margin: 0 auto;
}
.withdraw-panel .withdraw-form .form-group {
  margin-bottom: 24px;
}
.withdraw-panel .withdraw-form .form-group label {
  display: block;
  margin-bottom: 10px;
  font-size: 14px;
  color: #ffffff;
  font-weight: 600;
}
.withdraw-panel .withdraw-form .form-group label i {
  margin-right: 6px;
  color: #00dd77;
  font-size: 14px;
}
.withdraw-panel .withdraw-form .form-group label .required {
  color: #e74c3c;
  margin-left: 4px;
  font-weight: bold;
}
.withdraw-panel .withdraw-form .form-group .form-control {
  width: 100%;
  height: 44px;
  padding: 10px 14px;
  font-size: 14px;
  color: #ffffff;
  background: #0a0a0a;
  border: 1px solid #333333;
  transition: all 0.3s;
}
.withdraw-panel .withdraw-form .form-group .form-control:hover {
  border-color: #00dd77;
}
.withdraw-panel .withdraw-form .form-group .form-control:focus {
  border-color: #00dd77;
  outline: none;
}
.withdraw-panel .withdraw-form .form-group .form-control:disabled {
  background: #2a2a2a;
  color: #888888;
  cursor: not-allowed;
  opacity: 0.6;
}
.withdraw-panel .withdraw-form .form-group .input-with-unit {
  position: relative;
}
.withdraw-panel .withdraw-form .form-group .input-with-unit .form-control {
  padding-right: 60px;
}
.withdraw-panel .withdraw-form .form-group .input-with-unit .input-unit {
  position: absolute;
  right: 14px;
  top: 50%;
  margin-top: -9px;
  font-size: 13px;
  color: #888888;
}
.withdraw-panel .withdraw-form .form-group .help-block {
  margin: 10px 0 0 0;
  padding: 8px 12px;
  font-size: 12px;
  color: #888888;
  background: #2a2a2a;
  border-left: 2px solid #333333;
}
.withdraw-panel .withdraw-form .form-group .help-block i {
  margin-right: 6px;
  color: #00dd77;
}
.withdraw-panel .withdraw-form .form-group .help-block.text-danger {
  color: #e74c3c;
  background: rgba(231, 76, 60, 0.1);
  border-left-color: #e74c3c;
}
.withdraw-panel .withdraw-form .form-group .help-block.text-danger i {
  color: #e74c3c;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone {
  min-height: 200px;
  background: #0a0a0a;
  border: 2px dashed #333333;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: border-color 0.3s ease;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone:hover {
  border-color: #00dd77;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone[disabled] {
  cursor: not-allowed;
  opacity: 0.6;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone .dz-message i {
  display: block;
  font-size: 48px;
  color: #00dd77;
  opacity: 0.5;
  margin-bottom: 12px;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone .dz-message div {
  font-size: 14px;
  color: #cccccc;
  margin-bottom: 8px;
}
.withdraw-panel .withdraw-form .qrcode-upload-wrapper .dropzone .dz-message div.text-muted {
  font-size: 12px;
  color: #888888;
}
.withdraw-panel .withdraw-form .form-actions {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #333333;
  text-align: center;
}
.withdraw-panel .withdraw-form .form-actions .btn {
  width: 100%;
  max-width: 400px;
  height: 52px;
  padding: 0 40px;
  font-size: 16px;
  font-weight: 600;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all 0.3s;
}
.withdraw-panel .withdraw-form .form-actions .btn i {
  margin-right: 10px;
  font-size: 16px;
}
.withdraw-panel .withdraw-form .form-actions .btn.btn-primary {
  background: #00dd77;
  color: #ffffff;
  border-color: #00dd77;
}
.withdraw-panel .withdraw-form .form-actions .btn.btn-primary:hover {
  background: rgb(17, 255, 145.1538461538);
  border-color: rgb(17, 255, 145.1538461538);
  transform: translateY(-2px);
}
.withdraw-panel .withdraw-form .form-actions .btn.btn-primary:active {
  transform: translateY(0);
}
.withdraw-panel .withdraw-form .form-actions .btn.btn-primary:disabled {
  background: #2a2a2a;
  border-color: #333333;
  color: #888888;
  cursor: not-allowed;
  opacity: 0.6;
}
.withdraw-panel .withdraw-form .form-actions .btn.btn-primary:disabled:hover {
  transform: none;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .withdraw-panel {
    padding: 16px;
  }
  .withdraw-panel .withdraw-balance {
    padding: 16px;
  }
  .withdraw-panel .withdraw-balance .balance-info,
  .withdraw-panel .withdraw-balance .balance-fee {
    float: none;
    display: block;
    text-align: center;
    margin-bottom: 8px;
  }
  .withdraw-panel .withdraw-balance .balance-info:last-child,
  .withdraw-panel .withdraw-balance .balance-fee:last-child {
    margin-bottom: 0;
  }
  .withdraw-panel .withdraw-form .form-actions .btn {
    width: 100%;
  }
  .salelist-records .record-item {
    padding: 12px 16px;
  }
  .salelist-records .record-item .record-main .record-info {
    float: none;
    width: 100%;
    margin-bottom: 8px;
  }
  .salelist-records .record-item .record-main .record-score {
    float: none;
    text-align: left;
  }
  .salelist-records .record-item .record-meta .record-order,
  .salelist-records .record-item .record-meta .record-time {
    float: none;
    display: block;
    margin-bottom: 4px;
  }
}
.downloads-card .card-header {
  display: block;
  overflow: hidden;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #333333;
}
.downloads-card .card-header h4 {
  float: left;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  margin: 0;
  line-height: 36px;
}
.downloads-card .card-header .btn {
  float: right;
  height: 36px;
  padding: 0 20px;
  line-height: 36px;
  font-size: 14px;
  border: 1px solid #00dd77;
  background: #00dd77;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
.downloads-card .card-header .btn i {
  margin-right: 6px;
}
.downloads-card .card-header .btn:hover {
  background: rgb(17, 255, 145.1538461538);
  border-color: rgb(17, 255, 145.1538461538);
}

.album-grid .album-item {
  margin-bottom: 30px;
  border: 1px solid #333333;
  background: #1a1a1a;
}
.album-grid .album-item .album-cover {
  display: block;
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  overflow: hidden;
  background: #2a2a2a;
}
.album-grid .album-item .album-cover img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.album-grid .album-item .album-cover .album-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  color: #ffffff;
  text-align: center;
  padding-top: 40%;
  opacity: 0;
  filter: alpha(opacity=0);
}
.album-grid .album-item .album-cover .album-overlay i {
  font-size: 32px;
  margin-bottom: 8px;
  display: block;
}
.album-grid .album-item .album-cover .album-overlay span {
  font-size: 14px;
  display: block;
}
.album-grid .album-item .album-cover:hover .album-overlay {
  opacity: 1;
  filter: alpha(opacity=100);
}
.album-grid .album-item .album-info {
  padding: 16px;
  background: #1a1a1a;
}
.album-grid .album-item .album-info .album-title-row {
  display: table;
  width: 100%;
  table-layout: fixed;
  margin-bottom: 12px;
}
.album-grid .album-item .album-info .album-title-row .album-title {
  display: table-cell;
  vertical-align: middle;
}
.album-grid .album-item .album-info .album-title-row .album-title a {
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.album-grid .album-item .album-info .album-title-row .album-title a:hover {
  color: #00dd77;
}
.album-grid .album-item .album-info .album-title-row .album-meta {
  display: table-cell;
  vertical-align: middle;
  width: 60px;
  text-align: right;
  white-space: nowrap;
  padding-left: 8px;
}
.album-grid .album-item .album-info .album-title-row .album-meta .album-count {
  font-size: 13px;
  color: #cccccc;
}
.album-grid .album-item .album-info .album-title-row .album-meta .album-count i {
  margin-right: 4px;
  color: #00dd77;
}
.album-grid .album-item .album-info .album-actions {
  display: block;
  overflow: hidden;
  padding-top: 12px;
  border-top: 1px solid #333333;
}
.album-grid .album-item .album-info .album-actions .btn-icon {
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 30px;
  text-align: center;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
}
.album-grid .album-item .album-info .album-actions .btn-icon i {
  font-size: 14px;
  line-height: 30px;
}
.album-grid .album-item .album-info .album-actions .btn-icon:hover {
  color: #00dd77;
  border-color: #00dd77;
}
.album-grid .album-item .album-info .album-actions .btn-icon.btn-edit {
  float: left;
}
.album-grid .album-item .album-info .album-actions .btn-icon.btn-delete {
  float: right;
}
.album-grid .album-item .album-info .album-actions .btn-icon.btn-delete:hover {
  color: #f10732;
  border-color: #f10732;
}

.music-table {
  background: #1a1a1a;
}
.music-table thead {
  background: #2a2a2a;
}
.music-table thead th {
  padding: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #cccccc;
  border-bottom: 1px solid #333333;
}
.music-table tbody tr {
  border-bottom: 1px solid #333333;
}
.music-table tbody tr:hover {
  background: #2a2a2a;
}
.music-table tbody tr td {
  padding: 12px;
  vertical-align: middle;
  color: #cccccc;
  font-size: 14px;
}
.music-table tbody tr td.title-cell .music-link {
  color: #ffffff;
  text-decoration: none;
}
.music-table tbody tr td.title-cell .music-link i {
  margin-right: 8px;
  color: #00dd77;
}
.music-table tbody tr td.title-cell .music-link:hover {
  color: #00dd77;
}
.music-table tbody tr td .category-link {
  color: #cccccc;
  text-decoration: none;
}
.music-table tbody tr td .category-link:hover {
  color: #00dd77;
}
.music-table tbody tr td .btn-icon {
  display: inline-block;
  width: 32px;
  height: 32px;
  line-height: 30px;
  text-align: center;
  color: #cccccc;
  text-decoration: none;
  border: 1px solid #555555;
}
.music-table tbody tr td .btn-icon i {
  font-size: 14px;
  line-height: 30px;
}
.music-table tbody tr td .btn-icon:hover {
  color: #f10732;
  border-color: #f10732;
}

.empty-state {
  text-align: center;
  padding: 80px 20px;
  color: #888888;
}
.empty-state i {
  font-size: 64px;
  color: #00dd77;
  margin-bottom: 20px;
  display: block;
  opacity: 0.5;
}
.empty-state p {
  font-size: 16px;
  margin: 0 0 24px 0;
  color: #cccccc;
}
.empty-state .btn {
  display: inline-block;
  height: 40px;
  padding: 0 24px;
  line-height: 40px;
  font-size: 14px;
  border: 1px solid #00dd77;
  background: #00dd77;
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
.empty-state .btn i {
  margin-right: 6px;
  font-size: 14px;
  opacity: 1;
}
.empty-state .btn:hover {
  background: rgb(17, 255, 145.1538461538);
  border-color: rgb(17, 255, 145.1538461538);
}

#addaudioModal .modal-dialog {
  width: 500px;
  max-width: 90%;
}
#addaudioModal .modal-body {
  padding: 0;
  background: #0a0a0a;
}
#addaudioModal .addbox-box {
  display: block;
}
#addaudioModal .addbox-box .addbox-left-div {
  display: block;
  padding: 24px 24px 0 24px;
  text-align: center;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper {
  display: inline-block;
  width: 150px;
  height: 150px;
  position: relative;
  margin: 0 auto;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper img {
  width: 100%;
  height: 100%;
  display: block;
  background: #2a2a2a;
  border: 1px solid #333333;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera .dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  padding: 20px;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera .dialog i {
  font-size: 32px;
  color: #ffffff;
  margin-bottom: 8px;
  display: block;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera .dialog .upload-text {
  font-size: 12px;
  color: #ffffff;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera .shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  transition: background 0.3s;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera:hover .shadow {
  background: rgba(0, 0, 0, 0.7);
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera:hover .dialog {
  display: block;
}
#addaudioModal .addbox-box .addbox-left-div .album-cover-wrapper .camera .dialog {
  display: none;
}
#addaudioModal .addbox-box .addbox-right-div {
  display: block;
  padding: 20px 24px 24px 24px;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container {
  margin-bottom: 20px;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container label {
  display: block;
  font-size: 14px;
  color: #cccccc;
  margin-bottom: 8px;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control {
  width: 100%;
  height: 40px;
  padding: 0 12px;
  background: #1a1a1a;
  border: 1px solid #333333;
  color: #ffffff;
  font-size: 14px;
  transition: border-color 0.3s;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control:focus {
  border-color: #00dd77;
  outline: none;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control::-webkit-input-placeholder {
  color: #888888;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control::-moz-placeholder {
  color: #888888;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control:-ms-input-placeholder {
  color: #888888;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-input-container .form-control:-moz-placeholder {
  color: #888888;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-button-container .btn {
  width: 100%;
  height: 44px;
  line-height: 44px;
  padding: 0 20px;
  font-size: 16px;
  font-weight: 600;
  background: #00dd77;
  border: 1px solid #00dd77;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-button-container .btn i {
  margin-right: 8px;
}
#addaudioModal .addbox-box .addbox-right-div .addbox-button-container .btn:hover {
  background: rgb(17, 255, 145.1538461538);
  border-color: rgb(17, 255, 145.1538461538);
}

.page-wrap, .aboutUs-wrap {
  padding-top: 20px;
  padding-bottom: 30px;
  min-height: 500px;
}
.page-wrap .row, .aboutUs-wrap .row {
  display: block;
}
.page-wrap .row:before, .aboutUs-wrap .row:before, .page-wrap .row:after, .aboutUs-wrap .row:after {
  content: " ";
  display: table;
}
.page-wrap .row:after, .aboutUs-wrap .row:after {
  clear: both;
}
.page-wrap .row, .aboutUs-wrap .row {
  *zoom: 1;
}

.page-sidebar {
  float: left;
  width: 25%;
  padding-right: 15px;
}
@media (max-width: 991px) {
  .page-sidebar {
    float: none;
    width: 100%;
    padding-right: 0;
    margin-bottom: 20px;
  }
}

.page-nav {
  background-color: #1a1a1a;
  border: 1px solid #333333;
}
.page-nav .nav-title {
  padding: 15px;
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
  margin: 0;
}
.page-nav .nav-item {
  display: block;
  padding: 10px 15px;
  color: #cccccc;
  border-bottom: 1px solid #222222;
  text-decoration: none;
}
.page-nav .nav-item:last-child {
  border-bottom: none;
}
.page-nav .nav-item img {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
}
.page-nav .nav-item span {
  vertical-align: middle;
}
.page-nav .nav-item:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.page-nav .nav-item.active {
  background-color: #f10732;
  color: #ffffff;
}
.page-nav .nav-item.active:hover {
  background-color: #f10732;
}

.page-content {
  float: left;
  width: 75%;
  padding-left: 15px;
}
@media (max-width: 991px) {
  .page-content {
    float: none;
    width: 100%;
    padding-left: 0;
  }
}

.page-card {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
}
.page-card .page-title {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #f10732;
}
.page-card .page-body {
  color: #cccccc;
  font-size: 14px;
  line-height: 1.8;
}
.page-card .page-body h1 {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff;
  margin: 20px 0 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.page-card .page-body h1:first-child {
  margin-top: 0;
}
.page-card .page-body h2 {
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  margin: 20px 0 15px;
}
.page-card .page-body h2:first-child {
  margin-top: 0;
}
.page-card .page-body h3 {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.page-card .page-body h3:first-child {
  margin-top: 0;
}
.page-card .page-body h4 {
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.page-card .page-body h4:first-child {
  margin-top: 0;
}
.page-card .page-body h5, .page-card .page-body h6 {
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  margin: 10px 0;
}
.page-card .page-body h5:first-child, .page-card .page-body h6:first-child {
  margin-top: 0;
}
.page-card .page-body p {
  margin: 0 0 15px;
  text-align: justify;
}
.page-card .page-body p:last-child {
  margin-bottom: 0;
}
.page-card .page-body strong, .page-card .page-body b {
  color: #ffffff;
  font-weight: 700;
}
.page-card .page-body em, .page-card .page-body i {
  font-style: italic;
  color: #cccccc;
}
.page-card .page-body a {
  color: #f10732;
  text-decoration: none;
}
.page-card .page-body a:hover {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  text-decoration: underline;
}
.page-card .page-body img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 15px auto;
  border: 1px solid #333333;
}
.page-card .page-body ul, .page-card .page-body ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
.page-card .page-body ul li, .page-card .page-body ol li {
  margin-bottom: 5px;
  line-height: 1.8;
}
.page-card .page-body ul li:last-child, .page-card .page-body ol li:last-child {
  margin-bottom: 0;
}
.page-card .page-body ul {
  list-style-type: disc;
}
.page-card .page-body ul ul {
  list-style-type: circle;
  margin-bottom: 0;
}
.page-card .page-body ul ul ul {
  list-style-type: square;
}
.page-card .page-body ol {
  list-style-type: decimal;
}
.page-card .page-body ol ol {
  list-style-type: lower-alpha;
  margin-bottom: 0;
}
.page-card .page-body ol ol ol {
  list-style-type: lower-roman;
}
.page-card .page-body blockquote {
  margin: 15px 0;
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-left: 4px solid #f10732;
  color: #cccccc;
  font-style: italic;
}
.page-card .page-body blockquote p {
  margin: 0;
}
.page-card .page-body blockquote p:last-child {
  margin-bottom: 0;
}
.page-card .page-body code {
  display: inline;
  padding: 2px 6px;
  background-color: #2a2a2a;
  color: #f10732;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
  font-size: 12px;
}
.page-card .page-body pre {
  display: block;
  margin: 15px 0;
  padding: 15px;
  background-color: #2a2a2a;
  border: 1px solid #333333;
  overflow-x: auto;
}
.page-card .page-body pre code {
  display: block;
  padding: 0;
  background-color: transparent;
  color: #cccccc;
}
.page-card .page-body table {
  width: 100%;
  margin: 15px 0;
  border-collapse: collapse;
  background-color: #1a1a1a;
}
.page-card .page-body table th, .page-card .page-body table td {
  padding: 10px 15px;
  border: 1px solid #333333;
  text-align: left;
}
.page-card .page-body table th {
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 500;
}
.page-card .page-body table tr:hover {
  background-color: #2a2a2a;
}
.page-card .page-body hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #333333;
}
.page-card .page-body .video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  margin: 15px 0;
  background-color: #2a2a2a;
  overflow: hidden;
}
.page-card .page-body .video-container iframe, .page-card .page-body .video-container video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.aboutUs-wrap .p-left {
  float: left;
  width: 25%;
  padding-right: 15px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
}
@media (max-width: 991px) {
  .aboutUs-wrap .p-left {
    float: none;
    width: 100%;
    padding-right: 0;
    margin-bottom: 20px;
  }
}
.aboutUs-wrap .p-left .title-item {
  display: block;
  padding: 10px 15px;
  color: #cccccc;
  border-bottom: 1px solid #222222;
  text-decoration: none;
}
.aboutUs-wrap .p-left .title-item:last-child {
  border-bottom: none;
}
.aboutUs-wrap .p-left .title-item img {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
}
.aboutUs-wrap .p-left .title-item span {
  vertical-align: middle;
}
.aboutUs-wrap .p-left .title-item:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.aboutUs-wrap .p-left .title-item.active {
  background-color: #f10732;
  color: #ffffff;
}
.aboutUs-wrap .p-left .title-item.active:hover {
  background-color: #f10732;
}
.aboutUs-wrap .p-right {
  float: left;
  width: 75%;
  padding-left: 15px;
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
}
@media (max-width: 991px) {
  .aboutUs-wrap .p-right {
    float: none;
    width: 100%;
    padding-left: 0;
  }
}
.aboutUs-wrap .p-right h1 {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #f10732;
}
.aboutUs-wrap .p-right h2 {
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  margin: 20px 0 15px;
}
.aboutUs-wrap .p-right h2:first-of-type {
  margin-top: 15px;
}
.aboutUs-wrap .p-right h3 {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.aboutUs-wrap .p-right h4 {
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.aboutUs-wrap .p-right h5, .aboutUs-wrap .p-right h6 {
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  margin: 10px 0;
}
.aboutUs-wrap .p-right p {
  color: #cccccc;
  line-height: 1.8;
  margin: 0 0 15px;
  text-align: justify;
}
.aboutUs-wrap .p-right p:last-child {
  margin-bottom: 0;
}
.aboutUs-wrap .p-right strong, .aboutUs-wrap .p-right b {
  color: #ffffff;
  font-weight: 700;
}
.aboutUs-wrap .p-right a {
  color: #f10732;
  text-decoration: none;
}
.aboutUs-wrap .p-right a:hover {
  color: rgb(249.0443548387, 49.9556451613, 86.5403225806);
  text-decoration: underline;
}
.aboutUs-wrap .p-right img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 15px auto;
  border: 1px solid #333333;
}
.aboutUs-wrap .p-right ul, .aboutUs-wrap .p-right ol {
  margin: 0 0 15px;
  padding-left: 20px;
  color: #cccccc;
}
.aboutUs-wrap .p-right ul li, .aboutUs-wrap .p-right ol li {
  margin-bottom: 5px;
  line-height: 1.8;
}
.aboutUs-wrap .p-right ul li:last-child, .aboutUs-wrap .p-right ol li:last-child {
  margin-bottom: 0;
}
.aboutUs-wrap .p-right ul {
  list-style-type: disc;
}
.aboutUs-wrap .p-right ul ul {
  list-style-type: circle;
  margin-bottom: 0;
}
.aboutUs-wrap .p-right ol {
  list-style-type: decimal;
}
.aboutUs-wrap .p-right ol ol {
  list-style-type: lower-alpha;
  margin-bottom: 0;
}
.aboutUs-wrap .p-right blockquote {
  margin: 15px 0;
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-left: 4px solid #f10732;
  color: #cccccc;
  font-style: italic;
}
.aboutUs-wrap .p-right blockquote p {
  margin: 0;
}
.aboutUs-wrap .p-right table {
  width: 100%;
  margin: 15px 0;
  border-collapse: collapse;
}
.aboutUs-wrap .p-right table th, .aboutUs-wrap .p-right table td {
  padding: 10px 15px;
  border: 1px solid #333333;
  text-align: left;
  color: #cccccc;
}
.aboutUs-wrap .p-right table th {
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 500;
}
.aboutUs-wrap .p-right table tr:hover {
  background-color: #2a2a2a;
}
.aboutUs-wrap .p-right hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #333333;
}

.page-wrap-grid {
  padding-top: 20px;
  padding-bottom: 30px;
  min-height: 500px;
}
.page-wrap-grid .row:before, .page-wrap-grid .row:after {
  content: " ";
  display: table;
}
.page-wrap-grid .row:after {
  clear: both;
}
.page-wrap-grid .row {
  *zoom: 1;
}
.page-wrap-grid .page-sidebar-col .page-nav-list {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 0;
  margin: 0;
  list-style: none;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item {
  display: block;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item a {
  display: block;
  padding: 10px 15px;
  color: #cccccc;
  border-bottom: 1px solid #222222;
  text-decoration: none;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item a img {
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
  vertical-align: middle;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item a span {
  vertical-align: middle;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item a:hover {
  background-color: #2a2a2a;
  color: #ffffff;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item a.active {
  background-color: #f10732;
  color: #ffffff;
}
.page-wrap-grid .page-sidebar-col .page-nav-list .nav-item:last-child a {
  border-bottom: none;
}
.page-wrap-grid .page-content-col .page-article {
  background-color: #1a1a1a;
  border: 1px solid #333333;
  padding: 20px;
}
.page-wrap-grid .page-content-col .page-article .article-title {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 20px;
  padding-bottom: 15px;
  border-bottom: 2px solid #f10732;
}
.page-wrap-grid .page-content-col .page-article .article-content {
  color: #cccccc;
  font-size: 14px;
  line-height: 1.8;
}
.page-wrap-grid .page-content-col .page-article .article-content h1 {
  font-size: 28px;
  font-weight: 500;
  color: #ffffff;
  margin: 20px 0 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #333333;
}
.page-wrap-grid .page-content-col .page-article .article-content h1:first-child {
  margin-top: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content h2 {
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  margin: 20px 0 15px;
}
.page-wrap-grid .page-content-col .page-article .article-content h2:first-child {
  margin-top: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content h3 {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.page-wrap-grid .page-content-col .page-article .article-content h3:first-child {
  margin-top: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content h4 {
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
  margin: 15px 0 10px;
}
.page-wrap-grid .page-content-col .page-article .article-content h4:first-child {
  margin-top: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content h5, .page-wrap-grid .page-content-col .page-article .article-content h6 {
  font-size: 14px;
  font-weight: 500;
  color: #ffffff;
  margin: 10px 0;
}
.page-wrap-grid .page-content-col .page-article .article-content h5:first-child, .page-wrap-grid .page-content-col .page-article .article-content h6:first-child {
  margin-top: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content p {
  margin: 0 0 15px;
  text-align: justify;
}
.page-wrap-grid .page-content-col .page-article .article-content p:last-child {
  margin-bottom: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content strong, .page-wrap-grid .page-content-col .page-article .article-content b {
  color: #ffffff;
  font-weight: 700;
}
.page-wrap-grid .page-content-col .page-article .article-content a {
  color: #f10732;
  text-decoration: none;
}
.page-wrap-grid .page-content-col .page-article .article-content a:hover {
  text-decoration: underline;
}
.page-wrap-grid .page-content-col .page-article .article-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 15px auto;
  border: 1px solid #333333;
}
.page-wrap-grid .page-content-col .page-article .article-content ul, .page-wrap-grid .page-content-col .page-article .article-content ol {
  margin: 0 0 15px;
  padding-left: 20px;
}
.page-wrap-grid .page-content-col .page-article .article-content ul li, .page-wrap-grid .page-content-col .page-article .article-content ol li {
  margin-bottom: 5px;
  line-height: 1.8;
}
.page-wrap-grid .page-content-col .page-article .article-content ul li:last-child, .page-wrap-grid .page-content-col .page-article .article-content ol li:last-child {
  margin-bottom: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content ul {
  list-style-type: disc;
}
.page-wrap-grid .page-content-col .page-article .article-content ul ul {
  list-style-type: circle;
  margin-bottom: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content ol {
  list-style-type: decimal;
}
.page-wrap-grid .page-content-col .page-article .article-content ol ol {
  list-style-type: lower-alpha;
  margin-bottom: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content blockquote {
  margin: 15px 0;
  padding: 15px 20px;
  background-color: #2a2a2a;
  border-left: 4px solid #f10732;
  color: #cccccc;
  font-style: italic;
}
.page-wrap-grid .page-content-col .page-article .article-content blockquote p {
  margin: 0;
}
.page-wrap-grid .page-content-col .page-article .article-content table {
  width: 100%;
  margin: 15px 0;
  border-collapse: collapse;
}
.page-wrap-grid .page-content-col .page-article .article-content table th, .page-wrap-grid .page-content-col .page-article .article-content table td {
  padding: 10px 15px;
  border: 1px solid #333333;
  text-align: left;
}
.page-wrap-grid .page-content-col .page-article .article-content table th {
  background-color: #2a2a2a;
  color: #ffffff;
  font-weight: 500;
}
.page-wrap-grid .page-content-col .page-article .article-content table tr:hover {
  background-color: #2a2a2a;
}
.page-wrap-grid .page-content-col .page-article .article-content hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid #333333;
}

.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.m-xs {
  margin: 5px !important;
}

.mt-xs {
  margin-top: 5px !important;
}

.mr-xs {
  margin-right: 5px !important;
}

.mb-xs {
  margin-bottom: 5px !important;
}

.ml-xs {
  margin-left: 5px !important;
}

.m-sm {
  margin: 10px !important;
}

.mt-sm {
  margin-top: 10px !important;
}

.mr-sm {
  margin-right: 10px !important;
}

.mb-sm {
  margin-bottom: 10px !important;
}

.ml-sm {
  margin-left: 10px !important;
}

.m-md {
  margin: 15px !important;
}

.mt-md {
  margin-top: 15px !important;
}

.mr-md {
  margin-right: 15px !important;
}

.mb-md {
  margin-bottom: 15px !important;
}

.ml-md {
  margin-left: 15px !important;
}

.m-lg {
  margin: 20px !important;
}

.mt-lg {
  margin-top: 20px !important;
}

.mr-lg {
  margin-right: 20px !important;
}

.mb-lg {
  margin-bottom: 20px !important;
}

.ml-lg {
  margin-left: 20px !important;
}

.m-xl {
  margin: 30px !important;
}

.mt-xl {
  margin-top: 30px !important;
}

.mr-xl {
  margin-right: 30px !important;
}

.mb-xl {
  margin-bottom: 30px !important;
}

.ml-xl {
  margin-left: 30px !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.p-xs {
  padding: 5px !important;
}

.pt-xs {
  padding-top: 5px !important;
}

.pr-xs {
  padding-right: 5px !important;
}

.pb-xs {
  padding-bottom: 5px !important;
}

.pl-xs {
  padding-left: 5px !important;
}

.p-sm {
  padding: 10px !important;
}

.pt-sm {
  padding-top: 10px !important;
}

.pr-sm {
  padding-right: 10px !important;
}

.pb-sm {
  padding-bottom: 10px !important;
}

.pl-sm {
  padding-left: 10px !important;
}

.p-md {
  padding: 15px !important;
}

.pt-md {
  padding-top: 15px !important;
}

.pr-md {
  padding-right: 15px !important;
}

.pb-md {
  padding-bottom: 15px !important;
}

.pl-md {
  padding-left: 15px !important;
}

.p-lg {
  padding: 20px !important;
}

.pt-lg {
  padding-top: 20px !important;
}

.pr-lg {
  padding-right: 20px !important;
}

.pb-lg {
  padding-bottom: 20px !important;
}

.pl-lg {
  padding-left: 20px !important;
}

.p-xl {
  padding: 30px !important;
}

.pt-xl {
  padding-top: 30px !important;
}

.pr-xl {
  padding-right: 30px !important;
}

.pb-xl {
  padding-bottom: 30px !important;
}

.pl-xl {
  padding-left: 30px !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.my-xs {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

.my-sm {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.my-md {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

.my-lg {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

.my-xl {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.px-xs {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

.px-sm {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.px-md {
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.px-lg {
  padding-left: 20px !important;
  padding-right: 20px !important;
}

.px-xl {
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.py-xs {
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

.py-sm {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.py-md {
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

.py-lg {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.py-xl {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.d-none {
  display: none !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-table-row {
  display: table-row !important;
}

@media (max-width: 479px) {
  .d-xs-none {
    display: none !important;
  }
  .d-xs-inline {
    display: inline !important;
  }
  .d-xs-inline-block {
    display: inline-block !important;
  }
  .d-xs-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-block {
    display: block !important;
  }
}
.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-center {
  text-align: center !important;
}

.text-justify {
  text-align: justify !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.text-underline {
  text-decoration: underline !important;
}

.text-line-through {
  text-decoration: line-through !important;
}

.text-no-decoration {
  text-decoration: none !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.text-wrap {
  white-space: normal !important;
}

.text-break {
  word-wrap: break-word !important;
  word-break: break-word !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-xs {
  font-size: 12px !important;
}

.text-sm {
  font-size: 12px !important;
}

.text-base {
  font-size: 14px !important;
}

.text-lg {
  font-size: 16px !important;
}

.text-xl {
  font-size: 16px !important;
}

.text-2xl {
  font-size: 18px !important;
}

.text-3xl {
  font-size: 20px !important;
}

.text-4xl {
  font-size: 24px !important;
}

.text-5xl {
  font-size: 28px !important;
}

.text-6xl {
  font-size: 32px !important;
}

.font-light {
  font-weight: 300 !important;
}

.font-normal {
  font-weight: 400 !important;
}

.font-medium {
  font-weight: 500 !important;
}

.font-bold {
  font-weight: 700 !important;
}

.leading-none {
  line-height: 1 !important;
}

.leading-tight {
  line-height: 1.2 !important;
}

.leading-normal {
  line-height: 1.5 !important;
}

.leading-loose {
  line-height: 2 !important;
}

.text-primary {
  color: #ffffff !important;
}

.text-secondary {
  color: #cccccc !important;
}

.text-muted {
  color: #888888 !important;
}

.text-white {
  color: #ffffff !important;
}

.text-black {
  color: #000000 !important;
}

.text-accent-primary {
  color: #f10732 !important;
}

.text-accent-secondary {
  color: #0088ff !important;
}

.text-success {
  color: #00cc66 !important;
}

.text-info {
  color: #00aaff !important;
}

.text-warning {
  color: #ffaa00 !important;
}

.text-danger {
  color: #f10732 !important;
}

.bg-primary {
  background-color: #0a0a0a !important;
}

.bg-secondary {
  background-color: #1a1a1a !important;
}

.bg-tertiary {
  background-color: #2a2a2a !important;
}

.bg-white {
  background-color: #ffffff !important;
}

.bg-black {
  background-color: #000000 !important;
}

.bg-accent-primary {
  background-color: #f10732 !important;
  color: #ffffff !important;
}

.bg-accent-secondary {
  background-color: #0088ff !important;
  color: #ffffff !important;
}

.bg-success {
  background-color: #00cc66 !important;
  color: #ffffff !important;
}

.bg-info {
  background-color: #00aaff !important;
  color: #ffffff !important;
}

.bg-warning {
  background-color: #ffaa00 !important;
  color: #ffffff !important;
}

.bg-danger {
  background-color: #f10732 !important;
  color: #ffffff !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border {
  border: 1px solid #333333 !important;
}

.border-top {
  border-top: 1px solid #333333 !important;
}

.border-right {
  border-right: 1px solid #333333 !important;
}

.border-bottom {
  border-bottom: 1px solid #333333 !important;
}

.border-left {
  border-left: 1px solid #333333 !important;
}

.border-0 {
  border: 0 !important;
}

.border-top-0 {
  border-top: 0 !important;
}

.border-right-0 {
  border-right: 0 !important;
}

.border-bottom-0 {
  border-bottom: 0 !important;
}

.border-left-0 {
  border-left: 0 !important;
}

.border-primary {
  border-color: #333333 !important;
}

.border-secondary {
  border-color: #555555 !important;
}

.border-light {
  border-color: #777777 !important;
}

.border-dark {
  border-color: #222222 !important;
}

.border-accent-primary {
  border-color: #f10732 !important;
}

.border-accent-secondary {
  border-color: #0088ff !important;
}

.border-success {
  border-color: #00cc66 !important;
}

.border-info {
  border-color: #00aaff !important;
}

.border-warning {
  border-color: #ffaa00 !important;
}

.border-danger {
  border-color: #f10732 !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.top-0 {
  top: 0 !important;
}

.right-0 {
  right: 0 !important;
}

.bottom-0 {
  bottom: 0 !important;
}

.left-0 {
  left: 0 !important;
}

.float-left {
  float: left !important;
}

.float-right {
  float: right !important;
}

.float-none {
  float: none !important;
}

.clearfix:before, .clearfix:after {
  content: " ";
  display: table;
}
.clearfix:after {
  clear: both;
}
.clearfix {
  *zoom: 1;
}

.w-25 {
  width: 25% !important;
}

.w-50 {
  width: 50% !important;
}

.w-75 {
  width: 75% !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.h-25 {
  height: 25% !important;
}

.h-50 {
  height: 50% !important;
}

.h-75 {
  height: 75% !important;
}

.h-100 {
  height: 100% !important;
}

.h-auto {
  height: auto !important;
}

.mw-100 {
  max-width: 100% !important;
}

.mh-100 {
  max-height: 100% !important;
}

.min-w-0 {
  min-width: 0 !important;
}

.min-h-0 {
  min-height: 0 !important;
}

.align-baseline {
  vertical-align: baseline !important;
}

.align-top {
  vertical-align: top !important;
}

.align-middle {
  vertical-align: middle !important;
}

.align-bottom {
  vertical-align: bottom !important;
}

.align-text-bottom {
  vertical-align: text-bottom !important;
}

.align-text-top {
  vertical-align: text-top !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.overflow-x-auto {
  overflow-x: auto !important;
}

.overflow-x-hidden {
  overflow-x: hidden !important;
}

.overflow-x-visible {
  overflow-x: visible !important;
}

.overflow-x-scroll {
  overflow-x: scroll !important;
}

.overflow-y-auto {
  overflow-y: auto !important;
}

.overflow-y-hidden {
  overflow-y: hidden !important;
}

.overflow-y-visible {
  overflow-y: visible !important;
}

.overflow-y-scroll {
  overflow-y: scroll !important;
}

.cursor-auto {
  cursor: auto !important;
}

.cursor-default {
  cursor: default !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.cursor-wait {
  cursor: wait !important;
}

.cursor-text {
  cursor: text !important;
}

.cursor-move {
  cursor: move !important;
}

.cursor-help {
  cursor: help !important;
}

.cursor-not-allowed {
  cursor: not-allowed !important;
}

.select-none {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.select-text {
  -webkit-user-select: text;
  -moz-user-select: text;
  user-select: text;
}

.select-all {
  -webkit-user-select: all;
  -moz-user-select: all;
  user-select: all;
}

.select-auto {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  user-select: auto;
}

.shadow-none {
  box-shadow: none !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-none {
  border-radius: 0 !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.opacity-muted {
  opacity: 0.7 !important;
}

.opacity-disabled {
  opacity: 0.6 !important;
}

.opacity-hover {
  opacity: 0.8 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-10 {
  z-index: 10 !important;
}

.z-20 {
  z-index: 20 !important;
}

.z-30 {
  z-index: 30 !important;
}

.z-40 {
  z-index: 40 !important;
}

.z-50 {
  z-index: 50 !important;
}

.z-auto {
  z-index: auto !important;
}

.z-dropdown {
  z-index: 1000 !important;
}

.z-sticky {
  z-index: 1020 !important;
}

.z-fixed {
  z-index: 1030 !important;
}

.z-modal {
  z-index: 1050 !important;
}

.z-popover {
  z-index: 1060 !important;
}

.z-tooltip {
  z-index: 1070 !important;
}

.pointer-events-none {
  pointer-events: none !important;
}

.pointer-events-auto {
  pointer-events: auto !important;
}

.resize-none {
  resize: none !important;
}

.resize-both {
  resize: both !important;
}

.resize-horizontal {
  resize: horizontal !important;
}

.resize-vertical {
  resize: vertical !important;
}

.cover-xs {
  width: 40px !important;
  height: 40px !important;
}

.cover-sm {
  width: 50px !important;
  height: 50px !important;
}

.cover-md {
  width: 120px !important;
  height: 120px !important;
}

.cover-lg {
  width: 210px !important;
  height: 210px !important;
}

.playing-indicator {
  position: relative;
}
.playing-indicator:after {
  content: "♪";
  position: absolute;
  top: 0;
  right: 0;
  color: #f10732;
  font-size: 12px;
  line-height: 1;
}

.loading-indicator {
  position: relative;
}
.loading-indicator:after {
  content: "⟳";
  position: absolute;
  top: 0;
  right: 0;
  color: #0088ff;
  font-size: 12px;
  line-height: 1;
  /* 移除animation，CSS2.1不支持动画 */
}

.rating {
  display: inline-block;
}
.rating .star {
  color: #888888;
  font-size: 14px;
  cursor: pointer;
}
.rating .star.filled {
  color: #ffaa00;
}
.rating .star:hover {
  color: #ffbb33;
}

.transition-none {
  transition: none !important;
}

.transition-all {
  transition: all 0.2s ease !important;
}

.transition-colors {
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

.transition-opacity {
  transition: opacity 0.2s ease !important;
}

.transition-transform {
  transition: transform 0.2s ease !important;
}

.duration-75 {
  transition-duration: 75ms !important;
}

.duration-100 {
  transition-duration: 100ms !important;
}

.duration-150 {
  transition-duration: 150ms !important;
}

.duration-200 {
  transition-duration: 200ms !important;
}

.duration-300 {
  transition-duration: 300ms !important;
}

.duration-500 {
  transition-duration: 500ms !important;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  padding: inherit;
  margin: inherit;
  overflow: visible;
  clip: auto;
  border: inherit;
}

.debug-red {
  background-color: rgba(255, 0, 0, 0.2) !important;
  border: 1px solid red !important;
}

.debug-green {
  background-color: rgba(0, 255, 0, 0.2) !important;
  border: 1px solid green !important;
}

.debug-blue {
  background-color: rgba(0, 0, 255, 0.2) !important;
  border: 1px solid blue !important;
}

.debug-yellow {
  background-color: rgba(255, 255, 0, 0.2) !important;
  border: 1px solid yellow !important;
}

@media (max-width: 479px) {
  .xs\:text-left {
    text-align: left !important;
  }
  .xs\:text-center {
    text-align: center !important;
  }
  .xs\:text-right {
    text-align: right !important;
  }
  .xs\:float-left {
    float: left !important;
  }
  .xs\:float-right {
    float: right !important;
  }
  .xs\:float-none {
    float: none !important;
  }
  .xs\:d-none {
    display: none !important;
  }
  .xs\:d-block {
    display: block !important;
  }
  .xs\:d-inline {
    display: inline !important;
  }
  .xs\:d-inline-block {
    display: inline-block !important;
  }
  .xs\:w-25 {
    width: 25% !important;
  }
  .xs\:w-50 {
    width: 50% !important;
  }
  .xs\:w-75 {
    width: 75% !important;
  }
  .xs\:w-100 {
    width: 100% !important;
  }
  .xs\:w-auto {
    width: auto !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .sm\:text-left {
    text-align: left !important;
  }
  .sm\:text-center {
    text-align: center !important;
  }
  .sm\:text-right {
    text-align: right !important;
  }
  .sm\:float-left {
    float: left !important;
  }
  .sm\:float-right {
    float: right !important;
  }
  .sm\:float-none {
    float: none !important;
  }
  .sm\:d-none {
    display: none !important;
  }
  .sm\:d-block {
    display: block !important;
  }
  .sm\:d-inline {
    display: inline !important;
  }
  .sm\:d-inline-block {
    display: inline-block !important;
  }
  .sm\:w-25 {
    width: 25% !important;
  }
  .sm\:w-50 {
    width: 50% !important;
  }
  .sm\:w-75 {
    width: 75% !important;
  }
  .sm\:w-100 {
    width: 100% !important;
  }
  .sm\:w-auto {
    width: auto !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .md\:text-left {
    text-align: left !important;
  }
  .md\:text-center {
    text-align: center !important;
  }
  .md\:text-right {
    text-align: right !important;
  }
  .md\:float-left {
    float: left !important;
  }
  .md\:float-right {
    float: right !important;
  }
  .md\:float-none {
    float: none !important;
  }
  .md\:d-none {
    display: none !important;
  }
  .md\:d-block {
    display: block !important;
  }
  .md\:d-inline {
    display: inline !important;
  }
  .md\:d-inline-block {
    display: inline-block !important;
  }
  .md\:w-25 {
    width: 25% !important;
  }
  .md\:w-50 {
    width: 50% !important;
  }
  .md\:w-75 {
    width: 75% !important;
  }
  .md\:w-100 {
    width: 100% !important;
  }
  .md\:w-auto {
    width: auto !important;
  }
}
@media (min-width: 1200px) {
  .lg\:text-left {
    text-align: left !important;
  }
  .lg\:text-center {
    text-align: center !important;
  }
  .lg\:text-right {
    text-align: right !important;
  }
  .lg\:float-left {
    float: left !important;
  }
  .lg\:float-right {
    float: right !important;
  }
  .lg\:float-none {
    float: none !important;
  }
  .lg\:d-none {
    display: none !important;
  }
  .lg\:d-block {
    display: block !important;
  }
  .lg\:d-inline {
    display: inline !important;
  }
  .lg\:d-inline-block {
    display: inline-block !important;
  }
  .lg\:w-25 {
    width: 25% !important;
  }
  .lg\:w-50 {
    width: 50% !important;
  }
  .lg\:w-75 {
    width: 75% !important;
  }
  .lg\:w-100 {
    width: 100% !important;
  }
  .lg\:w-auto {
    width: auto !important;
  }
}
@media (max-width: 767px) {
  .recommendation-header {
    font-size: 20px;
    position: relative;
    padding-left: 10px;
  }
  .recommendation-header:before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 100%;
    background-color: #f10732;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -12px;
  }
  .recommendation-header .glyphicon {
    display: none;
  }
  .producer-profile-section,
  .producer-tabs-section,
  .album-content-section {
    padding: 0;
  }
  .producer-profile-card {
    background-color: transparent;
    border: none;
    padding: 0;
  }
  .producer-profile-avatar {
    height: 180px;
    width: 100%;
    border: none;
    border-radius: 0;
  }
  .producer-profile-stats {
    white-space: nowrap;
    text-align: center;
  }
  .producer-profile-stats .stat-item {
    display: inline-block;
    vertical-align: top;
  }
  .producer-profile-stats .stat-item .stat-icon {
    vertical-align: middle;
  }
  .producer-profile-stats .stat-item .stat-content {
    display: inline-block;
    vertical-align: middle;
  }
}
@media (max-width: 767px) {
  .header-toolbar .toolbar-content {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .header-toolbar .toolbar-section {
    display: table-cell;
    vertical-align: middle;
  }
  .header-toolbar .toolbar-section.left {
    width: 60px;
  }
  .header-toolbar .toolbar-section.center {
    padding: 0 10px;
  }
  .header-toolbar .toolbar-section.right {
    width: 70px;
    text-align: right;
  }
  .header-toolbar .site-logo {
    width: 60px;
  }
  .header-toolbar .site-logo .logo-image {
    height: auto;
  }
  .header-toolbar .header-search .search-form {
    display: table;
    width: 100%;
    height: 34px;
    table-layout: fixed;
  }
  .header-toolbar .header-search .search-input {
    display: table-cell;
    height: 34px;
    line-height: 34px;
    font-size: 12px;
    vertical-align: middle;
  }
  .header-toolbar .header-search .search-btn {
    display: table-cell;
    width: 34px;
    height: 34px;
    line-height: 34px;
    text-align: center;
    vertical-align: middle;
  }
  .header-toolbar .mobile-actions {
    white-space: nowrap;
  }
  .header-toolbar .mobile-actions .mobile-menu-btn,
  .header-toolbar .mobile-actions .mobile-user-btn {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    text-align: center;
    background: transparent;
    border: none;
    color: #cccccc;
    cursor: pointer;
    vertical-align: middle;
  }
  .header-toolbar .mobile-actions .mobile-menu-btn:hover,
  .header-toolbar .mobile-actions .mobile-user-btn:hover {
    color: #f10732;
  }
  .header-toolbar .mobile-actions .mobile-menu-btn .glyphicon,
  .header-toolbar .mobile-actions .mobile-user-btn .glyphicon {
    font-size: 18px;
  }
}
.mobile-nav-modal .modal-dialog {
  position: fixed;
  margin: 0;
  width: 260px;
  height: 100%;
  left: -260px;
  top: 0;
  transition: left 0.3s ease;
}
.mobile-nav-modal.in .modal-dialog {
  left: 0;
}
.mobile-nav-modal .modal-content {
  width: 100%;
  height: 100%;
  background-color: #1a1a1a;
  border: none;
  border-right: 1px solid #333333;
}
.mobile-nav-modal .modal-header {
  background-color: #2a2a2a;
  border-bottom: 1px solid #333333;
  padding: 15px;
}
.mobile-nav-modal .modal-header .close {
  color: #cccccc;
  opacity: 1;
  font-size: 16px;
}
.mobile-nav-modal .modal-header .close:hover {
  color: #f10732;
}
.mobile-nav-modal .modal-header .modal-title {
  color: #ffffff;
  font-size: 14px;
}
.mobile-nav-modal .modal-body {
  padding: 0;
  overflow-y: auto;
  position: absolute;
  top: 55px;
  bottom: 0;
  left: 0;
  right: 0;
}
.mobile-nav-modal .mobile-nav-accordion {
  margin: 0;
}
.mobile-nav-modal .mobile-nav-accordion .panel {
  background: transparent;
  border: none;
  border-bottom: 1px solid #333333;
  margin: 0;
}
.mobile-nav-modal .mobile-nav-accordion .panel-heading {
  display: table;
  width: 100%;
  padding: 0;
  background: transparent;
  border: none;
}
.mobile-nav-modal .mobile-nav-accordion .panel-link {
  display: table-cell;
  padding: 15px;
  color: #ffffff;
  font-size: 14px;
  vertical-align: middle;
}
.mobile-nav-modal .mobile-nav-accordion .panel-link:hover {
  background-color: #2a2a2a;
  color: #f10732;
}
.mobile-nav-modal .mobile-nav-accordion .panel-toggle {
  display: table-cell;
  width: 44px;
  text-align: center;
  vertical-align: middle;
  color: #888888;
  cursor: pointer;
}
.mobile-nav-modal .mobile-nav-accordion .panel-toggle:hover {
  color: #f10732;
}
.mobile-nav-modal .mobile-nav-accordion .panel-toggle .glyphicon {
  font-size: 14px;
}
.mobile-nav-modal .mobile-nav-accordion .panel-collapse .mobile-submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  background-color: #0a0a0a;
}
.mobile-nav-modal .mobile-nav-accordion .panel-collapse .mobile-submenu li a {
  display: block;
  padding: 10px 15px 10px 30px;
  color: #cccccc;
  font-size: 12px;
}
.mobile-nav-modal .mobile-nav-accordion .panel-collapse .mobile-submenu li a:hover {
  color: #f10732;
  background-color: #2a2a2a;
}

@media (max-width: 767px) {
  .hero-banner {
    margin-bottom: 0;
  }
  .site-header {
    position: relative;
  }
  .site-header .header-toolbar {
    margin-bottom: 0;
  }
  .main-navbar .navbar-content .navbar-nav {
    display: block;
  }
  .main-navbar .navbar-content .navbar-nav .nav-item {
    display: block;
    border-bottom: 1px solid #333333;
  }
  .main-navbar .navbar-content .navbar-nav .nav-item .nav-link {
    display: block;
    padding: 15px;
    text-align: left;
  }
  .main-navbar .navbar-content .navbar-nav .nav-item .dropdown-menu {
    position: static;
    float: none;
    width: 100%;
    border: none;
    box-shadow: none;
    background-color: #2a2a2a;
  }
  .main-navbar .navbar-content .navbar-nav .nav-item .dropdown-menu li a {
    padding-left: 30px;
  }
}
@media (max-width: 767px) {
  .hero-banner .row {
    margin: 0;
  }
  .hero-banner .col-md-8,
  .hero-banner .col-md-4 {
    padding: 0;
    margin-bottom: 15px;
  }
  .hero-banner #featured-carousel .carousel-inner .item img {
    width: 100%;
    height: auto;
  }
  .hero-banner #featured-carousel .carousel-control {
    width: 40px;
  }
  .hero-banner #featured-carousel .carousel-control .glyphicon {
    font-size: 16px;
  }
  .recommendation-tabs-container {
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .recommendation-tabs-container::-webkit-scrollbar {
    display: none;
  }
  .recommendation-tabs-container .recommendation-tab {
    display: inline-block;
    padding: 5px 10px;
    font-size: 12px;
    margin-right: 5px;
    vertical-align: middle;
  }
  .recommendation-tabs-container .category-left-section .recommendation-tab {
    font-size: 14px;
    font-weight: bold;
  }
  .recommendation-tabs-container .category-right-section {
    display: block;
    white-space: nowrap;
    text-align: right;
  }
  .recommendation-tabs-container .category-right-section .music-search-inline,
  .recommendation-tabs-container .category-right-section .filter-tabs-pc,
  .recommendation-tabs-container .category-right-section .filter-dropdown-mobile {
    display: inline-block;
    vertical-align: middle;
  }
  .recommendation-tabs-container .category-right-section .music-search-inline {
    margin-right: 8px;
  }
  .recommendation-tabs-container .category-right-section .recommendation-tab {
    display: inline-block;
  }
  .recommendation-tabs-container .category-right-section-wrapper {
    text-align: right;
  }
  .filter-dropdown-mobile {
    display: inline-block !important;
    vertical-align: middle;
  }
  .filter-dropdown-mobile .dropdown {
    display: inline-block;
  }
  .recommendation-tabs {
    margin-bottom: 8px;
    padding-bottom: 8px;
  }
  .recommendation-tabs .recommendation-tabs-left {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .recommendation-tabs .recommendation-tabs-left .recommendation-header {
    display: table-cell;
    vertical-align: middle;
    width: 130px;
    white-space: nowrap;
  }
  .recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container {
    display: table-cell;
    vertical-align: middle;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container::-webkit-scrollbar {
    display: none;
  }
  .recommendation-tabs .recommendation-tabs-right {
    display: none;
  }
  .recommendation-tabs .recommendation-tabs-right .track-type-filter {
    display: none;
  }
  .main-recommendations .recommendation-tabs .recommendation-tabs-left .recommendation-tabs-container .recommendation-tab {
    padding: 5px 10px;
  }
  .track-list .track-item .track-content {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .track-list .track-item .track-info {
    display: table-cell;
    overflow: hidden;
  }
  .track-list .track-item .track-info .track-title-row {
    display: block;
    overflow: hidden;
  }
  .track-list .track-item .track-info .track-title-row .track-title {
    height: auto;
    min-height: auto;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .ranking-sidebar {
    margin-top: 20px;
  }
  .ranking-sidebar .sidebar-title {
    font-size: 14px;
  }
  .ranking-sidebar .ranking-time-tabs .ranking-time-tab {
    padding: 5px 10px;
    font-size: 12px;
  }
  .dj-producer-section .page-header .pull-left {
    display: inline-block;
  }
  .dj-producer-section .page-header .pull-left h3 {
    display: inline-block;
    font-size: 20px;
    vertical-align: middle;
    white-space: nowrap;
    margin-right: 12px;
  }
  .dj-producer-section .page-header .pull-left .producer-tabs {
    display: inline-block !important;
    vertical-align: middle;
  }
  .dj-producer-section .page-header .pull-left .producer-tabs .producer-tab {
    font-size: 12px;
  }
  .dj-producer-section .page-header .btn-view-all {
    display: inline-block;
    font-size: 12px;
  }
  .dj-producer-section .dj-producer-card {
    margin-bottom: 15px;
  }
  .dj-producer-section .dj-producer-card.dj-producer-card--large .dj-producer-avatar {
    width: 100%;
    height: 200px;
  }
  .dj-producer-section .dj-producer-card .featured-list .featured-item .featured-title, .dj-producer-section .dj-producer-card .music-list .featured-item .featured-title, .dj-producer-section .dj-producer-card .featured-list .music-item .featured-title, .dj-producer-section .dj-producer-card .music-list .music-item .featured-title, .dj-producer-section .dj-producer-card .featured-list .featured-item .music-title, .dj-producer-section .dj-producer-card .music-list .featured-item .music-title, .dj-producer-section .dj-producer-card .featured-list .music-item .music-title, .dj-producer-section .dj-producer-card .music-list .music-item .music-title {
    font-size: 13px;
  }
  .dj-producer-section .dj-producer-card .featured-list .featured-item .featured-date, .dj-producer-section .dj-producer-card .music-list .featured-item .featured-date, .dj-producer-section .dj-producer-card .featured-list .music-item .featured-date, .dj-producer-section .dj-producer-card .music-list .music-item .featured-date, .dj-producer-section .dj-producer-card .featured-list .featured-item .music-meta, .dj-producer-section .dj-producer-card .music-list .featured-item .music-meta, .dj-producer-section .dj-producer-card .featured-list .music-item .music-meta, .dj-producer-section .dj-producer-card .music-list .music-item .music-meta {
    font-size: 10px;
  }
  .dj-producer-section .dj-producer-card.dj-producer-card--small .dj-producer-avatar {
    width: 100%;
    height: 120px;
  }
  .album-section .page-header .pull-left {
    display: inline-block;
  }
  .album-section .page-header .pull-left h3 {
    font-size: 20px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
  }
  .album-section .page-header .pull-left .producer-tabs {
    display: inline-block !important;
    vertical-align: middle;
  }
  .album-section .page-header .pull-left .producer-tabs .producer-tab {
    font-size: 12px;
  }
  .album-section .page-header .btn-view-all {
    display: table-cell;
    vertical-align: middle;
    font-size: 12px;
  }
  .album-section .album-card {
    margin-bottom: 15px;
  }
  .album-section .album-card .album-header .album-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .album-section .album-card .album-header .album-artist {
    display: none;
  }
  .album-section .album-cover-section .album-cover {
    height: 150px;
  }
}
@media (max-width: 767px) {
  .breadcrumb-nav,
  .breadcrumb-section {
    margin-bottom: 0;
  }
  .breadcrumb-nav .breadcrumb,
  .breadcrumb-section .breadcrumb {
    font-size: 12px;
    padding: 8px 0;
  }
  .breadcrumb-nav .breadcrumb li .dropdown-menu,
  .breadcrumb-section .breadcrumb li .dropdown-menu {
    position: fixed;
    left: 0;
    right: 0;
    top: auto;
    width: 100%;
    max-height: 300px;
    overflow-y: auto;
  }
  .category-content .recommendation-tabs .recommendation-tabs-container {
    display: table;
    width: 100%;
    table-layout: fixed;
    padding-bottom: 5px;
  }
  .category-content .recommendation-tabs .category-left-section {
    display: table-cell;
    vertical-align: middle;
    font-size: 20px;
  }
  .category-content .recommendation-tabs .category-left-section .dropdown {
    display: none;
  }
  .category-content .recommendation-tabs .mobile-filter-section {
    display: table-cell;
    text-align: right;
    vertical-align: middle;
    white-space: nowrap;
  }
  .category-content .recommendation-tabs .mobile-filter-section .mobile-style-tab {
    display: inline-block;
    padding: 4px 8px;
    font-size: 12px;
    color: #cccccc;
    background-color: #2a2a2a;
    border: 1px solid #333333;
    margin-right: 4px;
  }
  .category-content .recommendation-tabs .mobile-filter-section .mobile-style-tab.active {
    background-color: #f10732;
    border-color: #f10732;
    color: #ffffff;
  }
  .category-content .recommendation-tabs .mobile-filter-section .btn-filter {
    display: inline-block;
    padding: 4px 8px;
    font-size: 12px;
    background-color: #2a2a2a;
    border: 1px solid #333333;
    color: #cccccc;
    vertical-align: middle;
  }
  .category-content .recommendation-tabs .mobile-filter-section .btn-filter:active {
    background-color: #f10732;
    color: #ffffff;
  }
  .mobile-filter-modal .modal-dialog {
    margin: 0;
    width: 260px;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
  }
  .mobile-filter-modal .modal-content {
    width: 260px;
    height: 100%;
    border: none;
    background-color: #1a1a1a;
  }
  .mobile-filter-modal .modal-header {
    border-bottom: 1px solid #333333;
    padding: 15px;
  }
  .mobile-filter-modal .modal-header .close {
    font-size: 24px;
    color: #888888;
    opacity: 1;
  }
  .mobile-filter-modal .modal-header .modal-title {
    font-size: 16px;
    color: #ffffff;
  }
  .mobile-filter-modal .modal-body {
    padding: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    position: absolute;
    top: 55px;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .mobile-filter-modal .filter-group {
    border-bottom: 1px solid #333333;
    padding: 10px 15px;
    margin-left: 0;
  }
  .mobile-filter-modal .filter-group .filter-label {
    font-size: 14px;
    color: #ffffff;
    margin-bottom: 5px;
    font-weight: bold;
  }
  .mobile-filter-modal .filter-group .filter-options .filter-option {
    display: inline-block;
    padding: 4px 10px;
    margin: 0 6px 6px 0;
    font-size: 12px;
    color: #cccccc;
    background-color: #2a2a2a;
    border: 1px solid #333333;
  }
  .mobile-filter-modal .filter-group .filter-options .filter-option:hover {
    color: #ffffff;
    border-color: #f10732;
  }
  .mobile-filter-modal .filter-group .filter-options .filter-option.active {
    background-color: #f10732;
    border-color: #f10732;
    color: #ffffff;
  }
  .music-info .music-artist {
    display: none;
  }
  .bulk-actions-bar {
    display: block;
    text-align: center;
  }
  .bulk-actions-bar .bulk-actions-left {
    display: block;
    margin-bottom: 10px;
  }
  .bulk-actions-bar .bulk-actions-right {
    display: block;
    text-align: center;
  }
  .pagination li a,
  .pagination li span {
    padding: 10px;
    font-size: 12px;
    line-height: 1;
    text-align: center;
  }
  .featured-sidebar .sidebar-title,
  .ranking-sidebar .sidebar-title {
    font-size: 20px;
  }
  .sidebar-section {
    display: none;
  }
  .producer-search-box {
    margin: 0;
  }
  .producer-search-box .input-group .form-control {
    height: 36px;
  }
  .producer-search-box .input-group .input-group-btn .btn {
    height: 34px;
    min-height: 34px;
    min-width: auto;
    padding: 6px 12px;
  }
  .producer-search-form .input-group,
  .music-search-form .input-group,
  .album-search-form .input-group {
    width: 100px;
  }
  .album-artist,
  .album-meta {
    display: none;
  }
  .album-title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .album-grid .row [class*=col-xs-]:nth-child(2n+1) {
    clear: left;
  }
  .album-detail-section {
    padding: 0;
  }
  .album-detail-header {
    background-color: transparent;
    margin-bottom: 0;
  }
  .album-detail-header .album-detail-cover {
    float: none;
    width: 100%;
    height: 180px;
  }
  .album-detail-info {
    padding: 0;
    margin-left: 0;
  }
  .album-detail-type {
    display: none;
  }
  .track-player-alternative-section {
    margin-bottom: 12px;
    padding: 0;
  }
  .track-content-section {
    padding: 15px 0;
  }
  .smart-filter-hint {
    display: none;
  }
  .playlist-toolbar,
  .workspace-toolbar {
    padding: 10px 8px;
  }
  .playlist-toolbar .toolbar-checkbox,
  .workspace-toolbar .toolbar-checkbox {
    margin-right: 8px;
  }
  .playlist-toolbar .toolbar-btn .glyphicon,
  .workspace-toolbar .toolbar-btn .glyphicon {
    display: none;
  }
  .playlist-toolbar .toolbar-btn .count-wrapper,
  .workspace-toolbar .toolbar-btn .count-wrapper {
    display: none;
  }
  .playlist-pagination,
  .workspace-pagination {
    padding: 10px 8px;
    width: 142px;
  }
  .producer-name {
    display: block;
    max-width: 150px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .filter-dropdown-mobile {
    display: inline-block;
  }
  .filter-dropdown-mobile .dropdown-toggle {
    height: 34px;
    min-height: 34px;
    min-width: auto;
    padding: 6px 12px;
    font-size: 12px;
  }
  .pagination-wrapper {
    padding: 16px 0;
    margin-top: 0;
  }
  .producer-content-row {
    padding: 0;
  }
  .producer-meta .meta-separator {
    display: none;
  }
  .producer-tracks .row + .row {
    display: none;
  }
  .producer-tracks .col-xs-6 {
    width: 100%;
  }
  .producer-tracks [class*=col-] {
    padding: 0;
  }
  .track-link {
    padding: 5px;
  }
  .producer-track-date {
    width: 60px;
  }
  .producer-avatar-section {
    padding-right: 8px;
  }
  .producer-sidebar-column .featured-sidebar {
    display: none;
  }
}
@media (max-width: 767px) {
  .track-player-alternative-section .player-info-bar {
    padding: 0;
    border: 0 solid #1a1a1a;
  }
  .track-player-alternative-section .player-info-bar .player-info-left {
    display: none;
  }
  .track-player-alternative-section .player-info-bar .player-info-right {
    display: none;
  }
  .track-player-alternative-section .player-main-area-mobile {
    margin-bottom: 12px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-cover {
    width: 280px;
    height: 280px;
    margin: 0 auto 12px auto;
    position: relative;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-cover .track-thumbnail-mini {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-cover .track-thumbnail-mini::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-color: #111111;
    background-image: repeating-radial-gradient(circle, #111111 0, #111111 2px, #222222 3px, #222222 4px);
    z-index: 1;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-cover .track-thumbnail-mini::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 60%);
    z-index: 2;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-cover .track-thumbnail-mini img,
  .track-player-alternative-section .player-main-area-mobile .mobile-cover .track-thumbnail-mini .image-fitted {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 50% !important;
    height: 50% !important;
    margin-left: -25% !important;
    margin-top: -25% !important;
    border-radius: 50%;
    z-index: 3;
    max-width: none !important;
    max-height: none !important;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-title-row {
    text-align: center;
    margin-bottom: 20px;
    padding: 0 16px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-title-row .mobile-track-title {
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
    margin-bottom: 10px;
    overflow: hidden;
    position: relative;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-title-row .mobile-track-title .title-text {
    display: inline-block;
    white-space: nowrap;
    will-change: transform;
    animation: marquee-scroll 15s linear infinite;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-title-row .mobile-track-meta {
    font-size: 12px;
    color: #cccccc;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-title-row .mobile-track-meta .meta-item {
    margin: 0 6px;
  }
  @keyframes vinyl-spin {
    from {
      transform: rotate(0deg);
    }
    to {
      transform: rotate(360deg);
    }
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 20px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-time-left,
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-time-right {
    display: table-cell;
    width: 50px;
    vertical-align: middle;
    font-size: 12px;
    color: #cccccc;
    text-align: center;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform {
    display: table-cell;
    vertical-align: middle;
    padding: 0 8px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform .waveform-progress-container {
    height: 16px;
    position: relative;
    overflow: hidden;
    cursor: pointer;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform .waveform-progress-container .waveform-progress-unplayed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform .waveform-progress-container .waveform-progress-table {
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
    position: relative;
    z-index: 1;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform .waveform-progress-container .waveform-progress-table .waveform-progress-unplayed-mask {
    display: table-cell;
    background-color: rgba(0, 0, 0, 0.6);
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-player-row .mobile-waveform .waveform-progress-container .waveform-clickable-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
    margin-bottom: 24px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn {
    padding: 0;
    background-color: transparent;
    border: none;
    color: #cccccc;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn .glyphicon {
    font-size: 24px;
    line-height: 1;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn.btn-play {
    width: 64px;
    height: 64px;
    border: 2px solid #cccccc;
    border-radius: 50%;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn.btn-play .glyphicon {
    font-size: 48px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn.btn-play .glyphicon-play {
    display: inline-block;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-controls-row .control-btn.btn-play .glyphicon-pause {
    display: none;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-actions-row {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-actions-row .mobile-action-btn {
    display: table-cell;
    width: 33.33%;
    padding: 12px 0;
    background-color: #0a0a0a;
    border: 1px solid #333333;
    border-left: 0;
    color: #cccccc;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-actions-row .mobile-action-btn:first-child {
    border-left: 1px solid #333333;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-actions-row .mobile-action-btn .glyphicon {
    display: block;
    font-size: 20px;
    margin-bottom: 4px;
  }
  .track-player-alternative-section .player-main-area-mobile .mobile-actions-row .mobile-action-btn .action-text {
    display: block;
    font-size: 12px;
  }
  .track-player-alternative-section .jp-state-playing .player-main-area-mobile .mobile-controls-row .control-btn.btn-play .glyphicon-play {
    display: none;
  }
  .track-player-alternative-section .jp-state-playing .player-main-area-mobile .mobile-controls-row .control-btn.btn-play .glyphicon-pause {
    display: inline-block;
  }
  .track-player-alternative-section .jp-state-playing .player-main-area-mobile .mobile-cover .track-thumbnail-mini::before, .track-player-alternative-section .jp-state-playing .player-main-area-mobile .mobile-cover .track-thumbnail-mini::after {
    animation: vinyl-spin 20s linear infinite;
  }
  .track-player-alternative-section .playlist-items .list-item .item-bpm,
  .track-player-alternative-section .playlist-items .list-item .item-key,
  .track-player-alternative-section .playlist-items .list-item .item-duration,
  .track-player-alternative-section .workspace-items .list-item .item-bpm,
  .track-player-alternative-section .workspace-items .list-item .item-key,
  .track-player-alternative-section .workspace-items .list-item .item-duration {
    display: none;
  }
  .track-player-alternative-section .playlist-items .list-item .item-title,
  .track-player-alternative-section .workspace-items .list-item .item-title {
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .track-player-alternative-section .playlist-items .list-item .item-title .track-title-text,
  .track-player-alternative-section .workspace-items .list-item .item-title .track-title-text {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
    width: 100%;
  }
  .track-player-alternative-section .playlist-items .list-item .item-title .track-title-text > span,
  .track-player-alternative-section .workspace-items .list-item .item-title .track-title-text > span {
    display: inline-block;
    white-space: nowrap;
    will-change: transform;
    position: relative;
  }
  .track-player-alternative-section .playlist-items .list-item .item-title .track-meta-mobile,
  .track-player-alternative-section .workspace-items .list-item .item-title .track-meta-mobile {
    display: block;
    font-size: 10px;
    color: #cccccc;
    margin-top: 4px;
  }
  .track-player-alternative-section .playlist-items .list-item .item-title .track-meta-mobile .meta-mobile-item,
  .track-player-alternative-section .workspace-items .list-item .item-title .track-meta-mobile .meta-mobile-item {
    display: inline-block;
    margin-right: 8px;
  }
  .track-player-alternative-section .playlist-items .list-item.active .item-title .track-title-text > span, .track-player-alternative-section .playlist-items .list-item.is-playing .item-title .track-title-text > span,
  .track-player-alternative-section .workspace-items .list-item.active .item-title .track-title-text > span,
  .track-player-alternative-section .workspace-items .list-item.is-playing .item-title .track-title-text > span {
    animation: marquee-scroll 15s linear infinite;
  }
  @keyframes marquee-scroll {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(-50%, 0, 0);
    }
  }
  .track-player-alternative-section .music-list-container .music-item .music-info .music-artist .track-artist-text {
    display: block;
    font-size: 10px;
    color: #cccccc;
    margin-top: 4px;
  }
  .track-player-alternative-section .music-list-container .music-item .music-info .music-artist .track-artist-text .artist-meta-item {
    display: inline-block;
    margin-right: 8px;
  }
  .track-player-alternative-section .music-list-container .music-item .music-info .music-meta .meta-item.bpm, .track-player-alternative-section .music-list-container .music-item .music-info .music-meta .meta-item.key, .track-player-alternative-section .music-list-container .music-item .music-info .music-meta .meta-item.duration {
    display: none;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header {
    display: table;
    width: 100%;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-left {
    display: table-cell;
    vertical-align: middle;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-left .player-tab-btn {
    padding: 5px 10px;
    font-size: 12px;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-right {
    display: table-cell;
    width: 160px;
    vertical-align: middle;
    text-align: right;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-right .tab-controls .control-checkbox {
    font-size: 12px;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-right .tab-controls .btn-show-all {
    padding: 5px 10px;
    font-size: 12px;
  }
  .track-player-alternative-section .player-tabs-row .player-tabs-header .tabs-header-right .tab-controls .btn-show-all .btn-text {
    display: none;
  }
}
@media (max-width: 767px) {
  .music-list .music-item {
    display: block;
    padding: 10px;
  }
  .music-list .music-item .music-item-left {
    display: block;
    margin-bottom: 10px;
  }
  .music-list .music-item .music-item-left .track-number {
    display: inline-block;
    width: auto;
    margin-right: 10px;
  }
  .music-list .music-item .music-item-left .track-cover {
    width: 60px;
    height: 60px;
    float: left;
    margin-right: 10px;
  }
  .music-list .music-item .music-item-left .track-info {
    overflow: hidden;
  }
  .music-list .music-item .music-item-left .track-info .track-title {
    font-size: 14px;
  }
  .music-list .music-item .music-item-left .track-info .track-meta {
    font-size: 12px;
  }
  .music-list .music-item .music-item-left .track-info .track-meta .meta-item {
    display: block;
    margin-bottom: 5px;
  }
  .music-list .music-item .music-item-right {
    display: block;
    text-align: center;
  }
  .music-list .music-item .music-item-right .track-actions .action-btn {
    padding: 5px 10px;
    font-size: 12px;
    margin: 0 5px;
  }
}
@media (max-width: 767px) {
  .main-content {
    padding-top: 8px;
    padding-bottom: 8px;
    min-height: 100vh;
  }
}
@media (max-width: 767px) {
  .main-footer {
    padding: 20px 10px;
    margin-top: 0;
  }
  .main-footer .footer-links {
    display: block;
    text-align: center;
  }
  .main-footer .footer-links li {
    display: inline-block;
    margin: 5px;
  }
  .main-footer .footer-links li a {
    font-size: 12px;
  }
  .main-footer .footer-copyright {
    font-size: 12px;
    text-align: center;
  }
}
@media (max-width: 767px) {
  .floating-player {
    height: 60px;
  }
  .floating-player .player-content .player-left {
    width: 60%;
  }
  .floating-player .player-content .player-left .track-thumbnail {
    width: 40px;
    height: 40px;
  }
  .floating-player .player-content .player-left .track-info .track-title {
    font-size: 12px;
  }
  .floating-player .player-content .player-left .track-info .track-artist {
    font-size: 12px;
  }
  .floating-player .player-content .player-center {
    display: none;
  }
  .floating-player .player-content .player-right {
    width: 40%;
  }
  .floating-player .player-content .player-right .player-controls .control-btn {
    width: 32px;
    height: 32px;
    font-size: 12px;
    margin: 0 5px;
  }
  .floating-player .player-progress {
    height: 2px;
  }
}
@media (max-width: 767px) {
  .btn {
    padding: 5px 10px;
    font-size: 12px;
  }
  .btn-lg {
    padding: 10px 15px;
    font-size: 14px;
  }
  .btn-sm {
    padding: 5px;
    font-size: 12px;
  }
  .form-control {
    height: 40px;
    padding: 5px 10px;
    font-size: 14px;
  }
  .modal-dialog {
    margin: 10px;
  }
  .modal-dialog .modal-content .modal-header {
    padding: 10px;
  }
  .modal-dialog .modal-content .modal-header .modal-title {
    font-size: 14px;
  }
  .modal-dialog .modal-content .modal-body {
    padding: 10px;
  }
  .modal-dialog .modal-content .modal-footer {
    padding: 10px;
  }
  .dropdown-menu {
    font-size: 12px;
  }
  .dropdown-menu li a {
    padding: 5px 10px;
  }
}
@media (max-width: 767px) {
  .table-responsive {
    border: none;
  }
  .table-responsive table {
    font-size: 12px;
  }
  .table-responsive table th,
  .table-responsive table td {
    padding: 5px;
  }
}
@media (max-width: 768px) and (orientation: landscape) {
  .site-header .header-toolbar .toolbar-content {
    height: 50px;
  }
  .site-header .header-toolbar .toolbar-content .toolbar-section {
    display: table-cell;
    margin-bottom: 0;
  }
  .site-header .header-toolbar .toolbar-content .toolbar-section.left {
    width: 30%;
  }
  .site-header .header-toolbar .toolbar-content .toolbar-section.center {
    width: 40%;
  }
  .site-header .header-toolbar .toolbar-content .toolbar-section.right {
    width: 30%;
  }
}
@media (max-width: 360px) {
  .header-toolbar .header-actions .action-btn {
    padding: 5px;
    font-size: 12px;
  }
  .header-toolbar .header-actions .action-btn .glyphicon {
    margin-right: 0;
  }
  .header-toolbar .header-actions .action-btn span:not(.glyphicon) {
    display: none;
  }
  .music-item .track-cover {
    width: 50px;
    height: 50px;
  }
  .dj-producer-card.dj-producer-card--large .dj-producer-avatar {
    width: 100px;
    height: 100px;
  }
  .dj-producer-card.dj-producer-card--small .dj-producer-avatar {
    width: 60px;
    height: 60px;
  }
}
.container {
  padding-left: calc(16px / 2);
  padding-right: calc(16px / 2);
}

.container-fluid {
  padding-left: calc(16px / 2);
  padding-right: calc(16px / 2);
}

.row {
  margin-left: calc(-16px / 2);
  margin-right: calc(-16px / 2);
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1,
.col-xs-2, .col-sm-2, .col-md-2, .col-lg-2,
.col-xs-3, .col-sm-3, .col-md-3, .col-lg-3,
.col-xs-4, .col-sm-4, .col-md-4, .col-lg-4,
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5,
.col-xs-6, .col-sm-6, .col-md-6, .col-lg-6,
.col-xs-7, .col-sm-7, .col-md-7, .col-lg-7,
.col-xs-8, .col-sm-8, .col-md-8, .col-lg-8,
.col-xs-9, .col-sm-9, .col-md-9, .col-lg-9,
.col-xs-10, .col-sm-10, .col-md-10, .col-lg-10,
.col-xs-11, .col-sm-11, .col-md-11, .col-lg-11,
.col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  padding-left: calc(16px / 2);
  padding-right: calc(16px / 2);
}

.tooltip-inner {
  white-space: nowrap;
  background-color: #f10732;
}

.tooltip.top .tooltip-arrow {
  border-top-color: #f10732;
}

.tooltip.bottom .tooltip-arrow {
  border-bottom-color: #f10732;
}

.tooltip.left .tooltip-arrow {
  border-left-color: #f10732;
}

.tooltip.right .tooltip-arrow {
  border-right-color: #f10732;
}

a:visited {
  color: inherit;
}

html {
  scroll-behavior: smooth;
}
body {
  background-color: #0a0a0a;
  color: #ffffff;
  overflow-x: hidden;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.today {
  color: #00dd77 !important;
}

*:focus {
  outline: none !important;
  outline-offset: 0 !important;
}

button:focus,
input:focus,
textarea:focus,
select:focus {
  outline: none !important;
  box-shadow: none !important;
}
@supports not (box-shadow: 0 0 0 2px #f10732) {
  button:focus,
  input:focus,
  textarea:focus,
  select:focus {
    border: 2px solid #f10732;
  }
}

::-moz-selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

::selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

::-moz-selection {
  background-color: #f10732;
  color: #ffffff;
  text-shadow: none;
}

::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background-color: #1a1a1a;
  border: 1px solid #333333;
}

::-webkit-scrollbar-thumb {
  background-color: #555555;
  border: 1px solid #333333;
}
::-webkit-scrollbar-thumb:hover {
  background-color: #777777;
}
::-webkit-scrollbar-thumb:focus, ::-webkit-scrollbar-thumb:active {
  box-shadow: none !important;
  outline: none !important;
  background-color: #f10732;
}

::-webkit-scrollbar-corner {
  background-color: #1a1a1a;
}

::-webkit-scrollbar:horizontal {
  height: 12px;
}

img[alt]:empty::before {
  content: "📷 " attr(alt);
  display: block;
  text-align: center;
  padding: 15px;
  background-color: #2a2a2a;
  color: #888888;
  border: 1px solid #333333;
  font-size: 12px;
}
img[src$=".loading"] {
  background-color: #2a2a2a;
  background-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="%23333"/><text x="50" y="50" text-anchor="middle" dy="0.3em" fill="%23666" font-family="Arial" font-size="12">⟳</text></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 40px 40px;
}

::-webkit-input-placeholder {
  color: #888888;
  opacity: 1;
}

::-moz-placeholder {
  color: #888888;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #888888;
  opacity: 1;
}

:-moz-placeholder {
  color: #888888;
  opacity: 1;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  background-color: #1a1a1a !important;
  -webkit-text-fill-color: #ffffff !important;
}

.player-bar,
.navbar-fixed-top,
.modal,
.dropdown-menu {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000;
}
@media print {
  .navbar,
  .player-bar,
  .sidebar,
  .btn,
  .modal,
  .dropdown-menu,
  .tooltip,
  .alert {
    display: none !important;
  }
  body {
    background-color: white !important;
    color: black !important;
    font-size: 12pt !important;
    line-height: 1.5 !important;
  }
  a[href]:after {
    content: " (" attr(href) ")";
    font-size: 10pt;
    color: #666;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
  }
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  .track-item,
  .card {
    page-break-inside: avoid;
  }
}
@media (prefers-contrast: high) {
  body {
    background-color: #000000;
    color: #ffffff;
  }
  .btn,
  .form-control,
  .card,
  .modal-content {
    border-width: 2px;
    border-color: #ffffff;
  }
  a {
    color: #00ffff;
    text-decoration: underline;
  }
  a:hover, a:focus {
    color: #ffffff;
    background-color: #0066cc;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .equalizer-display .eq-bar {
    animation: none !important;
  }
  .loading-indicator:after {
    animation: none !important;
    content: "⏳";
  }
}
@media (prefers-color-scheme: light) {
  body {
    background-color: #0a0a0a !important;
    color: #ffffff !important;
  }
}
@media (hover: none) and (pointer: coarse) {
  *:hover {
    color: inherit;
  }
  .btn:focus,
  .btn:active,
  .nav-link:focus,
  .nav-link:active,
  .track-item:focus,
  .track-item:active {
    box-shadow: none !important;
    outline: none !important;
    background-color: #2a2a2a;
    transform: scale(0.98);
  }
  @supports not (transform: scale(0.98)) {
    .btn:focus,
    .btn:active,
    .nav-link:focus,
    .nav-link:active,
    .track-item:focus,
    .track-item:active {
      opacity: 0.8;
    }
  }
  .top-header:focus, .top-header:active,
  .header-container:focus,
  .header-container:active,
  .header-left:focus,
  .header-left:active,
  .header-center:focus,
  .header-center:active,
  .header-right:focus,
  .header-right:active {
    transform: none !important;
    opacity: 1 !important;
    border-bottom: 1px solid #333333;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 1) {
  .player-bar {
    position: fixed;
    top: auto;
    bottom: 0;
  }
  .navbar-nav {
    display: block;
  }
  .navbar-nav > li {
    display: inline-block;
    vertical-align: top;
  }
}
@supports not (display: grid) {
  .card-layout .card-row:before, .card-layout .card-row:after {
    content: " ";
    display: table;
  }
  .card-layout .card-row:after {
    clear: both;
  }
  .card-layout .card-row {
    *zoom: 1;
  }
  .card-layout .card-row .card {
    float: left;
    width: 100%;
  }
  @media (min-width: 768px) {
    .card-layout .card-row .card {
      width: 50%;
    }
  }
  @media (min-width: 1200px) {
    .card-layout .card-row .card {
      width: 33.33333%;
    }
  }
}
@supports not (display: flex) {
  .player-controls .control-buttons {
    text-align: center;
  }
  .player-controls .control-buttons .btn {
    display: inline-block;
  }
  .navbar-collapse:before, .navbar-collapse:after {
    content: " ";
    display: table;
  }
  .navbar-collapse:after {
    clear: both;
  }
  .navbar-collapse {
    *zoom: 1;
  }
  .navbar-collapse .navbar-nav {
    float: left;
  }
  .navbar-collapse .navbar-form {
    float: right;
  }
}
.debug-info {
  position: fixed;
  top: 60px;
  right: 10px;
  background-color: rgba(10, 10, 10, 0.9);
  border: 1px solid #333333;
  padding: 5px 10px;
  font-size: 12px;
  font-family: "Monaco", "Menlo", "Ubuntu Mono", "Consolas", monospace;
  color: #888888;
  z-index: 1070;
  display: none;
}
.development .debug-info {
  display: block;
}
.debug-info .debug-item {
  margin-bottom: 5px;
}
.debug-info .debug-item:last-child {
  margin-bottom: 0;
}
.debug-info .debug-item .debug-label {
  color: #0088ff;
  margin-right: 5px;
}
.debug-info .debug-item .debug-value {
  color: #ffffff;
}

.vip-mini {
  background: url(../images/vip-mini.png) no-repeat center center;
  display: inline-block;
  width: 23px;
  height: 11px;
}

.share-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../images/share-icons.png) no-repeat 0 0;
  margin-right: 10px;
}

.share-icon.wechat {
  background-position: 0 0;
}

.share-icon.qq {
  background-position: 0 -24px;
}

.share-icon.qzone {
  background-position: 0 -48px;
}

.share-icon.pyq {
  background-position: 0 -72px;
}

.share-icon.weibo {
  background-position: 0 -96px;
}

.share-dropdown {
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.share-dropdown:hover .dropdown-menu, .share-dropdown.open .dropdown-menu {
  display: block !important;
  opacity: 1;
  visibility: visible;
}
.share-dropdown .dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: auto;
  right: 0;
  margin: 1px 0 0;
  padding: 0;
  min-width: 140px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s ease-in-out;
  z-index: 1002;
}
.share-dropdown .dropdown-menu:hover {
  display: block !important;
  opacity: 1;
  visibility: visible;
}
.share-dropdown .dropdown-menu li {
  border-bottom: 1px solid #333333;
}
.share-dropdown .dropdown-menu li:last-child {
  border-bottom: none;
}
.share-dropdown .dropdown-menu li a {
  padding: 8px 12px;
}
.share-dropdown .dropdown-menu li a .share-icon {
  vertical-align: middle;
}

.icon-img {
  font-style: normal;
  display: inline-block;
  background: url("../images/sprite.png") no-repeat 0 0;
}

.icon-img.share {
  background-position: 0 0;
  width: 18px;
  height: 17px;
}

.icon-img.yinyue {
  background-position: 0 -17px;
  width: 20px;
  height: 25px;
}

.icon-img.expression {
  background-position: 0 -42px;
  width: 20px;
  height: 20px;
}

.icon-img.hot {
  background-position: 0 -62px;
  width: 24px;
  height: 12px;
}

.icon-img.mobile {
  background: url("../images/mobile.png") no-repeat 0 0;
  width: 14px;
  height: 20px;
  white-space: nowrap;
}

.icon-img.rq {
  background-position: 0 -139px;
  width: 18px;
  height: 20px;
}

.icon-img.fabulous {
  background-position: 0 -195px;
  width: 19px;
  height: 18px;
}

.icon-img.m-share {
  background-position: -1.52rem -1.50667rem;
  background-size: 5.33333rem;
  width: 0.6rem;
  height: 0.6rem;
}

.icon-img.play-suspend {
  background-position: -45px -231px;
  width: 22px;
  height: 29px;
}

.icon-img.btn-prev {
  background-position: -45px -259px;
  width: 20px;
  height: 21px;
}

.icon-img.btn-next {
  background-position: -45px -280px;
  width: 20px;
  height: 21px;
}

.icon-img.download {
  background-position: -45px -301px;
  width: 12px;
  height: 14px;
}

.icon-img.random {
  background-position: 0 -402px;
  width: 18px;
  height: 16px;
}

.icon-img.single-loop {
  background-position: -42px -402px;
  width: 18px;
  height: 16px;
}

.icon-img.loop {
  background-position: -18px -402px;
  width: 18px;
  height: 16px;
}

.icon-img.stop {
  background-position: -61px -402px;
  width: 20px;
  height: 20px;
}

.icon-img.stop.on {
  background-position: -61px -422px;
}

.icon-img.prev {
  background-position: 0 -608px;
  width: 21px;
  height: 29px;
}

.icon-img.prev:hover {
  background-position: 0 -638px;
  width: 21px;
  height: 29px;
}

.icon-img.next {
  background-position: -42px -608px;
  width: 21px;
  height: 29px;
}

.icon-img.next:hover {
  background-position: -42px -638px;
  width: 21px;
  height: 29px;
}

.icon-img.play-stop {
  background-position: -21px -608px;
  width: 21px !important;
  height: 29px !important;
}

.icon-img.play-stop.playing {
  background-position: -22px -637px;
  width: 20px !important;
  height: 29px !important;
}

.icon-img.play-stop * {
  display: none;
}

.icon-img.note-gary {
  background-position: 0 -666px;
  width: 19px;
  height: 18px;
}

.icon-img.collection-gary {
  background-position: -19px -666px;
  width: 19px;
  height: 18px;
}

.icon-img.download-rank {
  background-position: 0 -684px;
  width: 134px;
  height: 20px;
}

.icon-img.audition-rank {
  background-position: 0 -704px;
  width: 166px;
  height: 20px;
}

.icon-img.rank-1 {
  background-position: -6px -731px;
  width: 19px;
  height: 26px;
}

.icon-img.rank-2 {
  background-position: -36px -731px;
  width: 19px;
  height: 26px;
}

.icon-img.rank-3 {
  background-position: -66px -731px;
  width: 19px;
  height: 26px;
}

.icon-img.xg {
  background-position: 0 -766px;
  width: 50px;
  height: 41px;
}

.icon-img.xd {
  background-position: -50px -766px;
  width: 50px;
  height: 41px;
}

.icon-img.fk {
  background-position: -100px -766px;
  width: 50px;
  height: 41px;
}

.icon-img.fh {
  background-position: -150px -766px;
  width: 50px;
  height: 41px;
}

.icon-img.qs {
  background-position: -200px -766px;
  width: 50px;
  height: 41px;
}

.icon-img.cd-burn {
  background-position: -57px -449px;
  width: 20px;
  height: 20px;
}

.icon-img.close {
  background-position: -40px -667px;
  width: 15px;
  height: 15px;
}

.icon-img.yinfu {
  background-position: -67px -304px;
  width: 13px;
  height: 16px;
}

.icon-img.svip {
  background-position: -82px -482px;
  width: 40px;
  height: 16px;
}

.icon-img.arrow {
  background: none;
  display: none;
}

.icon-img.user-home {
  background-position: -122px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.xgzl {
  background-position: -140px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.xgmm {
  background-position: -158px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.wdgz {
  background-position: -176px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.wxhdj {
  background-position: -194px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.jyjl {
  background-position: -212px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.xzjl {
  background-position: -230px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.wddd {
  background-position: -248px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.shdz {
  background-position: -266px -866px;
  width: 18px;
  height: 18px;
}

.icon-img.wechat {
  background-position: -83px -248px;
  width: 34px;
  height: 28px;
}

.icon-img.wjx {
  background-position: -135px -209px;
  width: 18px;
  height: 18px;
}

.icon-img.edit {
  background-position: -131px -640px;
  width: 18px;
  height: 18px;
}

.icon-img.delete {
  background-position: -159px -640px;
  width: 18px;
  height: 18px;
}

.icon-img.qq-user {
  background-position: -132px -404px;
  width: 20px;
  height: 20px;
}

.icon-img.wechat-user {
  background-position: -158px -404px;
  width: 20px;
  height: 20px;
}

.icon-img.mini-vip {
  background-position: -184px -404px;
  width: 24px;
  height: 20px;
}

.icon-img.blue-arrow {
  background-position: -216px -409px;
  width: 6px;
  height: 10px;
}

.icon-img.login-user {
  background-position: -138px -685px;
  width: 16px;
  height: 16px;
}

.icon-img.login-pw {
  background-position: -163px -685px;
  width: 16px;
  height: 16px;
}

.icon-img.login-yz {
  background-position: -185px -685px;
  width: 16px;
  height: 16px;
}

.icon-img.login-qq {
  background-position: -209px -685px;
  width: 30px;
  height: 30px;
}

.icon-img.login-wechat {
  background-position: -245px -685px;
  width: 30px;
  height: 30px;
}

.icon-img.icon-camera {
  background-position: -233px -509px;
  width: 40px;
  height: 35px;
}

.icon-img.add {
  background-position: -304px -2px;
  width: 20px;
  height: 20px;
}

.icon-img.add.on {
  background-position: -330px -2px;
}

.icon-img.mute {
  background-position: -137px -307px;
  width: 14px;
  height: 14px;
}

.icon-img.unmute {
  background-position: -307px -33px;
  width: 17px;
  height: 14px;
}

.icon-img.follow {
  background-position: -265px -1039px;
  width: 17px;
  height: 16px;
}

.icon-img.change {
  background-position: -265px -1065px;
  width: 16px;
  height: 16px;
}

.icon-img.alipay {
  background-position: -97px -1046px;
  width: 30px;
  height: 30px;
}

.icon-img.wechat-pay {
  background-position: -140px -1046px;
  width: 30px;
  height: 30px;
}

.icon-img.chuangsao {
  background-position: -5px -1129px;
  width: 45px;
  height: 30px;
  vertical-align: middle;
  margin-left: 10px;
}

.icon-img.danqu {
  background-position: -5px -1163px;
  width: 45px;
  height: 30px;
  vertical-align: middle;
  margin-left: 10px;
}

.icon-img.up {
  background-position: -195px -1102px;
  width: 13px;
  height: 16px;
}

.icon-img.up:hover {
  background-position: -232px -1102px;
}

.icon-img.down {
  background-position: -211px -1102px;
  width: 13px;
  height: 16px;
}

.icon-img.down:hover {
  background-position: -249px -1102px;
}
