.fleximenu-box {
  --flexi-menu_offset_block: 0;
  --flexi-menu_offset_inline: 0;
  --flexi-menu_offset: calc(var(--flexi-menu_offset_block) * 1px) calc(var(--flexi-menu_offset_inline) * 1px);
  --flexi-menu_padding_inline: 0;
  --flexi-menu_padding_block: 8;
  --flexi-menu_padding: calc(var(--flexi-menu_padding_block) * 1px) calc(var(--flexi-menu_padding_inline) * 1px);
  --flexi-menu_bg: #ffffff;
  --flexi-menu_min_w: 160;
  --flexi-menu-w: auto;
  --flexi-menu-h: auto;
  --flexi-items_gap: 0;
  --flexi-menu-transition: 0.25s ease;
  --flexi-menu-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(0, 0, 0, 0) 0 0 0 0, rgba(0, 0, 0, 0.1) 0 1px 3px 0, rgba(0, 0, 0, 0.1) 0 1px 2px -1px;
  --flexi-menu_radius: 4;
  --flexi-submenu_offset: 8;
  --flexi-link_gap: 8;
  --flexi-link_padding_inline: 16;
  --flexi-link_padding_block: 8;
  --flexi-link_padding: calc(var(--flexi-link_padding_block) * 1px) calc(var(--flexi-link_padding_inline) * 1px);
  --flexi-link_hover_bg: #F3F4F6;
  --flexi-icon_size: 16;
  --flexi-icon_box: 16;
  --flexi-icon_color: #383838;
  --flexi-icon_bg: rgba(255, 255, 255, 0);
  --flexi-icon_rotate: 0;
  --flexi-label_size: 16;
  --flexi-label_color: #383838;
  --flexi-label_padding_inline: 0;
  --flexi-label_padding_block: 0;
  --flexi-label_padding: calc(var(--flexi-label_padding_block) * 1px) calc(var(--flexi-label_padding_inline) * 1px);
  --flexi-label_weight: 400;
  --flexi-label_style: normal;
  box-sizing: border-box;
}
.fleximenu-box * {
  box-sizing: border-box;
}
.fleximenu-box ul, .fleximenu-box ul ul, .fleximenu-box ul ul ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.fleximenu-box li {
  padding: 0;
  margin: 0;
}
.fleximenu-box a {
  text-decoration: none;
  color: currentColor;
  outline: none;
  cursor: pointer;
}

.fleximenu-box {
  position: fixed;
  border-style: none;
  border-color: initial;
  border-width: 0;
  display: inline-block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1;
  margin-block: calc(var(--flexi-menu_offset_block) * 1px) !important;
  margin-inline: calc(var(--flexi-menu_offset_inline) * 1px) !important;
}
.fleximenu-box.-absolute {
  position: absolute;
}
.fleximenu-box.-relative {
  position: relative;
}
.fleximenu-box.-static {
  position: static;
}
.fleximenu-box.-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.fleximenu-box.-shadow .fleximenu,
.fleximenu-box.-shadow .fleximenu-sub {
  box-shadow: var(--flexi-menu-shadow);
}
.fleximenu-box.-icon-shadow .fleximenu-icon {
  box-shadow: var(--flexi-menu-shadow);
}
.fleximenu-box.-min-width .fleximenu,
.fleximenu-box.-min-width .fleximenu-sub {
  min-width: calc(var(--flexi-menu_min_w) * 1px);
}
.fleximenu-box.-rounded .fleximenu,
.fleximenu-box.-rounded .fleximenu-sub {
  border-radius: calc(var(--flexi-menu_radius) * 1px);
}
.fleximenu-box.-rounded .fleximenu-icon {
  border-radius: calc(var(--flexi-menu_radius) * 1px);
}
.fleximenu-box.-rounded .fleximenu--icon .fleximenu-label {
  border-radius: calc(var(--flexi-menu_radius) * 1px);
}

