body {
    font-size: 100%;
    font-family: helvetica;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background: linear-gradient(
      to bottom,
      rgba(150, 150, 150, 1) 0%,
      rgba(110, 110, 110, 1) 100%
    );
    min-height: 100vh;
    
  }
  #root {
    height: 110vh;
  }

  button.neomorphic {
    color:#61677C;
    font-weight: bold;
    box-shadow: -5px -5px 20px #fff,  5px 5px 20px #EBECF0;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    font-weight: 600;
    height: 8vh;
    margin: 2vh 2vw 2vh 4vw;
    padding: 0 2.5vw;
    border-radius: 8px;
      
    
    &:hover {
      box-shadow: -2px -2px 5px #fff, 2px 2px 5px #EBECF0;
    }
    
    &:active {
      box-shadow: inset 1px 1px 2px #EBECF0, inset -1px -1px 2px #fff;
    }
    
    .icon {
      margin-right: 8px;
    }
    
    &.unit {
      border-radius: 8px;
      line-height: 0;
      width: 48px;
      height: 48px;
      display:inline-flex;
      justify-content: center;
      align-items:center;
      margin: 0 8px;
      font-size: 20px;
      
      .icon {
        margin-right: 0; 
      }
    }
    
    &.red {
      display: block;
      width: 100%;
      color:#ae1100;
    }
  }
    /* Music Player */
    *,
    *:before,
    *:after {
      box-sizing: border-box
    }

    * {
      background-image: linear-gradient(120deg, rgb(250,250,250), rgb(220,220,220));
       background: rgb(240,240,245);
       margin:0;
       padding:0;
      }

    h3 {

      margin: 10px 10px 30px 10px;
      padding: 0 10px;
      border-radius: 15px;
      overflow: hidden;
      border: 5px solid rgb(240,240,245);
      display: flex;
      align-items: center;
      background: rgb(240,240,245);
      box-shadow: -5px -5px 20px rgb(254,254,255),
               2px 2px 20px rgb(200,200,220)
    }
  
    .hide {
      display: none !important
    }
  
    button {
      margin: 0;
      padding: 0;
      transition: all 0.2s ease-in-out;
      cursor: pointer;
      border: 0;
      border-radius: 6px;
      outline: 0;
      background: transparent;
      max-width: 40vw;
      &:active {
        box-shadow: inset 1px 1px 2px #EBECF0, inset -1px -1px 2px #fff;
      }
      &:focus {
        box-shadow: inset 1px 1px 2px #EBECF0, inset -1px -1px 2px #fff;
      }
    }
  
    .ap {
      position: relative;
      right: 0;
      bottom: 0;
      left: 0;
      height: 10vh;
      margin: auto;
      font-family: Arial, sans-serif;
      font-size: 14px;
      user-select: none;
      color: #333;
      background: #f1f1f1;
      border-top: 1px solid #ccc;
      z-index: 9999;
      margin: 0 2vw 2vh 2vw;
      border-radius: 20px;
      overflow: hidden;
      border: 5px solid rgb(240,240,245);
      background: rgb(240,240,245);
      box-shadow: -5px -5px 20px rgb(254,254,255),
               2px 2px 20px rgb(200,200,220)
    }
  
    .ap-inner {
      max-width: 1440px;
      margin: 0 auto
    }
  
    .ap-panel {
      display: flex;
      
    }
  
    .ap-item {
      display: flex;
      flex: 1;
      justify-content: center;
      align-items: center
    }
  
    .ap--track {
      flex: 1 40%;
      padding: 0 15px
    }
  
    .ap-info {
      width: 100%;
      position: relative;
      align-self: flex-start;
      padding: 5px 0 0
    }
  
    .ap-title {
      position: relative;
      overflow: hidden;
      padding-right: 80px;
      text-align: left;
      white-space: nowrap;
      text-overflow: ellipsis
    }
  
    .ap-time {
      position: absolute;
      top: 5px;
      right: 0
    }
  
    .ap-controls {
      position: relative;
      z-index: 1000;
      display: block;
      height: 50px;
      cursor: pointer;
      transition: background .2s ease;
      text-align: center;
      color: #fff;
      border: 0;
      outline: 0;
      background: none
    }
  
    .ap-controls svg {
      fill: #333
    }
  
    .ap-controls:hover svg {
      fill: #222
    }
  
    
  
    .ap--playback>.ap-controls,
    .ap--settings>.ap-controls {
      flex: 0 25%
    }
  
    .ap--pause, .ap--loading, .loading>.ap--play, .loading>.ap--pause,
    .playing>.ap--play {
      display: none
    }

    .playing>.ap--pause {
      display: inline
    }

    .loading>.ap--loading {
      display: inline;
    }

    
  
    
  
    .ap-active {
      background: rgba(0, 0, 0, .15);
      opacity: 1
    }
  
    
    .playing>.ap--pause {
      animation: blink 1.5s linear infinite
    }
  
    @media (max-width: 880px) {
      .ap-item>.ap-controls {
        flex: 1;
        margin-top: 15px;
      }
    }
  
    @media (max-width: 550px) {
      .ap {
        min-width: 250px
      }
  
      .ap,
      .ap-panel {
        height: 15vh;
      }
  
      .ap-panel {
        flex-wrap: wrap
      }
  
      .ap--track {
        margin-bottom: 10px;
        padding: 0 20px;
        order: 1;
        flex: 1 1 100%
      }
  
      .ap--playback,
      .ap--settings {
        flex: 1 1 50%;
        order: 2
      }
    }

    .spinner {
      -webkit-animation: rotate 2s linear infinite;
              animation: rotate 2s linear infinite;
      z-index: 2;
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -25px 0 0 -25px;
      width: 50px;
      height: 50px;
    }
    .spinner .path {
      stroke: #cccccc;
      stroke-linecap: round;
      -webkit-animation: dash 1.5s ease-in-out infinite;
              animation: dash 1.5s ease-in-out infinite;
    }
    
    @-webkit-keyframes rotate {
      100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
      }
    }
    
    @keyframes rotate {
      100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
      }
    }
    @-webkit-keyframes dash {
      0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
      }
      50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
      }
      100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
      }
    }
    @keyframes dash {
      0% {
        stroke-dasharray: 1, 150;
        stroke-dashoffset: 0;
      }
      50% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -35;
      }
      100% {
        stroke-dasharray: 90, 150;
        stroke-dashoffset: -124;
      }
    }
    
  