/*
 * EeVela News5-inspired navigation skin.
 *
 * The structure follows the supplied News5 demo direction: compact top
 * strip, tall centered logo row, persistent hamburger trigger, rounded
 * desktop navigation and a slide-in vertical mobile menu.
 */

:root{
    --tf-n5-accent:#e11d2e;
    --tf-n5-text:#171717;
    --tf-n5-muted:#757575;
    --tf-n5-border:#e7e7e7;
    --tf-n5-dark:#141414;
    --tf-n5-nav-bg:#f4f6ff;
}

.tf-news5-header{
    position:relative;
    z-index:100;
    background:#fff;
}

.tf-news5-topline{
    min-height:32px;
    border-bottom:1px solid var(--tf-n5-border);
    background:#fff;
    color:#777;
    font-size:12px;
}

.tf-news5-topline .container{
    min-height:32px;
}

.tf-news5-topline-label{
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
}

.tf-news5-topline-date{
    white-space:nowrap;
}

.tf-news5-brandbar{
    background:#fff;
}

.tf-news5-brandbar .container{
    min-height:116px;
}

.tf-news5-brand{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    max-width:60%;
    text-decoration:none;
}

.tf-news5-brand img{
    display:block;
    width:auto;
    max-width:300px;
    max-height:64px;
    object-fit:contain;
}

.tf-news5-mobile-trigger{
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:36px;
    padding:6px 3px;
    border:0;
    background:transparent;
    z-index:4;
    cursor:pointer;
}

.tf-news5-mobile-trigger span{
    display:block;
    width:24px;
    height:2px;
    margin:4px auto;
    background:#1a1a1a;
    transition:transform .2s ease, opacity .2s ease;
}

.tf-news5-mobile-trigger:hover span{
    background:var(--tf-n5-accent);
}

.tf-news5-search-link{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:36px;
    height:36px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    color:#151515;
    z-index:4;
}

.tf-news5-search-link:hover{
    color:var(--tf-n5-accent);
}

.tf-news5-search-icon{
    position:relative;
    display:block;
    width:17px;
    height:17px;
    border:1.8px solid currentColor;
    border-radius:50%;
}

.tf-news5-search-icon::after{
    content:"";
    position:absolute;
    width:7px;
    height:1.8px;
    background:currentColor;
    right:-5px;
    bottom:-2px;
    transform:rotate(45deg);
}

.tf-news5-nav{
    background:#fff;
}

.tf-news5-nav .container{
    padding-bottom:16px;
}

.tf-news5-nav-scroll{
    position:relative;
    overflow-x:auto;
    overflow-y:visible;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    background:var(--tf-n5-nav-bg);
    border-radius:999px;
}

.tf-news5-nav-scroll::-webkit-scrollbar{
    display:none;
}

.tf-wp-menu-main{
    width:max-content;
    min-width:100%;
    min-height:56px;
    display:flex;
    align-items:stretch;
    justify-content:center;
    flex-wrap:nowrap;
    gap:0;
    list-style:none;
    margin:0;
    padding:0 8px;
}

.tf-wp-menu-main > li{
    position:relative;
    flex:0 0 auto;
}

.tf-wp-menu-main > li > a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:56px;
    padding:0 17px;
    color:var(--tf-n5-text);
    background:transparent;
    font-size:14px;
    font-weight:700;
    letter-spacing:.01em;
    white-space:nowrap;
    text-decoration:none;
    transition:color .18s ease, background-color .18s ease;
}

.tf-wp-menu-main > li > a::before{
    content:"";
    position:absolute;
    left:16px;
    right:16px;
    bottom:7px;
    height:2px;
    background:var(--tf-n5-accent);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .18s ease;
}

.tf-wp-menu-main > li:hover > a,
.tf-wp-menu-main > li.current-menu-item > a,
.tf-wp-menu-main > li.current-menu-ancestor > a,
.tf-wp-menu-main > li.show > a{
    color:var(--tf-n5-accent);
}

.tf-wp-menu-main > li:hover > a::before,
.tf-wp-menu-main > li.current-menu-item > a::before,
.tf-wp-menu-main > li.current-menu-ancestor > a::before,
.tf-wp-menu-main > li.show > a::before{
    transform:scaleX(1);
}

.tf-wp-menu-main .dropdown-toggle::after{
    margin-left:7px;
    border-top:4px solid currentColor;
    border-right:4px solid transparent;
    border-left:4px solid transparent;
    border-bottom:0;
    vertical-align:middle;
}

