/* Public header stability fixes. Kept isolated so the news portal UI stays unchanged. */
.header-area,
.header-area * {
    box-sizing: border-box;
}

.header-area .header-bottom,
.header-area .sticky-bar {
    width: 100%;
    max-width: 100%;
}

.header-area .header-bottom {
    background: #fff;
}

.header-area .header-bottom .container {
    width: 100%;
}

.header-area .header-bottom .row {
    position: relative;
}

.header-area .header-flex {
    min-width: 0;
}

.main-header .main-menu nav > ul {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    min-width: 0;
}

.main-header .main-menu ul li a {
    white-space: nowrap;
}

.header-sticky.sticky-bar.sticky .main-menu ul > li > a {
    padding-top: 24px;
    padding-bottom: 24px;
}

@media (min-width: 992px) {
    .header-sticky.sticky-bar.sticky .header-flex {
        display: flex;
        align-items: center;
    }

    .header-sticky.sticky-bar.sticky .sticky-logo {
        flex: 0 0 auto;
        max-width: 220px;
        margin-right: 18px;
    }

    .header-sticky.sticky-bar.sticky .sticky-logo .brand-logo {
        max-width: 220px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 24px;
    }

    .header-sticky.sticky-bar.sticky .main-menu {
        flex: 1 1 auto;
        min-width: 0;
    }

    .header-sticky.sticky-bar.sticky .main-menu nav > ul {
        justify-content: flex-start;
    }
}

.header-area .search-box {
    z-index: 30;
}

@media (min-width: 992px) and (max-width: 1199px) {
    .main-header .main-menu ul li a,
    .header-sticky ul li a,
    .header-sticky.sticky-bar.sticky .main-menu ul > li > a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 13px;
    }

    .header-sticky.sticky-bar.sticky .sticky-logo {
        max-width: 175px;
        margin-right: 12px;
    }

    .header-sticky.sticky-bar.sticky .sticky-logo .brand-logo {
        max-width: 175px;
        font-size: 22px;
    }
}

@media (max-width: 991px) {
    .header-area .header-bottom {
        padding: 12px 0;
        min-height: 64px;
    }

    .header-area .header-flex,
    .header-flex.sticky-flex {
        display: flex;
        align-items: center;
        min-height: 40px;
    }

    .sticky-logo,
    .header-sticky.sticky-bar.sticky .sticky-logo {
        display: block !important;
        padding: 0;
        max-width: calc(100% - 64px);
    }

    .sticky-logo.info-open {
        padding: 0;
    }

    .sticky-logo .brand-logo {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 26px;
        line-height: 1.15;
    }

    .mobile_menu {
        position: absolute;
        top: 50%;
        right: 15px;
        width: calc(100% - 30px);
        transform: translateY(-50%);
        z-index: 100;
    }

    .slicknav_menu {
        margin: 0 !important;
        padding: 0;
        background: transparent;
    }

    .header-area .slicknav_btn,
    .slicknav_btn {
        top: auto;
        right: 0;
        margin: 0;
        padding: 8px;
        border: 0;
        border-radius: 4px;
        background: #002e5b;
    }

    .slicknav_menu .slicknav_icon {
        top: auto;
        right: auto;
        margin: 0;
        padding: 0;
    }

    .slicknav_menu .slicknav_icon-bar,
    .slicknav_icon-bar {
        background: #fff !important;
        width: 24px;
        height: 2px;
        margin: 4px 0;
    }

    .slicknav_nav {
        position: absolute;
        top: 48px;
        left: 0;
        right: 0;
        width: 100%;
        max-height: calc(100vh - 84px);
        overflow-y: auto;
        margin: 0;
        padding: 10px 0;
        background: #fff;
        border: 1px solid #eee;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
    }

    .slicknav_nav a {
        margin: 0;
        padding: 12px 16px;
        color: #002e5b;
        font-size: 15px;
        line-height: 1.25;
        border-bottom: 1px solid #f2f2f2;
    }

    .slicknav_nav li:last-child a {
        border-bottom: 0;
    }

    .slicknav_menu .slicknav_nav a:hover {
        color: #fc3f00;
        background: #f8f8f8;
    }

    .sticky-bar {
        left: 0;
        right: 0;
    }
}

@media (max-width: 575px) {
    .header-area .header-bottom {
        padding: 10px 0;
        min-height: 58px;
    }

    .sticky-logo .brand-logo {
        font-size: 23px;
    }

    .mobile_menu {
        right: 12px;
        width: calc(100% - 24px);
    }

    .slicknav_nav {
        top: 44px;
    }
}
