:root {
--waw-font-family: inherit;
--waw-font-size-main: 16px;
--waw-font-size-sub: 13px;
--waw-bg-main: transparent;
--waw-color-main: #000;
--waw-bg-sub: transparent;
--waw-color-sub: #44515c;
--waw-border-color: rgba(0,0,0,0.05);
--waw-max-width: 1200px;
--waw-hover-color: #0056b3;
--waw-pad-main: 8px;
--waw-pad-sub: 6px;
--waw-link-pad-main: 10px 16px;
--waw-link-pad-sub: 6px 14px;
--waw-link-gap: 20px;
--waw-icon-gap: 8px;
--waw-menu-align: flex-start;
--waw-letter-spacing: normal;
--waw-box-bg: #e2e2e2;
--waw-box-hover-bg: #d4d4d4;
--waw-box-border: #cccccc;
--waw-box-gap: 8px;
--waw-box-icon-size: 48px;
--waw-box-font-size: 13px;
}
.waw-menu-wrapper {
font-family: var(--waw-font-family);
box-sizing: border-box;
width: 100%;
}
.waw-menu-wrapper * {
box-sizing: border-box;
} .waw-desktop-nav {
display: flex;
flex-direction: column;
width: 100%;
}
ul.waw-menu-list, ul.waw-sub-menu-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: var(--waw-menu-align);
gap: var(--waw-link-gap);
flex-wrap: wrap;
width: 100%;
}
ul.waw-sub-menu-list {
gap: calc(var(--waw-link-gap) * 0.75);
} .waw-main-row-container {
background: var(--waw-bg-main);
width: 100%;
position: relative;
z-index: 50; }
.waw-main-row {
max-width: var(--waw-max-width);
margin: 0 auto;
padding: var(--waw-pad-main) 15px;
display: flex;
align-items: center;
position: relative;
overflow: visible; } .waw-sub-row-container {
background: var(--waw-bg-sub);
width: 100%;
position: relative;
z-index: 40; }
.waw-sub-row {
max-width: var(--waw-max-width);
margin: 0 auto;
padding: var(--waw-pad-sub) 15px;
display: flex;
align-items: center;
} .waw-menu-list > li > a {
color: var(--waw-color-main);
font-size: var(--waw-font-size-main);
letter-spacing: var(--waw-letter-spacing);
text-decoration: none;
font-weight: 500;
display: flex;
align-items: center;
gap: var(--waw-icon-gap);
padding: var(--waw-link-pad-main);
border-radius: 8px;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
}
.waw-menu-list > li > a:hover {
color: var(--waw-hover-color);
background: rgba(0, 0, 0, 0.04);
}
.waw-menu-list li.waw-more-item > a {
color: #64748b;
}
.waw-sub-menu-list li.waw-more-item-sub > a {
font-weight: 500;
opacity: 0.95;
}
.waw-sub-menu-list > li > a {
color: var(--waw-color-sub);
font-size: var(--waw-font-size-sub);
letter-spacing: var(--waw-letter-spacing);
text-decoration: none;
font-weight: 500;
display: flex;
align-items: center;
gap: var(--waw-icon-gap);
padding: var(--waw-link-pad-sub);
border-radius: 20px;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
}
.waw-sub-menu-list > li > a:hover {
color: var(--waw-hover-color);
background: rgba(0, 0, 0, 0.05);
} .waw-menu-icon {
height: 1.2em; width: auto;
object-fit: contain;
display: inline-block;
}
.waw-desktop-only-arrow {
margin-left: 2px;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.waw-menu-list li:hover > a > .waw-desktop-only-arrow,
.waw-sub-menu-list li:hover > a > .waw-desktop-only-arrow {
transform: rotate(-180deg);
} .waw-menu-list li {
position: relative;
}
.waw-menu-list li::after {
content: '';
position: absolute;
bottom: -15px; left: 0;
right: 0;
height: 15px;
z-index: 1;
}
.waw-menu-list li ul.sub-menu > li::after {
bottom: 0;
top: 0;
right: -15px; left: auto;
width: 15px;
height: auto;
}
.waw-menu-list li ul.sub-menu.waw-menu-leftward > li::after {
right: auto;
left: -15px;
}
.waw-menu-list li ul.sub-menu {
position: absolute;
top: calc(100% + 5px);
left: 0;
background: #fff;
min-width: 260px;
box-shadow: 0 20px 40px -10px rgba(0,0,0,0.1), 0 8px 16px -4px rgba(0,0,0,0.05);
list-style: none;
padding: 8px;
margin: 0;
border-radius: 12px;
border: 1px solid rgba(0,0,0,0.06);
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
z-index: 99;
}
.waw-menu-list li:hover > ul.sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.waw-menu-list li ul.sub-menu > li > a {
padding: 10px 16px;
display: flex;
align-items: center;
gap: var(--waw-icon-gap);
color: #334155;
font-size: calc(var(--waw-font-size-main) * 0.9);
text-decoration: none;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
font-weight: 500;
white-space: nowrap;
border-radius: 6px;
}
.waw-menu-list li ul.sub-menu > li > a:hover {
background: #f1f5f9;
color: var(--waw-hover-color);
transform: translateX(4px);
} .waw-sub-menu-list li {
position: relative;
}
.waw-sub-menu-list li::after {
content: '';
position: absolute;
bottom: -15px;
left: 0;
right: 0;
height: 15px;
z-index: 1;
}
.waw-sub-menu-list li ul.sub-menu > li::after {
bottom: 0;
top: 0;
right: -15px;
left: auto;
width: 15px;
height: auto;
}
.waw-sub-menu-list li ul.sub-menu.waw-menu-leftward > li::after {
right: auto;
left: -15px;
}
.waw-sub-menu-list li ul.sub-menu {
position: absolute;
top: calc(100% + 5px);
left: 0;
background: #ffffff;
min-width: 240px;
box-shadow: 0 15px 35px -5px rgba(0,0,0,0.08), 0 5px 15px -3px rgba(0,0,0,0.04);
list-style: none;
padding: 8px;
margin: 0;
border-radius: 12px;
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
z-index: 99;
border: 1px solid rgba(0,0,0,0.06);
}
.waw-sub-menu-list li:hover > ul.sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.waw-sub-menu-list li ul.sub-menu > li > a {
padding: 8px 14px;
display: flex;
align-items: center;
gap: var(--waw-icon-gap);
color: #475569;
font-size: calc(var(--waw-font-size-sub) * 0.95);
text-decoration: none;
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
border-radius: 6px;
}
.waw-sub-menu-list li ul.sub-menu > li > a:hover {
background: #f1f5f9;
color: var(--waw-hover-color);
transform: translateX(3px);
} .waw-menu-list li.waw-more-item > ul.sub-menu,
.waw-sub-menu-list li.waw-more-item-sub > ul.sub-menu {
right: 0;
left: auto;
}
.waw-menu-list li ul.sub-menu ul.sub-menu,
.waw-sub-menu-list li ul.sub-menu ul.sub-menu {
top: 0;
left: 100%;
} .waw-menu-wrapper ul.sub-menu.waw-menu-leftward {
right: 100% !important;
left: auto !important;
} .waw-mobile-nav {
display: none;
}
.waw-mobile-toggle {
background: none;
border: none;
cursor: pointer;
padding: 10px;
display: flex;
flex-direction: column;
gap: 5px;
align-items: center;
justify-content: center;
}
.waw-bar {
width: 24px;
height: 2px;
background-color: var(--waw-color-main);
transition: 0.3s;
} @media screen and (max-width: 1024px) and (min-width: 769px) {
.waw-menu-list > li > a { font-size: calc(var(--waw-font-size-main) * 0.9); padding: 8px 10px; }
.waw-sub-menu-list > li > a { font-size: calc(var(--waw-font-size-sub) * 0.9); padding: 4px 10px; }
ul.waw-menu-list { gap: calc(var(--waw-link-gap) * 0.5); }
ul.waw-sub-menu-list { gap: calc(var(--waw-link-gap) * 0.4); }
}
@media screen and (max-width: 768px) {
.waw-desktop-nav {
display: none;
}
.waw-mobile-nav {
display: block;
}
.waw-mobile-sidebar {
position: fixed;
top: 10%;
left: -320px;
width: 300px;
height: 80%;
background: #fff;
z-index: 99999;
overflow-y: auto;
transition: 0.3s ease;
box-shadow: 5px 0 25px rgba(0,0,0,0.1);
border-top-right-radius: 20px;
border-bottom-right-radius: 20px;
display: flex;
flex-direction: column;
}
.waw-mobile-sidebar.active {
left: 0;
}
.waw-mobile-sidebar-header {
padding: 24px 20px;
display: flex;
justify-content: flex-end;
background: #f8fafc;
border-bottom: 1px solid #e2e8f0;
}
.waw-mobile-close {
background: none;
border: none;
font-size: 28px;
cursor: pointer;
color: #64748b;
transition: color 0.2s;
}
.waw-mobile-close:hover {
color: #0f172a;
}
.waw-mobile-menus {
padding: 15px 0;
}
ul.waw-mobile-main-list, ul.waw-mobile-sub-list {
list-style: none;
padding: 0;
margin: 0;
}
ul.waw-mobile-main-list > li > a {
display: flex;
align-items: center;
padding: 14px 20px;
font-size: 16px;
font-weight: 500;
color: #1e293b;
text-decoration: none;
border-bottom: 1px solid #f1f5f9;
gap: var(--waw-icon-gap);
}
ul.waw-mobile-sub-list > li > a {
display: flex;
align-items: center;
padding: 12px 20px;
font-size: 15px;
font-weight: 500;
color: #475569;
text-decoration: none;
gap: var(--waw-icon-gap);
}
.waw-mobile-divider {
border: none;
border-top: 5px solid #f1f5f9;
margin: 0;
}
.waw-mobile-main-list ul.sub-menu,
.waw-mobile-sub-list ul.sub-menu {
list-style: none;
padding-left: 0;
background: transparent;
display: none;
padding: 5px 0;
}
.waw-mobile-main-list ul.sub-menu li,
.waw-mobile-sub-list ul.sub-menu li {
position: relative;
}
.waw-mobile-main-list li.waw-mobile-open > ul.sub-menu,
.waw-mobile-sub-list li.waw-mobile-open > ul.sub-menu {
display: block;
}
.waw-mobile-main-list ul.sub-menu a,
.waw-mobile-sub-list ul.sub-menu a {
padding: 10px 55px 10px 40px;
display: flex;
align-items: center;
gap: var(--waw-icon-gap);
color: #64748b;
text-decoration: none;
font-size: 14px;
border-radius: 0 20px 20px 0;
margin-right: 5px;
transition: 0.2s;
}
.waw-mobile-main-list ul.sub-menu a:hover,
.waw-mobile-sub-list ul.sub-menu a:hover {
background: #f1f5f9;
color: #0f172a;
}
.waw-mobile-main-list ul.sub-menu ul.sub-menu a,
.waw-mobile-sub-list ul.sub-menu ul.sub-menu a {
padding-left: 60px;
font-size: 13px;
}
.waw-mobile-overlay {
position: fixed;
top:0; left:0; right:0; bottom:0;
background: rgba(15, 23, 42, 0.3);
backdrop-filter: blur(2px);
z-index: 99998;
opacity: 0;
visibility: hidden;
transition: 0.3s;
}
.waw-mobile-overlay.active {
opacity: 1;
visibility: visible;
}
.waw-mobile-submenu-toggle {
position: absolute;
right: 15px;
top: 6px; background: #f8fafc;
border: 1px solid #e2e8f0;
color: #64748b;
border-radius: 6px;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: 0.2s;
z-index: 2;
}
.waw-mobile-submenu-toggle svg {
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.waw-mobile-open > .waw-mobile-submenu-toggle svg {
transform: rotate(-180deg);
}
.waw-mobile-submenu-toggle:active {
background: #e2e8f0;
}
.waw-mobile-main-list > li,
.waw-mobile-sub-list > li {
position: relative;
display: flex;
flex-wrap: wrap;
border-bottom: 1px solid #f1f5f9;
align-items: flex-start;
}
.waw-mobile-main-list > li > a,
.waw-mobile-sub-list > li > a {
width: 100%;
box-sizing: border-box;
border-bottom: none;
word-wrap: break-word;
overflow-wrap: break-word;
padding-right: 55px; }
.waw-mobile-main-list > li > ul.sub-menu,
.waw-mobile-sub-list > li > ul.sub-menu {
width: 100%;
} .waw-desktop-only-arrow {
display: none !important;
}
} .waw-box-menu-container {
width: 100%;
}
.waw-box-menu-list {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: grid !important; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
gap: var(--waw-box-gap) !important;
}
.waw-box-menu-list li {
display: block !important;
margin: 0 !important;
}
.waw-box-menu-list li a {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: var(--waw-box-bg);
border: 1px solid var(--waw-box-border);
border-radius: 6px;
padding: 12px 6px;
text-decoration: none;
color: #000;
text-align: center;
transition: 0.2s;
height: 100%;
box-sizing: border-box;
box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.waw-box-menu-list li a:hover {
background: var(--waw-box-hover-bg);
color: #000;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.waw-box-icon-wrapper {
height: var(--waw-box-icon-size);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px;
}
.waw-box-icon {
max-height: 100%;
max-width: 100%;
object-fit: contain;
}
.waw-box-text {
font-size: var(--waw-box-font-size);
font-weight: 700;
line-height: 1.2;
} .waw-hidden-overflow {
display: none !important;
}