html, body{
    height: 100%;
}
html {
    overflow: auto;
}

/* подгружаем некоторые картинки в скрытый тег, чтобы избежать мерцания */
body:after{
    position:absolute;
    z-index:-1;
    content: url("../images/cafe_inactive.png")
        url("../images/restaurant_inactive.png")
        url("../images/canteen_inactive.png");
    display: none;
}

.row {
    width: 100%;
}

.row.nomargin {
    margin-left: 0;
    margin-right: 0;
}

.long-content {
    overflow: hidden;
    text-overflow: ellipsis;
}

.v-align-middle {
    vertical-align: middle;
}

.dropdown-menu li{
    cursor: pointer;
    font-family: 'Conv_Proxima Nova Light', sans-serif;
    font-size: 16px;
}

/* фильтр городов*/

#city-filter-name {
    font-family: 'Conv_Proxima Nova Semibold', sans-serif;
    letter-spacing: normal;
    color: #2b2b2b;
    font-size: 18px;
    border-bottom: 1px dashed;
    cursor: pointer;
    vertical-align: middle;
}

#city-filter-icon {
    display: inline-block;
    background-image: url("../images/city.png");
    background-repeat: no-repeat;
    width: 16px;
    height: 21px;
    vertical-align: middle;
    margin-left:-15px;
}

#city-filter .scrollable-menu {
    height: auto;
    max-height: 200px;
    overflow-x: hidden;
}

#city-filter .dropdown-menu {
    margin-top:7px;
    left: 50%;
    right: auto;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    width: 180px;
}

#city-filter .dropdown-menu span{
    padding-left:7px;
}


/* фильтр типов заведений*/

#point-type-filter {
    padding-top: 20px;
    padding-bottom: 14px;
}

.type-filter-item {
    display: inline-block;
    cursor: pointer;
    height: 145px;
}

#cafe-filter.active {
    background: url("../images/cafe.png") no-repeat center;
    background-size: contain;
}

#cafe-filter.inactive {
    background: url("../images/cafe_inactive.png") no-repeat center;
    background-size: contain;
}

#restaurant-filter.active {
    background: url("../images/restaurant.png") no-repeat center;
    background-size: contain;
}

#restaurant-filter.inactive {
    background: url("../images/restaurant_inactive.png") no-repeat center;
    background-size: contain;
}

#canteen-filter.active {
    background: url("../images/canteen.png") no-repeat center;
    background-size: contain;
}

#canteen-filter.inactive {
    background: url("../images/canteen_inactive.png") no-repeat center;
    background-size: contain;
}

/* контейнер для карты */
#map-wrapper {
    position: relative
}

#map_canvas {
    margin: 0;
    padding: 0;
    height: 100%;
    width: 100%;
}

/*окошки поверх карты */
.overmap {
    position: absolute;
    background-color: white;
    width: 23%;
    max-width: 280px;
    min-width: 200px;
    max-height: 86%;
    overflow-y: auto;
    top: 7%;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    background-clip:  padding-box;
    z-index: 100;
}

.boxrow {
    padding-top: 12px;
    font-family: 'Conv_Proxima Nova Regular', sans-serif;
    font-size: 10pt;
    color: #777777;
    padding-bottom: 12px;
    border-bottom: 1px solid #eeeeee;
}

.boxrow .title {
    font-family: 'Conv_Proxima Nova Bold', sans-serif;
    font-size: 12px;
    color: #3c3d41;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.boxrow.last {
    padding-bottom: 14px;
    border-bottom: none;
}

/* окошко с информацией о заведении */

#point-infobox {
   left: 8%;
   overflow-x: hidden;
}

#point-infobox .header {
    background-color: #f5f5f5;
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    -webkit-border-top-left-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    position: inherit;
}

#point-infobox .icon {
    margin-top: 12px;
    margin-bottom: 12px;
}

#point-infobox .description {
    height: 85px;
    float: none;
    display: table-cell;
    vertical-align: middle;
    line-height: 1;
}

#point-infobox .name {
    font-family: 'Conv_Proxima Nova Bold', sans-serif;
    font-size: 12pt;
}

#point-infobox .type {
    font-family: 'Conv_Proxima Nova Regular', sans-serif;
    font-size: 10pt;
}

.boxrow.address{
    color: #3c3d41;
    font-size: 11pt;
}


