     font-weight: 500;
}
 p {
     margin-top: 0;
     margin-bottom: 1em;
}
 abbr[title], abbr[data-original-title] {
     text-decoration: underline;
     text-decoration: underline dotted;
     border-bottom: 0;
     cursor: help;
}
 address {
     margin-bottom: 1em;
     font-style: normal;
     line-height: inherit;
}
 input[type='text'], input[type='password'], input[type='number'], textarea {
     -webkit-appearance: none;
}
 ol, ul, dl {
     margin-top: 0;
     margin-bottom: 1em;
}
 ol ol, ul ul, ol ul, ul ol {
     margin-bottom: 0;
}
 dt {
     font-weight: 500;
}
 dd {
     margin-bottom: 0.5em;
     margin-left: 0;
}
 blockquote {
     margin: 0 0 1em;
}
 dfn {
     font-style: italic;
}
 b, strong {
     font-weight: bolder;
}
 small {
     font-size: 80%;
}
 sub, sup {
     position: relative;
     font-size: 75%;
     line-height: 0;
     vertical-align: baseline;
}
 sub {
     bottom: -0.25em;
}
 sup {
     top: -0.5em;
}
 a {
     color: @primary-color;
     text-decoration: none;
     background-color: transparent;
     outline: none;
     cursor: pointer;
     transition: color 0.3s;
     -webkit-text-decoration-skip: objects;
}
 a:hover {
     color: color(~`colorPalette("@{primary-color}", 5)`);
}
 a:active {
     color: color(~`colorPalette("@{primary-color}", 7)`);
}
 a:active, a:hover {
     text-decoration: none;
     outline: 0;
}
 a:focus {
     text-decoration: none;
     outline: 0;
}
 a[disabled] {
     color: rgba(0, 0, 0, 0.25);
     cursor: not-allowed;
}
 pre, code, kbd, samp {
     font-size: 1em;
     font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace;
}
 pre {
     margin-top: 0;
     margin-bottom: 1em;
     overflow: auto;
}
 figure {
     margin: 0 0 1em;
}
 img {
     vertical-align: middle;
     border-style: none;
}
 a, area, button, [role='button'], input:not([type='range']), label, select, summary, textarea {
     touch-action: manipulation;
}
 table {
     border-collapse: collapse;
}
 caption {
     padding-top: 0.75em;
     padding-bottom: 0.3em;
     color: rgba(0, 0, 0, 0.45);
     text-align: left;
     caption-side: bottom;
}
 input, button, select, optgroup, textarea {
     margin: 0;
     color: inherit;
     font-size: inherit;
     font-family: inherit;
     line-height: inherit;
}
 button, input {
     overflow: visible;
}
 button, select {
     text-transform: none;
}
 button, html [type="button"], [type="reset"], [type="submit"] {
     -webkit-appearance: button;
}
 button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
     padding: 0;
     border-style: none;
}
 input[type='radio'], input[type='checkbox'] {
     box-sizing: border-box;
     padding: 0;
}
 input[type='date'], input[type='time'], input[type='datetime-local'], input[type='month'] {
     -webkit-appearance: listbox;
}
 textarea {
     overflow: auto;
     resize: vertical;
}
 fieldset {
     min-width: 0;
     margin: 0;
     padding: 0;
     border: 0;
}
 legend {
     display: block;
     width: 100%;
     max-width: 100%;
     margin-bottom: 0.5em;
     padding: 0;
     color: inherit;
     font-size: 1.5em;
     line-height: inherit;
     white-space: normal;
}
 progress {
     vertical-align: baseline;
}
 [type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
     height: auto;
}
 [type='search'] {
     outline-offset: -0.14285714rem;
     -webkit-appearance: none;
}
 [type='search']::-webkit-search-cancel-button, [type='search']::-webkit-search-decoration {
     -webkit-appearance: none;
}
 ::-webkit-file-upload-button {
     font: inherit;
     -webkit-appearance: button;
}
 output {
     display: inline-block;
}
 summary {
     display: list-item;
}
 template {
     display: none;
}
 [hidden] {
     display: none !important;
}
 mark {
     padding: 0.2em;
     background-color: #feffe6;
}
 ::selection {
     color: #fff;
     background: @primary-color;
}
 .clearfix::before {
     display: table;
     content: '';
}
 .clearfix::after {
     display: table;
     clear: both;
     content: '';
}
 .anticon {
     display: inline-block;
     color: inherit;
     font-style: normal;
     line-height: 0;
     text-align: center;
     text-transform: none;
     vertical-align: -0.125em;
     text-rendering: optimizelegibility;
     -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
}
 .anticon > * {
     line-height: 1;
}
 .anticon svg {
     display: inline-block;
}
 .anticon::before {
     display: none;
}
 .anticon .anticon-icon {
     display: block;
}
 .anticon > .anticon {
     line-height: 0;
     vertical-align: 0;
}
 .anticon[tabindex] {
     cursor: pointer;
}
 .anticon-spin, .anticon-spin::before {
     display: inline-block;
     animation: loadingCircle 1s infinite linear;
}
 .ant-fade-enter, .ant-fade-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-fade-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-fade-enter.ant-fade-enter-active, .ant-fade-appear.ant-fade-appear-active {
     animation-name: antFadeIn;
     animation-play-state: running;
}
 .ant-fade-leave.ant-fade-leave-active {
     animation-name: antFadeOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-fade-enter, .ant-fade-appear {
     opacity: 0;
     animation-timing-function: linear;
}
 .ant-fade-leave {
     animation-timing-function: linear;
}
 @keyframes antFadeIn {
     0% {
         opacity: 0;
    }
     100% {
         opacity: 1;
    }
}
 @keyframes antFadeOut {
     0% {
         opacity: 1;
    }
     100% {
         opacity: 0;
    }
}
 .ant-move-up-enter, .ant-move-up-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-up-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-up-enter.ant-move-up-enter-active, .ant-move-up-appear.ant-move-up-appear-active {
     animation-name: antMoveUpIn;
     animation-play-state: running;
}
 .ant-move-up-leave.ant-move-up-leave-active {
     animation-name: antMoveUpOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-move-up-enter, .ant-move-up-appear {
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-move-up-leave {
     animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
 .ant-move-down-enter, .ant-move-down-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-down-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-down-enter.ant-move-down-enter-active, .ant-move-down-appear.ant-move-down-appear-active {
     animation-name: antMoveDownIn;
     animation-play-state: running;
}
 .ant-move-down-leave.ant-move-down-leave-active {
     animation-name: antMoveDownOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-move-down-enter, .ant-move-down-appear {
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-move-down-leave {
     animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
 .ant-move-left-enter, .ant-move-left-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-left-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-left-enter.ant-move-left-enter-active, .ant-move-left-appear.ant-move-left-appear-active {
     animation-name: antMoveLeftIn;
     animation-play-state: running;
}
 .ant-move-left-leave.ant-move-left-leave-active {
     animation-name: antMoveLeftOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-move-left-enter, .ant-move-left-appear {
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-move-left-leave {
     animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
 .ant-move-right-enter, .ant-move-right-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-right-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-move-right-enter.ant-move-right-enter-active, .ant-move-right-appear.ant-move-right-appear-active {
     animation-name: antMoveRightIn;
     animation-play-state: running;
}
 .ant-move-right-leave.ant-move-right-leave-active {
     animation-name: antMoveRightOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-move-right-enter, .ant-move-right-appear {
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-move-right-leave {
     animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34);
}
 @keyframes antMoveDownIn {
     0% {
         transform: translateY(100%);
         transform-origin: 0 0;
         opacity: 0;
    }
     100% {
         transform: translateY(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
}
 @keyframes antMoveDownOut {
     0% {
         transform: translateY(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
     100% {
         transform: translateY(100%);
         transform-origin: 0 0;
         opacity: 0;
    }
}
 @keyframes antMoveLeftIn {
     0% {
         transform: translateX(-100%);
         transform-origin: 0 0;
         opacity: 0;
    }
     100% {
         transform: translateX(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
}
 @keyframes antMoveLeftOut {
     0% {
         transform: translateX(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
     100% {
         transform: translateX(-100%);
         transform-origin: 0 0;
         opacity: 0;
    }
}
 @keyframes antMoveRightIn {
     0% {
         transform: translateX(100%);
         transform-origin: 0 0;
         opacity: 0;
    }
     100% {
         transform: translateX(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
}
 @keyframes antMoveRightOut {
     0% {
         transform: translateX(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
     100% {
         transform: translateX(100%);
         transform-origin: 0 0;
         opacity: 0;
    }
}
 @keyframes antMoveUpIn {
     0% {
         transform: translateY(-100%);
         transform-origin: 0 0;
         opacity: 0;
    }
     100% {
         transform: translateY(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
}
 @keyframes antMoveUpOut {
     0% {
         transform: translateY(0%);
         transform-origin: 0 0;
         opacity: 1;
    }
     100% {
         transform: translateY(-100%);
         transform-origin: 0 0;
         opacity: 0;
    }
}
 @keyframes loadingCircle {
     100% {
         transform: rotate(360deg);
    }
}
 [ant-click-animating='true'], [ant-click-animating-without-extra-node='true'] {
     position: relative;
}
 html {
     --antd-wave-shadow-color: @primary-color;
     --scroll-bar: 0;
}
 [ant-click-animating-without-extra-node='true']::after, .ant-click-animating-node {
     position: absolute;
     top: 0;
     right: 0;
     bottom: 0;
     left: 0;
     display: block;
     border-radius: inherit;
     box-shadow: 0 0 0 0 @primary-color;
     box-shadow: 0 0 0 0 var(--antd-wave-shadow-color);
     opacity: 0.2;
     animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1);
     animation-fill-mode: forwards;
     content: '';
     pointer-events: none;
}
 @keyframes waveEffect {
     100% {
         box-shadow: 0 0 0 @primary-color;
         box-shadow: 0 0 0 0.42857143rem var(--antd-wave-shadow-color);
    }
}
 @keyframes fadeEffect {
     100% {
         opacity: 0;
    }
}
 .ant-slide-up-enter, .ant-slide-up-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-up-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-up-enter.ant-slide-up-enter-active, .ant-slide-up-appear.ant-slide-up-appear-active {
     animation-name: antSlideUpIn;
     animation-play-state: running;
}
 .ant-slide-up-leave.ant-slide-up-leave-active {
     animation-name: antSlideUpOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-slide-up-enter, .ant-slide-up-appear {
     transform: scale(0);
     transform-origin: 0% 0%;
     opacity: 0;
     animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
 .ant-slide-up-leave {
     animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
 .ant-slide-down-enter, .ant-slide-down-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-down-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-down-enter.ant-slide-down-enter-active, .ant-slide-down-appear.ant-slide-down-appear-active {
     animation-name: antSlideDownIn;
     animation-play-state: running;
}
 .ant-slide-down-leave.ant-slide-down-leave-active {
     animation-name: antSlideDownOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-slide-down-enter, .ant-slide-down-appear {
     transform: scale(0);
     transform-origin: 0% 0%;
     opacity: 0;
     animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
 .ant-slide-down-leave {
     animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
 .ant-slide-left-enter, .ant-slide-left-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-left-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-left-enter.ant-slide-left-enter-active, .ant-slide-left-appear.ant-slide-left-appear-active {
     animation-name: antSlideLeftIn;
     animation-play-state: running;
}
 .ant-slide-left-leave.ant-slide-left-leave-active {
     animation-name: antSlideLeftOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-slide-left-enter, .ant-slide-left-appear {
     transform: scale(0);
     transform-origin: 0% 0%;
     opacity: 0;
     animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
 .ant-slide-left-leave {
     animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
 .ant-slide-right-enter, .ant-slide-right-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-right-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-slide-right-enter.ant-slide-right-enter-active, .ant-slide-right-appear.ant-slide-right-appear-active {
     animation-name: antSlideRightIn;
     animation-play-state: running;
}
 .ant-slide-right-leave.ant-slide-right-leave-active {
     animation-name: antSlideRightOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-slide-right-enter, .ant-slide-right-appear {
     transform: scale(0);
     transform-origin: 0% 0%;
     opacity: 0;
     animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
 .ant-slide-right-leave {
     animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
 @keyframes antSlideUpIn {
     0% {
         transform: scaleY(0.8);
         transform-origin: 0% 0%;
         opacity: 0;
    }
     100% {
         transform: scaleY(1);
         transform-origin: 0% 0%;
         opacity: 1;
    }
}
 @keyframes antSlideUpOut {
     0% {
         transform: scaleY(1);
         transform-origin: 0% 0%;
         opacity: 1;
    }
     100% {
         transform: scaleY(0.8);
         transform-origin: 0% 0%;
         opacity: 0;
    }
}
 @keyframes antSlideDownIn {
     0% {
         transform: scaleY(0.8);
         transform-origin: 100% 100%;
         opacity: 0;
    }
     100% {
         transform: scaleY(1);
         transform-origin: 100% 100%;
         opacity: 1;
    }
}
 @keyframes antSlideDownOut {
     0% {
         transform: scaleY(1);
         transform-origin: 100% 100%;
         opacity: 1;
    }
     100% {
         transform: scaleY(0.8);
         transform-origin: 100% 100%;
         opacity: 0;
    }
}
 @keyframes antSlideLeftIn {
     0% {
         transform: scaleX(0.8);
         transform-origin: 0% 0%;
         opacity: 0;
    }
     100% {
         transform: scaleX(1);
         transform-origin: 0% 0%;
         opacity: 1;
    }
}
 @keyframes antSlideLeftOut {
     0% {
         transform: scaleX(1);
         transform-origin: 0% 0%;
         opacity: 1;
    }
     100% {
         transform: scaleX(0.8);
         transform-origin: 0% 0%;
         opacity: 0;
    }
}
 @keyframes antSlideRightIn {
     0% {
         transform: scaleX(0.8);
         transform-origin: 100% 0%;
         opacity: 0;
    }
     100% {
         transform: scaleX(1);
         transform-origin: 100% 0%;
         opacity: 1;
    }
}
 @keyframes antSlideRightOut {
     0% {
         transform: scaleX(1);
         transform-origin: 100% 0%;
         opacity: 1;
    }
     100% {
         transform: scaleX(0.8);
         transform-origin: 100% 0%;
         opacity: 0;
    }
}
 .ant-zoom-enter, .ant-zoom-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-enter.ant-zoom-enter-active, .ant-zoom-appear.ant-zoom-appear-active {
     animation-name: antZoomIn;
     animation-play-state: running;
}
 .ant-zoom-leave.ant-zoom-leave-active {
     animation-name: antZoomOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-enter, .ant-zoom-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-enter-prepare, .ant-zoom-appear-prepare {
     transform: none;
}
 .ant-zoom-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-big-enter, .ant-zoom-big-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-big-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-big-enter.ant-zoom-big-enter-active, .ant-zoom-big-appear.ant-zoom-big-appear-active {
     animation-name: antZoomBigIn;
     animation-play-state: running;
}
 .ant-zoom-big-leave.ant-zoom-big-leave-active {
     animation-name: antZoomBigOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-big-enter, .ant-zoom-big-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-big-enter-prepare, .ant-zoom-big-appear-prepare {
     transform: none;
}
 .ant-zoom-big-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-big-fast-enter, .ant-zoom-big-fast-appear {
     animation-duration: 0.1s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-big-fast-leave {
     animation-duration: 0.1s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active, .ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active {
     animation-name: antZoomBigIn;
     animation-play-state: running;
}
 .ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active {
     animation-name: antZoomBigOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-big-fast-enter, .ant-zoom-big-fast-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-big-fast-enter-prepare, .ant-zoom-big-fast-appear-prepare {
     transform: none;
}
 .ant-zoom-big-fast-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-up-enter, .ant-zoom-up-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-up-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-up-enter.ant-zoom-up-enter-active, .ant-zoom-up-appear.ant-zoom-up-appear-active {
     animation-name: antZoomUpIn;
     animation-play-state: running;
}
 .ant-zoom-up-leave.ant-zoom-up-leave-active {
     animation-name: antZoomUpOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-up-enter, .ant-zoom-up-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-up-enter-prepare, .ant-zoom-up-appear-prepare {
     transform: none;
}
 .ant-zoom-up-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-down-enter, .ant-zoom-down-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-down-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-down-enter.ant-zoom-down-enter-active, .ant-zoom-down-appear.ant-zoom-down-appear-active {
     animation-name: antZoomDownIn;
     animation-play-state: running;
}
 .ant-zoom-down-leave.ant-zoom-down-leave-active {
     animation-name: antZoomDownOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-down-enter, .ant-zoom-down-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-down-enter-prepare, .ant-zoom-down-appear-prepare {
     transform: none;
}
 .ant-zoom-down-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-left-enter, .ant-zoom-left-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-left-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-left-enter.ant-zoom-left-enter-active, .ant-zoom-left-appear.ant-zoom-left-appear-active {
     animation-name: antZoomLeftIn;
     animation-play-state: running;
}
 .ant-zoom-left-leave.ant-zoom-left-leave-active {
     animation-name: antZoomLeftOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-left-enter, .ant-zoom-left-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-left-enter-prepare, .ant-zoom-left-appear-prepare {
     transform: none;
}
 .ant-zoom-left-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-zoom-right-enter, .ant-zoom-right-appear {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-right-leave {
     animation-duration: 0.2s;
     animation-fill-mode: both;
     animation-play-state: paused;
}
 .ant-zoom-right-enter.ant-zoom-right-enter-active, .ant-zoom-right-appear.ant-zoom-right-appear-active {
     animation-name: antZoomRightIn;
     animation-play-state: running;
}
 .ant-zoom-right-leave.ant-zoom-right-leave-active {
     animation-name: antZoomRightOut;
     animation-play-state: running;
     pointer-events: none;
}
 .ant-zoom-right-enter, .ant-zoom-right-appear {
     transform: scale(0);
     opacity: 0;
     animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1);
}
 .ant-zoom-right-enter-prepare, .ant-zoom-right-appear-prepare {
     transform: none;
}
 .ant-zoom-right-leave {
     animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 @keyframes antZoomIn {
     0% {
         transform: scale(0.2);
         opacity: 0;
    }
     100% {
         transform: scale(1);
         opacity: 1;
    }
}
 @keyframes antZoomOut {
     0% {
         transform: scale(1);
    }
     100% {
         transform: scale(0.2);
         opacity: 0;
    }
}
 @keyframes antZoomBigIn {
     0% {
         transform: scale(0.8);
         opacity: 0;
    }
     100% {
         transform: scale(1);
         opacity: 1;
    }
}
 @keyframes antZoomBigOut {
     0% {
         transform: scale(1);
    }
     100% {
         transform: scale(0.8);
         opacity: 0;
    }
}
 @keyframes antZoomUpIn {
     0% {
         transform: scale(0.8);
         transform-origin: 50% 0%;
         opacity: 0;
    }
     100% {
         transform: scale(1);
         transform-origin: 50% 0%;
    }
}
 @keyframes antZoomUpOut {
     0% {
         transform: scale(1);
         transform-origin: 50% 0%;
    }
     100% {
         transform: scale(0.8);
         transform-origin: 50% 0%;
         opacity: 0;
    }
}
 @keyframes antZoomLeftIn {
     0% {
         transform: scale(0.8);
         transform-origin: 0% 50%;
         opacity: 0;
    }
     100% {
         transform: scale(1);
         transform-origin: 0% 50%;
    }
}
 @keyframes antZoomLeftOut {
     0% {
         transform: scale(1);
         transform-origin: 0% 50%;
    }
     100% {
         transform: scale(0.8);
         transform-origin: 0% 50%;
         opacity: 0;
    }
}
 @keyframes antZoomRightIn {
     0% {
         transform: scale(0.8);
         transform-origin: 100% 50%;
         opacity: 0;
    }
     100% {
         transform: scale(1);
         transform-origin: 100% 50%;
    }
}
 @keyframes antZoomRightOut {
     0% {
         transform: scale(1);
         transform-origin: 100% 50%;
    }
     100% {
         transform: scale(0.8);
         transform-origin: 100% 50%;
         opacity: 0;
    }
}
 @keyframes antZoomDownIn {
     0% {
         transform: scale(0.8);
         transform-origin: 50% 100%;
         opacity: 0;
    }
     100% {
         transform: scale(1);
         transform-origin: 50% 100%;
    }
}
 @keyframes antZoomDownOut {
     0% {
         transform: scale(1);
         transform-origin: 50% 100%;
    }
     100% {
         transform: scale(0.8);
         transform-origin: 50% 100%;
         opacity: 0;
    }
}
 .ant-motion-collapse-legacy {
     overflow: hidden;
}
 .ant-motion-collapse-legacy-active {
     transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
 .ant-motion-collapse {
     overflow: hidden;
     transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important;
}
 .ant-affix {
     position: fixed;
     z-index: 10;
}
 .ant-alert {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: relative;
     display: flex;
     align-items: center;
     padding: 0.57142857rem 1.07142857rem;
     word-wrap: break-word;
     border-radius: 0.14285714rem;
}
 .ant-alert-content {
     flex: 1;
     min-width: 0;
}
 .ant-alert-icon {
     margin-right: 0.57142857rem;
}
 .ant-alert-description {
     display: none;
     font-size: 1.00000000rem;
     line-height: 1.57142857rem;
}
 .ant-alert-success {
     background-color: #f6ffed;
     border: 0.07142857rem solid #b7eb8f;
}
 .ant-alert-success .ant-alert-icon {
     color: #52c41a;
}
 .ant-alert-info {
     background-color: color(~`colorPalette("@{primary-color}", 1)`);
     border: 0.07142857rem solid color(~`colorPalette("@{primary-color}", 3)`);
}
 .ant-alert-info .ant-alert-icon {
     color: @primary-color;
}
 .ant-alert-warning {
     background-color: #fffbe6;
     border: 0.07142857rem solid #ffe58f;
}
 .ant-alert-warning .ant-alert-icon {
     color: #faad14;
}
 .ant-alert-error {
     background-color: #fff2f0;
     border: 0.07142857rem solid #ffccc7;
}
 .ant-alert-error .ant-alert-icon {
     color: #ff4d4f;
}
 .ant-alert-error .ant-alert-description > pre {
     margin: 0;
     padding: 0;
}
 .ant-alert-action {
     margin-left: 0.57142857rem;
}
 .ant-alert-close-icon {
     margin-left: 0.57142857rem;
     padding: 0;
     overflow: hidden;
     font-size: 0.85714286rem;
     line-height: 0.85714286rem;
     background-color: transparent;
     border: none;
     outline: none;
     cursor: pointer;
}
 .ant-alert-close-icon .anticon-close {
     color: rgba(0, 0, 0, 0.45);
     transition: color 0.3s;
}
 .ant-alert-close-icon .anticon-close:hover {
     color: rgba(0, 0, 0, 0.75);
}
 .ant-alert-close-text {
     color: rgba(0, 0, 0, 0.45);
     transition: color 0.3s;
}
 .ant-alert-close-text:hover {
     color: rgba(0, 0, 0, 0.75);
}
 .ant-alert-with-description {
     align-items: flex-start;
     padding: 1.07142857rem 1.07142857rem 1.07142857rem 1.71428571rem;
}
 .ant-alert-with-description.ant-alert-no-icon {
     padding: 1.07142857rem 1.07142857rem;
}
 .ant-alert-with-description .ant-alert-icon {
     margin-right: 1.07142857rem;
     font-size: 1.71428571rem;
}
 .ant-alert-with-description .ant-alert-message {
     display: block;
     margin-bottom: 0.28571429rem;
     color: @text-color;
     font-size: 1.14285714rem;
}
 .ant-alert-message {
     color: @text-color;
}
 .ant-alert-with-description .ant-alert-description {
     display: block;
}
 .ant-alert.ant-alert-motion-leave {
     overflow: hidden;
     opacity: 1;
     transition: max-height 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-top 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), padding-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), margin-bottom 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
 .ant-alert.ant-alert-motion-leave-active {
     max-height: 0;
     margin-bottom: 0 !important;
     padding-top: 0;
     padding-bottom: 0;
     opacity: 0;
}
 .ant-alert-banner {
     margin-bottom: 0;
     border: 0;
     border-radius: 0;
}
 .ant-alert.ant-alert-rtl {
     direction: rtl;
}
 .ant-alert-rtl .ant-alert-icon {
     margin-right: auto;
     margin-left: 0.57142857rem;
}
 .ant-alert-rtl .ant-alert-action {
     margin-right: 0.57142857rem;
     margin-left: auto;
}
 .ant-alert-rtl .ant-alert-close-icon {
     margin-right: 0.57142857rem;
     margin-left: auto;
}
 .ant-alert-rtl.ant-alert-with-description {
     padding-right: 1.71428571rem;
     padding-left: 1.07142857rem;
}
 .ant-alert-rtl.ant-alert-with-description .ant-alert-icon {
     margin-right: auto;
     margin-left: 1.07142857rem;
}
 .ant-anchor {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: relative;
     padding-left: 0.14285714rem;
}
 .ant-anchor-wrapper {
     margin-left: -0.28571429rem;
     padding-left: 0.28571429rem;
     overflow: auto;
     background-color: transparent;
}
 .ant-anchor-ink {
     position: absolute;
     top: 0;
     left: 0;
     height: 100%;
}
 .ant-anchor-ink::before {
     position: relative;
     display: block;
     width: 0.14285714rem;
     height: 100%;
     margin: 0 auto;
     background-color: #f0f0f0;
     content: ' ';
}
 .ant-anchor-ink-ball {
     position: absolute;
     left: 50%;
     display: none;
     width: 0.57142857rem;
     height: 0.57142857rem;
     background-color: #fff;
     border: 0.14285714rem solid @primary-color;
     border-radius: 0.57142857rem;
     transform: translateX(-50%);
     transition: top 0.3s ease-in-out;
}
 .ant-anchor-ink-ball.ant-anchor-ink-ball-visible {
     display: inline-block;
}
 .ant-anchor-fixed .ant-anchor-ink .ant-anchor-ink-ball {
     display: none;
}
 .ant-anchor-link {
     padding: 0.28571429rem 0 0.28571429rem 1.14285714rem;
}
 .ant-anchor-link-title {
     position: relative;
     display: block;
     margin-bottom: 0.21428571rem;
     overflow: hidden;
     color: @text-color;
     white-space: nowrap;
     text-overflow: ellipsis;
     transition: all 0.3s;
}
 .ant-anchor-link-title:only-child {
     margin-bottom: 0;
}
 .ant-anchor-link-active > .ant-anchor-link-title {
     color: @primary-color;
}
 .ant-anchor-link .ant-anchor-link {
     padding-top: 0.14285714rem;
     padding-bottom: 0.14285714rem;
}
 .ant-anchor-rtl {
     direction: rtl;
}
 .ant-anchor-rtl.ant-anchor-wrapper {
     margin-right: -0.28571429rem;
     margin-left: 0;
     padding-right: 0.28571429rem;
     padding-left: 0;
}
 .ant-anchor-rtl .ant-anchor-ink {
     right: 0;
     left: auto;
}
 .ant-anchor-rtl .ant-anchor-ink-ball {
     right: 50%;
     left: 0;
     transform: translateX(50%);
}
 .ant-anchor-rtl .ant-anchor-link {
     padding: 0.28571429rem 1.14285714rem 0.28571429rem 0;
}
 .ant-select-auto-complete {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
}
 .ant-select-auto-complete .ant-select-clear {
     right: 0.92857143rem;
}
 .ant-avatar {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: relative;
     display: inline-block;
     overflow: hidden;
     color: #fff;
     white-space: nowrap;
     text-align: center;
     vertical-align: middle;
     background: #ccc;
     width: 2.28571429rem;
     height: 2.28571429rem;
     line-height: 2.28571429rem;
     border-radius: 50%;
}
 .ant-avatar-image {
     background: transparent;
}
 .ant-avatar .ant-image-img {
     display: block;
}
 .ant-avatar-string {
     position: absolute;
     left: 50%;
     transform-origin: 0 center;
}
 .ant-avatar.ant-avatar-icon {
     font-size: 1.28571429rem;
}
 .ant-avatar.ant-avatar-icon > .anticon {
     margin: 0;
}
 .ant-avatar-lg {
     width: 2.85714286rem;
     height: 2.85714286rem;
     line-height: 2.85714286rem;
     border-radius: 50%;
}
 .ant-avatar-lg-string {
     position: absolute;
     left: 50%;
     transform-origin: 0 center;
}
 .ant-avatar-lg.ant-avatar-icon {
     font-size: 1.71428571rem;
}
 .ant-avatar-lg.ant-avatar-icon > .anticon {
     margin: 0;
}
 .ant-avatar-sm {
     width: 1.71428571rem;
     height: 1.71428571rem;
     line-height: 1.71428571rem;
     border-radius: 50%;
}
 .ant-avatar-sm-string {
     position: absolute;
     left: 50%;
     transform-origin: 0 center;
}
 .ant-avatar-sm.ant-avatar-icon {
     font-size: 1.00000000rem;
}
 .ant-avatar-sm.ant-avatar-icon > .anticon {
     margin: 0;
}
 .ant-avatar-square {
     border-radius: 0.14285714rem;
}
 .ant-avatar > img {
     display: block;
     width: 100%;
     height: 100%;
     object-fit: cover;
}
 .ant-avatar-group {
     display: inline-flex;
}
 .ant-avatar-group .ant-avatar {
     border: 0.07142857rem solid #fff;
}
 .ant-avatar-group .ant-avatar:not(:first-child) {
     margin-left: -0.57142857rem;
}
 .ant-avatar-group-popover .ant-avatar + .ant-avatar {
     margin-left: 0.21428571rem;
}
 .ant-avatar-group-rtl .ant-avatar:not(:first-child) {
     margin-right: -0.57142857rem;
     margin-left: 0;
}
 .ant-avatar-group-popover.ant-popover-rtl .ant-avatar + .ant-avatar {
     margin-right: 0.21428571rem;
     margin-left: 0;
}
 .ant-back-top {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: fixed;
     right: 7.14285714rem;
     bottom: 3.57142857rem;
     z-index: 10;
     width: 2.85714286rem;
     height: 2.85714286rem;
     cursor: pointer;
}
 .ant-back-top:empty {
     display: none;
}
 .ant-back-top-rtl {
     right: auto;
     left: 7.14285714rem;
     direction: rtl;
}
 .ant-back-top-content {
     width: 2.85714286rem;
     height: 2.85714286rem;
     overflow: hidden;
     color: #fff;
     text-align: center;
     background-color: rgba(0, 0, 0, 0.45);
     border-radius: 1.42857143rem;
     transition: all 0.3s;
}
 .ant-back-top-content:hover {
     background-color: @text-color;
     transition: all 0.3s;
}
 .ant-back-top-icon {
     font-size: 1.71428571rem;
     line-height: 2.85714286rem;
}
 @media screen and (max-width: 54.85714286rem) {
     .ant-back-top {
         right: 4.28571429rem;
    }
     .ant-back-top-rtl {
         right: auto;
         left: 4.28571429rem;
    }
}
 @media screen and (max-width: 34.28571429rem) {
     .ant-back-top {
         right: 1.42857143rem;
    }
     .ant-back-top-rtl {
         right: auto;
         left: 1.42857143rem;
    }
}
 .ant-badge {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: relative;
     display: inline-block;
     line-height: 1;
}
 .ant-badge-count {
     z-index: auto;
     min-width: 1.42857143rem;
     height: 1.42857143rem;
     padding: 0 0.42857143rem;
     color: #fff;
     font-weight: normal;
     font-size: 0.85714286rem;
     line-height: 1.42857143rem;
     white-space: nowrap;
     text-align: center;
     background: #ff4d4f;
     border-radius: 0.71428571rem;
     box-shadow: 0 0 0 0.07142857rem #fff;
}
 .ant-badge-count a, .ant-badge-count a:hover {
     color: #fff;
}
 .ant-badge-count-sm {
     min-width: 1.00000000rem;
     height: 1.00000000rem;
     padding: 0;
     font-size: 0.85714286rem;
     line-height: 1.00000000rem;
     border-radius: 0.50000000rem;
}
 .ant-badge-multiple-words {
     padding: 0 0.57142857rem;
}
 .ant-badge-dot {
     z-index: auto;
     width: 0.42857143rem;
     min-width: 0.42857143rem;
     height: 0.42857143rem;
     background: #ff4d4f;
     border-radius: 100%;
     box-shadow: 0 0 0 0.07142857rem #fff;
}
 .ant-badge-dot.ant-scroll-number {
     transition: background 1.5s;
}
 .ant-badge-count, .ant-badge-dot, .ant-badge .ant-scroll-number-custom-component {
     position: absolute;
     top: 0;
     right: 0;
     transform: translate(50%, -50%);
     transform-origin: 100% 0%;
}
 .ant-badge-count.anticon-spin, .ant-badge-dot.anticon-spin, .ant-badge .ant-scroll-number-custom-component.anticon-spin {
     animation: antBadgeLoadingCircle 1s infinite linear;
}
 .ant-badge-status {
     line-height: inherit;
     vertical-align: baseline;
}
 .ant-badge-status-dot {
     position: relative;
     top: -0.07142857rem;
     display: inline-block;
     width: 0.42857143rem;
     height: 0.42857143rem;
     vertical-align: middle;
     border-radius: 50%;
}
 .ant-badge-status-success {
     background-color: #52c41a;
}
 .ant-badge-status-processing {
     position: relative;
     background-color: @primary-color;
}
 .ant-badge-status-processing::after {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     border: 0.07142857rem solid @primary-color;
     border-radius: 50%;
     animation: antStatusProcessing 1.2s infinite ease-in-out;
     content: '';
}
 .ant-badge-status-default {
     background-color: #d9d9d9;
}
 .ant-badge-status-error {
     background-color: #ff4d4f;
}
 .ant-badge-status-warning {
     background-color: #faad14;
}
 .ant-badge-status-pink {
     background: #eb2f96;
}
 .ant-badge-status-magenta {
     background: #eb2f96;
}
 .ant-badge-status-red {
     background: #f5222d;
}
 .ant-badge-status-volcano {
     background: #fa541c;
}
 .ant-badge-status-orange {
     background: #fa8c16;
}
 .ant-badge-status-yellow {
     background: #fadb14;
}
 .ant-badge-status-gold {
     background: #faad14;
}
 .ant-badge-status-cyan {
     background: #13c2c2;
}
 .ant-badge-status-lime {
     background: #a0d911;
}
 .ant-badge-status-green {
     background: #52c41a;
}
 .ant-badge-status-blue {
     background: @primary-color;
}
 .ant-badge-status-geekblue {
     background: #2f54eb;
}
 .ant-badge-status-purple {
     background: #722ed1;
}
 .ant-badge-status-text {
     margin-left: 0.57142857rem;
     color: @text-color;
     font-size: 1.00000000rem;
}
 .ant-badge-zoom-appear, .ant-badge-zoom-enter {
     animation: antZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);
     animation-fill-mode: both;
}
 .ant-badge-zoom-leave {
     animation: antZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6);
     animation-fill-mode: both;
}
 .ant-badge-not-a-wrapper .ant-badge-zoom-appear, .ant-badge-not-a-wrapper .ant-badge-zoom-enter {
     animation: antNoWrapperZoomBadgeIn 0.3s cubic-bezier(0.12, 0.4, 0.29, 1.46);
}
 .ant-badge-not-a-wrapper .ant-badge-zoom-leave {
     animation: antNoWrapperZoomBadgeOut 0.3s cubic-bezier(0.71, -0.46, 0.88, 0.6);
}
 .ant-badge-not-a-wrapper:not(.ant-badge-status) {
     vertical-align: middle;
}
 .ant-badge-not-a-wrapper .ant-scroll-number-custom-component, .ant-badge-not-a-wrapper .ant-badge-count {
     transform: none;
}
 .ant-badge-not-a-wrapper .ant-scroll-number-custom-component, .ant-badge-not-a-wrapper .ant-scroll-number {
     position: relative;
     top: auto;
     display: block;
     transform-origin: 50% 50%;
}
 @keyframes antStatusProcessing {
     0% {
         transform: scale(0.8);
         opacity: 0.5;
    }
     100% {
         transform: scale(2.4);
         opacity: 0;
    }
}
 .ant-scroll-number {
     overflow: hidden;
     direction: ltr;
}
 .ant-scroll-number-only {
     position: relative;
     display: inline-block;
     height: 1.42857143rem;
     transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
    /* stylelint-disable property-no-vendor-prefix */
     -webkit-transform-style: preserve-3d;
     -webkit-backface-visibility: hidden;
    /* stylelint-enable property-no-vendor-prefix */
}
 .ant-scroll-number-only > p.ant-scroll-number-only-unit {
     height: 1.42857143rem;
     margin: 0;
    /* stylelint-disable property-no-vendor-prefix */
     -webkit-transform-style: preserve-3d;
     -webkit-backface-visibility: hidden;
    /* stylelint-enable property-no-vendor-prefix */
}
 .ant-scroll-number-symbol {
     vertical-align: top;
}
 @keyframes antZoomBadgeIn {
     0% {
         transform: scale(0) translate(50%, -50%);
         opacity: 0;
    }
     100% {
         transform: scale(1) translate(50%, -50%);
    }
}
 @keyframes antZoomBadgeOut {
     0% {
         transform: scale(1) translate(50%, -50%);
    }
     100% {
         transform: scale(0) translate(50%, -50%);
         opacity: 0;
    }
}
 @keyframes antNoWrapperZoomBadgeIn {
     0% {
         transform: scale(0);
         opacity: 0;
    }
     100% {
         transform: scale(1);
    }
}
 @keyframes antNoWrapperZoomBadgeOut {
     0% {
         transform: scale(1);
    }
     100% {
         transform: scale(0);
         opacity: 0;
    }
}
 @keyframes antBadgeLoadingCircle {
     0% {
         transform-origin: 50%;
    }
     100% {
         transform: translate(50%, -50%) rotate(360deg);
         transform-origin: 50%;
    }
}
 .ant-ribbon-wrapper {
     position: relative;
}
 .ant-ribbon {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-size: 1.00000000rem;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     position: absolute;
     top: 0.57142857rem;
     height: 1.57142857rem;
     padding: 0 0.57142857rem;
     color: #fff;
     line-height: 1.57142857rem;
     white-space: nowrap;
     background-color: @primary-color;
     border-radius: 0.14285714rem;
}
 .ant-ribbon-text {
     color: #fff;
}
 .ant-ribbon-corner {
     position: absolute;
     top: 100%;
     width: 0.57142857rem;
     height: 0.57142857rem;
     color: currentcolor;
     border: 0.28571429rem solid;
     transform: scaleY(0.75);
     transform-origin: top;
}
 .ant-ribbon-corner::after {
     position: absolute;
     top: -0.28571429rem;
     left: -0.28571429rem;
     width: inherit;
     height: inherit;
     color: rgba(0, 0, 0, 0.25);
     border: inherit;
     content: '';
}
 .ant-ribbon-color-pink {
     color: #eb2f96;
     background: #eb2f96;
}
 .ant-ribbon-color-magenta {
     color: #eb2f96;
     background: #eb2f96;
}
 .ant-ribbon-color-red {
     color: #f5222d;
     background: #f5222d;
}
 .ant-ribbon-color-volcano {
     color: #fa541c;
     background: #fa541c;
}
 .ant-ribbon-color-orange {
     color: #fa8c16;
     background: #fa8c16;
}
 .ant-ribbon-color-yellow {
     color: #fadb14;
     background: #fadb14;
}
 .ant-ribbon-color-gold {
     color: #faad14;
     background: #faad14;
}
 .ant-ribbon-color-cyan {
     color: #13c2c2;
     background: #13c2c2;
}
 .ant-ribbon-color-lime {
     color: #a0d911;
     background: #a0d911;
}
 .ant-ribbon-color-green {
     color: #52c41a;
     background: #52c41a;
}
 .ant-ribbon-color-blue {
     color: @primary-color;
     background: @primary-color;
}
 .ant-ribbon-color-geekblue {
     color: #2f54eb;
     background: #2f54eb;
}
 .ant-ribbon-color-purple {
     color: #722ed1;
     background: #722ed1;
}
 .ant-ribbon.ant-ribbon-placement-end {
     right: -0.57142857rem;
     border-bottom-right-radius: 0;
}
 .ant-ribbon.ant-ribbon-placement-end .ant-ribbon-corner {
     right: 0;
     border-color: currentcolor transparent transparent currentcolor;
}
 .ant-ribbon.ant-ribbon-placement-start {
     left: -0.57142857rem;
     border-bottom-left-radius: 0;
}
 .ant-ribbon.ant-ribbon-placement-start .ant-ribbon-corner {
     left: 0;
     border-color: currentcolor currentcolor transparent transparent;
}
 .ant-badge-rtl {
     direction: rtl;
}
 .ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-count, .ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-badge-dot, .ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component {
     right: auto;
     left: 0;
     direction: ltr;
     transform: translate(-50%, -50%);
     transform-origin: 0% 0%;
}
 .ant-badge-rtl.ant-badge:not(.ant-badge-not-a-wrapper) .ant-scroll-number-custom-component {
     right: auto;
     left: 0;
     transform: translate(-50%, -50%);
     transform-origin: 0% 0%;
}
 .ant-badge-rtl .ant-badge-status-text {
     margin-right: 0.57142857rem;
     margin-left: 0;
}
 .ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-appear, .ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-enter {
     animation-name: antZoomBadgeInRtl;
}
 .ant-badge:not(.ant-badge-not-a-wrapper).ant-badge-rtl .ant-badge-zoom-leave {
     animation-name: antZoomBadgeOutRtl;
}
 .ant-ribbon-rtl {
     direction: rtl;
}
 .ant-ribbon-rtl.ant-ribbon-placement-end {
     right: unset;
     left: -0.57142857rem;
     border-bottom-right-radius: 0.14285714rem;
     border-bottom-left-radius: 0;
}
 .ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner {
     right: unset;
     left: 0;
     border-color: currentcolor currentcolor transparent transparent;
}
 .ant-ribbon-rtl.ant-ribbon-placement-end .ant-ribbon-corner::after {
     border-color: currentcolor currentcolor transparent transparent;
}
 .ant-ribbon-rtl.ant-ribbon-placement-start {
     right: -0.57142857rem;
     left: unset;
     border-bottom-right-radius: 0;
     border-bottom-left-radius: 0.14285714rem;
}
 .ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner {
     right: 0;
     left: unset;
     border-color: currentcolor transparent transparent currentcolor;
}
 .ant-ribbon-rtl.ant-ribbon-placement-start .ant-ribbon-corner::after {
     border-color: currentcolor transparent transparent currentcolor;
}
 @keyframes antZoomBadgeInRtl {
     0% {
         transform: scale(0) translate(-50%, -50%);
         opacity: 0;
    }
     100% {
         transform: scale(1) translate(-50%, -50%);
    }
}
 @keyframes antZoomBadgeOutRtl {
     0% {
         transform: scale(1) translate(-50%, -50%);
    }
     100% {
         transform: scale(0) translate(-50%, -50%);
         opacity: 0;
    }
}
 .ant-breadcrumb {
     box-sizing: border-box;
     margin: 0;
     padding: 0;
     color: @text-color;
     font-variant: tabular-nums;
     line-height: 1.5715;
     list-style: none;
     font-feature-settings: 'tnum';
     color: rgba(0, 0, 0, 0.45);
     font-size: 1.00000000rem;
}
 .ant-breadcrumb .anticon {
     font-size: 1.00000000rem;
}
 .ant-breadcrumb ol {
     display: flex;
     flex-wrap: wrap;
     margin: 0;
     padding: 0;
     list-style: none;
}
 .ant-breadcrumb a {
     color: rgba(0, 0, 0, 0.45);
     transition: color 0.3s;
}
 .ant-breadcrumb a:hover {
     color: @text-color;
}
 .ant-breadcrumb li:last-child {
     color: @text-color;
}
 .ant-breadcrumb li:last-child a {
     color: @text-color;
}
 li:last-child > .ant-breadcrumb-separator {
     display: none;
}
 .ant-breadcrumb-separator {
     margin: 0 0.57142857rem;
     color: rgba(0, 0, 0, 0.45);
}
 .ant-breadcrumb-link > .anticon + span, .ant-breadcrumb-link > .anticon + a {
     margin-left: 0.28571429rem;
}
 .ant-breadcrumb-overlay-link > .anticon {
     margin-left: 0.28571429rem;