.topbar {
background-color: var(--color-primary);
padding: var(--spacing-xl) 0;
position: relative;
z-index: 1000;
min-height: 90px;
display: flex;
align-items: center;
}
.topbar .container {
position: relative;
display: block;
padding: 0;
max-width: none; width: 100%;
}
.topbar-content {
position: relative;
display: flex;
align-items: center;
} .mobile-menu-toggle {
display: none;
} .topbar-social {
display: flex;
gap: var(--spacing-md);
position: absolute;
left: 0;
z-index: 10;
padding-left: var(--spacing-md);
}
.topbar-social a {
width: 40px;
height: 40px;
background-color: rgba(255,255,255,0.2);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 16px;
transition: background-color var(--transition-fast);
}
.topbar-social a:hover {
background-color: rgba(255,255,255,0.3);
color: #fff;
}
.topbar-social a svg {
width: 16px;
height: 16px;
fill: currentColor;
} .topbar-logo {
position: absolute;
left: 50%;
transform: translateX(-50%);
z-index: 5;
}
.topbar-logo a {
display: flex;
align-items: center;
gap: var(--spacing-md);
color: #fff;
font-size: 1.75rem;
font-weight: var(--font-weight-black);
letter-spacing: 1px;
}
.topbar-logo img {
height: 45px;
width: auto;
}
.topbar-logo .logo-icon {
width: 45px;
height: 45px;
background-color: #fff;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.topbar-logo .logo-icon svg {
width: 28px;
height: 28px;
fill: var(--color-primary);
} .topbar-right {
position: absolute;
right: 0;
display: flex;
align-items: center;
z-index: 10;
padding-right: var(--spacing-md);
}
.dark-mode-toggle {
width: 44px;
height: 44px;
background: transparent;
border: 2px solid rgba(255,255,255,0.3);
border-radius: 50%;
color: #fff;
font-size: 20px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
position: relative;
transition: all 0.3s ease;
}
.dark-mode-toggle:hover {
border-color: rgba(255,255,255,0.5);
background: rgba(255,255,255,0.1);
transform: scale(1.05);
}
.dark-mode-toggle:active {
transform: scale(0.95);
} .dark-mode-toggle .icon-sun,
.dark-mode-toggle .icon-moon {
position: absolute;
transition: all 0.3s ease;
}
.dark-mode-toggle .icon-sun {
opacity: 1;
transform: rotate(0deg) scale(1);
color: #fff;
}
.dark-mode-toggle .icon-moon {
opacity: 0;
transform: rotate(-90deg) scale(0);
font-size: 18px;
}
body.dark-mode .dark-mode-toggle {
border-color: rgba(255,255,255,0.5);
}
body.dark-mode .dark-mode-toggle .icon-sun {
opacity: 0;
transform: rotate(90deg) scale(0);
}
body.dark-mode .dark-mode-toggle .icon-moon {
opacity: 1;
transform: rotate(0deg) scale(1);
} .main-header {
background-color: #fff;
box-shadow: var(--shadow-sm);
position: sticky;
top: 0;
z-index: 999;
transition: all var(--transition-normal);
} .main-header.sticky {
box-shadow: var(--shadow-md);
}
.main-header.sticky .main-nav {
padding: var(--spacing-sm) 0;
}
.main-header.sticky .sticky-logo {
opacity: 1;
visibility: visible;
transform: translateY(0);
} .main-nav {
padding: var(--spacing-md) 0;
transition: padding var(--transition-normal);
}
.main-nav .container {
display: flex;
justify-content: center;
align-items: center;
position: relative;
transition: justify-content var(--transition-normal);
} .main-header.sticky .main-nav .container {
justify-content: center;
} .sticky-logo {
display: none;
}
.sticky-logo a {
display: flex;
align-items: center;
gap: 8px;
font-size: var(--font-size-large);
font-weight: var(--font-weight-bold);
color: var(--color-secondary);
white-space: nowrap;
}
.sticky-logo .logo-icon {
width: 28px;
height: 28px;
background-color: var(--color-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
}
.sticky-logo .logo-icon svg {
width: 18px;
height: 18px;
fill: #fff;
} .primary-menu {
display: flex;
list-style: none;
gap: var(--spacing-xl);
margin: 0;
}
.primary-menu > li {
position: relative;
}
.primary-menu > li > a {
display: block;
padding: var(--spacing-xs) 0;
font-size: var(--font-size-base);
font-weight: var(--font-weight-medium);
text-transform: uppercase;
letter-spacing: 0.5px;
color: var(--color-secondary);
position: relative;
}
.primary-menu > li > a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 3px;
background-color: var(--color-primary);
transition: width var(--transition-fast);
}
.primary-menu > li > a:hover::after,
.primary-menu > li.current-menu-item > a::after {
width: 100%;
} .menu-toggle {
display: none;
background: none;
border: none;
font-size: 24px;
cursor: pointer;
color: var(--color-secondary);
padding: var(--spacing-xs);
} .news-ticker {
background-color: var(--color-secondary);
color: #fff;
overflow: hidden;
position: relative;
height: var(--ticker-height);
}
.ticker-wrapper {
display: flex;
align-items: center;
height: 100%;
}
.ticker-label {
background-color: var(--color-primary);
padding: 0 var(--spacing-lg);
height: 100%;
display: flex;
align-items: center;
font-weight: var(--font-weight-bold);
font-size: var(--font-size-small);
text-transform: uppercase;
letter-spacing: 1px;
flex-shrink: 0;
}
.ticker-content {
flex: 1;
overflow: hidden;
position: relative;
height: 100%;
}
.ticker-items {
display: flex;
align-items: center;
height: 100%;
animation: ticker-scroll var(--ticker-speed, 60s) linear infinite;
white-space: nowrap;
}
.ticker-items:hover {
animation-play-state: paused;
}
.ticker-item {
display: inline-flex;
align-items: center;
padding: 0 var(--spacing-xl);
height: 100%;
color: #fff;
font-size: var(--font-size-base);
transition: background-color var(--transition-fast);
cursor: pointer;
}
.ticker-item:hover {
background-color: rgba(255,255,255,0.1);
color: var(--color-primary);
}
.ticker-item::before {
content: '●';
margin-right: var(--spacing-md);
color: var(--color-primary);
font-size: 8px;
} @keyframes ticker-scroll {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}