@-webkit-keyframes spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}

@keyframes spin {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0);
    }

    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn);
    }
}

.green-audio-player {
    width:100%;
    min-width: 150px;
    height: 40px;
    -webkit-box-shadow: 0 4px 16px 0 rgba(0,0,0,.07);
    box-shadow: 0 4px 16px 0 rgba(0,0,0,.07);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 12px;
    padding-right: 12px;
    border-radius: 4px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: #ebe9e9;
}

    .green-audio-player img, .green-audio-player svg {
        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%;
        -webkit-animation: spin .4s linear infinite;
        animation: spin .4s linear infinite;
    }

    .green-audio-player .slider {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        background-color: #0e539f;
        cursor: pointer;
        position: relative;
    }

        .green-audio-player .slider .progress {
            background-color: #0e539f;
            border-radius: inherit;
            position: absolute;
            pointer-events: none;
        }

            .green-audio-player .slider .progress .pin {
                height: 10px;
                width: 10px;
                border-radius: 8px;
                background-color: #0e539f;
                position: absolute;
                pointer-events: all;
                -webkit-box-shadow: 0 1px 1px 0 rgba(0,0,0,.32);
                box-shadow: 0 1px 1px 0 rgba(0,0,0,.32);
            }

    .green-audio-player .controls {
        font-family: Roboto,sans-serif;
        font-size: 15px;
        line-height: 18px;
        color: #55606e;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-left: 12px;
        margin-right: 12px;
    }

        .green-audio-player .controls .controls__slider {
            margin-left: 10px;
            margin-right: 10px;
            border-radius: 2px;
            height: 3px;
        }

            .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: -4px;
                }

        .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: #0e539f;
            }

        .green-audio-player .volume .volume__controls {
            width: 30px;
            height: 135px;
            background-color: rgba(174,169,169,.50);
            border-radius: 5px;
            position: absolute;
            left: -3px;
            bottom: 30px;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -ms-flex-direction: column;
            flex-direction: column;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
        }

            .green-audio-player .volume .volume__controls.hidden {
                display: none;
            }

            .green-audio-player .volume .volume__controls.top {
                bottom: 30px;
                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: -2px;
                        top: -6px;
                    }