.tf-wp-menu-main .dropdown-menu{
    min-width:235px;
    padding:8px;
    margin-top:0;
    background:#fff;
    border:1px solid #e6e6e6;
    border-radius:0;
    box-shadow:0 16px 35px rgba(0,0,0,.12);
}

.tf-wp-menu-main .dropdown-menu > li > a{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:10px 13px;
    color:#222;
    font-size:13px;
    font-weight:600;
    background:#fff;
    text-decoration:none;
    transition:background-color .18s ease,color .18s ease;
}

.tf-wp-menu-main .dropdown-menu > li > a:hover,
.tf-wp-menu-main .dropdown-menu > li > a:focus{
    color:var(--tf-n5-accent);
    background:#f7f7f7;
}

.tf-wp-menu-main .dropend > .dropdown-menu{
    margin-left:4px;
    margin-top:-8px;
}

.tf-wp-menu-main .dropend > a.dropdown-toggle::after{
    margin-left:auto;
    border-top:4px solid transparent;
    border-right:0;
    border-bottom:4px solid transparent;
    border-left:4px solid currentColor;
}

/* Slide-in menu based on the supplied News5 offcanvas styling. */
.tf-news5-offcanvas{
    width:min(390px,92vw) !important;
    border:0 !important;
    background:#fff;
}

.tf-news5-offcanvas-head{
    min-height:66px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--tf-n5-border);
    background:#fff;
}

.tf-news5-offcanvas-logo{
    display:inline-flex;
    align-items:center;
    max-width:190px;
    color:#171717;
    font-size:17px;
    font-weight:700;
    line-height:1;
    text-decoration:none;
}

.tf-news5-offcanvas-logo img{
    display:block;
    width:auto;
    max-width:150px;
    max-height:34px;
    object-fit:contain;
}

.tf-news5-offcanvas-close{
    position:relative;
    width:36px;
    height:36px;
    border:0;
    background:transparent;
    cursor:pointer;
}

.tf-news5-offcanvas-close::before,
.tf-news5-offcanvas-close::after{
    content:"";
    position:absolute;
    left:8px;
    top:17px;
    width:20px;
    height:1.8px;
    background:#171717;
    transition:background-color .2s ease, transform .2s ease;
}

.tf-news5-offcanvas-close::before{
    transform:rotate(45deg);
}

.tf-news5-offcanvas-close::after{
    transform:rotate(-45deg);
}

.tf-news5-offcanvas-close:hover::before,
.tf-news5-offcanvas-close:hover::after{
    background:var(--tf-n5-accent);
}

.tf-news5-mobile-search{
    padding:16px 18px 12px;
    background:#fff;
}

.tf-news5-mobile-search form{
    position:relative;
    display:flex;
}

.tf-news5-mobile-search input{
    width:100%;
    height:44px;
    padding:0 50px 0 12px;
    border:1px solid #d9d9d9;
    border-radius:2px;
    color:#222;
    font-size:14px;
    outline:0;
}

.tf-news5-mobile-search input:focus{
    border-color:#aaa;
    box-shadow:none;
}

.tf-news5-mobile-search button{
    position:absolute;
    right:0;
    top:0;
    width:44px;
    height:44px;
    border:0;
    background:transparent;
    color:#555;
    cursor:pointer;
}

.tf-news5-mobile-search button::before{
    content:"";
    position:absolute;
    left:13px;
    top:12px;
    width:12px;
    height:12px;
    border:1.8px solid currentColor;
    border-radius:50%;
}

.tf-news5-mobile-search button::after{
    content:"";
    position:absolute;
    left:25px;
    top:25px;
    width:6px;
    height:1.8px;
    background:currentColor;
    transform:rotate(45deg);
}

.tf-news5-mobile-body{
    padding:6px 18px 22px;
    overflow-y:auto;
}

.tf-wp-menu-hamburger{
    list-style:none;
    margin:0;
    padding:0;
}

.tf-wp-menu-hamburger > li{
    position:relative;
    margin:0;
    border-bottom:1px solid #ededed;
}

.tf-wp-menu-hamburger > li > a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:52px;
    padding:0 34px 0 0;
    color:#171717;
    background:#fff;
    font-size:15px;
    font-weight:700;
    text-decoration:none;
}

.tf-wp-menu-hamburger > li > a:hover,
.tf-wp-menu-hamburger > li.current-menu-item > a,
.tf-wp-menu-hamburger > li.current-menu-ancestor > a{
    color:var(--tf-n5-accent);
}