.fleximenu,
.fleximenu-sub {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: auto;
  max-width: max-content;
  width: auto;
  padding: var(--flexi-menu_padding);
  z-index: 1;
  background-color: var(--flexi-menu_bg);
  gap: calc(var(--flexi-items_gap) * 1px);
}

li.fleximenu-item {
  position: relative;
}

.fleximenu-item--has-sub {
  --_hover_bg: var(--flexi-link_hover_bg);
}
.fleximenu-item--has-sub > .fleximenu-link:after {
  --_size: calc(var(--flexi-label_size) * 1px);
  --_color: var(--flexi-label_color);
  content: "";
  width: calc(var(--_size) / 2 - 1px);
  height: calc(var(--_size) / 2 - 1px);
  transform-origin: center;
  transform: rotate(45deg);
  border-top: 1px solid var(--_color);
  border-right: 1px solid var(--_color);
  border-bottom: 0 transparent;
  border-left: 0 transparent;
  margin-inline: auto calc(var(--_size) / 2 - 1px);
}
.fleximenu-item--has-sub:hover > .fleximenu-link, .fleximenu-item--has-sub.-open > .fleximenu-link {
  background-color: var(--_hover_bg);
}
.fleximenu-item--has-sub:hover > .fleximenu-sub, .fleximenu-item--has-sub.-open > .fleximenu-sub {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

a.fleximenu-link {
  --_gap: calc(var(--flexi-link_gap) * 1px);
  --_hover-bg: var(--flexi-link_hover_bg);
  --_transition: var(--flexi-menu-transition);
  position: relative;
  display: flex;
  gap: var(--_gap);
  align-items: center;
  transition: background-color var(--_transition);
  padding: var(--flexi-link_padding);
  line-height: 1;
}
a.fleximenu-link:hover {
  background-color: var(--_hover-bg);
}
.fleximenu-icon {
  --_size: calc(var(--flexi-icon_size) * 1px);
  --_box: calc(var(--flexi-icon_box) * 1px);
  --_color: var(--flexi-icon_color);
  --_bg: var(--flexi-icon_bg);
  font-size: var(--_size);
  inline-size: var(--_box);
  block-size: var(--_box);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--_color);
  background-color: var(--_bg);
  transform-origin: center;
}
.fleximenu-icon img,
.fleximenu-icon span {
  --_flip: 1;
  transform: rotate(calc(var(--flexi-icon_rotate) * 1deg)) scale(var(--_flip));
}
.fleximenu-icon img.-flip-horizontal,
.fleximenu-icon span.-flip-horizontal {
  --_flip: -1, 1;
}
.fleximenu-icon img.-flip-vertical,
.fleximenu-icon span.-flip-vertical {
  --_flip: 1, -1;
}
.fleximenu-icon img.-flip-both,
.fleximenu-icon span.-flip-both {
  --_flip: -1, -1;
}
.fleximenu-icon img {
  width: var(--_size);
  height: var(--_size);
}

.fleximenu-label {
  --_size: calc(var(--flexi-label_size) * 1px);
  --_color: var(--flexi-label_color);
  --_padding: var(--flexi-label_padding);
  --_weight: var(--flexi-label_weight);
  --_style: var(--flexi-label_style);
  white-space: nowrap;
  font-size: var(--_size);
  color: var(--_color);
  padding: var(--_padding);
  font-weight: var(--_weight);
  font-style: var(--_style);
}

