.vsrm {
    --vsrm-breakpoint: 992px;
    --vsrm-height: 72px;
    --vsrm-max-width: 1200px;
    --vsrm-background: #fff;
    --vsrm-color: #172033;
    --vsrm-hover: #eef2f7;
    --vsrm-accent: #2563eb;
    --vsrm-border: #dbe1ea;
    --vsrm-shadow: 0 .75rem 2rem rgb(15 23 42 / 14%);
    color: var(--vsrm-color);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.vsrm *, .vsrm *::before, .vsrm *::after { box-sizing: border-box; }
.vsrm__bar { min-height: var(--vsrm-height); border-bottom: 1px solid var(--vsrm-border); background: var(--vsrm-background); }
.vsrm--sticky { position: sticky; z-index: 1050; top: 0; }
.vsrm--sticky .vsrm__bar { box-shadow: 0 .125rem .5rem rgb(15 23 42 / 8%); }
.vsrm__container { display: flex; align-items: center; width: 100%; max-width: var(--vsrm-max-width); min-height: var(--vsrm-height); margin: 0 auto; padding: .75rem 1rem; }
.vsrm__brand { display: inline-flex; flex: 0 0 auto; align-items: center; margin-right: 1rem; color: inherit; font-size: 1.15rem; font-weight: 750; text-decoration: none; }
.vsrm__brand-mark { display: grid; width: 2rem; height: 2rem; margin-right: .55rem; border-radius: .55rem; color: #fff; background: var(--vsrm-accent); place-items: center; }
.vsrm__panel { margin-left: auto; }
.vsrm__list, .vsrm__submenu { margin: 0; padding: 0; list-style: none; }
.vsrm__list { display: flex; align-items: center; }
.vsrm__item { position: relative; }
.vsrm__entry { display: flex; align-items: stretch; }
.vsrm__entry > .vsrm__link { padding-right: .25rem; }
.vsrm__link, .vsrm__icon-link, .vsrm__submenu-toggle { color: var(--vsrm-color); }
.vsrm__link, .vsrm__icon-link { display: flex; align-items: center; min-height: 42px; padding: .55rem .8rem; border-radius: .4rem; text-decoration: none; white-space: nowrap; }
span.vsrm__link { cursor: default; }
.vsrm__link:hover, .vsrm__link:focus-visible, .vsrm__icon-link:hover, .vsrm__icon-link:focus-visible, .vsrm__submenu-toggle:hover, .vsrm__submenu-toggle:focus-visible { color: var(--vsrm-color); background: var(--vsrm-hover); outline: 0; }
.vsrm__link:focus-visible, .vsrm__icon-link:focus-visible, .vsrm__submenu-toggle:focus-visible, .vsrm__mobile-toggle:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--vsrm-accent) 30%, transparent); }
.vsrm__submenu-toggle { position: relative; width: 28px; min-height: 42px; padding: 0; border: 0; border-radius: .4rem; background: transparent; cursor: pointer; }
.vsrm__submenu-toggle span::before { content: ""; position: absolute; top: 50%; left: 50%; width: .45rem; height: .45rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translate(-60%, -70%) rotate(45deg); transition: transform .15s ease; }
.vsrm__item--open > .vsrm__entry .vsrm__submenu-toggle span::before { transform: translate(-60%, -30%) rotate(225deg); }
.vsrm__submenu { position: absolute; z-index: 1060; top: 100%; left: 0; min-width: 220px; padding: .4rem; border: 1px solid var(--vsrm-border); border-radius: .55rem; background: var(--vsrm-background); box-shadow: var(--vsrm-shadow); }
.vsrm__submenu[hidden] { display: none !important; }
.vsrm__submenu .vsrm__item--parent > .vsrm__entry .vsrm__submenu-toggle span::before { transform: translate(-70%, -50%) rotate(-45deg); }
.vsrm__submenu .vsrm__item--parent > .vsrm__submenu { top: -.4rem; left: calc(100% + .4rem); }
.vsrm__item--open-left > .vsrm__submenu { right: calc(100% + .4rem); left: auto !important; }
.vsrm__item--align-end > .vsrm__submenu { right: 0; left: auto; }
.vsrm__submenu .vsrm__link { width: 100%; min-height: 38px; padding: .45rem .65rem; }
.vsrm__mobile-toggle { display: none; }
.vsrm__sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

@media (prefers-reduced-motion: no-preference) {
    .vsrm__submenu:not([hidden]) { animation: vsrm-open .14s ease-out; }
    @keyframes vsrm-open { from { opacity: 0; transform: translateY(-.3rem); } to { opacity: 1; transform: translateY(0); } }
}

@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
    .vsrm__mobile-toggle { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 44px; height: 42px; margin-left: auto; padding: 0; border: 1px solid var(--vsrm-border); border-radius: .45rem; color: var(--vsrm-color); background: var(--vsrm-background); cursor: pointer; }
    .vsrm__mobile-toggle span { width: 22px; height: 2px; background: currentColor; transition: transform .15s ease, opacity .15s ease; }
    .vsrm--open .vsrm__mobile-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .vsrm--open .vsrm__mobile-toggle span:nth-child(2) { opacity: 0; }
    .vsrm--open .vsrm__mobile-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .vsrm__container { flex-wrap: wrap; }
    .vsrm__panel { display: none; flex: 0 0 calc(100% + 2rem); width: calc(100% + 2rem); max-height: calc(100vh - var(--vsrm-height)); margin: .75rem -1rem -.75rem; padding: .75rem 1rem 1rem; overflow: auto; border-top: 1px solid var(--vsrm-border); background: var(--vsrm-background); }
    .vsrm--open .vsrm__panel { display: block; }
    .vsrm__list { display: block; }
    .vsrm__entry { width: 100%; }
    .vsrm__link, .vsrm__icon-link { flex: 1 1 auto; white-space: normal; }
    .vsrm__submenu-toggle { flex: 0 0 44px; width: 44px; }
    .vsrm__submenu, .vsrm__submenu .vsrm__item--parent > .vsrm__submenu, .vsrm__item--open-left > .vsrm__submenu, .vsrm__item--align-end > .vsrm__submenu { position: static; min-width: 0; margin: .15rem 0 .35rem 1rem; padding: .15rem 0 .15rem .6rem; border: 0; border-left: 2px solid var(--vsrm-border); border-radius: 0; box-shadow: none; }
    .vsrm__submenu .vsrm__item--parent > .vsrm__entry .vsrm__submenu-toggle span::before { transform: translate(-60%, -70%) rotate(45deg); }
    .vsrm__submenu .vsrm__item--open > .vsrm__entry .vsrm__submenu-toggle span::before { transform: translate(-60%, -30%) rotate(225deg); }
}
