body, html {
    background-color: transparent !important
}

@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(-1turn);
        transform: rotate(-1turn)
    }
}

@keyframes rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }

    to {
        -webkit-transform: rotate(-1turn);
        transform: rotate(-1turn)
    }
}

@-webkit-keyframes breathe {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes breathe {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    50% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.icon_back, .icon_geo, .icon_refresh {
    display: inline-block;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../img/left.png)
}

.page_cities {
    padding: 3.125rem .5rem 1rem .9375rem
}

    .page_cities, .page_cities a {
        color: #394043
    }

.header {
    position: fixed;
    top: 0;
    left: 0;
    padding-left: .9375rem
}

    .header .opt_box {
        color: #fff;
        font-size: 1.5rem;
        text-align: center
    }

.back_wrap {
    height: 100%;
    position: absolute
}

.icon_back {
    width: 1.625rem;
    height: 2.125rem;
    background-position: 0 0
}

.group:not(.with_city_list) {
    padding-right: .4375rem
}

.group {
    position: relative;
    padding-top: 3.1875rem
}

.search_input {
    position: relative;
    padding-right: .4375rem
}

    .search_input > input {
        border: none;
        height: 2.25rem;
        line-height: 1.0625rem;
        border-radius: .125rem;
        background-color: #fff;
        padding-left: .8125rem;
        margin: .625rem 0 .375rem
    }

        .search_input > input::-webkit-input-placeholder {
            color: #9c9fa1;
            font-size: .75rem
        }

.search_res {
    position: absolute;
    width: 100%;
    z-index: 3;
    left: 0;
    top: 2.9375rem;
    font-size: .8125rem;
    box-sizing: border-box;
    padding-right: .4375rem
}

    .search_res ul {
        border-radius: .125rem;
        background-color: #fff;
        box-shadow: 0 2px 2px 0 rgba(0,0,0,.08)
    }

    .search_res li {
        height: 2.6875rem;
        padding: 0 1.25rem;
        line-height: 2.6875rem
    }

    .search_res a {
        width: 100%;
        display: inline-block;
        border-top: 1px solid #e5e5e5
    }

    .search_res li:first-child a {
        border-top: none
    }

h6 {
    position: absolute;
    top: 0;
    z-index: 2;
    width: 100%;
    color: #9c9fa1;
    overflow: hidden;
    height: 3.1875rem;
    white-space: nowrap;
    font-size: .8125rem;
    line-height: 1.125rem;
    box-sizing: border-box;
    text-overflow: ellipsis;
    background-color: #f5f5f5;
    padding: 1.125rem 0 .9375rem
}

    h6.bottom {
        bottom: 0;
        top: 100%;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }

    h6.fixed {
        position: fixed;
        top: 3.12rem;
        //:6.375rem;
        -webkit-transform: none;
        transform: none
    }

.geo {
    height: 2.25rem;
    position: relative;
    font-size: .8125rem;
    line-height: 2.25rem;
    border-radius: .125rem;
    background-color: #fff;
    padding: 0 .9375rem 0 .875rem
}

    .geo i, .geo span {
        vertical-align: middle
    }

.icon_geo {
    width: .625rem;
    height: .6875rem;
    margin-right: .5rem;
    background-position: -1.03125rem 0
}

    .icon_geo.breathe {
        animation: breathe 1s infinite;
        -webkit-animation: breathe 1s infinite
    }

.refresh_wrap {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    padding-right: .9375rem
}

.icon_refresh {
    width: .8125rem;
    height: .8125rem;
    margin-left: 1rem;
    background-position: -2.4375rem 0
}

    .icon_refresh.rotate {
        animation: rotate 1s infinite;
        -webkit-animation: rotate 1s infinite
    }

.city_list {
    font-size: 0
}

.city_item {
    width: 33.33%;
    font-size: 1rem;
    height: 2.25rem;
    line-height: 2.25rem;
    display: inline-block;
    box-sizing: border-box;
    padding-right: .4375rem
}

    .city_item:nth-child(3n+4) {
        margin-top: .4375rem
    }

    .city_item > span {
        width: 100%;
        overflow: hidden;
        text-align: center;
        white-space: nowrap;
        display: inline-block;
        text-overflow: ellipsis
    }

    .block, .city_item > span {
        background-color: #fff;
        box-sizing: border-box;
        border-radius: .125rem
    }

.block {
    //:3;
    font-size: 0;
    padding: 1.375rem .6875rem .5625rem
}

    .block > a, .block > span {
        font-size: 1rem;
        overflow: hidden;
        text-align: center;
        white-space: nowrap;
        line-height: 1.375rem;
        display: inline-block;
        text-overflow: ellipsis;
        margin-bottom: .8125rem
    }

.city_block {
    padding: 1.375rem 2.5rem .125rem
}

.alphabet_block > a {
    width: 16.66%;
}

.city_block > a {
    width: 33.33%;
    margin-bottom: 1.25rem
}

    .city_block > a:nth-child(3n+1) {
        text-align: left
    }

    .city_block > a:nth-child(3n+3) {
        text-align: right
    }

.toast {
    text-align: center;
    position: fixed;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 999;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

    .toast .content {
        display: inline-block;
        margin: 0 auto;
        width: auto;
        min-width: 4.125rem;
        max-width: 69%;
        background-color: rgba(26,26,26,.95);
        border-radius: .25rem;
        text-align: center;
        padding: .81rem 1.13rem;
        color: #fff
    }

    .toast .content_without_icon {
        padding-top: 1rem
    }

    .toast .icon_box {
        min-width: 5rem;
        min-height: 5rem
    }

    .toast .info_box {
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 400;
        text-align: center;
        display: inline-block
    }

    .toast .icon_error, .toast .icon_warn {
        display: block;
        position: relative;
        width: 5rem;
        height: 5rem;
        margin: 0 auto;
        border: 0;
        border-radius: 50%;
        font-size: 0;
        cursor: pointer
    }

        .toast .icon_error:after, .toast .icon_error:before {
            position: absolute;
            content: " ";
            width: .125rem;
            height: 70%;
            background-color: #fff;
            left: 50%;
            top: 50%;
            -webkit-transform: translate(-50%,-50%) rotate(45deg);
            transform: translate(-50%,-50%) rotate(45deg);
            border-radius: .125rem
        }

        .toast .icon_error:after {
            -webkit-transform: translate(-50%,-50%) rotate(-45deg);
            transform: translate(-50%,-50%) rotate(-45deg)
        }

    .toast .icon_success {
        display: block;
        width: 3.6rem;
        height: 2rem;
        border-left: .125rem solid #fff;
        border-bottom: .125rem solid #fff;
        -webkit-transform: translate(2.25rem,.5rem) rotate(-45deg);
        transform: translate(2.25rem,.5rem) rotate(-45deg)
    }

    .toast .icon_warn {
        width: 2.5rem;
        height: 2.5rem;
        border: .125rem solid #fff;
        -webkit-transform: translateY(1.25rem);
        transform: translateY(1.25rem)
    }

        .toast .icon_warn:before {
            width: .125rem;
            height: 50%;
            top: .3125rem;
            margin-left: -.0625rem
        }

        .toast .icon_warn:after, .toast .icon_warn:before {
            position: absolute;
            content: " ";
            background-color: #fff;
            left: 50%
        }

        .toast .icon_warn:after {
            width: .25rem;
            height: .25rem;
            border-radius: .125rem;
            top: 72%;
            margin-left: -.125rem
        }
