.tu-fade-in-linear-enter-active,
.tu-fade-in-linear-leave-active {
  transition: opacity 0.2s linear;
}

.tu-fade-in-linear-enter-from,
.tu-fade-in-linear-leave-to {
  opacity: 0;
}

.tu-fade-in-enter-active,
.tu-fade-in-leave-active {
  transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-fade-in-enter-from,
.tu-fade-in-leave-active {
  opacity: 0;
}

.tu-zoom-in-center-enter-active,
.tu-zoom-in-center-leave-active {
  transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-zoom-in-center-enter-from,
.tu-zoom-in-center-leave-active {
  opacity: 0;
  transform: scaleX(0);
}

.tu-zoom-in-top-enter-active,
.tu-zoom-in-top-leave-active {
  opacity: 1;
  transform: scaleY(1);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transform-origin: center top;
}
.tu-zoom-in-top-enter-active[data-popper-placement^=top],
.tu-zoom-in-top-leave-active[data-popper-placement^=top] {
  transform-origin: center bottom;
}

.tu-zoom-in-top-enter-from,
.tu-zoom-in-top-leave-active {
  opacity: 0;
  transform: scaleY(0);
}

.tu-zoom-in-bottom-enter-active,
.tu-zoom-in-bottom-leave-active {
  opacity: 1;
  transform: scaleY(1);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transform-origin: center bottom;
}

.tu-zoom-in-bottom-enter-from,
.tu-zoom-in-bottom-leave-active {
  opacity: 0;
  transform: scaleY(0);
}

.tu-zoom-in-left-enter-active,
.tu-zoom-in-left-leave-active {
  opacity: 1;
  transform: scale(1, 1);
  transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transform-origin: top left;
}

.tu-zoom-in-left-enter-from,
.tu-zoom-in-left-leave-active {
  opacity: 0;
  transform: scale(0.45, 0.45);
}

.collapse-transition {
  transition: var(--tu-transition-duration-2, 0.2s) height ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-top ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-bottom ease-in-out;
}

.tu-collapse-transition-leave-active,
.tu-collapse-transition-enter-active {
  transition: var(--tu-transition-duration-2, 0.2s) max-height ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-top ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-bottom ease-in-out;
}

.horizontal-collapse-transition {
  transition: var(--tu-transition-duration-2, 0.2s) width ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-left ease-in-out, var(--tu-transition-duration-2, 0.2s) padding-right ease-in-out;
}

.tu-list-enter-active,
.tu-list-leave-active {
  transition: all 1s;
}

.tu-list-enter-from,
.tu-list-leave-to {
  opacity: 0;
  transform: translateY(-30px);
}

.tu-list-leave-active {
  position: absolute !important;
}

.tu-scrollbar-fade-enter-active {
  transition: opacity 340ms ease-out;
}
.tu-scrollbar-fade-leave-active {
  transition: opacity 120ms ease-out;
}
.tu-scrollbar-fade-enter-from, .tu-scrollbar-fade-leave-active {
  opacity: 0;
}

.tu-opacity-transition {
  transition: opacity var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.55, 0, 0.1, 1);
}

.tu-zoom-in-fade-out-enter-from,
.tu-zoom-in-fade-out-appear-from {
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.tu-zoom-in-fade-out-enter-to,
.tu-zoom-in-fade-out-appear-to {
  transform: scale(1, 1);
  opacity: 1;
}

.tu-zoom-in-fade-out-enter-active,
.tu-zoom-in-fade-out-appear-active {
  transition: opacity var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1), transform var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-zoom-in-fade-out-leave-from {
  transform: scale(1, 1);
  opacity: 1;
}

.tu-zoom-in-fade-out-leave-to {
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.tu-zoom-in-fade-out-leave-active {
  transition: opacity var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1), transform var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-slide-dynamic-origin-enter-from,
.tu-slide-dynamic-origin-appear-from {
  transform: scaleY(0.9);
  transform-origin: 0 0;
  opacity: 0;
}

.tu-slide-dynamic-origin-enter-to,
.tu-slide-dynamic-origin-appear-to {
  transform: scaleY(1);
  transform-origin: 0 0;
  opacity: 1;
}

.tu-slide-dynamic-origin-enter-active,
.tu-slide-dynamic-origin-appear-active {
  transition: transform var(--tu-transition-duration-1, 0.1s) cubic-bezier(0.34, 0.69, 0.1, 1), opacity var(--tu-transition-duration-1, 0.1s) cubic-bezier(0.34, 0.69, 0.1, 1);
}

.tu-slide-dynamic-origin-leave-from {
  transform: scaleY(1);
  transform-origin: 0 0;
  opacity: 1;
}

.tu-slide-dynamic-origin-leave-to {
  transform: scaleY(0.9);
  transform-origin: 0 0;
  opacity: 0;
}

.tu-slide-dynamic-origin-leave-active {
  transition: transform var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1), opacity var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}

.tu-input-tag-zoom-enter-from {
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.tu-input-tag-zoom-enter-to {
  transform: scale(1, 1);
  opacity: 1;
}

.tu-input-tag-zoom-enter-active {
  transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.34, 0.69, 0.1, 1);
}

.tu-input-tag-zoom-leave-from {
  transform: scale(1, 1);
  opacity: 0;
}

.tu-input-tag-zoom-leave-to {
  transform: scale(0.5, 0.5);
  opacity: 0;
}

.tu-input-tag-zoom-leave-active {
  position: absolute;
  transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-input-tag-zoom-move {
  transition: all var(--tu-transition-duration-2, 0.2s) cubic-bezier(0.3, 1.3, 0.3, 1);
}

.tu-popup__wrapper {
  background: var(--tu-color-global-bg, #dfe1e6);
  width: 100%;
}

.tu-select__dropdown {
  box-sizing: border-box;
  box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
  border-radius: var(--tu-border-radius, 2px);
}
.tu-select__dropdown-wrap {
  overflow-y: auto;
  max-height: 200px;
}

.tu-select__dropdown-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.tu-select__dropdown-header {
  border-bottom: 1px solid var(--tu-color-line, rgba(128, 128, 128, 0.18));
}

.tu-select__dropdown-footer {
  border-top: 1px solid var(--tu-color-line, rgba(128, 128, 128, 0.18));
}

.tu-select__dropdown-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 80px;
}

.tu-select__dropdown--mini .tu-select__option {
  font-size: var(--tu-font-size-mini, 10px);
  height: 24px;
  line-height: 24px;
  padding: 0 8px;
}

.tu-select__dropdown--mini .tu-select__option-check {
  width: 14px;
  height: 14px;
}

.tu-select__dropdown--mini .tu-select__group {
  font-size: calc(var(--tu-font-size-mini, 10px) - 2px);
  height: 24px;
  line-height: 24px;
  padding: 0 4px;
}

.tu-select__dropdown--small .tu-select__option {
  font-size: var(--tu-font-size-small, 12px);
  height: 28px;
  line-height: 28px;
  padding: 0 10px;
}

.tu-select__dropdown--small .tu-select__option-check {
  width: 16px;
  height: 16px;
}

.tu-select__dropdown--small .tu-select__group {
  font-size: calc(var(--tu-font-size-small, 12px) - 2px);
  height: 28px;
  line-height: 28px;
  padding: 0 6px;
}

.tu-select__dropdown--medium .tu-select__option {
  font-size: var(--tu-font-size-medium, 14px);
  height: 32px;
  line-height: 32px;
  padding: 0 12px;
}

.tu-select__dropdown--medium .tu-select__option-check {
  width: 18px;
  height: 18px;
}

.tu-select__dropdown--medium .tu-select__group {
  font-size: calc(var(--tu-font-size-medium, 14px) - 2px);
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
}

.tu-select__dropdown--large .tu-select__option {
  font-size: var(--tu-font-size-large, 14px);
  height: 36px;
  line-height: 36px;
  padding: 0 14px;
}

.tu-select__dropdown--large .tu-select__option-check {
  width: 20px;
  height: 20px;
}

.tu-select__dropdown--large .tu-select__group {
  font-size: calc(var(--tu-font-size-large, 14px) - 2px);
  height: 36px;
  line-height: 36px;
  padding: 0 10px;
}

.tu-select__group {
  color: var(--tu-color-text-placeholder, #9b9fa8);
  margin-top: 8px;
  font-size: calc(var(--tu-font-size-medium, 14px) - 2px);
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tu-select__option {
  display: flex;
  align-items: center;
  color: var(--tu-color-text, #71757f);
  cursor: pointer;
  transition: background var(--tu-transition-duration-2, 0.2s), color var(--tu-transition-duration-2, 0.2s);
  font-size: var(--tu-font-size-medium, 14px);
  height: 32px;
  line-height: 32px;
  padding: 0 12px;
}
.tu-select__option-content {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.tu-select__option-check {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 6px;
  width: 18px;
  height: 18px;
}
.tu-select__option-check::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  display: block;
  box-sizing: border-box;
  border-radius: var(--tu-border-radius, 2px);
  border: 1px solid transparent;
  box-shadow: 3px 3px 6px var(--tu-color-shadow-dark, #babbc0), -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
  transition: box-shadow var(--tu-transition-duration-2, 0.2s);
}
.tu-select__option-check::after {
  content: "";
  position: absolute;
  box-sizing: content-box;
  border: 2px solid var(--tu-color-text-placeholder, #9b9fa8);
  border-left: 0;
  border-top: 0;
  height: 50%;
  transform: translate(10%, -10%) rotate(45deg) scaleY(1);
  width: 23%;
  transition: var(--tu-transition-duration-2, 0.2s) ease;
  transform-origin: center;
  transition: all var(--tu-transition-duration-2, 0.2s) ease;
}

.tu-select__option.is-active {
  background: var(--tu-color-hover-bg, rgba(125, 125, 125, 0.1));
  color: var(--tu-color-primary, #5e7ce0);
}
.tu-select__option.is-active .tu-select__option-check::before {
  border-color: var(--tu-color-shadow-light, #ffffff);
  box-shadow: none;
}

.tu-select__option.is-disabled {
  color: var(--tu-color-text-placeholder, #9b9fa8);
  cursor: not-allowed;
}
.tu-select__option.is-disabled .tu-select__option-check::before {
  cursor: not-allowed;
  opacity: 0.7;
  box-shadow: none;
  background: var(--tu-color-base-bg, rgba(128, 128, 128, 0.22));
}

.tu-select__option.is-selected {
  color: var(--tu-color-primary, #5e7ce0);
  font-weight: bold;
}
.tu-select__option.is-selected .tu-select__option-check::before {
  box-shadow: inset 2px 2px 5px var(--tu-color-shadow-dark, #babbc0), inset -2px -2px 5px var(--tu-color-shadow-light, #ffffff);
  border: none;
}
.tu-select__option.is-selected .tu-select__option-check::after {
  border-color: var(--tu-color-primary, #5e7ce0);
}