.fleximenu-sub {
  position: absolute;
  top: 0;
  left: calc(100% + calc(var(--flexi-submenu_offset) * 1px));
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 2;
}
.fleximenu-sub:after {
  content: "";
  position: absolute;
  height: calc(100% + calc(var(--flexi-submenu_offset) * 1px * 2));
  width: calc(100% + calc(var(--flexi-submenu_offset) * 1px * 2));
  top: calc((var(--flexi-submenu_offset) * 1px) * -1);
  left: calc((var(--flexi-submenu_offset) * 1px) * -1);
  z-index: -1;
}
.fleximenu-sub.-opposite-x {
  right: calc(100% + calc(var(--flexi-submenu_offset) * 1px));
  left: auto;
}
.fleximenu-sub.-opposite-x .fleximenu-sub {
  right: calc(100% + calc(var(--flexi-submenu_offset) * 1px));
  left: auto;
}
.fleximenu-sub.-opposite-y {
  top: auto;
  bottom: calc(calc(var(--flexi-submenu_offset) * 1px) * -1);
}

.fleximenu.-reverse .fleximenu-link {
  flex-direction: row-reverse;
}
.fleximenu.-reverse .fleximenu-link:after {
  transform: rotate(225deg);
  margin-inline: calc(var(--_size) / 2 - 1px) auto;
}