.tf-wp-menu-hamburger > li.menu-item-has-children > a::after{
    content:"";
    position:absolute;
    right:2px;
    top:50%;
    width:8px;
    height:8px;
    margin-top:-5px;
    border-right:1.5px solid currentColor;
    border-bottom:1.5px solid currentColor;
    transform:rotate(45deg);
    transition:transform .2s ease;
}

.tf-wp-menu-hamburger > li.is-open > a::after{
    margin-top:1px;
    transform:rotate(-135deg);
}

.tf-wp-menu-hamburger .sub-menu{
    display:none;
    list-style:none;
    margin:0;
    padding:0 0 6px 14px;
    background:#fff;
}

.tf-wp-menu-hamburger .is-open > .sub-menu{
    display:block;
}

.tf-wp-menu-hamburger .sub-menu > li{
    margin:0;
}

.tf-wp-menu-hamburger .sub-menu > li > a{
    display:flex;
    align-items:center;
    min-height:42px;
    padding:0 0 0 12px;
    color:#555;
    background:#fff;
    font-size:14px;
    font-weight:500;
    text-decoration:none;
}

.tf-wp-menu-hamburger .sub-menu > li > a:hover,
.tf-wp-menu-hamburger .sub-menu > li.current-menu-item > a,
.tf-wp-menu-hamburger .sub-menu > li.current-menu-ancestor > a{
    color:var(--tf-n5-accent);
}

.tf-wp-menu-hamburger .sub-menu > li.menu-item-has-children > a{
    font-weight:600;
}

.tf-wp-menu-hamburger .sub-menu .sub-menu{
    padding-left:14px;
}

.tf-wp-menu-hamburger .tf-mobile-submenu-toggle{
    display:none;
}

@media(max-width:991.98px){
    .tf-news5-nav-scroll{
        border-radius:0;
        background:#fff;
        border-top:1px solid var(--tf-n5-border);
        border-bottom:1px solid var(--tf-n5-border);
    }

    .tf-news5-nav .container{
        padding-left:0;
        padding-right:0;
        padding-bottom:0;
    }

    .tf-wp-menu-main{
        min-width:max-content;
        justify-content:flex-start;
        min-height:52px;
        padding:0 4px;
    }

    .tf-wp-menu-main > li > a{
        min-height:52px;
        font-size:13px;
        padding:0 14px;
    }

    .tf-wp-menu-main > li > a::before{
        left:12px;
        right:12px;
        bottom:0;
    }

    .tf-news5-brandbar .container{
        min-height:92px;
    }
}

@media(max-width:575.98px){
    .tf-news5-topline-date{
        display:none;
    }

    .tf-news5-brandbar .container{
        min-height:78px;
    }

    .tf-news5-brand img{
        max-width:215px;
        max-height:46px;
    }

    .tf-news5-mobile-trigger{
        left:4px;
    }

    .tf-news5-search-link{
        right:4px;
    }

    .tf-news5-brand{
        max-width:56%;
    }

    .tf-wp-menu-main > li > a{
        min-height:48px;
        padding:0 13px;
        font-size:12px;
    }
}

/* Desktop hover dropdowns. Fixed positioning prevents clipping by the
 * horizontally scrollable navigation wrapper. Coordinates are supplied by
 * site.js while the pointer is over the parent item/submenu. */
.tf-wp-menu-main .dropdown-menu {
    position:fixed !important;
    left:var(--tf-dropdown-left, 0px) !important;
    top:var(--tf-dropdown-top, 0px) !important;
    display:none;
    z-index:1200;
    margin:0 !important;
}

.tf-wp-menu-main .menu-item-has-children.is-hover-open > .dropdown-menu {
    display:block !important;
}

/* Parent links in the hamburger are always toggle controls. */
.tf-wp-menu-hamburger .menu-item-has-children > a {
    cursor: pointer;
}

/* v27: keep desktop dropdown strictly controlled by the explicit hover state. */
@media (min-width: 992px){
    .tf-wp-menu-main .dropdown-menu{
        opacity:0;
        visibility:hidden;
        pointer-events:none;
        display:block !important;
        transition:opacity .14s ease, visibility 0s linear .14s;
    }

    .tf-wp-menu-main .menu-item-has-children.is-hover-open > .dropdown-menu{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transition:opacity .14s ease, visibility 0s linear 0s;
    }
}
