/* .header-search ------------------------------------------------------------*/
/*
 * Пошук стоїть в одному рядку з перемикачем мов.
 * Обидва блоки плаваючі, бо js/control-page.js на десктопі переносить
 * .language у початок колонки (prepend), і обгортка тут не втрималася б.
 */
.header-search {
    position: relative;
    float: left;
    width: 260px;
    margin-top: 10px;
    z-index: 30;
}
.header-bottom .language {
    float: right;
    /* вирівнювання по центру відносно поля пошуку (32px) */
    margin-top: 16px;
}

/* логотип під рядком пошуку, а не поруч із ним */
.header-bottom .logo {
    clear: both;
}

.header-search__form {
    position: relative;
    display: block;
    margin: 0px;
}
.header-search__input {
    position: relative;
    display: block;
    width: 100%;
    height: 32px;
    padding: 4px 32px 4px 10px;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 15px;
    line-height: 22px;
    color: #5d6b74;
    background-color: #fff;
    border: 1px solid #d5dbe0;
    border-radius: 16px;
    outline: none;
    box-shadow: none;
}
.header-search__input:focus {
    border-color: #8ea9d8;
}
.header-search__btn {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 32px;
    height: 32px;
    padding: 0px;
    font-size: 14px;
    color: #8ba5c1;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
}
.header-search__btn:hover {
    color: #768cb3;
}

/* .header-search__dropdown --------------------------------------------------*/
.header-search__dropdown {
    position: absolute;
    display: none;
    top: 100%;
    left: 0px;
    width: 340px;
    max-height: 420px;
    overflow-y: auto;
    margin-top: 6px;
    text-align: left;
    background-color: #fff;
    border: 1px solid #d5dbe0;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 100;
}
.header-search__list {
    position: relative;
    display: block;
    margin: 0px;
    padding: 0px;
    list-style: none;
}
.header-search__item {
    position: relative;
    display: block;
    border-bottom: 1px solid #eef1f4;
}
.header-search__item:last-child {
    border-bottom: none;
}
.header-search__link {
    position: relative;
    display: block;
    padding: 8px 10px;
    text-decoration: none;
}
.header-search__link:hover,
.header-search__link:focus {
    background-color: #f5f7fa;
    text-decoration: none;
}
.header-search__img {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 46px;
    height: 62px;
    overflow: hidden;
}
.header-search__img img {
    width: 46px;
    height: 62px;
    object-fit: cover;
}
.header-search__text {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    width: 240px;
    padding-left: 10px;
}
.header-search__name {
    position: relative;
    display: block;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 15px;
    line-height: 20px;
    color: #5d6b74;
}
.header-search__info {
    position: relative;
    display: block;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 13px;
    line-height: 18px;
    color: #96a3ac;
}
.header-search__all {
    position: relative;
    display: block;
    padding: 8px 10px;
    text-align: center;
    background-color: #f5f7fa;
    border-top: 1px solid #eef1f4;
}
.header-search__all a {
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 14px;
    color: #768cb3;
    text-decoration: none;
}
.header-search__all a:hover {
    text-decoration: underline;
}

/* .search-page --------------------------------------------------------------*/
.search-empty {
    margin: 30px 0px 40px 0px;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 16px;
    color: #5d6b74;
}
.search-item-info {
    margin-top: -6px;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 14px;
    color: #96a3ac;
    text-align: center;
}

/* .search-pagination ---------------------------------------------------------
 * Клас-обгортка навмисно окремий від .pagination з news.tpl - .pagination
 * стандартний Bootstrap-клас, і без окремої обгортки ці правила перестилили б
 * пагінацію новин теж.
 *
 * Вигляд елементів навмисно повторює .footer .menu li a (капсула з рамкою) -
 * щоб пагінація на сторінці пошуку виглядала так само, як меню у футері.
 */
.search-pagination .pagination {
    margin: 40px 0px 20px 0px;
}
.search-pagination .pagination > li {
    display: inline-block;
    vertical-align: top;
    margin: 0px 6px 10px 6px;
}
.search-pagination .pagination > li > a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    min-width: 36px;
    min-height: 36px;
    padding: 6px 14px 5px 14px;
    font-family: 'Ubuntu-Light', sans-serif;
    font-size: 16px;
    line-height: 20px;
    color: #68757d;
    text-align: center;
    background-color: transparent;
    border: 1px solid #e4e3e3;
    border-radius: 1000px;
    text-decoration: none;
}
.search-pagination .pagination > li > a:hover,
.search-pagination .pagination > li > a:focus {
    border-color: #a9bbd0;
    color: #8ba5c1;
    background-color: transparent;
}
.search-pagination .pagination > li.active > a {
    border-color: #a9bbd0;
    color: #8ba5c1;
    background-color: transparent;
}
.search-pagination .pagination > li.active > a:hover,
.search-pagination .pagination > li.active > a:focus {
    border-color: #a9bbd0;
    color: #8ba5c1;
    background-color: transparent;
}

/* responsive ----------------------------------------------------------------*/
@media (max-width: 991px) {
    .header-search {
        width: 200px;
    }
    .header-search__dropdown {
        width: 300px;
    }
    .header-search__text {
        width: 200px;
    }
}

@media (max-width: 767px) {
    /* на мобільному .language js переносить у .header-top */
    .header-bottom .language {
        float: none;
        margin-top: 7px;
    }
    .header-search {
        float: none;
        width: 100%;
        margin-top: 8px;
    }
    /*
     * Форма стоїть у col-xs-6, тому 100% ширини поля - це лише половина екрану.
     * Розтягуємо список на 80% ширини вікна.
     * Центр col-xs-6 збігається з центром екрану (по боках два col-xs-3),
     * тому центруємо список по формі - і він стає по центру екрану,
     * з полями 10vw зліва і справа.
     */
    .header-search__dropdown {
        left: 50%;
        right: auto;
        width: 80vw;
        margin-left: -40vw;
    }
    .header-search__text {
        width: calc(100% - 80px);
    }

    /*
     * Компактна пагінація - щоб вміщалась в один рядок.
     * flex + nowrap замість переносу капсул на другий рядок;
     * overflow-x - запобіжник, якщо сторінок дуже багато і навіть
     * компактні капсули не влазять в екран (тоді рядок стає прокручуваним,
     * а не переносить капсули чи обрізає їх).
     *
     * justify-content: center - коли всі капсули влазять, рядок по центру.
     * safe center (поверх звичайного center як прогресивне покращення) -
     * якщо капсули не влазять, вирівнювання падає назад на flex-start,
     * інакше звичайний center обрізав би капсули з обох боків і частину
     * не можна було б проскролити навіть при overflow-x: auto.
     */
    .search-pagination .pagination {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        justify-content: safe center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin: 16px 0px 8px 0px;
        padding-bottom: 2px;
    }
    .search-pagination .pagination > li {
        flex: 0 0 auto;
        margin: 0px 5px;
    }
    .search-pagination .pagination > li > a {
        min-width: 26px;
        min-height: 26px;
        padding: 3px 8px;
        font-size: 14px;
        line-height: 18px;
    }
}