/* окошко фильтра */

#filterbox {
    right: 8%;
}

.accordion .boxrow{
    padding-bottom: 0;
    padding-top: 0;
}

.accordion .panel-group {
    margin-bottom: 0;
}

.accordion .boxrow.panel {
    border-top: none;
    border-left: none;
    border-right: none;
    box-shadow: none;
    padding: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    margin-top: 0;
}

.accordion .boxrow.first{
    -moz-border-radius-topleft: 8px;
    -moz-border-radius-topright: 8px;
    -webkit-border-top-left-radius: 8px;
    -webkit-border-top-right-radius: 8px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.accordion .boxrow.last{
    -moz-border-radius-bottomleft: 8px;
    -moz-border-radius-bottomright: 8px;
    -webkit-border-bottom-left-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
    border-bottom-right-radius: 8px;
}


.accordion .boxrow .panel-heading {
    border: none;
    background: none;
    padding: 16px 15px;
}

.accordion .boxrow .panel-title {
    font-family: 'Conv_Proxima Nova Bold', sans-serif;
    font-size: 12px;
    color: #3c3d41;
    letter-spacing: 1px;
    margin-left: 3px;
}

.accordion .boxrow .panel-title a span[uib-accordion-header]{
    display : block;
}

.accordion .boxrow .panel-title a span[uib-accordion-header] span,
.accordion .boxrow .dropdown-button span
{
    padding-left : 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.accordion .boxrow .panel-title a span {
    vertical-align: middle;
}

.accordion .boxrow .panel-title a:focus,
.accordion .boxrow .panel-title a:hover {
    text-decoration: none;
    outline: none;
}

.accordion .boxrow.panel-default>.panel-heading+.panel-collapse>.panel-body {
    border-top: none;
    padding-top: 5px;
}

.boxrow .dropdown-button {
    color: inherit;
    border-color: #dddddd;
    text-align: left;
    width: 100%
}

/* костыль для версии хрома 51 - в последней группе не отображался контент при использовании колонок */
.panel-collapse{
    min-height: 1px;
}


.boxrow .dropdown-button:hover,
.boxrow .dropdown-button:focus,
.boxrow .dropdown-button:active
{
    color: inherit;
    border-color: #eeeeee;
    outline: none
}

.boxrow .dropdown-button:hover,
.boxrow .dropdown-button:focus
{
    background-color: #eeeeee;
}

.boxrow .dropdown-button:focus {
    background-color: white;
}

.boxrow .dropdown-menu {
    width: 100%;
    min-width: 100%;
    padding-left: 10px;
    padding-right: 10px;
}

.boxrow .check {
    padding: 0;
    white-space: nowrap;
}

.boxrow .check label{
    font-weight: normal;
    cursor: pointer;
}

input[type="checkbox"] {
    display: none;
}

.boxrow .check input[type="checkbox"] + label span {
    display: inline-block;
    width: 19px;
    height: 19px;
    margin: -1px 4px 0 0;
    vertical-align: middle;
    background: url('../images/checkbox_unchecked.png') top no-repeat;
    cursor: pointer;
}

.boxrow .check input[type="checkbox"]:checked + label span {
    background:url('../images/checkbox_checked.png') top no-repeat;
}

#brand-input {
    width: 100%;
    border: #dddddd 1px solid;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    background-clip:  padding-box;
    box-sizing: border-box;
    padding: 6px 12px;
    margin-bottom: 5px;
    outline: none;
}


#brand-input:focus{
    background-color: #eeeeee;
}

#brand-input::-ms-clear {
    display: none;
}

#brand-dropdown .dropdown-menu {
    max-height: 200px;
    overflow-y: auto;
    overflow-x: hidden;
    text-overflow: ellipsis;
}

#brand-dropdown .items-wrapper {
    max-height: 140px;
    overflow-y: auto;
}

#brand-dropdown ul {
    padding-left: 5px;
    list-style: none;
}

#brand-dropdown ul .first-li{
    font-family: 'Conv_Proxima Nova Semibold', sans-serif;
}

@media screen and (max-width: 768px) {
    #filterbox{
        position: relative;
        max-width: 100%;
        right: 0%;
        width: 100%;
        top: 0%;
    }

    #point-infobox{
        top: inherit;
    }

    #map_canvas{
        height: 500px;
    }
}

    /*---------------------------------*/
