@aplayer-height: 66px;
@lrc-height: 30px;
@aplayer-height-lrc: @aplayer-height + @lrc-height - 6;

.aplayer-narrow {
    width: @aplayer-height;
    .aplayer-info {
        display: none;
    }
}

.aplayer-withlrc {
    &.aplayer-narrow {
        width: @aplayer-height-lrc;
    }
    &.aplayer {
        .aplayer-pic {
            height: @aplayer-height-lrc;
            width: @aplayer-height-lrc;
        }

        .aplayer-info {
            margin-left: @aplayer-height-lrc;
            height: @aplayer-height-lrc;
        }

        .aplayer-lrc {
            display: block;
        }

        .aplayer-info {
            padding: 10px 7px 0 7px;
        }
    }
}

.aplayer-withlist {
    &.aplayer {
        .aplayer-info {
            border-bottom: 1px solid #e9e9e9;
        }

        .aplayer-list {
            display: block;
        }

        .aplayer-icon-menu {
            display: inline !important;
        }
    }
}

.aplayer {
    font-family: Arial, Helvetica, sans-serif;
    margin: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12);
    border-radius: 2px;
    overflow: hidden;
    user-select: none;
    line-height: initial;

    * {
        box-sizing: content-box;
    }

    .aplayer-icon {
        width: 15px;
        height: 15px;
        border: none;
        background-color: transparent;
        outline: none;
        cursor: pointer;
        opacity: .8;
        vertical-align: middle;
        padding: 0;
        font-size: 12px;
        margin: 0;
        display: inline;

        .aplayer-fill {
            transition: all .2s ease-in-out;
        }
    }

    .aplayer-lrc-content {
        display: none;
    }

    .aplayer-pic {
        position: relative;
        float: left;
        height: @aplayer-height;
        width: @aplayer-height;
        background-size: 100%;
        transition: all 0.3s ease;

        .aplayer-button {
            position: absolute;
            border-radius: 50%;
            opacity: 0.8;
            cursor: pointer;
            text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
            box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
            background: rgba(0, 0, 0, 0.2);
            transition: all 0.1s ease;
            &:hover {
                opacity: 1;
            }

            .aplayer-fill {
                fill: #fff;
            }
        }

        .aplayer-hide {
            display: none;
        }

        .aplayer-play {
            width: 26px;
            height: 26px;
            border: 2px solid #fff;
            bottom: 50%;
            right: 50%;
            margin: 0 -15px -15px 0;
            .aplayer-icon-play {
                position: absolute;
                top: 3px;
                left: 4px;
                height: 20px;
                width: 20px;
            }
        }

        .aplayer-pause {
            width: 16px;
            height: 16px;
            border: 2px solid #fff;
            bottom: 4px;
            right: 4px;
            .aplayer-icon-pause {
                position: absolute;
                top: 2px;
                left: 2px;
                height: 12px;
                width: 12px;
            }
        }
    }

    .aplayer-info {
        margin-left: @aplayer-height;
        padding: 14px 7px 0 10px;
        height: @aplayer-height;
        box-sizing: border-box;

        .aplayer-music {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
            margin: 0 0 13px 5px;
            user-select: text;
            cursor: default;
            padding-bottom: 2px;

            .aplayer-title {
                font-size: 14px;
            }

            .aplayer-author {
                font-size: 12px;
                color: #666;
            }
        }

        .aplayer-controller {
            position: relative;
            display: flex;

            .aplayer-bar-wrap {
                margin: 0 0 0 5px;
                padding: 4px 0;
                cursor: pointer !important;
                flex: 1;

                .aplayer-bar {
                    position: relative;
                    height: 2px;
                    width: 100%;
                    background: #cdcdcd;

                    .aplayer-loaded {
                        position: absolute;
                        left: 0;
                        top: 0;
                        bottom: 0;
                        background: #aaa;
                        height: 2px;
                        transition: all 0.5s ease;
                    }

                    .aplayer-played {
                        position: absolute;
                        left: 0;
                        top: 0;
                        bottom: 0;
                        height: 2px;

                        .aplayer-thumb {
                            position: absolute;
                            top: 0;
                            right: 5px;
                            margin-top: -4px;
                            margin-right: -10px;
                            height: 8px;
                            width: 8px;
                            border-radius: 50%;
                            background: #fff;
                            cursor: pointer !important;
                        }
                    }
                }
            }

            .aplayer-time {
                position: relative;
                right: 0;
                bottom: 3px;
                height: 17px;
                color: #999;
                font-size: 11px;
                padding-left: 7px;

                .aplayer-time-inner {
                    vertical-align: middle;
                }

                .aplayer-icon {
                    cursor: pointer;
                    transition: all 0.2s ease;

                    .aplayer-fill {
                        fill: #666;
                    }

                    &.aplayer-icon-mode {
                        margin-right: 4px;
                    }

                    &:hover {
                        .aplayer-fill {
                            fill: #000;
                        }
                    }

                    &.aplayer-icon-menu {
                        display: none;
                    }
                }

                &.aplayer-time-narrow {
                    .aplayer-icon-mode {
                        display: none;
                    }

                    .aplayer-icon-menu {
                        display: none;
                    }
                }
            }

            .aplayer-volume-wrap {
                position: relative;
                display: inline-block;
                margin-left: 3px;
                cursor: pointer !important;

                &:hover .aplayer-volume-bar-wrap {
                    display: block;
                }

                .aplayer-volume-bar-wrap {
                    display: none;
                    position: absolute;
                    bottom: 15px;
                    right: -3px;
                    width: 25px;
                    height: 40px;
                    z-index: 99;

                    .aplayer-volume-bar {
                        position: absolute;
                        bottom: 0;
                        right: 10px;
                        width: 5px;
                        height: 35px;
                        background: #aaa;

                        .aplayer-volume {
                            position: absolute;
                            bottom: 0;
                            right: 0;
                            width: 5px;
                            transition: all 0.1s ease;
                        }
                    }
                }
            }
        }
    }

    .aplayer-lrc {
        display: none;
        position: relative;
        height: @lrc-height;
        text-align: center;
        overflow: hidden;
        margin: -10px 0 7px;

        &:before {
            position: absolute;
            top: 0;
            z-index: 1;
            display: block;
            overflow: hidden;
            width: 100%;
            height: 10%;
            content: ' ';
            background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
            background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
            background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
        }

        &:after {
            position: absolute;
            bottom: 0;
            z-index: 1;
            display: block;
            overflow: hidden;
            width: 100%;
            height: 33%;
            content: ' ';
            background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 100%);
            background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 100%);
            background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0.8) 100%);
            filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ccffffff',GradientType=0 );
        }

        p {
            font-size: 12px;
            color: #666;
            line-height: 16px !important;
            height: 16px !important;
            padding: 0 !important;
            margin: 0 !important;
            transition: all 0.5s ease-out;
            opacity: 0.4;
            overflow: hidden;

            &.aplayer-lrc-current {
                opacity: 1;
                overflow: visible;
                height: initial !important;
            }
        }

        .aplayer-lrc-contents {
            width: 100%;
            transition: all 0.5s ease-out;
            user-select: text;
            cursor: default;
        }
    }

    .aplayer-list {
        overflow: auto;
        transition: all 0.5s ease;
        will-change: height;
        display: none;

        &.aplayer-list-hide {
            height: 0 !important;
        }

        &::-webkit-scrollbar{
            width: 5px;
        }
        &::-webkit-scrollbar-track{
            background-color: #f9f9f9;
        }
        &::-webkit-scrollbar-thumb{
            border-radius: 3px;
            background-color: #eee;
        }
        &::-webkit-scrollbar-thumb:hover{
            background-color: #ccc;
        }

        ol {
            list-style-type: none;
            margin: 0;
            padding: 0;

            li {
                position: relative;
                height: 32px;
                line-height: 32px;
                padding: 0 15px;
                font-size: 12px;
                border-top: 1px solid #e9e9e9;
                cursor: pointer;
                transition: all 0.2s ease;
                overflow: hidden;

                &:first-child {
                    border-top: none;
                }

                &:hover {
                    background: #efefef;
                }

                &.aplayer-list-light {
                    background: #e9e9e9;

                    .aplayer-list-cur {
                        display: inline-block;
                    }
                }

                .aplayer-list-cur {
                    display: none;
                    width: 3px;
                    height: 22px;
                    position: absolute;
                    left: 0;
                    top: 5px;
                    cursor: pointer;
                }
                .aplayer-list-index {
                    color: #666;
                    margin-right: 12px;
                    cursor: pointer;
                }
                .aplayer-list-author {
                    color: #666;
                    float: right;
                    cursor: pointer;
                }
            }
        }
    }
}

@keyframes aplayer-roll {
    0%{left:0}
    100%{left: -100%}
}