

/* Common styles */
.city-selector-modal-box {
    padding: 0;
}

.city-selector-top-box {
    padding: 15px 15px 5px 15px;
}

/* top */
.city-selector-top {
    margin-bottom: 10px;
}

.city-selector-top-header {
    position: relative;

    display: inline-block;
    float: left;

    text-transform: uppercase;

    font-size: 16px;
    font-weight: bold;
}

/* close btn */
.city-selector-modal-close {
    display: inline-block;

    margin-top: .2em;

    color: #acc480;

    font-size: 14px;
    font-weight: 700;
}

.city-selector-modal-close:hover {
    color: #d14c47;
}

/* filter */
.city-selector-filter-box {
    margin-bottom: 1em;
}

.city-selector-filter {
    width: 100%;
}

/* alphabet */
.city-selector-alphabet-box {
    text-align: center;
}

.city-selector-alphabet-item {
    display: inline-block;

    padding: .25em .2em .15em .2em;

    cursor: pointer;
    text-decoration: none;
    text-transform: uppercase;

    color: #453f4d;
    border-radius: .2em;

    font-size: 20px;
    line-height: 1;
}

.city-selector-alphabet-item.active {
    pointer-events: none;

    color: #fff;
    background: #acc480;
}

/* cities */
.city-selector-list-box {
    position: relative;

    height: 80px; /* FIXME */
    padding-bottom: .5em;
}

.city-selector-list-scroll {
    overflow-y: auto;

    max-height: 100%;
}

/* title */
.city-selector-list-title-box {
    padding: 0 1.5em;

    color: #acc480;

    font-size: 18px;
    line-height: 1.875;
}

.city-selector-list-title {
    font-weight: bold;
}

/* list */
.city-selector-list-group {
    margin-bottom: 5px;
}

.city-selector-list-item {
    display: block;

    padding: 0 1.5em;

    text-decoration: none;

    color: #7a8591;

    font-size: 14px;
    line-height: 1.875;
}

.city-selector-list-item:focus,
.city-selector-list-item:hover {
    background: rgba(0, 0, 0, .02);
    box-shadow: inset 0 1px 0 rgba(0, 0, 0, .05),
                inset 0 -1px 0 rgba(0, 0, 0, .05);
}

.city-selector-list-item-region {
    opacity: .6;

    font-size: 87%;
}

/* loading */
.city-selector-list-loading {
    display: none;

    margin: 1em;

    text-align: center;

    opacity: .7;
}

.city-selector-list-loading.show {
    display: block;
}

@media (min-height: 280px) {
    .city-selector-list-box {
        height: 80px; /* FIXME */
    }
}

@media (min-height: 320px) {
    .city-selector-list-box {
        height: 150px; /* FIXME */
    }
}

@media (min-height: 480px) {
    .city-selector-list-box {
        height: 260px; /* FIXME */
    }
}

@media (min-height: 540px) {
    .city-selector-list-box {
        height: 340px; /* FIXME */
    }
}

@media (min-height: 620px) {
    .city-selector-list-box {
        height: 400px; /* FIXME */
    }
}

@media (min-height: 768px) {
    .city-selector-list-box {
        height: 500px; /* FIXME */
    }
}

@media (min-height: 840px) {
    .city-selector-list-box {
        height: 560px; /* FIXME */
    }
}

@media (min-height: 1020px) {
    .city-selector-list-box {
        height: 800px; /* FIXME */
    }
}

/* Small Devices, Tablets */
@media (min-width: 720px) {
    .city-selector-modal-box {
        width: 80%;
    }

    .city-selector-top-box {
        padding: 3em 2.4em 1em 2.4em;
    }

    .city-selector-top {
        margin-bottom: 30px;
    }

    .city-selector-alphabet-item {
        font-size: 34px;
    }


    .city-selector-list-group {
        margin-bottom: 1em;
    }

    .city-selector-list-item {
        font-size: 20px;
    }

    .city-selector-list-title-box {
        font-size: 1.5em;
    }

    .city-selector-top-header {
        padding-left: 48px;

        background-image: url('/assets/website/svg/ico_city.svg');
        background-repeat: no-repeat;
        background-position: left center;

        font-size: 1.7em;
    }

    .city-selector-modal-close {
        font-size: 20px;
    }
}



/* Large Devices, Wide Screens */
@media (min-width: 1020px) {
    .city-selector-modal-box {
        width: 52em;
    }

    .city-selector-alphabet-item {
        font-size: 2.5em;
    }

    .city-selector-modal-close {
        font-size: 1em;
    }

    .city-selector-alphabet-box {
        text-align: left;
    }

    .city-selector-alphabet-item {
        font-size: 1.5em;
    }

    .city-selector-list-title-box,
    .city-selector-list-item {
        padding: 0 2.5em;

        font-size: 1em;
    }
}
