/*=========================================================
CITY NEWS PAKISTAN
Premium Navbar CSS
Part 1
=========================================================*/

/*==============================
ROOT COLORS
==============================*/

:root{

--primary:#004AAD;
--secondary:#D71920;
--white:#ffffff;
--black:#111111;
--text:#444444;
--border:#e8e8e8;
--light:#f5f7fb;
--shadow:0 10px 30px rgba(0,0,0,.08);
--transition:.35s ease;

}

/*==============================
RESET
==============================*/

*{

margin:0;
padding:0;
box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

font-family:'Poppins',sans-serif;
background:#f5f7fb;
color:var(--text);
overflow-x:hidden;

}

a{

text-decoration:none;
transition:var(--transition);

}

ul{

list-style:none;

}

img{

display:block;
max-width:100%;

}

.container{

width:100%;
max-width:1320px;
margin:auto;
padding:0 20px;

}

/*=================================================
TOP BAR
=================================================*/

.topbar{

background:var(--primary);
color:#fff;
font-size:14px;

}

.topbar-wrapper{

display:flex;
justify-content:space-between;
align-items:center;
min-height:48px;
gap:20px;

}

/*==============================
SOCIAL
==============================*/

.topbar-left{

display:flex;
align-items:center;
gap:12px;

}

.topbar-left a{

width:34px;
height:34px;
border-radius:50%;
background:rgba(255,255,255,.12);

display:flex;
align-items:center;
justify-content:center;

color:#fff;

transition:.3s;

}

.topbar-left a:hover{

background:var(--secondary);
transform:translateY(-2px);

}

/*==============================
CLOCK
==============================*/

.topbar-center{

display:flex;
align-items:center;
gap:10px;
font-weight:500;
color:#fff;

}

.top-divider{

width:1px;
height:18px;
background:rgba(255,255,255,.3);

}

.calendar-icon,
.clock-icon{

color:#FFD54F;

}

#currentDate,
#currentTime{

white-space:nowrap;

}

/*==============================
USER
==============================*/

.topbar-right{

display:flex;
align-items:center;
gap:18px;

}

.topbar-right a{

display:flex;
align-items:center;
gap:8px;

color:#fff;
font-weight:500;

}

.topbar-right a:hover{

color:#FFD54F;

}

.top-user-image{

width:34px;
height:34px;

border-radius:50%;
object-fit:cover;

border:2px solid #fff;

}

.logout-btn{

color:#ffdddd !important;

}

/*=========================================================
HEADER AREA
=========================================================*/

.header-area{

background:var(--white);
box-shadow:0 3px 18px rgba(0,0,0,.05);
position:relative;
z-index:99;

}

.header-wrapper{

display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
padding:18px 0;

}

/*=========================================================
LOGO
=========================================================*/

.site-logo{

display:flex;
align-items:center;
flex-shrink:0;

}

.site-logo a{

display:flex;
align-items:center;

}

.logo-image{

height:70px;
width:auto;
transition:.35s;

}

.logo-image:hover{

transform:scale(1.03);

}

.logo-text{

font-size:32px;
font-weight:800;
color:var(--primary);
letter-spacing:.5px;

}

/*=========================================================
SEARCH
=========================================================*/

.header-search{

flex:1;
max-width:650px;

}

.search-box{

position:relative;
display:flex;
align-items:center;

}

.search-box input{

width:100%;
height:52px;

padding:0 65px 0 22px;

border:2px solid #E7EAF1;
border-radius:50px;

background:#FAFBFD;

font-size:15px;
font-weight:500;

outline:none;

transition:.35s;

}

.search-box input:focus{

border-color:var(--primary);

background:#fff;

box-shadow:0 0 0 5px rgba(0,74,173,.08);

}

.search-box input::placeholder{

color:#8a8a8a;

}

.search-box button{

position:absolute;

right:5px;
top:5px;

width:42px;
height:42px;

border:none;
border-radius:50%;

cursor:pointer;

background:var(--primary);
color:#fff;

font-size:17px;

transition:.35s;

}

.search-box button:hover{

background:var(--secondary);

transform:rotate(10deg);

}

/*=========================================================
RIGHT SIDE
=========================================================*/

.header-right{

display:flex;
align-items:center;
gap:18px;

}

/*=========================================================
LIVE BADGE
=========================================================*/

.live-badge{

display:flex;
align-items:center;
gap:8px;

padding:10px 18px;

border-radius:50px;

background:var(--secondary);

color:#fff;

font-size:14px;
font-weight:700;
letter-spacing:.5px;

box-shadow:0 6px 16px rgba(215,25,32,.30);

}

.live-dot{

width:10px;
height:10px;

border-radius:50%;

background:#fff;

animation:livePulse 1s infinite;

}

@keyframes livePulse{

0%{

transform:scale(1);
opacity:1;

}

50%{

transform:scale(1.6);
opacity:.4;

}

100%{

transform:scale(1);
opacity:1;

}

}

/*=========================================================
MOBILE MENU BUTTON
=========================================================*/

