:root,
page {
  --nut-scale-f: 1;
  --nut-scale-font: var(--nut-scale-f, 1);
  --nut-scale-icon: var(--nut-scale-f, 1);
  --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
}

/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.nut-overlay {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: var(--nutui-overlay-bg-color, var(--nutui-color-mask, rgba(0, 0, 0, 0.7)));
}

.nut-overflow-hidden {
  overflow: hidden !important;
}

@keyframes nut-fade-in {
  0% {
    opacity: 0;
  }
  1% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes nut-fade-out {
  0% {
    opacity: 1;
  }
  1% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.nut-overlay-slide-enter-active, .nut-overlay-slide-appear-active {
  animation-fill-mode: both;
  animation-name: nut-fade-in;
  animation-duration: var(--nutui-overlay-animation-duration, 0.3s);
}
.nut-overlay-slide-exit-active {
  animation-fill-mode: both;
  animation-name: nut-fade-out;
  animation-duration: var(--nutui-overlay-animation-duration, 0.3s);
}

[dir=rtl] .nut-overlay,
.nut-rtl .nut-overlay {
  left: auto;
  right: 0;
}

.nut-menu-container-content {
  padding: var(--nutui-menu-content-padding, calc(12px * var(--nut-scale-f, 1)) calc(24px * var(--nut-scale-f, 1)));
  max-height: var(--nutui-menu-content-max-height, calc(214px * var(--nut-scale-f, 1)));
  overflow-y: auto;
  display: flex;
  flex-wrap: wrap;
  background: var(--nutui-menu-content-background-color, var(--nutui-color-background-overlay, #ffffff));
}
.nut-menu-container-content_fixed {
  width: 100%;
  opacity: 0;
  position: fixed;
}
.nut-menu-container-item {
  display: flex;
  align-items: center;
  color: var(--nutui-color-title, #1a1a1a);
  font-size: var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  padding: var(--nutui-menu-item-padding, calc(12px * var(--nut-scale-f, 1)) 0);
}
.nut-menu-container-item.active {
  font-weight: var(--nutui-menu-item-active-font-weight, var(--nutui-font-weight-bold, 600));
  color: var(--nutui-menu-item-active-color, var(--nutui-color-primary, #ff0f23));
}
.nut-menu-container-item-icon {
  display: flex;
  align-items: center;
}
.nut-menu-container-item .nut-icon {
  /* #ifdef dynamic*/
  display: flex;
  /* #endif */
  /* #ifndef dynamic*/
  display: inline-flex;
  /* #endif */
  align-items: center;
  margin-right: var(--nutui-menu-item-icon-margin, calc(8px * var(--nut-scale-f, 1)));
  flex-shrink: 0;
}
.nut-menu-container-wrap, .nut-menu-container-wrap-up {
  position: absolute;
  width: 100%;
  z-index: var(--nutui-menu-container-z-index, 1000);
  overflow: hidden;
}
.nut-menu-container-wrap-up {
  bottom: var(--nutui-menu-bar-line-height, calc(48px * var(--nut-scale-f, 1)));
}

.overlay-fade-enter-active.nut-menu-container-overlay {
  top: auto;
  z-index: var(--nutui-menu-container-z-index, 1000);
}

.nut-menu-placeholder-element {
  position: fixed;
  top: calc(-1 * var(--menu-bar-line-height));
  left: 0;
  right: 0;
  z-index: var(--nutui-menu-bar-opened-z-index, 1000);
  background-color: transparent;
}
.nut-menu-placeholder-element.up {
  bottom: calc(-1 * var(--menu-bar-line-height));
}

.nut-menu-container-down-enter {
  opacity: 0;
  transform: translate(0, -30px);
}

.nut-menu-container-down-enter-done {
  opacity: 1;
  transform: translate(0, 0);
  transition: all 100ms;
}

.nut-menu-container-down-exit {
  opacity: 1;
  transition: all 100ms;
}

.nut-menu-container-down-exit-done {
  opacity: 0;
  transition: all 100ms;
}

.nut-menu-container-up-enter {
  opacity: 0;
  transform: translate(0, 30px);
}

.nut-menu-container-up-enter-done {
  opacity: 1;
  transform: translate(0, 0);
  transition: all 100ms;
}

.nut-menu-container-up-exit {
  opacity: 1;
  transition: all 100ms;
}

.nut-menu-container-up-exit-done {
  opacity: 0;
  transition: all 100ms;
}

[dir=rtl] .nut-menu-container-item .nut-icon,
.nut-rtl .nut-menu-container-item .nut-icon {
  margin-right: 0;
  margin-left: var(--nutui-menu-item-icon-margin, calc(8px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-menu-container .nut-icon,
.nut-rtl .nut-menu-container .nut-icon {
  transform: rotateY(180deg);
}

.nut-menu {
  position: relative;
}
.nut-menu.scroll-fixed {
  position: fixed;
  top: var(--nutui-menu-scroll-fixed-top, 0);
  z-index: var(--nutui-menu-scroll-fixed-z-index, 1000);
  width: 100%;
}

.nut-menu-bar {
  position: relative;
  display: flex;
  line-height: var(--nutui-menu-bar-line-height, calc(48px * var(--nut-scale-f, 1)));
  background-color: var(--nutui-color-background-overlay, #ffffff);
  box-shadow: var(--nutui-menu-bar-box-shadow, 0 calc(2px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1)) rgba(89, 89, 89, 0.12));
}
.nut-menu-bar.opened {
  z-index: var(--nutui-menu-bar-opened-z-index, 1000);
}

.nut-menu-title {
  flex: 1;
  text-align: center;
  font-size: var(--nutui-menu-title-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  color: var(--nutui-menu-title-color, var(--nutui-color-title, #1a1a1a));
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}
.nut-menu-title-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  padding: var(--nutui-menu-title-padding, 0 calc(8px * var(--nut-scale-f, 1)));
}
.nut-menu-title-icon {
  width: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
  height: var(--nutui-icon-size-12, calc(12px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
  flex-shrink: 0;
  transition: all 0.2s linear;
}
.nut-menu-title.active {
  color: var(--nutui-menu-item-active-color, var(--nutui-color-primary, #ff0f23));
}
.nut-menu-title.disabled {
  color: var(--nutui-menu-item-disabled-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-menu-title.active .nut-menu-title-icon {
  transform: rotate(180deg);
}