.fleximenu-box.-right {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.fleximenu-box.-right.-out {
  transform: translateY(-50%) translateX(100%);
}
.fleximenu-box.-right-bottom {
  bottom: 0;
  right: 0;
}
.fleximenu-box.-right-bottom.-out {
  transform: translateX(100%);
}
.fleximenu-box.-right-top {
  top: 0;
  right: 0;
}
.fleximenu-box.-right-top.-out {
  transform: translateX(100%);
}
.fleximenu-box.-left {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.fleximenu-box.-left.-out {
  transform: translateX(-100%) translateY(-50%);
}
.fleximenu-box.-left-bottom {
  bottom: 0;
  left: 0;
}
.fleximenu-box.-left-bottom.-out {
  transform: translateX(-100%);
}
.fleximenu-box.-left-top {
  top: 0;
  left: 0;
}
.fleximenu-box.-left-top.-out {
  transform: translateX(-100%);
}
.fleximenu-box.-top {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.fleximenu-box.-top.-out {
  transform: translateX(-50%) translateY(-100%);
}
.fleximenu-box.-bottom {
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.fleximenu-box.-bottom.-out {
  transform: translateX(-50%) translateY(100%);
}

.fleximenu--icon {
  min-width: auto;
}
.fleximenu--icon .fleximenu-sub {
  min-width: auto;
}
.fleximenu--icon .fleximenu-item--has-sub > .fleximenu-link .fleximenu-label,
.fleximenu--icon .fleximenu-item--has-sub > .fleximenu-link:after {
  display: none;
}
.fleximenu--icon .fleximenu-label {
  --_padding: var(--flexi-label_padding);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  padding: var(--_padding);
  height: 100%;
  display: flex;
  align-items: center;
  background-color: var(--_hover-bg);
}
.fleximenu--icon .fleximenu-link:hover .fleximenu-label {
  left: calc(100% + calc(var(--flexi-link_gap) * 1px));
  opacity: 1;
  visibility: visible;
}
.fleximenu--icon .fleximenu-label.-active {
  left: calc(100% + calc(var(--flexi-link_gap) * 1px));
  opacity: 1;
  visibility: visible;
}
.fleximenu--icon .fleximenu-sub.-opposite-x .fleximenu-link:hover .fleximenu-label {
  left: auto;
  right: calc(100% + calc(var(--flexi-link_gap) * 1px));
}
.fleximenu--icon.-label-opposite > .fleximenu-item .fleximenu-link:hover .fleximenu-label {
  left: auto;
  right: calc(100% + calc(var(--flexi-link_gap) * 1px));
}
.fleximenu--icon.-label-opposite > .fleximenu-item .fleximenu-label.-active {
  left: auto;
  right: calc(100% + calc(var(--flexi-link_gap) * 1px));
}

.fleximenu--inline {
  flex-direction: row;
}
.fleximenu--inline > .fleximenu-item--has-sub > .fleximenu-link .fleximenu-label {
  display: inline;
}
.fleximenu--inline > .fleximenu-item--has-sub > .fleximenu-link:after {
  transform: rotate(135deg);
}
.fleximenu--inline > .fleximenu-item--has-sub > .fleximenu-sub {
  left: auto;
  top: calc(100% + calc(var(--flexi-submenu_offset) * 1px));
}
.fleximenu--inline > .fleximenu-item--has-sub > .fleximenu-sub.-opposite-y {
  top: auto;
  bottom: calc(100% + calc(var(--flexi-submenu_offset) * 1px));
}
.fleximenu--inline > .fleximenu-item--has-sub > .fleximenu-sub.-opposite-x {
  right: 0;
  left: auto;
}
.fleximenu--inline > .fleximenu-item--has-sub:hover > .fleximenu-link .fleximenu-label, .fleximenu--inline > .fleximenu-item--has-sub.-open > .fleximenu-link .fleximenu-label {
  position: static;
  opacity: 1;
  visibility: visible;
}
.fleximenu--inline > .fleximenu-item > .fleximenu-link:hover .fleximenu-label {
  position: static;
}
.fleximenu--inline > .fleximenu-item > .fleximenu-link:hover .fleximenu-label {
  position: static;
}
.fleximenu--inline > .fleximenu-item > .fleximenu-link .fleximenu-label.-active {
  position: static;
}

html:has(.fleximenu-dialog[open]),
body:has(.fleximenu-dialog[open]) {
  overflow: hidden;
  scrollbar-gutter: stable;
}

.fleximenu-dialog {
  --flexi-dialog_border_width: 0;
  --flexi-dialog_border_color: #383838;
  --flexi-dialog_max_width: 550;
  --flexi-dialog_max_height: 450;
  --flexi-dialog_radius: 4;
  --flexi-dialog_backdrop: rgba(0, 0, 0, 0.2);
  --flexi-dialog_close: #000000;
  border-width: calc(var(--flexi-dialog_border_width) * 1px);
  border-color: var(--flexi-dialog_border_color);
  max-width: calc(var(--flexi-dialog_max_width) * 1px);
  max-height: calc(var(--flexi-dialog_max_height) * 1px);
  border-radius: calc(var(--flexi-dialog_radius) * 1px);
}
.fleximenu-dialog[open] {
  display: inline-flex;
}
.fleximenu-dialog.-shadow {
  box-shadow: rgba(0, 0, 0, 0) 0 0 0 0, rgba(0, 0, 0, 0) 0 0 0 0, rgba(0, 0, 0, 0.1) 0 1px 3px 0, rgba(0, 0, 0, 0.1) 0 1px 2px -1px;
}
.fleximenu-dialog::backdrop {
  background-color: var(--flexi-dialog_backdrop);
}
.fleximenu-dialog .fleximenu-dialog-close {
  position: sticky;
  top: 0;
  background-color: transparent;
  padding: 0;
  border: none;
  width: 1rem;
  height: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transform: translateY(-100%) translateX(100%);
}
.fleximenu-dialog .fleximenu-dialog-close:after, .fleximenu-dialog .fleximenu-dialog-close:before {
  content: "";
  position: absolute;
  width: 0.8125rem;
  height: 1px;
  background-color: var(--flexi-dialog_close);
  top: 50%;
  left: 50%;
  transform-origin: center;
  transition: opacity 0.15s ease-in-out;
  opacity: 0.75;
}
.fleximenu-dialog .fleximenu-dialog-close:hover:after, .fleximenu-dialog .fleximenu-dialog-close:hover:before {
  opacity: 1;
}
.fleximenu-dialog .fleximenu-dialog-close:after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.fleximenu-dialog .fleximenu-dialog-close:before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.fleximenu-dialog .fleximenu-dialog-content {
  flex: 1;
}
.fleximenu-dialog .fleximenu-dialog-content p:first-of-type {
  margin-top: 0;
}
.fleximenu-dialog .fleximenu-dialog-content p:last-of-type {
  margin-bottom: 0;
}