.mobile-menu-btn{

display:none;

width:50px;
height:50px;

border:none;
outline:none;

cursor:pointer;

border-radius:10px;

background:var(--primary);

color:#fff;

font-size:24px;

transition:.35s;

}

.mobile-menu-btn:hover{

background:var(--secondary);

transform:scale(1.05);

}

/*=========================================================
MAIN NAVBAR
=========================================================*/

.main-navbar{

position:relative;

background:var(--primary);

box-shadow:0 8px 20px rgba(0,0,0,.08);

z-index:999;

transition:.35s;

}

.main-navbar.sticky{

position:fixed;

top:0;
left:0;

width:100%;

animation:navbarSlide .35s ease;

box-shadow:0 12px 30px rgba(0,0,0,.15);

}

@keyframes navbarSlide{

from{

transform:translateY(-100%);

}

to{

transform:translateY(0);

}

}

/*=========================================================
MAIN MENU
=========================================================*/

.main-menu{

display:flex;

align-items:center;

justify-content:center;

gap:2px;

}

/*=========================================================
MENU ITEMS
=========================================================*/

.main-menu>li{

position:relative;

}

.main-menu>li>a{

display:flex;

align-items:center;

gap:10px;

padding:18px 22px;

color:#fff;

font-size:15px;

font-weight:600;

transition:.35s;

position:relative;

overflow:hidden;

}

.main-menu>li>a i{

font-size:16px;

transition:.35s;

}

/*=========================================================
HOVER EFFECT
=========================================================*/

.main-menu>li>a::before{

content:"";

position:absolute;

left:0;

bottom:0;

width:0;

height:3px;

background:var(--secondary);

transition:.35s;

}

.main-menu>li:hover>a{

background:rgba(255,255,255,.08);

}

.main-menu>li:hover>a::before{

width:100%;

}

.main-menu>li:hover>a i{

transform:translateY(-2px);

color:#FFD54F;

}

/*=========================================================
ACTIVE MENU
=========================================================*/

.main-menu>li.active>a{

background:var(--secondary);

color:#fff;

}

.main-menu>li.active>a::before{

width:100%;

background:#FFD54F;

}

/*=========================================================
DESKTOP SEARCH
=========================================================*/

.desktop-search{

margin-left:auto;

}

.desktop-search a{

width:56px;

justify-content:center;

padding:18px 0;

font-size:18px;

}

/*=========================================================
PROFILE
=========================================================*/

.desktop-profile{

margin-left:10px;

}

.desktop-profile a{

display:flex;

align-items:center;

gap:10px;

padding:12px 18px;

color:#fff;

font-weight:600;

}

.desktop-profile a:hover{

background:rgba(255,255,255,.08);

}

.nav-profile-image{

width:38px;

height:38px;

border-radius:50%;

object-fit:cover;

border:2px solid rgba(255,255,255,.5);

transition:.35s;

}

.desktop-profile:hover .nav-profile-image{

border-color:#FFD54F;

transform:scale(1.05);

}

/*=========================================================
DESKTOP ONLY
=========================================================*/

.desktop-search,
.desktop-profile{

display:flex;

align-items:center;

}

/*=========================================================
MOBILE MENU
=========================================================*/
/*=========================================
MOBILE MENU
=========================================*/

.mobile-menu{
    position:fixed;
    top:0;
    left:-100%;
    width:88%;
    max-width:360px;
    height:100vh;
    background:#fff;
    overflow-y:auto;
    transition:.35s ease;
    z-index:999999;
    box-shadow:8px 0 35px rgba(0,0,0,.18);
}

.mobile-menu.active{
    left:0;
}

/*=========================================*/

.menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:999998;
}

.menu-overlay.active{
    opacity:1;
    visibility:visible;
}

/*=========================================
HEADER
=========================================*/

.mobile-menu-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px;
    background:#0056b3;
}

.mobile-logo{
    display:flex;
    align-items:center;
}

.mobile-logo img{
    width:auto;
    max-width:170px;
    max-height:70px;
    object-fit:contain;
}

.mobile-logo h3{
    color:#fff;
    margin:0;
    font-size:22px;
    font-weight:700;
}

/*=========================================*/

