@keyframes spin {
    from {
      transform: rotateZ(0); }
    to {
      transform: rotateZ(1turn); } }
  
  .green-audio-player {
    width: 100%;
    min-width: 300px;
    height: 56px;
    
    display: flex;
    justify-content: space-between;
    align-items: center;    
    padding: 36px;    
    user-select: none;
    background-color: #fff; }
    .green-audio-player svg,
    .green-audio-player img {
      display: block; }
    .green-audio-player .play-pause-btn {
      display: none;
      cursor: pointer; }
    .green-audio-player .loading .loading__spinner {
      width: 16px;
      height: 16px;
      border: 2px solid #b0b0b0;
      border-right-color: transparent;
      border-radius: 50%;
      animation: spin 0.4s linear infinite; }
    .green-audio-player .slider {
      flex-grow: 1;
      background-color: #d8d8d8;
      cursor: pointer;
      position: relative; }
      .green-audio-player .slider .gap-progress {
        background-color: #44bfa3;
        border-radius: inherit;
        position: absolute;
        pointer-events: none; }
        .green-audio-player .slider .gap-progress .pin {
          height: 16px;
          width: 16px;
          border-radius: 8px;
          background-color: #44bfa3;
          position: absolute;
          pointer-events: all;
          box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.32); }
          .green-audio-player .slider .gap-progress .pin::after {
            content: "";
            display: block;
            background: rgba(0, 0, 0, 0);
            width: 200%;
            height: 200%;
            margin-left: -50%;
            margin-top: -50%;
            border-radius: 50%; }
    .green-audio-player .controls {
      font-family: "Roboto", sans-serif;
      font-size: 16px;
      line-height: 18px;
      color: #015f2d;
      display: flex;
      flex-grow: 1;
      justify-content: space-between;
      align-items: center;
      margin-left: 24px;
      margin-right: 24px; }
      .green-audio-player .controls .controls__slider {
        margin-left: 16px;
        margin-right: 16px;
        border-radius: 2px;
        height: 4px; }
        .green-audio-player .controls .controls__slider .controls__progress {
          width: 0;
          height: 100%; }
          .green-audio-player .controls .controls__slider .controls__progress .progress__pin {
            right: -8px;
            top: -6px; }
      .green-audio-player .controls span {
        cursor: default; }
    .green-audio-player .volume {
      position: relative; }
      .green-audio-player .volume .volume__button {
        cursor: pointer; }
        .green-audio-player .volume .volume__button.open path {
          fill: #44bfa3; }
      .green-audio-player .volume .volume__controls {
        width: 30px;
        height: 135px;
        background-color: rgba(0, 0, 0, 0.62);
        border-radius: 7px;
        position: absolute;
        left: -3px;
        bottom: 52px;
        flex-direction: column;
        align-items: center;
        display: flex;
        z-index: 2; }
        .green-audio-player .volume .volume__controls.hidden {
          display: none; }
        .green-audio-player .volume .volume__controls.top {
          bottom: 52px;
          left: -3px; }
        .green-audio-player .volume .volume__controls.middle {
          bottom: -54px;
          left: 54px; }
        .green-audio-player .volume .volume__controls.bottom {
          bottom: -164px;
          left: -3px; }
        .green-audio-player .volume .volume__controls .volume__slider {
          margin-top: 12px;
          margin-bottom: 12px;
          width: 6px;
          border-radius: 3px; }
          .green-audio-player .volume .volume__controls .volume__slider .volume__progress {
            bottom: 0;
            height: 100%;
            width: 6px; }
            .green-audio-player .volume .volume__controls .volume__slider .volume__progress .volume__pin {
              left: -5px;
              top: -8px; }
  