/* Header only. Bootstrap 4.6.0 and the existing theme stylesheet remain in use. */
.shusui-site-header .shusui-header-inner,
.shusui-header-navigation .shusui-header-inner {
    width: 100%;
    max-width: 1140px;
    margin-right: auto;
    margin-left: auto;
}
.shusui-site-header .shusui-header-content { padding: 10px; }
.shusui-header-navigation { margin-top: -16px; }
.shusui-header-navigation .shusui-header-nav {
    position: relative;
    display: flex;
    justify-content: flex-end;
    padding: 0;
}
.shusui-header-nav .shusui-header-menu,
.shusui-header-nav .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
.shusui-header-nav .shusui-header-menu { display: flex; flex-wrap: wrap; justify-content: flex-end; }
.shusui-header-nav .menu-item { position: relative; }
.shusui-header-nav .menu-item > a {
    display: block;
    color: #000;
    text-decoration: none;
    padding: 15px;
}
.shusui-header-nav .shusui-header-menu > .menu-item > a {
    min-height: 46px;
    padding: 11px 15px;
}
.shusui-header-nav .menu-item > a:hover,
.shusui-header-nav .menu-item > a:focus,
.shusui-header-nav .current-menu-item > a,
.shusui-header-nav .current-menu-ancestor > a { color: #707070; }
.shusui-header-nav .menu-item > a:focus-visible,
.shusui-header-nav button:focus-visible { outline: 2px solid #8a1a0f; outline-offset: 2px; }
.shusui-header-nav .sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    padding: 15px 0;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
    z-index: 101;
}
.shusui-header-nav .sub-menu .sub-menu { top: 0; left: 100%; }
.shusui-header-nav:not(.is-enhanced) .menu-item:hover > .sub-menu,
.shusui-header-nav:not(.is-enhanced) .menu-item:focus-within > .sub-menu,
.shusui-header-nav .submenu-open > .sub-menu { display: block; }
.shusui-header-nav.is-enhanced .menu-item-has-children > a { padding-right: 34px; }
.shusui-header-nav .shusui-submenu-toggle {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 46px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #101010;
    cursor: pointer;
}
.shusui-header-nav .shusui-submenu-toggle::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg);
    vertical-align: 3px;
}
.shusui-header-nav .shusui-header-toggle,
.shusui-header-nav .shusui-header-close { display: none; }
.shusui-header-nav [hidden] { display: none !important; }
@media (max-width: 1024px) {
    .shusui-site-header .shusui-header-inner,
    .shusui-header-navigation .shusui-header-inner { max-width: 1024px; }
    .shusui-header-nav .shusui-header-menu { display: block; }
    .shusui-header-nav .sub-menu,
    .shusui-header-nav .sub-menu .sub-menu {
        display: block;
        position: static;
        min-width: 0;
        padding: 0 0 0 15px;
        box-shadow: none;
    }
    .shusui-header-nav.is-enhanced .sub-menu { display: none; }
    .shusui-header-nav.is-enhanced .submenu-open > .sub-menu { display: block; }
    .shusui-header-nav .menu-item > a,
    .shusui-header-nav .shusui-header-menu > .menu-item > a { min-height: 44px; padding: 10px 15px; }
    .shusui-header-nav.is-enhanced .menu-item-has-children > a { padding-right: 45px; }
    .shusui-header-nav .shusui-submenu-toggle { width: 45px; height: 44px; }
    .shusui-header-nav.is-enhanced .shusui-header-panel {
        display: none;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 350px;
        max-width: 100%;
        overflow-y: auto;
        background: #fff;
        z-index: 10002;
        padding-bottom: 15px;
        text-align: right;
    }
    .shusui-header-nav.is-open .shusui-header-panel { display: block; }
    .shusui-header-nav.is-enhanced .shusui-header-toggle,
    .shusui-header-nav.is-enhanced .shusui-header-close {
        display: block;
        width: 45px;
        height: 45px;
        padding: 8px;
        border: 1px solid rgba(0, 0, 0, .1);
        border-radius: 3px;
        background: #fff;
        color: #333;
        cursor: pointer;
    }
    .shusui-header-nav .shusui-header-close { margin: 12px 12px 12px auto; font-size: 28px; line-height: 1; }
    .shusui-header-nav .shusui-header-toggle > span {
        display: block;
        height: 2px;
        margin: 0 3px;
        background: rgba(0, 0, 0, .5);
        box-shadow: 0 -7px rgba(0, 0, 0, .5), 0 7px rgba(0, 0, 0, .5);
    }
    .shusui-header-nav .shusui-header-backdrop {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        background: rgba(0, 0, 0, .4);
        z-index: 10001;
    }
}
@media (max-width: 767px) {
    .shusui-site-header .shusui-header-inner,
    .shusui-header-navigation .shusui-header-inner { max-width: 767px; }
}