.close-mobile-menu{
    width:38px;
    height:38px;
    border:none;
    border-radius:50%;
    background:#dc3545;
    color:#fff;
    cursor:pointer;
    font-size:18px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.close-mobile-menu:hover{
    background:#bb2d3b;
}

/*=========================================
SEARCH
=========================================*/

.mobile-search{
    padding:18px;
    background:#f7f7f7;
}

.mobile-search-box{
    display:flex;
    border:1px solid #ddd;
    border-radius:10px;
    overflow:hidden;
    background:#fff;
}

.mobile-search-box input{
    flex:1;
    border:none;
    outline:none;
    padding:13px 15px;
    font-size:14px;
}

.mobile-search-box button{
    width:55px;
    border:none;
    background:#0056b3;
    color:#fff;
    cursor:pointer;
}

/*=========================================
MENU
=========================================*/

.mobile-menu-list{
    list-style:none;
    margin:0;
    padding:10px 0;
}

.mobile-menu-list li{
    border-bottom:1px solid #eee;
}

.mobile-menu-list li:last-child{
    border-bottom:none;
}

.mobile-menu-list li a{
    display:flex;
    align-items:center;
    gap:16px;
    padding:15px 22px;
    color:#333;
    text-decoration:none;
    font-size:16px;
    font-weight:600;
    transition:.3s;
}

.mobile-menu-list li a:hover{
    background:#f5f8ff;
    color:#0056b3;
}

.mobile-menu-list li a i{
    width:24px;
    text-align:center;
    color:#d60000;
    font-size:16px;
}

/*=========================================
PROFILE IMAGE
=========================================*/

.mobile-user-image{
    width:42px;
    height:42px;
    border-radius:50%;
    object-fit:cover;
}

/*=========================================
SOCIAL
=========================================*/

.mobile-social{
    display:flex;
    justify-content:center;
    gap:15px;
    padding:22px;
    border-top:1px solid #eee;
}

.mobile-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    background:#0056b3;
    color:#fff;
    transition:.3s;
}

.mobile-social a:hover{
    transform:translateY(-3px);
    background:#d60000;
}

/*=========================================
SCROLLBAR
=========================================*/

.mobile-menu::-webkit-scrollbar{
    width:6px;
}

.mobile-menu::-webkit-scrollbar-thumb{
    background:#0056b3;
    border-radius:20px;
}

/*=========================================
RESPONSIVE
=========================================*/

@media(max-width:480px){

.mobile-menu{
    width:92%;
}

.mobile-logo img{
    max-width:150px;
}

.mobile-menu-list li a{
    padding:14px 18px;
    font-size:15px;
}

.mobile-search{
    padding:15px;
}

}

/*=========================================================
OVERLAY
=========================================================*/

.menu-overlay{

position:fixed;

top:0;

left:0;

width:100%;

height:100%;

background:rgba(0,0,0,.55);

opacity:0;

visibility:hidden;

transition:.35s;

z-index:9998;

}

.menu-overlay.active{

opacity:1;

visibility:visible;

}

/*=========================================================
SEARCH SUGGESTIONS
=========================================================*/

.search-suggestions{

position:absolute;

top:100%;

left:0;

width:100%;

background:#fff;

border-radius:12px;

box-shadow:0 12px 30px rgba(0,0,0,.12);

display:none;

overflow:hidden;

z-index:1000;

}

/*=========================================================
BACK TO TOP
=========================================================*/

.back-to-top{

position:fixed;

right:25px;

bottom:25px;

width:52px;

height:52px;

border:none;

border-radius:50%;

background:var(--primary);

color:#fff;

font-size:18px;

cursor:pointer;

display:flex;

align-items:center;

justify-content:center;

opacity:0;

visibility:hidden;

transform:translateY(20px);

transition:.35s;

box-shadow:0 10px 25px rgba(0,0,0,.18);

z-index:999;

}

.back-to-top.show{

opacity:1;

visibility:visible;

transform:translateY(0);

}

.back-to-top:hover{

background:var(--secondary);

transform:translateY(-5px);

}

/*=========================================================
WHATSAPP BUTTON
=========================================================*/

.whatsapp-button{

position:fixed;

left:25px;

bottom:25px;

width:58px;

height:58px;

border-radius:50%;

background:#25D366;

color:#fff;

display:flex;

align-items:center;

justify-content:center;

font-size:30px;

text-decoration:none;

box-shadow:0 10px 25px rgba(37,211,102,.40);

z-index:999;

transition:.35s;

animation:whatsappPulse 2s infinite;

}

.whatsapp-button:hover{

transform:scale(1.10);

color:#fff;

}

@keyframes whatsappPulse{

0%{

box-shadow:0 0 0 0 rgba(37,211,102,.55);

}

70%{

box-shadow:0 0 0 18px rgba(37,211,102,0);

}

100%{

box-shadow:0 0 0 0 rgba(37,211,102,0);

}

}

/*=========================================================
BREAKING NEWS CONTAINER
=========================================================*/

.breaking-ticker-container{

display:none;

}

/*=========================================================
NOSCRIPT
=========================================================*/

.noscript-warning{

background:#D71920;

color:#fff;

padding:12px;

text-align:center;

font-weight:600;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

.header-search{

display:none;

}

.desktop-search,

.desktop-profile,

.main-menu{

display:none;

}

.mobile-menu-btn{

display:flex;

align-items:center;

justify-content:center;

}

.topbar-wrapper{

flex-direction:column;

padding:10px 0;

gap:10px;

}

.logo-image{

height:55px;

}

}

@media(max-width:576px){

.container{

padding:0 15px;

}

.live-badge{

display:none;

}

.topbar-center{

font-size:12px;

}

.back-to-top{

width:48px;

height:48px;

right:15px;

bottom:15px;

}

.whatsapp-button{

left:15px;

bottom:15px;

width:52px;

height:52px;

font-size:26px;

}

}

