
.city-select {
    font-size: 0;
    position: relative;
    display: inline-block;
    top:10px;
}

    .city-select .city-cont dl, .city-select p {
        *zoom: 1;
    }

        .city-select .city-cont dl:after, .city-select p:after {
            content: " ";
            display: table;
            height: 0;
            clear: both;
        }

    .city-select.down .city-info {
        border-bottom: none;
    }

        .city-select.down .city-info:after {
            border-top: none;
            border-bottom: 6px solid #ccc;
        }

    .city-select.multi .city-pavilion + .city-info .not-search {
        display: none;
    }

        .city-select.multi .city-pavilion + .city-info .not-search[class~="not-val"] {
            display: block;
        }

    .city-select.multi .city-pavilion.hide + .city-info .city-input {
        display: none;
    }

        .city-select.multi .city-pavilion.hide + .city-info .city-input[class~="not-val"] {
            display: block;
        }

    .city-select.multi .city-pavilion + .multi-type .city-input {
        display: block;
    }

    .city-select.multi .city-pavilion.hide + .multi-type .city-input[class~="not-val"] {
        display: block;
    }

    .city-select.multi .city-pavilion.hide + .multi-type .search-show {
        display: block;
    }

    .city-select.disabled .city-info {
        background-color: #eef1f6;
        cursor: not-allowed;
    }

        .city-select.disabled .city-info span {
            background-color: #eef1f6;
        }

            .city-select.disabled .city-info span:hover i {
                display: none;
            }

            .city-select.disabled .city-info span + .city-input {
                display: none;
            }

        .city-select.disabled .city-info input {
            cursor: not-allowed;
        }

    .city-select.readonly .city-info {
        cursor: default;
    }

        .city-select.readonly .city-info span:hover i {
            display: none;
        }

        .city-select.readonly .city-info span + .city-input {
            display: none;
        }

        .city-select.readonly .city-info input {
            cursor: default;
        }

    .city-select .city-info {
        border: 1px solid #ccc;
        cursor: pointer;
        width: 160px;
        height:30px;
        overflow: hidden;
        position: relative;
        z-index: 2;
        border-radius:5px;
    }

        .city-select .city-info:after {
            content: '';
            border-right: 6px solid transparent;
            border-left: 6px solid transparent;
            border-top: 6px solid #ccc;
            border-radius: 2px;
            display: none;
            width: 0;
            height: 0;
            position: absolute;
            top: 12px;
            right: 5px;
            -moz-transition: border .2s;
            -o-transition: border .2s;
            -webkit-transition: border .2s;
            transition: border .2s;
        }

        .city-select .city-info.multi-type span {
            background: none;
            padding: 5px 0;
            margin-right: 0;
        }

        .city-select .city-info.multi-type .span-over {
            width: 99%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .city-select .city-info.multi-type .city-input {
            display: block;
            width: 100%;
        }

            .city-select .city-info.multi-type .city-input.hide {
                display: none;
            }

        .city-select .city-info span {
            border-radius: 2px;
            color: #666;
            cursor: default;
            font-size: 14px;
            display: inline-block;
            vertical-align: middle;
            padding: 0px;
            margin-right: 5px;
            position: relative;
            white-space: nowrap;
        }

            .city-select .city-info span + .city-input {
                width: auto;
            }

            .city-select .city-info span i {
                color: #fff;
                cursor: pointer;
                background: #ffbfbf;
                border-radius: 100%;
                display: block;
                width: 14px;
                height: 14px;
                line-height: 14px;
                text-align: center;
                font-size: 0;
                position: absolute;
                top: -5px;
                right: -5px;
                z-index: 1;
                visibility: hidden;
                opacity: 0;
                -moz-transition: all 1s;
                -o-transition: all 1s;
                -webkit-transition: all 1s;
                transition: all 1s;
            }

                .city-select .city-info span i:after {
                    content: '\D7';
                    font-size: 12px;
                }

            .city-select .city-info span:hover i {
                visibility: visible;
                opacity: 1;
            }

        .city-select .city-info .city-input, .city-select .city-info span {
            display: inline-block;
            vertical-align: middle;
        }
        .city-select .city-info .city-input {
            margin-top:0;
            height:30px;
        }
    .city-select .city-input {
        width: 100%;
        position: relative;
        overflow: hidden;
    }

        .city-select .city-input.hide {
            display: none;
        }

        .city-select .city-input em {
            color: #999;
            display: block;
            font-style: normal;
            font-size: 12px;
            height: 24px;
            line-height: 24px;
        }

    .city-select input[type="text"] {
        background: transparent;
        border: none;
        box-sizing: border-box;
        color: #333;
        font-size: 12px;
        width: 75%;
        height: 30px;
        line-height: 30px;
        line-height: 30px\9;
        padding: 0 0 0 2%;
        outline: none;
    }

    .city-select .city-pavilion, .city-select .city-list {
        border: 1px solid #ccc;
        background: #fff;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 5;
        margin-top: -1px;
        /*transition-duration: 40ms;*/
        transform: translateY(0);
        display:block;
        visibility: visible;
    }

        .city-select .city-pavilion.hide, .city-select .city-list.hide {
            transform: translateY(-2%);
            opacity: 0;
            display:none;
        }

    .city-select .city-pavilion {
        box-shadow: 0 2px 5px #ddd;
        width: 500px;
    }

    .city-select .city-tabs {
        border-bottom: 1px solid #ccc;
        background: #fbfbfb;
        font-size: 0;
    }

        .city-select .city-tabs a {
            border-bottom: 1px solid transparent;
            display: inline-block;
            font-size: 14px;
            color: #666;
            padding: 0 6px;
            height: 36px;
            line-height: 36px;
            text-align: center;
            position: relative;
            bottom: -1px;
            -moz-transition: all 1s;
            -o-transition: all 1s;
            -webkit-transition: all 1s;
            transition: all 1s;
        }

            .city-select .city-tabs a:hover {
                border-bottom-color: #000;
            }

            .city-select .city-tabs a.active {
                border-bottom-color: #02aec7;
                color: #02aec7;
                cursor: default;
            }

            .city-select .city-tabs a.forbid {
                color: #bbb;
                cursor: not-allowed;
            }

                .city-select .city-tabs a.forbid:hover {
                    border-bottom-color: transparent;
                }

    .city-select .city-cont {
        padding-top: 20px;
        padding-left: 20px;
        font-size: 0;
        position: relative;
    }

        .city-select .city-cont dl:first-child dd {
            margin-left: 0;
        }

        .city-select .city-cont dt, .city-select .city-cont dd {
            display: inline-block;
            vertical-align: top;
            float: left;
        }

        .city-select .city-cont dt {
            color: #02aec7;
            font-size: 16px;
            width: 100%;
        }

        .city-select .city-cont dd {
            font-size: 14px;
            width: 421px;
            margin-top: -10px;
            margin-left: -10px;
            padding-bottom: 20px;
            text-align: left;
        }

            .city-select .city-cont dd a {
                color: #666;
                display: inline-block;
                padding: 5px 7px;
                margin-top: 5px;
                margin-left: 5px;
                line-height: 1.5;
                -moz-transition: all .5s;
                -o-transition: all .5s;
                -webkit-transition: all .5s;
                transition: all .5s;
            }

                .city-select .city-cont dd a:hover {
                    background: #f5f5f5;
                    border-radius: 2px;
                }

                .city-select .city-cont dd a.active {
                    background: #02aec7;
                    border-radius: 2px;
                    color: #fff;
                    box-shadow: 0 0 5px #ddd;
                }

        .city-select .city-cont dl {
            transition-duration: 400ms;
            opacity: 1;
            transform: translateX(0);
        }

            .city-select .city-cont dl.hide {
                display: none;
                opacity: 0;
                transform: translateX(5%);
            }

    .city-select .city-list {
        font-size: 0;
        width: 298px;
        max-height: 170px;
        overflow-x: hidden;
        overflow-y: auto;
        box-sizing: border-box;
    }

        .city-select .city-list li {
            border-top: 1px solid #ccc;
            border-bottom: 1px solid #ccc;
            cursor: pointer;
            padding: 10px 5px;
            position: relative;
            margin-bottom: -1px;
        }

            .city-select .city-list li:first-child {
                border-top: none;
            }

            .city-select .city-list li:hover {
                background-color: #f9f9f9;
            }

            .city-select .city-list li.active {
                border-left: 2px solid #02aec7;
                background-color: #f0fbfd;
            }

            .city-select .city-list li.hover {
                border-bottom-color: #02aec7;
                background-color: #f9f9f9;
                z-index: 2;
            }

                .city-select .city-list li.hover span {
                    text-indent: 10px;
                }

            .city-select .city-list li.not-have {
                background-color: #fff;
                color: #999;
                font-size: 14px;
                cursor: not-allowed;
                line-height: 1.5;
                padding: 5px;
            }

                .city-select .city-list li.not-have strong {
                    color: #02aec7;
                    font-style: normal;
                    padding: 0 5px;
                }

        .city-select .city-list span {
            display: inline-block;
            font-size: 14px;
            width: 50%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            -moz-transition: all .5s;
            -o-transition: all .5s;
            -webkit-transition: all .5s;
            transition: all .5s;
        }

            .city-select .city-list span.spell {
                text-align: right;
                font-size: 12px;
                color: #02aec7;
            }

    .city-select p {
        color: #999;
        font-size: 12px;
        margin-bottom: 10px;
        vertical-align: text-bottom;
    }

        .city-select p a, .city-select p span {
            color: #02aec7;
            display: block;
            float: right;
            margin-right: 10px;
            vertical-align: top;
        }

        .city-select p em {
            font-style: normal;
        }

        .city-select p a {
            color: #dc8383;
            margin-top: -3px;
        }

            .city-select p a:hover {
                color: #02aec7;
            }

            .city-select p a i {
                background: url(http://images.vrm.cn/2017/07/26/del.png) no-repeat;
                width: 16px;
                height: 16px;
                display: inline-block;
                vertical-align: middle;
            }

    .city-select .city-tips {
        background: rgba(0,0,0,0.7);
        border-radius: 2px;
        color: #fff;
        font-size: 14px;
        text-align: center;
        padding: 0 10px;
        position: absolute;
        top: 5px;
        left: 50%;
        line-height: 36px;
        margin-left: -50px;
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#B200000,endColorstr=#B200000);
        transition-duration: 400ms;
        transform: translateY(0);
        opacity: 1;
        visibility: visible;
        z-index: 5;
    }

        .city-select .city-tips.hide {
            transform: translateY(5%);
            opacity: 0;
            visibility: hidden;
        }
