.ranking{
    width: 460px;
    height: 100vh;
    box-sizing: border-box;
    padding: 24px 48px;
    position: fixed;
    top: 0; right: -460px;
    z-index: 95;
    background: #FFF;
    box-shadow: -4px 0 6px rgba(0,0,0,.1);
    display: flex;
    flex-direction: column;
    visibility: hidden;
    transition: transform .3s, visibility 0s .3s;
}
    .ranking.open{
        visibility: visible;
        transform: translateX(-460px);
        transition: transform .3s, visibility 0s;
    }

    .ranking-close{
        width: 32px;
        height: 32px;
        line-height: 32px;
        position: absolute;
        top: 0; right: 0;
        background: rgba(0,0,0,.05);
        color: #000;
        text-align: center;
        cursor: pointer;
    }

    .ranking-title{
        font-size: 24px;
    }

    .ranking-types{
        display: flex;
        margin: 16px 0;
    }
        .ranking-type{
            flex: 1;
            padding: 8px 0;
            text-align: center;
            cursor: pointer;
        }
            .ranking-type.active{
                border-bottom: 1px solid #1cd;
            }

    .ranking-list{
        flex: 1;
        overflow: auto;
        padding-right: 8px;
    }

        .ranking-item{
            display: flex;
            align-items: center;
            /*margin: 4px; */
            padding: 16px 8px;
        }
            .ranking-item:hover{
                background: rgba(0,0,0,.05);
            }

            .ranking-pos{
                padding: 8px;
                padding-left: 0;
                font-weight: 300;
                font-size: 18px;
            }
            .ranking-picture{
                width: 40px;
                height: 40px;
                margin-left: 16px;
                background: #CCC;
                background-size: cover;
                border-radius: 50%;
            }
            .ranking-info{
                flex: 1;
                margin-left: 12px;
            }
                .ranking-name{
                    font-size: 18px;
                }
                .ranking-details{
                    font-size: 14px;
                }

            .ranking-score{
                font-size: 18px;
            }