html {
    height: 100%;
    background: #29242a;
    font-family: 'Montserrat', sans-serif;


  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(2) {
    background-color: #cc2c51;
    display: none;
    font-weight: bolder;
  }

  .flex_1,
  body {
    width: 100%;
    margin: auto;
    border-radius: 10px;
    padding-bottom: 20px;
  }

  body {
    font-family: 'Montserrat', sans-serif;


    font: 16px, "PT Sans", sans-serif;
    min-height: 100%;
    align-items: center;
    box-shadow: none;

    padding-bottom: 100px; /* Matches footer height */
    border-radius: 15px;
    padding-bottom: 20px;
  }

  .flex_1 {
    display: flex;
    flex-direction: column;
    max-width: 500px;
    min-width: 500px;
    background: #bababa;
    border-radius: 10px;
    padding-bottom: 20px;
  }

  .links,
  body {
    display: flex;
    justify-content: center;

  }

  .links {
    padding: 5px;
  }

  .box {
    display: inline-block;
    padding: 12px;
    border: 1px solid #fff;
    text-decoration: none;
    color: #fff;
    background-color: #7c7c7c;
    font-weight: bolder;
    border-radius: 15px;
    padding-bottom: 20px;
  }

  .quality {
    color: #fff;
    font-size: 13px;
  }

  .player {
    justify-content: center;
    text-align: center;
    border-radius: 10px;
    padding-bottom: 20px;
  }

  .background {
    flex: 2;
    border-bottom: 7px solid #bcbcbc;
    background: #29242a;
    background: #29242a;
    border-radius: 10px;
    padding-bottom: 20px;
  }

  .audioPlayer {
    min-height: 100%;
    background-color: #e1e1e1;
    text-align: left;
    color: #000;
    box-shadow: inset -7px 0 9px -7px rgba(134, 130, 130, 0.24);
    flex: 1;
    display: flex;
    flex-direction: row;
    border-bottom: 1px #cac9c9 solid;
    border-radius: 10px;
    padding-bottom: 20px;
  }

  .aroundbutton {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .playbutton,
  .playbutton:after {
    z-index: 1;
    display: block;
    border-radius: 50%;
  }

  .playbutton {
    position: relative;
    box-sizing: content-box;
    width: 24px;
    height: 31px;
    padding: 16px 39px 16px 26px;
  }

  .playbutton:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 75px;
    height: 75px;
    background: #cc2c51;
    transition: all 200ms;
  }

  .playbutton img {
    position: relative;
    z-index: 3;
    max-width: 100%;
    width: auto;
    height: auto;
  }

  #song {
    margin: 1.1em;
    background-color: #000;
  }

  #vol-control {
    appearance: slider-horizontal;
    cursor: default;
    border: initial;
    margin: 2px;
    height: 12px;
    background: #f5f5f5;
    border-radius: 15px;
    filter: hue-rotate(140deg) brightness(0.9);
  }

  i.fa-volume-down,
  i.fa-volume-up {
    right: 0;
    margin: 2px;
    font-size: 13px;
  }

  .fa-pause {
    width: 1.2em !important;
  }

  .fa-play {
    width: 1.35em !important;
  }

  i.fa-volume-up {
    font-size: 15px;
  }

  /* .controls {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    display: flex;
    justify-content: center;
    min-height: 80px;
    height: 100px;
    width: 100%;
  } */

  .controls {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    justify-content: center;
    background-color: #000;
    height: 100px;
    width: 100%;
    z-index: 1000; /* Ensures it stays on top of other elements */
  }

  @media screen and (max-width: 900px) {
    .flex_1 {
      max-width: 60%;
    }
  }

  #nojs_message {
    background: #726f6f;
    color: #fff;
    font-weight: bolder;
    line-height: 1.5em;
    padding: 1em;
  }

  input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
  }

  input[type="checkbox"]:focus {
    outline: 0;
  }

  .toggle {
    height: 28px;
    width: 48px;
    border-radius: 16px;
    display: inline-block;
    position: relative;
    margin: 1em 0.3em;
    border: 2px solid #a2a2a4;
    background: linear-gradient(180deg, #494a50 0, #29292b 100%);
    transition: all 0.2s ease;
  }

  .toggle:after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(44, 44, 44, 0.2);
    transition: all 0.2s cubic-bezier(0.5, 0.1, 0.75, 1.35);
    width: 16px;
    height: 16px; width: 450px;
    height: 400px;
    background-size: 450px 400px; /* Fit image exactly */
    background-position: center;
    background-repeat: no-repeat;
  }

  .toggle:checked {
    margin: 1em 0.3em;
    background: #b22c25;
  }

  .toggle:checked:after {
    transform: translatex(20px);
  }

  .pressed {
    position: relative;
    z-index: 3;
    background: #fff1f1;
    width: 22px !important;
    height: 22px !important;
    border-left: 0 solid #fff1f1 !important;
    border-top: 0 solid transparent !important;
    border-bottom: 0 solid transparent !important;
  }

  #loader,
  .on,
  .pressed {
    display: block;
  }

  .on {
    z-index: 100;
    visibility: visible;
    position: inherit;
    font-size: 32px !important;
    border: 0;
  }

  #loader {
    visibility: hidden;
    position: absolute;
    margin: auto;
    overflow: visible;
  }

  .top {
    height: 400px;
    position: relative;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
   /* background-image: url(extra.jpg);*/
   border-radius: 10px;
    padding-bottom: 10px;
  }

  #history {
    text-align: left;
    font-size: 13px;
    height: auto;
  }

  #history > table {
    border-collapse: collapse;
    width: 100%;
  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr {
    border-bottom: #4d4d4d solid 1px;
  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr td {
    padding-top: 2px;
    padding-bottom: 2px;
  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr td:nth-child(1),
  #history > table:nth-child(1) > tbody:nth-child(1) > tr td:nth-child(3) {
    text-indent: -9999px;
    line-height: 0;
  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr td:nth-child(1)::after {
    content: "\f001";
    text-indent: 0;
    display: block;
    font-family: FontAwesome;
    padding: 0.65em;
    font-size: x-large;
    color: #faebd7;
  }

  #history
    > table:nth-child(1)
    > tbody:nth-child(1)
    > tr:nth-child(2)
    td:nth-child(1)::after {
    content: "";
    font-weight: 700;
  }

  #history > table:nth-child(1) > tbody:nth-child(1) > tr:nth-child(1),
  #history
    > table:nth-child(1)
    > tbody:nth-child(1)
    > tr:nth-child(2)
    > td:nth-child(3) {
    display: none;
  }

  .quality {
    display: flex;
    flex-direction: row;
    padding-top: 0.25em;
    justify-content: center;
    border-top: 1px solid #c8c8c8;
  }

  .background {
    border-color: #cc2c51;
  }

  #artist,
  #song {
    text-transform: uppercase;
    font: 18px Arial, Helvetica, sans-serif 700;
    width: auto;
    max-width: 100%;
  }

  a,
  h1,
  h2,
  h3,
  p {
    color: #000;
  }

  .right {
    border-bottom: 7px solid #cc2c51;
  }

  .flex_1,
  .right {
    box-shadow: none;
  }

  .loader {
    border: 3px solid #181a1b;
  }

  .right {
    background: #181a1b;
  }

  .flex_1 {
    background: #29242a;
  }

  .background {
    background-color: #cc2c51;
    box-shadow: 0 0 10px 1px gray;
    padding: 0.75em;
    margin: 1.222em 0.75em;
  }

  #artist {
    margin: 1.1em 0;
  }

  .quality {
    margin-top: 0.5em;
  }

  #artist,
  #song {
    color: #fff;
  }

  .toggle {
    border-color: #a2a2a4;
  }

  .on {
    color: #fff;
  }

  .multi-button {
    justify-content: center;
    margin-top: 1em;
  }

  .volume {
    margin: 2%;
    justify-content: center;
    margin-top: 0.5em;
  }

  .background {
    background-color: #cc2c51;
    box-shadow: 0 0 10px 1px #151414;
    border-color: #fff;
  }
  html {
    height: 100%;
    margin: 0;
    overflow: hidden;
    background: linear-gradient(45deg, #1c1c1c, #2e2e2e, #4d4d4d, #b22222, #fff);
    background-size: 400% 400%;
    animation: backgroundShift 10s infinite alternate ease-in-out;
  }

  @keyframes backgroundShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }

  .abstract-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
  }

  .circle {
    position: absolute;
    border-radius: 50%;
    opacity: 0.6;
    mix-blend-mode: screen;
    animation: moveCircle 20s infinite linear, scalePulse 5s infinite alternate ease-in-out;
  }

  .circle:nth-child(1) {
    width: 200px;
    height: 200px;
    background: rgba(255, 0, 0, 0.6);
    top: 10%;
    left: 15%;
    animation-delay: 0s;
  }

  .circle:nth-child(2) {
    width: 150px;
    height: 150px;
    background: rgba(255, 255, 255, 0.5);
    top: 70%;
    left: 50%;
    animation-delay: 5s;
  }

  .circle:nth-child(3) {
    width: 250px;
    height: 250px;
    background: rgba(169, 169, 169, 0.6);
    top: 30%;
    left: 75%;
    animation-delay: 2s;
  }

  .circle:nth-child(4) {
    width: 300px;
    height: 300px;
    background: rgba(139, 0, 0, 0.4);
    top: 50%;
    left: 10%;
    animation-delay: 7s;
  }

  @keyframes moveCircle {
    0% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(50px, 100px) rotate(180deg); }
    100% { transform: translate(0, 0) rotate(360deg); }
  }

  @keyframes scalePulse {
    0% { transform: scale(1); }
    100% { transform: scale(1.2); }
  }
