diff --git a/assets/css/style.bundle.css b/assets/css/style.bundle.css new file mode 100644 index 0000000..322e47b --- /dev/null +++ b/assets/css/style.bundle.css @@ -0,0 +1,47658 @@ +@charset "UTF-8"; +:root { + --bs-blue: #009ef6; + --bs-indigo: #6610f2; + --bs-purple: #6f42c1; + --bs-pink: #d63384; + --bs-red: #dc3545; + --bs-orange: #fd7e14; + --bs-yellow: #ffc107; + --bs-green: #198754; + --bs-teal: #20c997; + --bs-cyan: #0dcaf0; + --bs-gray: #7E8299; + --bs-gray-dark: #3F4254; + --bs-gray-100: #F5F8FA; + --bs-gray-200: #EFF2F5; + --bs-gray-300: #E4E6EF; + --bs-gray-400: #B5B5C3; + --bs-gray-500: #A1A5B7; + --bs-gray-600: #7E8299; + --bs-gray-700: #5E6278; + --bs-gray-800: #3F4254; + --bs-gray-900: #181C32; + --bs-white: #ffffff; + --bs-light: #F5F8FA; + --bs-primary: #7239EA; + --bs-secondary: #E4E6EF; + --bs-success: #50CD89; + --bs-info: #009EF7; + --bs-warning: #FFC700; + --bs-danger: #F1416C; + --bs-dark: #181C32; + --bs-white-rgb: 255, 255, 255; + --bs-light-rgb: 245, 248, 250; + --bs-primary-rgb: 114, 57, 234; + --bs-secondary-rgb: 228, 230, 239; + --bs-success-rgb: 80, 205, 137; + --bs-info-rgb: 0, 158, 247; + --bs-warning-rgb: 255, 199, 0; + --bs-danger-rgb: 241, 65, 108; + --bs-dark-rgb: 24, 28, 50; + --bs-white-rgb: 255, 255, 255; + --bs-black-rgb: 0, 0, 0; + --bs-body-color-rgb: 24, 28, 50; + --bs-body-bg-rgb: 255, 255, 255; + --bs-font-sans-serif: Poppins, Helvetica, "sans-serif"; + --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; + --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); + --bs-body-font-family: var(--bs-font-sans-serif); + --bs-body-font-size: 1rem; + --bs-body-font-weight: 400; + --bs-body-line-height: 1.5; + --bs-body-color: #181C32; + --bs-body-bg: #ffffff; +} + +*, +*::before, +*::after { + box-sizing: border-box; +} + +body { + margin: 0; + font-family: var(--bs-body-font-family); + font-size: var(--bs-body-font-size); + font-weight: var(--bs-body-font-weight); + line-height: var(--bs-body-line-height); + color: var(--bs-body-color); + text-align: var(--bs-body-text-align); + background-color: var(--bs-body-bg); + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +hr { + margin: 1rem 0; + color: inherit; + background-color: currentColor; + border: 0; + opacity: 0.25; +} + +hr:not([size]) { + height: 1px; +} + +h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 { + margin-top: 0; + margin-bottom: 0.5rem; + font-weight: 600; + line-height: 1.2; + color: #181C32; +} + +h1, .h1 { + font-size: calc(1.3rem + 0.6vw); +} +@media (min-width: 1200px) { + h1, .h1 { + font-size: 1.75rem; + } +} + +h2, .h2 { + font-size: calc(1.275rem + 0.3vw); +} +@media (min-width: 1200px) { + h2, .h2 { + font-size: 1.5rem; + } +} + +h3, .h3 { + font-size: calc(1.26rem + 0.12vw); +} +@media (min-width: 1200px) { + h3, .h3 { + font-size: 1.35rem; + } +} + +h4, .h4 { + font-size: 1.25rem; +} + +h5, .h5 { + font-size: 1.15rem; +} + +h6, .h6 { + font-size: 1.075rem; +} + +p { + margin-top: 0; + margin-bottom: 1rem; +} + +abbr[title], +abbr[data-bs-original-title] { + text-decoration: underline dotted; + cursor: help; + text-decoration-skip-ink: none; +} + +address { + margin-bottom: 1rem; + font-style: normal; + line-height: inherit; +} + +ol, +ul { + padding-left: 2rem; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1rem; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 500; +} + +dd { + margin-bottom: 0.5rem; + margin-left: 0; +} + +blockquote { + margin: 0 0 1rem; +} + +b, +strong { + font-weight: 600; +} + +small, .small { + font-size: 0.875em; +} + +mark, .mark { + padding: 0.2em; + background-color: #fcf8e3; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +a { + color: #7239EA; + text-decoration: none; +} +a:hover { + color: #4c15c2; + text-decoration: underline; +} + +a:not([href]):not([class]), a:not([href]):not([class]):hover { + color: inherit; + text-decoration: none; +} + +pre, +code, +kbd, +samp { + font-family: var(--bs-font-monospace); + font-size: 1em; + direction: ltr /* rtl:ignore */; + unicode-bidi: bidi-override; +} + +pre { + display: block; + margin-top: 0; + margin-bottom: 1rem; + overflow: auto; + font-size: 0.875em; +} +pre code { + font-size: inherit; + color: inherit; + word-break: normal; +} + +code { + font-size: 0.875em; + color: #b93993; + word-wrap: break-word; +} +a > code { + color: inherit; +} + +kbd { + padding: 0.2rem 0.4rem; + font-size: 0.875em; + color: #ffffff; + background-color: #181C32; + border-radius: 0.275rem; +} +kbd kbd { + padding: 0; + font-size: 1em; + font-weight: 500; +} + +figure { + margin: 0 0 1rem; +} + +img, +svg { + vertical-align: middle; +} + +table { + caption-side: bottom; + border-collapse: collapse; +} + +caption { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + color: #A1A5B7; + text-align: left; +} + +th { + text-align: inherit; + text-align: -webkit-match-parent; +} + +thead, +tbody, +tfoot, +tr, +td, +th { + border-color: inherit; + border-style: solid; + border-width: 0; +} + +label { + display: inline-block; +} + +button { + border-radius: 0; +} + +button:focus:not(:focus-visible) { + outline: 0; +} + +input, +button, +select, +optgroup, +textarea { + margin: 0; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +select { + text-transform: none; +} + +[role=button] { + cursor: pointer; +} + +select { + word-wrap: normal; +} +select:disabled { + opacity: 1; +} + +[list]::-webkit-calendar-picker-indicator { + display: none; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} +button:not(:disabled), +[type=button]:not(:disabled), +[type=reset]:not(:disabled), +[type=submit]:not(:disabled) { + cursor: pointer; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +textarea { + resize: vertical; +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} + +legend { + float: left; + width: 100%; + padding: 0; + margin-bottom: 0.5rem; + font-size: calc(1.275rem + 0.3vw); + line-height: inherit; +} +@media (min-width: 1200px) { + legend { + font-size: 1.5rem; + } +} +legend + * { + clear: left; +} + +::-webkit-datetime-edit-fields-wrapper, +::-webkit-datetime-edit-text, +::-webkit-datetime-edit-minute, +::-webkit-datetime-edit-hour-field, +::-webkit-datetime-edit-day-field, +::-webkit-datetime-edit-month-field, +::-webkit-datetime-edit-year-field { + padding: 0; +} + +::-webkit-inner-spin-button { + height: auto; +} + +[type=search] { + outline-offset: -2px; + -webkit-appearance: textfield; +} + +/* rtl:raw: +[type="tel"], +[type="url"], +[type="email"], +[type="number"] { + direction: ltr; +} +*/ +::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-color-swatch-wrapper { + padding: 0; +} + +::file-selector-button { + font: inherit; +} + +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} + +output { + display: inline-block; +} + +iframe { + border: 0; +} + +summary { + display: list-item; + cursor: pointer; +} + +progress { + vertical-align: baseline; +} + +[hidden] { + display: none !important; +} + +.lead { + font-size: 1.25rem; + font-weight: 300; +} + +.display-1 { + font-size: calc(1.625rem + 4.5vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-1 { + font-size: 5rem; + } +} + +.display-2 { + font-size: calc(1.575rem + 3.9vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-2 { + font-size: 4.5rem; + } +} + +.display-3 { + font-size: calc(1.525rem + 3.3vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-3 { + font-size: 4rem; + } +} + +.display-4 { + font-size: calc(1.475rem + 2.7vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-4 { + font-size: 3.5rem; + } +} + +.display-5 { + font-size: calc(1.425rem + 2.1vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-5 { + font-size: 3rem; + } +} + +.display-6 { + font-size: calc(1.375rem + 1.5vw); + font-weight: 600; + line-height: 1.2; +} +@media (min-width: 1200px) { + .display-6 { + font-size: 2.5rem; + } +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline-item { + display: inline-block; +} +.list-inline-item:not(:last-child) { + margin-right: 0.5rem; +} + +.initialism { + font-size: 0.875em; + text-transform: uppercase; +} + +.blockquote { + margin-bottom: 1rem; + font-size: 1.25rem; +} +.blockquote > :last-child { + margin-bottom: 0; +} + +.blockquote-footer { + margin-top: -1rem; + margin-bottom: 1rem; + font-size: 0.875em; + color: #7E8299; +} +.blockquote-footer::before { + content: "— "; +} + +.img-fluid { + max-width: 100%; + height: auto; +} + +.img-thumbnail { + padding: 0.25rem; + background-color: #ffffff; + border: 1px solid #E4E6EF; + border-radius: 0.475rem; + box-shadow: 0 0.1rem 1rem 0.25rem rgba(0, 0, 0, 0.05); + max-width: 100%; + height: auto; +} + +.figure { + display: inline-block; +} + +.figure-img { + margin-bottom: 0.5rem; + line-height: 1; +} + +.figure-caption { + font-size: 0.875em; + color: #7E8299; +} + +.container, +.container-fluid, +.container-xxl, +.container-xl, +.container-lg, +.container-md, +.container-sm { + width: 100%; + padding-right: var(--bs-gutter-x, 1.5rem); + padding-left: var(--bs-gutter-x, 1.5rem); + margin-right: auto; + margin-left: auto; +} + +@media (min-width: 576px) { + .container-sm, .container { + max-width: 540px; + } +} +@media (min-width: 768px) { + .container-md, .container-sm, .container { + max-width: 720px; + } +} +@media (min-width: 992px) { + .container-lg, .container-md, .container-sm, .container { + max-width: 960px; + } +} +@media (min-width: 1200px) { + .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1140px; + } +} +@media (min-width: 1400px) { + .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container { + max-width: 1320px; + } +} +.row { + --bs-gutter-x: 1.5rem; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); +} +.row > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); +} + +.col { + flex: 1 0 0%; +} + +.row-cols-auto > * { + flex: 0 0 auto; + width: auto; +} + +.row-cols-1 > * { + flex: 0 0 auto; + width: 100%; +} + +.row-cols-2 > * { + flex: 0 0 auto; + width: 50%; +} + +.row-cols-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; +} + +.row-cols-4 > * { + flex: 0 0 auto; + width: 25%; +} + +.row-cols-5 > * { + flex: 0 0 auto; + width: 20%; +} + +.row-cols-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; +} + +.col-auto { + flex: 0 0 auto; + width: auto; +} + +.col-1 { + flex: 0 0 auto; + width: 8.33333333%; +} + +.col-2 { + flex: 0 0 auto; + width: 16.66666667%; +} + +.col-3 { + flex: 0 0 auto; + width: 25%; +} + +.col-4 { + flex: 0 0 auto; + width: 33.33333333%; +} + +.col-5 { + flex: 0 0 auto; + width: 41.66666667%; +} + +.col-6 { + flex: 0 0 auto; + width: 50%; +} + +.col-7 { + flex: 0 0 auto; + width: 58.33333333%; +} + +.col-8 { + flex: 0 0 auto; + width: 66.66666667%; +} + +.col-9 { + flex: 0 0 auto; + width: 75%; +} + +.col-10 { + flex: 0 0 auto; + width: 83.33333333%; +} + +.col-11 { + flex: 0 0 auto; + width: 91.66666667%; +} + +.col-12 { + flex: 0 0 auto; + width: 100%; +} + +.offset-1 { + margin-left: 8.33333333%; +} + +.offset-2 { + margin-left: 16.66666667%; +} + +.offset-3 { + margin-left: 25%; +} + +.offset-4 { + margin-left: 33.33333333%; +} + +.offset-5 { + margin-left: 41.66666667%; +} + +.offset-6 { + margin-left: 50%; +} + +.offset-7 { + margin-left: 58.33333333%; +} + +.offset-8 { + margin-left: 66.66666667%; +} + +.offset-9 { + margin-left: 75%; +} + +.offset-10 { + margin-left: 83.33333333%; +} + +.offset-11 { + margin-left: 91.66666667%; +} + +.g-0, +.gx-0 { + --bs-gutter-x: 0rem; +} + +.g-0, +.gy-0 { + --bs-gutter-y: 0rem; +} + +.g-1, +.gx-1 { + --bs-gutter-x: 0.25rem; +} + +.g-1, +.gy-1 { + --bs-gutter-y: 0.25rem; +} + +.g-2, +.gx-2 { + --bs-gutter-x: 0.5rem; +} + +.g-2, +.gy-2 { + --bs-gutter-y: 0.5rem; +} + +.g-3, +.gx-3 { + --bs-gutter-x: 0.75rem; +} + +.g-3, +.gy-3 { + --bs-gutter-y: 0.75rem; +} + +.g-4, +.gx-4 { + --bs-gutter-x: 1rem; +} + +.g-4, +.gy-4 { + --bs-gutter-y: 1rem; +} + +.g-5, +.gx-5 { + --bs-gutter-x: 1.25rem; +} + +.g-5, +.gy-5 { + --bs-gutter-y: 1.25rem; +} + +.g-6, +.gx-6 { + --bs-gutter-x: 1.5rem; +} + +.g-6, +.gy-6 { + --bs-gutter-y: 1.5rem; +} + +.g-7, +.gx-7 { + --bs-gutter-x: 1.75rem; +} + +.g-7, +.gy-7 { + --bs-gutter-y: 1.75rem; +} + +.g-8, +.gx-8 { + --bs-gutter-x: 2rem; +} + +.g-8, +.gy-8 { + --bs-gutter-y: 2rem; +} + +.g-9, +.gx-9 { + --bs-gutter-x: 2.25rem; +} + +.g-9, +.gy-9 { + --bs-gutter-y: 2.25rem; +} + +.g-10, +.gx-10 { + --bs-gutter-x: 2.5rem; +} + +.g-10, +.gy-10 { + --bs-gutter-y: 2.5rem; +} + +@media (min-width: 576px) { + .col-sm { + flex: 1 0 0%; + } + + .row-cols-sm-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-sm-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-sm-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-sm-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-sm-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-sm-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-sm-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-sm-auto { + flex: 0 0 auto; + width: auto; + } + + .col-sm-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-sm-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-sm-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-sm-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-sm-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-sm-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-sm-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-sm-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-sm-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-sm-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-sm-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-sm-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-sm-0 { + margin-left: 0; + } + + .offset-sm-1 { + margin-left: 8.33333333%; + } + + .offset-sm-2 { + margin-left: 16.66666667%; + } + + .offset-sm-3 { + margin-left: 25%; + } + + .offset-sm-4 { + margin-left: 33.33333333%; + } + + .offset-sm-5 { + margin-left: 41.66666667%; + } + + .offset-sm-6 { + margin-left: 50%; + } + + .offset-sm-7 { + margin-left: 58.33333333%; + } + + .offset-sm-8 { + margin-left: 66.66666667%; + } + + .offset-sm-9 { + margin-left: 75%; + } + + .offset-sm-10 { + margin-left: 83.33333333%; + } + + .offset-sm-11 { + margin-left: 91.66666667%; + } + + .g-sm-0, +.gx-sm-0 { + --bs-gutter-x: 0rem; + } + + .g-sm-0, +.gy-sm-0 { + --bs-gutter-y: 0rem; + } + + .g-sm-1, +.gx-sm-1 { + --bs-gutter-x: 0.25rem; + } + + .g-sm-1, +.gy-sm-1 { + --bs-gutter-y: 0.25rem; + } + + .g-sm-2, +.gx-sm-2 { + --bs-gutter-x: 0.5rem; + } + + .g-sm-2, +.gy-sm-2 { + --bs-gutter-y: 0.5rem; + } + + .g-sm-3, +.gx-sm-3 { + --bs-gutter-x: 0.75rem; + } + + .g-sm-3, +.gy-sm-3 { + --bs-gutter-y: 0.75rem; + } + + .g-sm-4, +.gx-sm-4 { + --bs-gutter-x: 1rem; + } + + .g-sm-4, +.gy-sm-4 { + --bs-gutter-y: 1rem; + } + + .g-sm-5, +.gx-sm-5 { + --bs-gutter-x: 1.25rem; + } + + .g-sm-5, +.gy-sm-5 { + --bs-gutter-y: 1.25rem; + } + + .g-sm-6, +.gx-sm-6 { + --bs-gutter-x: 1.5rem; + } + + .g-sm-6, +.gy-sm-6 { + --bs-gutter-y: 1.5rem; + } + + .g-sm-7, +.gx-sm-7 { + --bs-gutter-x: 1.75rem; + } + + .g-sm-7, +.gy-sm-7 { + --bs-gutter-y: 1.75rem; + } + + .g-sm-8, +.gx-sm-8 { + --bs-gutter-x: 2rem; + } + + .g-sm-8, +.gy-sm-8 { + --bs-gutter-y: 2rem; + } + + .g-sm-9, +.gx-sm-9 { + --bs-gutter-x: 2.25rem; + } + + .g-sm-9, +.gy-sm-9 { + --bs-gutter-y: 2.25rem; + } + + .g-sm-10, +.gx-sm-10 { + --bs-gutter-x: 2.5rem; + } + + .g-sm-10, +.gy-sm-10 { + --bs-gutter-y: 2.5rem; + } +} +@media (min-width: 768px) { + .col-md { + flex: 1 0 0%; + } + + .row-cols-md-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-md-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-md-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-md-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-md-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-md-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-md-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-md-auto { + flex: 0 0 auto; + width: auto; + } + + .col-md-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-md-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-md-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-md-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-md-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-md-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-md-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-md-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-md-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-md-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-md-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-md-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-md-0 { + margin-left: 0; + } + + .offset-md-1 { + margin-left: 8.33333333%; + } + + .offset-md-2 { + margin-left: 16.66666667%; + } + + .offset-md-3 { + margin-left: 25%; + } + + .offset-md-4 { + margin-left: 33.33333333%; + } + + .offset-md-5 { + margin-left: 41.66666667%; + } + + .offset-md-6 { + margin-left: 50%; + } + + .offset-md-7 { + margin-left: 58.33333333%; + } + + .offset-md-8 { + margin-left: 66.66666667%; + } + + .offset-md-9 { + margin-left: 75%; + } + + .offset-md-10 { + margin-left: 83.33333333%; + } + + .offset-md-11 { + margin-left: 91.66666667%; + } + + .g-md-0, +.gx-md-0 { + --bs-gutter-x: 0rem; + } + + .g-md-0, +.gy-md-0 { + --bs-gutter-y: 0rem; + } + + .g-md-1, +.gx-md-1 { + --bs-gutter-x: 0.25rem; + } + + .g-md-1, +.gy-md-1 { + --bs-gutter-y: 0.25rem; + } + + .g-md-2, +.gx-md-2 { + --bs-gutter-x: 0.5rem; + } + + .g-md-2, +.gy-md-2 { + --bs-gutter-y: 0.5rem; + } + + .g-md-3, +.gx-md-3 { + --bs-gutter-x: 0.75rem; + } + + .g-md-3, +.gy-md-3 { + --bs-gutter-y: 0.75rem; + } + + .g-md-4, +.gx-md-4 { + --bs-gutter-x: 1rem; + } + + .g-md-4, +.gy-md-4 { + --bs-gutter-y: 1rem; + } + + .g-md-5, +.gx-md-5 { + --bs-gutter-x: 1.25rem; + } + + .g-md-5, +.gy-md-5 { + --bs-gutter-y: 1.25rem; + } + + .g-md-6, +.gx-md-6 { + --bs-gutter-x: 1.5rem; + } + + .g-md-6, +.gy-md-6 { + --bs-gutter-y: 1.5rem; + } + + .g-md-7, +.gx-md-7 { + --bs-gutter-x: 1.75rem; + } + + .g-md-7, +.gy-md-7 { + --bs-gutter-y: 1.75rem; + } + + .g-md-8, +.gx-md-8 { + --bs-gutter-x: 2rem; + } + + .g-md-8, +.gy-md-8 { + --bs-gutter-y: 2rem; + } + + .g-md-9, +.gx-md-9 { + --bs-gutter-x: 2.25rem; + } + + .g-md-9, +.gy-md-9 { + --bs-gutter-y: 2.25rem; + } + + .g-md-10, +.gx-md-10 { + --bs-gutter-x: 2.5rem; + } + + .g-md-10, +.gy-md-10 { + --bs-gutter-y: 2.5rem; + } +} +@media (min-width: 992px) { + .col-lg { + flex: 1 0 0%; + } + + .row-cols-lg-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-lg-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-lg-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-lg-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-lg-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-lg-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-lg-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-lg-auto { + flex: 0 0 auto; + width: auto; + } + + .col-lg-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-lg-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-lg-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-lg-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-lg-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-lg-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-lg-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-lg-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-lg-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-lg-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-lg-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-lg-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-lg-0 { + margin-left: 0; + } + + .offset-lg-1 { + margin-left: 8.33333333%; + } + + .offset-lg-2 { + margin-left: 16.66666667%; + } + + .offset-lg-3 { + margin-left: 25%; + } + + .offset-lg-4 { + margin-left: 33.33333333%; + } + + .offset-lg-5 { + margin-left: 41.66666667%; + } + + .offset-lg-6 { + margin-left: 50%; + } + + .offset-lg-7 { + margin-left: 58.33333333%; + } + + .offset-lg-8 { + margin-left: 66.66666667%; + } + + .offset-lg-9 { + margin-left: 75%; + } + + .offset-lg-10 { + margin-left: 83.33333333%; + } + + .offset-lg-11 { + margin-left: 91.66666667%; + } + + .g-lg-0, +.gx-lg-0 { + --bs-gutter-x: 0rem; + } + + .g-lg-0, +.gy-lg-0 { + --bs-gutter-y: 0rem; + } + + .g-lg-1, +.gx-lg-1 { + --bs-gutter-x: 0.25rem; + } + + .g-lg-1, +.gy-lg-1 { + --bs-gutter-y: 0.25rem; + } + + .g-lg-2, +.gx-lg-2 { + --bs-gutter-x: 0.5rem; + } + + .g-lg-2, +.gy-lg-2 { + --bs-gutter-y: 0.5rem; + } + + .g-lg-3, +.gx-lg-3 { + --bs-gutter-x: 0.75rem; + } + + .g-lg-3, +.gy-lg-3 { + --bs-gutter-y: 0.75rem; + } + + .g-lg-4, +.gx-lg-4 { + --bs-gutter-x: 1rem; + } + + .g-lg-4, +.gy-lg-4 { + --bs-gutter-y: 1rem; + } + + .g-lg-5, +.gx-lg-5 { + --bs-gutter-x: 1.25rem; + } + + .g-lg-5, +.gy-lg-5 { + --bs-gutter-y: 1.25rem; + } + + .g-lg-6, +.gx-lg-6 { + --bs-gutter-x: 1.5rem; + } + + .g-lg-6, +.gy-lg-6 { + --bs-gutter-y: 1.5rem; + } + + .g-lg-7, +.gx-lg-7 { + --bs-gutter-x: 1.75rem; + } + + .g-lg-7, +.gy-lg-7 { + --bs-gutter-y: 1.75rem; + } + + .g-lg-8, +.gx-lg-8 { + --bs-gutter-x: 2rem; + } + + .g-lg-8, +.gy-lg-8 { + --bs-gutter-y: 2rem; + } + + .g-lg-9, +.gx-lg-9 { + --bs-gutter-x: 2.25rem; + } + + .g-lg-9, +.gy-lg-9 { + --bs-gutter-y: 2.25rem; + } + + .g-lg-10, +.gx-lg-10 { + --bs-gutter-x: 2.5rem; + } + + .g-lg-10, +.gy-lg-10 { + --bs-gutter-y: 2.5rem; + } +} +@media (min-width: 1200px) { + .col-xl { + flex: 1 0 0%; + } + + .row-cols-xl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xl-0 { + margin-left: 0; + } + + .offset-xl-1 { + margin-left: 8.33333333%; + } + + .offset-xl-2 { + margin-left: 16.66666667%; + } + + .offset-xl-3 { + margin-left: 25%; + } + + .offset-xl-4 { + margin-left: 33.33333333%; + } + + .offset-xl-5 { + margin-left: 41.66666667%; + } + + .offset-xl-6 { + margin-left: 50%; + } + + .offset-xl-7 { + margin-left: 58.33333333%; + } + + .offset-xl-8 { + margin-left: 66.66666667%; + } + + .offset-xl-9 { + margin-left: 75%; + } + + .offset-xl-10 { + margin-left: 83.33333333%; + } + + .offset-xl-11 { + margin-left: 91.66666667%; + } + + .g-xl-0, +.gx-xl-0 { + --bs-gutter-x: 0rem; + } + + .g-xl-0, +.gy-xl-0 { + --bs-gutter-y: 0rem; + } + + .g-xl-1, +.gx-xl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xl-1, +.gy-xl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xl-2, +.gx-xl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xl-2, +.gy-xl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xl-3, +.gx-xl-3 { + --bs-gutter-x: 0.75rem; + } + + .g-xl-3, +.gy-xl-3 { + --bs-gutter-y: 0.75rem; + } + + .g-xl-4, +.gx-xl-4 { + --bs-gutter-x: 1rem; + } + + .g-xl-4, +.gy-xl-4 { + --bs-gutter-y: 1rem; + } + + .g-xl-5, +.gx-xl-5 { + --bs-gutter-x: 1.25rem; + } + + .g-xl-5, +.gy-xl-5 { + --bs-gutter-y: 1.25rem; + } + + .g-xl-6, +.gx-xl-6 { + --bs-gutter-x: 1.5rem; + } + + .g-xl-6, +.gy-xl-6 { + --bs-gutter-y: 1.5rem; + } + + .g-xl-7, +.gx-xl-7 { + --bs-gutter-x: 1.75rem; + } + + .g-xl-7, +.gy-xl-7 { + --bs-gutter-y: 1.75rem; + } + + .g-xl-8, +.gx-xl-8 { + --bs-gutter-x: 2rem; + } + + .g-xl-8, +.gy-xl-8 { + --bs-gutter-y: 2rem; + } + + .g-xl-9, +.gx-xl-9 { + --bs-gutter-x: 2.25rem; + } + + .g-xl-9, +.gy-xl-9 { + --bs-gutter-y: 2.25rem; + } + + .g-xl-10, +.gx-xl-10 { + --bs-gutter-x: 2.5rem; + } + + .g-xl-10, +.gy-xl-10 { + --bs-gutter-y: 2.5rem; + } +} +@media (min-width: 1400px) { + .col-xxl { + flex: 1 0 0%; + } + + .row-cols-xxl-auto > * { + flex: 0 0 auto; + width: auto; + } + + .row-cols-xxl-1 > * { + flex: 0 0 auto; + width: 100%; + } + + .row-cols-xxl-2 > * { + flex: 0 0 auto; + width: 50%; + } + + .row-cols-xxl-3 > * { + flex: 0 0 auto; + width: 33.3333333333%; + } + + .row-cols-xxl-4 > * { + flex: 0 0 auto; + width: 25%; + } + + .row-cols-xxl-5 > * { + flex: 0 0 auto; + width: 20%; + } + + .row-cols-xxl-6 > * { + flex: 0 0 auto; + width: 16.6666666667%; + } + + .col-xxl-auto { + flex: 0 0 auto; + width: auto; + } + + .col-xxl-1 { + flex: 0 0 auto; + width: 8.33333333%; + } + + .col-xxl-2 { + flex: 0 0 auto; + width: 16.66666667%; + } + + .col-xxl-3 { + flex: 0 0 auto; + width: 25%; + } + + .col-xxl-4 { + flex: 0 0 auto; + width: 33.33333333%; + } + + .col-xxl-5 { + flex: 0 0 auto; + width: 41.66666667%; + } + + .col-xxl-6 { + flex: 0 0 auto; + width: 50%; + } + + .col-xxl-7 { + flex: 0 0 auto; + width: 58.33333333%; + } + + .col-xxl-8 { + flex: 0 0 auto; + width: 66.66666667%; + } + + .col-xxl-9 { + flex: 0 0 auto; + width: 75%; + } + + .col-xxl-10 { + flex: 0 0 auto; + width: 83.33333333%; + } + + .col-xxl-11 { + flex: 0 0 auto; + width: 91.66666667%; + } + + .col-xxl-12 { + flex: 0 0 auto; + width: 100%; + } + + .offset-xxl-0 { + margin-left: 0; + } + + .offset-xxl-1 { + margin-left: 8.33333333%; + } + + .offset-xxl-2 { + margin-left: 16.66666667%; + } + + .offset-xxl-3 { + margin-left: 25%; + } + + .offset-xxl-4 { + margin-left: 33.33333333%; + } + + .offset-xxl-5 { + margin-left: 41.66666667%; + } + + .offset-xxl-6 { + margin-left: 50%; + } + + .offset-xxl-7 { + margin-left: 58.33333333%; + } + + .offset-xxl-8 { + margin-left: 66.66666667%; + } + + .offset-xxl-9 { + margin-left: 75%; + } + + .offset-xxl-10 { + margin-left: 83.33333333%; + } + + .offset-xxl-11 { + margin-left: 91.66666667%; + } + + .g-xxl-0, +.gx-xxl-0 { + --bs-gutter-x: 0rem; + } + + .g-xxl-0, +.gy-xxl-0 { + --bs-gutter-y: 0rem; + } + + .g-xxl-1, +.gx-xxl-1 { + --bs-gutter-x: 0.25rem; + } + + .g-xxl-1, +.gy-xxl-1 { + --bs-gutter-y: 0.25rem; + } + + .g-xxl-2, +.gx-xxl-2 { + --bs-gutter-x: 0.5rem; + } + + .g-xxl-2, +.gy-xxl-2 { + --bs-gutter-y: 0.5rem; + } + + .g-xxl-3, +.gx-xxl-3 { + --bs-gutter-x: 0.75rem; + } + + .g-xxl-3, +.gy-xxl-3 { + --bs-gutter-y: 0.75rem; + } + + .g-xxl-4, +.gx-xxl-4 { + --bs-gutter-x: 1rem; + } + + .g-xxl-4, +.gy-xxl-4 { + --bs-gutter-y: 1rem; + } + + .g-xxl-5, +.gx-xxl-5 { + --bs-gutter-x: 1.25rem; + } + + .g-xxl-5, +.gy-xxl-5 { + --bs-gutter-y: 1.25rem; + } + + .g-xxl-6, +.gx-xxl-6 { + --bs-gutter-x: 1.5rem; + } + + .g-xxl-6, +.gy-xxl-6 { + --bs-gutter-y: 1.5rem; + } + + .g-xxl-7, +.gx-xxl-7 { + --bs-gutter-x: 1.75rem; + } + + .g-xxl-7, +.gy-xxl-7 { + --bs-gutter-y: 1.75rem; + } + + .g-xxl-8, +.gx-xxl-8 { + --bs-gutter-x: 2rem; + } + + .g-xxl-8, +.gy-xxl-8 { + --bs-gutter-y: 2rem; + } + + .g-xxl-9, +.gx-xxl-9 { + --bs-gutter-x: 2.25rem; + } + + .g-xxl-9, +.gy-xxl-9 { + --bs-gutter-y: 2.25rem; + } + + .g-xxl-10, +.gx-xxl-10 { + --bs-gutter-x: 2.5rem; + } + + .g-xxl-10, +.gy-xxl-10 { + --bs-gutter-y: 2.5rem; + } +} +.table { + --bs-table-bg: transparent; + --bs-table-accent-bg: transparent; + --bs-table-striped-color: #181C32; + --bs-table-striped-bg: rgba(245, 248, 250, 0.75); + --bs-table-active-color: #181C32; + --bs-table-active-bg: #F5F8FA; + --bs-table-hover-color: #181C32; + --bs-table-hover-bg: #F5F8FA; + width: 100%; + margin-bottom: 1rem; + color: #181C32; + vertical-align: top; + border-color: #EFF2F5; +} +.table > :not(caption) > * > * { + padding: 0.75rem 0.75rem; + background-color: var(--bs-table-bg); + border-bottom-width: 1px; + box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg); +} +.table > tbody { + vertical-align: inherit; +} +.table > thead { + vertical-align: bottom; +} +.table > :not(:first-child) { + border-top: 2px solid currentColor; +} + +.caption-top { + caption-side: top; +} + +.table-sm > :not(caption) > * > * { + padding: 0.5rem 0.5rem; +} + +.table-bordered > :not(caption) > * { + border-width: 1px 0; +} +.table-bordered > :not(caption) > * > * { + border-width: 0 1px; +} + +.table-borderless > :not(caption) > * > * { + border-bottom-width: 0; +} +.table-borderless > :not(:first-child) { + border-top-width: 0; +} + +.table-striped > tbody > tr:nth-of-type(odd) > * { + --bs-table-accent-bg: var(--bs-table-striped-bg); + color: var(--bs-table-striped-color); +} + +.table-active { + --bs-table-accent-bg: var(--bs-table-active-bg); + color: var(--bs-table-active-color); +} + +.table-hover > tbody > tr:hover > * { + --bs-table-accent-bg: var(--bs-table-hover-bg); + color: var(--bs-table-hover-color); +} + +.table-primary { + --bs-table-bg: #e3d7fb; + --bs-table-striped-bg: #d8ccee; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #ccc2e2; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #d2c7e8; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #ccc2e2; +} + +.table-secondary { + --bs-table-bg: #fafafc; + --bs-table-striped-bg: #eeeeef; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #e1e1e3; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #e7e7e9; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #e1e1e3; +} + +.table-success { + --bs-table-bg: #dcf5e7; + --bs-table-striped-bg: #d1e9db; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #c6ddd0; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #cce3d6; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #c6ddd0; +} + +.table-info { + --bs-table-bg: #ccecfd; + --bs-table-striped-bg: #c2e0f0; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #b8d4e4; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #bddaea; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #b8d4e4; +} + +.table-warning { + --bs-table-bg: #fff4cc; + --bs-table-striped-bg: #f2e8c2; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #e6dcb8; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #ece2bd; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #e6dcb8; +} + +.table-danger { + --bs-table-bg: #fcd9e2; + --bs-table-striped-bg: #efced7; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #e3c3cb; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #e9c9d1; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #e3c3cb; +} + +.table-light { + --bs-table-bg: #F5F8FA; + --bs-table-striped-bg: #e9ecee; + --bs-table-striped-color: #000000; + --bs-table-active-bg: #dddfe1; + --bs-table-active-color: #000000; + --bs-table-hover-bg: #e3e5e7; + --bs-table-hover-color: #000000; + color: #000000; + border-color: #dddfe1; +} + +.table-dark { + --bs-table-bg: #181C32; + --bs-table-striped-bg: #24273c; + --bs-table-striped-color: #ffffff; + --bs-table-active-bg: #2f3347; + --bs-table-active-color: #ffffff; + --bs-table-hover-bg: #292d41; + --bs-table-hover-color: #ffffff; + color: #ffffff; + border-color: #2f3347; +} + +.table-responsive { + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + +@media (max-width: 575.98px) { + .table-responsive-sm { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 767.98px) { + .table-responsive-md { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 991.98px) { + .table-responsive-lg { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1199.98px) { + .table-responsive-xl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +@media (max-width: 1399.98px) { + .table-responsive-xxl { + overflow-x: auto; + -webkit-overflow-scrolling: touch; + } +} +.form-label { + margin-bottom: 0.5rem; + font-size: 1.05rem; + font-weight: 500; + color: #3F4254; +} + +.col-form-label { + padding-top: calc(0.75rem + 1px); + padding-bottom: calc(0.75rem + 1px); + margin-bottom: 0; + font-size: inherit; + font-weight: 500; + line-height: 1.5; + color: #3F4254; +} + +.col-form-label-lg { + padding-top: calc(0.825rem + 1px); + padding-bottom: calc(0.825rem + 1px); + font-size: 1.15rem; +} + +.col-form-label-sm { + padding-top: calc(0.55rem + 1px); + padding-bottom: calc(0.55rem + 1px); + font-size: 0.925rem; +} + +.form-text { + margin-top: 0.5rem; + font-size: 0.925rem; + color: #A1A5B7; +} + +.form-control { + display: block; + width: 100%; + padding: 0.75rem 1rem; + font-size: 1.1rem; + font-weight: 500; + line-height: 1.5; + color: #181C32; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid #E4E6EF; + appearance: none; + border-radius: 0.475rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control { + transition: none; + } +} +.form-control[type=file] { + overflow: hidden; +} +.form-control[type=file]:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control:focus { + color: #181C32; + background-color: #ffffff; + border-color: #B5B5C3; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(114, 57, 234, 0.25); +} +.form-control::-webkit-date-and-time-value { + height: 1.5em; +} +.form-control::placeholder { + color: #A1A5B7; + opacity: 1; +} +.form-control:disabled, .form-control[readonly] { + background-color: #EFF2F5; + opacity: 1; +} +.form-control::file-selector-button { + padding: 0.75rem 1rem; + margin: -0.75rem -1rem; + margin-inline-end: 1rem; + color: #181C32; + background-color: #F5F8FA; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::file-selector-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::file-selector-button { + background-color: #e9ecee; +} +.form-control::-webkit-file-upload-button { + padding: 0.75rem 1rem; + margin: -0.75rem -1rem; + margin-inline-end: 1rem; + color: #181C32; + background-color: #F5F8FA; + pointer-events: none; + border-color: inherit; + border-style: solid; + border-width: 0; + border-inline-end-width: 1px; + border-radius: 0; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-control::-webkit-file-upload-button { + transition: none; + } +} +.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button { + background-color: #e9ecee; +} + +.form-control-plaintext { + display: block; + width: 100%; + padding: 0.75rem 0; + margin-bottom: 0; + line-height: 1.5; + color: #181C32; + background-color: transparent; + border: solid transparent; + border-width: 1px 0; +} +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { + padding-right: 0; + padding-left: 0; +} + +.form-control-sm { + min-height: calc(1.5em + 1.1rem + 2px); + padding: 0.55rem 0.75rem; + font-size: 0.925rem; + border-radius: 0.475rem; +} +.form-control-sm::file-selector-button { + padding: 0.55rem 0.75rem; + margin: -0.55rem -0.75rem; + margin-inline-end: 0.75rem; +} +.form-control-sm::-webkit-file-upload-button { + padding: 0.55rem 0.75rem; + margin: -0.55rem -0.75rem; + margin-inline-end: 0.75rem; +} + +.form-control-lg { + min-height: calc(1.5em + 1.65rem + 2px); + padding: 0.825rem 1.5rem; + font-size: 1.15rem; + border-radius: 0.475rem; +} +.form-control-lg::file-selector-button { + padding: 0.825rem 1.5rem; + margin: -0.825rem -1.5rem; + margin-inline-end: 1.5rem; +} +.form-control-lg::-webkit-file-upload-button { + padding: 0.825rem 1.5rem; + margin: -0.825rem -1.5rem; + margin-inline-end: 1.5rem; +} + +textarea.form-control { + min-height: calc(1.5em + 1.5rem + 2px); +} +textarea.form-control-sm { + min-height: calc(1.5em + 1.1rem + 2px); +} +textarea.form-control-lg { + min-height: calc(1.5em + 1.65rem + 2px); +} + +.form-control-color { + width: 3rem; + height: auto; + padding: 0.75rem; +} +.form-control-color:not(:disabled):not([readonly]) { + cursor: pointer; +} +.form-control-color::-moz-color-swatch { + height: 1.5em; + border-radius: 0.475rem; +} +.form-control-color::-webkit-color-swatch { + height: 1.5em; + border-radius: 0.475rem; +} + +.form-select { + display: block; + width: 100%; + padding: 0.75rem 3rem 0.75rem 1rem; + -moz-padding-start: calc(1rem - 3px); + font-size: 1.1rem; + font-weight: 500; + line-height: 1.5; + color: #181C32; + background-color: #ffffff; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%237E8299' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right 1rem center; + background-size: 16px 12px; + border: 1px solid #E4E6EF; + border-radius: 0.475rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); + transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-select { + transition: none; + } +} +.form-select:focus { + border-color: #B5B5C3; + outline: 0; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(114, 57, 234, 0.25); +} +.form-select[multiple], .form-select[size]:not([size="1"]) { + padding-right: 1rem; + background-image: none; +} +.form-select:disabled { + background-color: #EFF2F5; +} +.form-select:-moz-focusring { + color: transparent; + text-shadow: 0 0 0 #181C32; +} + +.form-select-sm { + padding-top: 0.55rem; + padding-bottom: 0.55rem; + padding-left: 0.75rem; + font-size: 0.925rem; + border-radius: 0.475rem; +} + +.form-select-lg { + padding-top: 0.825rem; + padding-bottom: 0.825rem; + padding-left: 1.5rem; + font-size: 1.15rem; + border-radius: 0.475rem; +} + +.form-check { + display: block; + min-height: 1.5rem; + padding-left: 2.25rem; + margin-bottom: 0.125rem; +} +.form-check .form-check-input { + float: left; + margin-left: -2.25rem; +} + +.form-check-input { + width: 1.75rem; + height: 1.75rem; + margin-top: -0.125rem; + vertical-align: top; + background-color: #ffffff; + background-repeat: no-repeat; + background-position: center; + background-size: contain; + border: 1px solid rgba(0, 0, 0, 0.25); + appearance: none; + color-adjust: exact; + transition: background-color 0.15s ease-in-out, background-position 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-check-input { + transition: none; + } +} +.form-check-input[type=checkbox] { + border-radius: 0.45em; +} +.form-check-input[type=radio] { + border-radius: 50%; +} +.form-check-input:active { + filter: brightness(90%); +} +.form-check-input:focus { + border-color: #B5B5C3; + outline: 0; + box-shadow: none; +} +.form-check-input:checked { + background-color: #7239EA; + border-color: #7239EA; +} +.form-check-input:checked[type=checkbox] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 11' width='13' height='11' fill='none'%3e%3cpath d='M11.0426 1.02893C11.3258 0.695792 11.8254 0.655283 12.1585 0.938451C12.4917 1.22162 12.5322 1.72124 12.249 2.05437L5.51985 9.97104C5.23224 10.3094 4.72261 10.3451 4.3907 10.05L0.828197 6.88335C0.50141 6.59288 0.471975 6.09249 0.762452 5.7657C1.05293 5.43891 1.55332 5.40948 1.88011 5.69995L4.83765 8.32889L11.0426 1.02893Z' fill='%23FFFFFF'/%3e%3c/svg%3e"); +} +.form-check-input:checked[type=radio] { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23FFFFFF'/%3e%3c/svg%3e"); +} +.form-check-input[type=checkbox]:indeterminate { + background-color: #7239EA; + border-color: #7239EA; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e"); +} +.form-check-input:disabled { + pointer-events: none; + filter: none; + opacity: 0.5; +} +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { + opacity: 0.5; +} + +.form-switch { + padding-left: 3.75rem; +} +.form-switch .form-check-input { + width: 3.25rem; + margin-left: -3.75rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); + background-position: left center; + border-radius: 3.25rem; + transition: background-position 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-switch .form-check-input { + transition: none; + } +} +.form-switch .form-check-input:focus { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23B5B5C3'/%3e%3c/svg%3e"); +} +.form-switch .form-check-input:checked { + background-position: right center; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e"); +} + +.form-check-inline { + display: inline-block; + margin-right: 1rem; +} + +.btn-check { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.btn-check[disabled] + .btn, .btn-check:disabled + .btn { + pointer-events: none; + filter: none; + opacity: 0.6; +} + +.form-range { + width: 100%; + height: 1.5rem; + padding: 0; + background-color: transparent; + appearance: none; +} +.form-range:focus { + outline: 0; +} +.form-range:focus::-webkit-slider-thumb { + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(114, 57, 234, 0.25); +} +.form-range:focus::-moz-range-thumb { + box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.25rem rgba(114, 57, 234, 0.25); +} +.form-range::-moz-focus-outer { + border: 0; +} +.form-range::-webkit-slider-thumb { + width: 1rem; + height: 1rem; + margin-top: -0.25rem; + background-color: #7239EA; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-webkit-slider-thumb { + transition: none; + } +} +.form-range::-webkit-slider-thumb:active { + background-color: #d5c4f9; +} +.form-range::-webkit-slider-runnable-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #E4E6EF; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); +} +.form-range::-moz-range-thumb { + width: 1rem; + height: 1rem; + background-color: #7239EA; + border: 0; + border-radius: 1rem; + box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1); + transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; + appearance: none; +} +@media (prefers-reduced-motion: reduce) { + .form-range::-moz-range-thumb { + transition: none; + } +} +.form-range::-moz-range-thumb:active { + background-color: #d5c4f9; +} +.form-range::-moz-range-track { + width: 100%; + height: 0.5rem; + color: transparent; + cursor: pointer; + background-color: #E4E6EF; + border-color: transparent; + border-radius: 1rem; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); +} +.form-range:disabled { + pointer-events: none; +} +.form-range:disabled::-webkit-slider-thumb { + background-color: #A1A5B7; +} +.form-range:disabled::-moz-range-thumb { + background-color: #A1A5B7; +} + +.form-floating { + position: relative; +} +.form-floating > .form-control, +.form-floating > .form-select { + height: calc(3.5rem + 2px); + line-height: 1.25; +} +.form-floating > label { + position: absolute; + top: 0; + left: 0; + height: 100%; + padding: 1rem 1rem; + pointer-events: none; + border: 1px solid transparent; + transform-origin: 0 0; + transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .form-floating > label { + transition: none; + } +} +.form-floating > .form-control { + padding: 1rem 1rem; +} +.form-floating > .form-control::placeholder { + color: transparent; +} +.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown) { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:-webkit-autofill { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-select { + padding-top: 1.625rem; + padding-bottom: 0.625rem; +} +.form-floating > .form-control:focus ~ label, +.form-floating > .form-control:not(:placeholder-shown) ~ label, +.form-floating > .form-select ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} +.form-floating > .form-control:-webkit-autofill ~ label { + opacity: 0.65; + transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem); +} + +.input-group { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: stretch; + width: 100%; +} +.input-group > .form-control, +.input-group > .form-select { + position: relative; + flex: 1 1 auto; + width: 1%; + min-width: 0; +} +.input-group > .form-control:focus, +.input-group > .form-select:focus { + z-index: 3; +} +.input-group .btn { + position: relative; + z-index: 2; +} +.input-group .btn:focus { + z-index: 3; +} + +.input-group-text { + display: flex; + align-items: center; + padding: 0.75rem 1rem; + font-size: 1.1rem; + font-weight: 500; + line-height: 1.5; + color: #181C32; + text-align: center; + white-space: nowrap; + background-color: #F5F8FA; + border: 1px solid #E4E6EF; + border-radius: 0.475rem; +} + +.input-group-lg > .form-control, +.input-group-lg > .form-select, +.input-group-lg > .input-group-text, +.input-group-lg > .btn { + padding: 0.825rem 1.5rem; + font-size: 1.15rem; + border-radius: 0.475rem; +} + +.input-group-sm > .form-control, +.input-group-sm > .form-select, +.input-group-sm > .input-group-text, +.input-group-sm > .btn { + padding: 0.55rem 0.75rem; + font-size: 0.925rem; + border-radius: 0.475rem; +} + +.input-group-lg > .form-select, +.input-group-sm > .form-select { + padding-right: 4rem; +} + +.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu), +.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu), +.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) { + margin-left: -1px; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.valid-feedback { + display: none; + width: 100%; + margin-top: 0.5rem; + font-size: 0.925rem; + color: #50CD89; +} + +.valid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.75rem 1rem; + margin-top: 0.1rem; + font-size: 0.925rem; + color: #000000; + background-color: #50cd89; + border-radius: 0.475rem; +} + +.was-validated :valid ~ .valid-feedback, +.was-validated :valid ~ .valid-tooltip, +.is-valid ~ .valid-feedback, +.is-valid ~ .valid-tooltip { + display: block; +} + +.was-validated .form-control:valid, .form-control.is-valid { + border-color: #50CD89; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2350CD89' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { + border-color: #50CD89; + box-shadow: 0 0 0 0.25rem rgba(80, 205, 137, 0.25); +} + +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:valid, .form-select.is-valid { + border-color: #50CD89; +} +.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] { + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%237E8299' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2350CD89' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:valid:focus, .form-select.is-valid:focus { + border-color: #50CD89; + box-shadow: 0 0 0 0.25rem rgba(80, 205, 137, 0.25); +} + +.was-validated .form-check-input:valid, .form-check-input.is-valid { + border-color: #50CD89; +} +.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked { + background-color: #50CD89; +} +.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus { + box-shadow: 0 0 0 0.25rem rgba(80, 205, 137, 0.25); +} +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { + color: #50CD89; +} + +.form-check-inline .form-check-input ~ .valid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:valid, .input-group .form-control.is-valid, +.was-validated .input-group .form-select:valid, +.input-group .form-select.is-valid { + z-index: 1; +} +.was-validated .input-group .form-control:valid:focus, .input-group .form-control.is-valid:focus, +.was-validated .input-group .form-select:valid:focus, +.input-group .form-select.is-valid:focus { + z-index: 3; +} + +.invalid-feedback { + display: none; + width: 100%; + margin-top: 0.5rem; + font-size: 0.925rem; + color: #F1416C; +} + +.invalid-tooltip { + position: absolute; + top: 100%; + z-index: 5; + display: none; + max-width: 100%; + padding: 0.75rem 1rem; + margin-top: 0.1rem; + font-size: 0.925rem; + color: #000000; + background-color: #f1416c; + border-radius: 0.475rem; +} + +.was-validated :invalid ~ .invalid-feedback, +.was-validated :invalid ~ .invalid-tooltip, +.is-invalid ~ .invalid-feedback, +.is-invalid ~ .invalid-tooltip { + display: block; +} + +.was-validated .form-control:invalid, .form-control.is-invalid { + border-color: #F1416C; + padding-right: calc(1.5em + 1.5rem); + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23F1416C'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23F1416C' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.375rem) center; + background-size: calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { + border-color: #F1416C; + box-shadow: 0 0 0 0.25rem rgba(241, 65, 108, 0.25); +} + +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { + padding-right: calc(1.5em + 1.5rem); + background-position: top calc(0.375em + 0.375rem) right calc(0.375em + 0.375rem); +} + +.was-validated .form-select:invalid, .form-select.is-invalid { + border-color: #F1416C; +} +.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] { + padding-right: 5.5rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%237E8299' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"), url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23F1416C'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23F1416C' stroke='none'/%3e%3c/svg%3e"); + background-position: right 1rem center, center right 3rem; + background-size: 16px 12px, calc(0.75em + 0.75rem) calc(0.75em + 0.75rem); +} +.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus { + border-color: #F1416C; + box-shadow: 0 0 0 0.25rem rgba(241, 65, 108, 0.25); +} + +.was-validated .form-check-input:invalid, .form-check-input.is-invalid { + border-color: #F1416C; +} +.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked { + background-color: #F1416C; +} +.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus { + box-shadow: 0 0 0 0.25rem rgba(241, 65, 108, 0.25); +} +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { + color: #F1416C; +} + +.form-check-inline .form-check-input ~ .invalid-feedback { + margin-left: 0.5em; +} + +.was-validated .input-group .form-control:invalid, .input-group .form-control.is-invalid, +.was-validated .input-group .form-select:invalid, +.input-group .form-select.is-invalid { + z-index: 2; +} +.was-validated .input-group .form-control:invalid:focus, .input-group .form-control.is-invalid:focus, +.was-validated .input-group .form-select:invalid:focus, +.input-group .form-select.is-invalid:focus { + z-index: 3; +} + +.btn { + display: inline-block; + font-weight: 500; + line-height: 1.5; + color: #181C32; + text-align: center; + vertical-align: middle; + cursor: pointer; + user-select: none; + background-color: transparent; + border: 1px solid transparent; + padding: 0.75rem 1.5rem; + font-size: 1.1rem; + border-radius: 0.475rem; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .btn { + transition: none; + } +} +.btn:hover { + color: #181C32; + text-decoration: none; +} +.btn-check:focus + .btn, .btn:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.25); +} +.btn-check:checked + .btn, .btn-check:active + .btn, .btn:active, .btn.active { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-check:checked + .btn:focus, .btn-check:active + .btn:focus, .btn:active:focus, .btn.active:focus { + box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.25), inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn:disabled, .btn.disabled, fieldset:disabled .btn { + pointer-events: none; + opacity: 0.6; + box-shadow: none; +} + +.btn-white { + color: #000000; + background-color: #ffffff; + border-color: #ffffff; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-white:hover { + color: #000000; + background-color: white; + border-color: white; +} +.btn-check:focus + .btn-white, .btn-white:focus { + color: #000000; + background-color: white; + border-color: white; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(217, 217, 217, 0.5); +} +.btn-check:checked + .btn-white, .btn-check:active + .btn-white, .btn-white:active, .btn-white.active, .show > .btn-white.dropdown-toggle { + color: #000000; + background-color: white; + border-color: white; +} +.btn-check:checked + .btn-white:focus, .btn-check:active + .btn-white:focus, .btn-white:active:focus, .btn-white.active:focus, .show > .btn-white.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(217, 217, 217, 0.5); +} +.btn-white:disabled, .btn-white.disabled { + color: #000000; + background-color: #ffffff; + border-color: #ffffff; +} + +.btn-light { + color: #000000; + background-color: #F5F8FA; + border-color: #F5F8FA; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-light:hover { + color: #000000; + background-color: #f7f9fb; + border-color: #f6f9fb; +} +.btn-check:focus + .btn-light, .btn-light:focus { + color: #000000; + background-color: #f7f9fb; + border-color: #f6f9fb; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(208, 211, 213, 0.5); +} +.btn-check:checked + .btn-light, .btn-check:active + .btn-light, .btn-light:active, .btn-light.active, .show > .btn-light.dropdown-toggle { + color: #000000; + background-color: #f7f9fb; + border-color: #f6f9fb; +} +.btn-check:checked + .btn-light:focus, .btn-check:active + .btn-light:focus, .btn-light:active:focus, .btn-light.active:focus, .show > .btn-light.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(208, 211, 213, 0.5); +} +.btn-light:disabled, .btn-light.disabled { + color: #000000; + background-color: #F5F8FA; + border-color: #F5F8FA; +} + +.btn-primary { + color: #ffffff; + background-color: #7239EA; + border-color: #7239EA; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-primary:hover { + color: #ffffff; + background-color: #6130c7; + border-color: #5b2ebb; +} +.btn-check:focus + .btn-primary, .btn-primary:focus { + color: #ffffff; + background-color: #6130c7; + border-color: #5b2ebb; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(135, 87, 237, 0.5); +} +.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle { + color: #ffffff; + background-color: #5b2ebb; + border-color: #562bb0; +} +.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(135, 87, 237, 0.5); +} +.btn-primary:disabled, .btn-primary.disabled { + color: #ffffff; + background-color: #7239EA; + border-color: #7239EA; +} + +.btn-secondary { + color: #000000; + background-color: #E4E6EF; + border-color: #E4E6EF; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-secondary:hover { + color: #000000; + background-color: #e8eaf1; + border-color: #e7e9f1; +} +.btn-check:focus + .btn-secondary, .btn-secondary:focus { + color: #000000; + background-color: #e8eaf1; + border-color: #e7e9f1; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(194, 196, 203, 0.5); +} +.btn-check:checked + .btn-secondary, .btn-check:active + .btn-secondary, .btn-secondary:active, .btn-secondary.active, .show > .btn-secondary.dropdown-toggle { + color: #000000; + background-color: #e9ebf2; + border-color: #e7e9f1; +} +.btn-check:checked + .btn-secondary:focus, .btn-check:active + .btn-secondary:focus, .btn-secondary:active:focus, .btn-secondary.active:focus, .show > .btn-secondary.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(194, 196, 203, 0.5); +} +.btn-secondary:disabled, .btn-secondary.disabled { + color: #000000; + background-color: #E4E6EF; + border-color: #E4E6EF; +} + +.btn-success { + color: #000000; + background-color: #50CD89; + border-color: #50CD89; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-success:hover { + color: #000000; + background-color: #6ad59b; + border-color: #62d295; +} +.btn-check:focus + .btn-success, .btn-success:focus { + color: #000000; + background-color: #6ad59b; + border-color: #62d295; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(68, 174, 116, 0.5); +} +.btn-check:checked + .btn-success, .btn-check:active + .btn-success, .btn-success:active, .btn-success.active, .show > .btn-success.dropdown-toggle { + color: #000000; + background-color: #73d7a1; + border-color: #62d295; +} +.btn-check:checked + .btn-success:focus, .btn-check:active + .btn-success:focus, .btn-success:active:focus, .btn-success.active:focus, .show > .btn-success.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(68, 174, 116, 0.5); +} +.btn-success:disabled, .btn-success.disabled { + color: #000000; + background-color: #50CD89; + border-color: #50CD89; +} + +.btn-info { + color: #000000; + background-color: #009EF7; + border-color: #009EF7; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-info:hover { + color: #000000; + background-color: #26adf8; + border-color: #1aa8f8; +} +.btn-check:focus + .btn-info, .btn-info:focus { + color: #000000; + background-color: #26adf8; + border-color: #1aa8f8; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(0, 134, 210, 0.5); +} +.btn-check:checked + .btn-info, .btn-check:active + .btn-info, .btn-info:active, .btn-info.active, .show > .btn-info.dropdown-toggle { + color: #000000; + background-color: #33b1f9; + border-color: #1aa8f8; +} +.btn-check:checked + .btn-info:focus, .btn-check:active + .btn-info:focus, .btn-info:active:focus, .btn-info.active:focus, .show > .btn-info.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(0, 134, 210, 0.5); +} +.btn-info:disabled, .btn-info.disabled { + color: #000000; + background-color: #009EF7; + border-color: #009EF7; +} + +.btn-warning { + color: #000000; + background-color: #FFC700; + border-color: #FFC700; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-warning:hover { + color: #000000; + background-color: #ffcf26; + border-color: #ffcd1a; +} +.btn-check:focus + .btn-warning, .btn-warning:focus { + color: #000000; + background-color: #ffcf26; + border-color: #ffcd1a; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(217, 169, 0, 0.5); +} +.btn-check:checked + .btn-warning, .btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active, .show > .btn-warning.dropdown-toggle { + color: #000000; + background-color: #ffd233; + border-color: #ffcd1a; +} +.btn-check:checked + .btn-warning:focus, .btn-check:active + .btn-warning:focus, .btn-warning:active:focus, .btn-warning.active:focus, .show > .btn-warning.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(217, 169, 0, 0.5); +} +.btn-warning:disabled, .btn-warning.disabled { + color: #000000; + background-color: #FFC700; + border-color: #FFC700; +} + +.btn-danger { + color: #000000; + background-color: #F1416C; + border-color: #F1416C; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-danger:hover { + color: #000000; + background-color: #f35e82; + border-color: #f2547b; +} +.btn-check:focus + .btn-danger, .btn-danger:focus { + color: #000000; + background-color: #f35e82; + border-color: #f2547b; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(205, 55, 92, 0.5); +} +.btn-check:checked + .btn-danger, .btn-check:active + .btn-danger, .btn-danger:active, .btn-danger.active, .show > .btn-danger.dropdown-toggle { + color: #000000; + background-color: #f46789; + border-color: #f2547b; +} +.btn-check:checked + .btn-danger:focus, .btn-check:active + .btn-danger:focus, .btn-danger:active:focus, .btn-danger.active:focus, .show > .btn-danger.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(205, 55, 92, 0.5); +} +.btn-danger:disabled, .btn-danger.disabled { + color: #000000; + background-color: #F1416C; + border-color: #F1416C; +} + +.btn-dark { + color: #ffffff; + background-color: #181C32; + border-color: #181C32; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075); +} +.btn-dark:hover { + color: #ffffff; + background-color: #14182b; + border-color: #131628; +} +.btn-check:focus + .btn-dark, .btn-dark:focus { + color: #ffffff; + background-color: #14182b; + border-color: #131628; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.25rem rgba(59, 62, 81, 0.5); +} +.btn-check:checked + .btn-dark, .btn-check:active + .btn-dark, .btn-dark:active, .btn-dark.active, .show > .btn-dark.dropdown-toggle { + color: #ffffff; + background-color: #131628; + border-color: #121526; +} +.btn-check:checked + .btn-dark:focus, .btn-check:active + .btn-dark:focus, .btn-dark:active:focus, .btn-dark.active:focus, .show > .btn-dark.dropdown-toggle:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(59, 62, 81, 0.5); +} +.btn-dark:disabled, .btn-dark.disabled { + color: #ffffff; + background-color: #181C32; + border-color: #181C32; +} + +.btn-outline-white { + color: #ffffff; + border-color: #ffffff; +} +.btn-outline-white:hover { + color: #000000; + background-color: #ffffff; + border-color: #ffffff; +} +.btn-check:focus + .btn-outline-white, .btn-outline-white:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.5); +} +.btn-check:checked + .btn-outline-white, .btn-check:active + .btn-outline-white, .btn-outline-white:active, .btn-outline-white.active, .btn-outline-white.dropdown-toggle.show { + color: #000000; + background-color: #ffffff; + border-color: #ffffff; +} +.btn-check:checked + .btn-outline-white:focus, .btn-check:active + .btn-outline-white:focus, .btn-outline-white:active:focus, .btn-outline-white.active:focus, .btn-outline-white.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(255, 255, 255, 0.5); +} +.btn-outline-white:disabled, .btn-outline-white.disabled { + color: #ffffff; + background-color: transparent; +} + +.btn-outline-light { + color: #F5F8FA; + border-color: #F5F8FA; +} +.btn-outline-light:hover { + color: #000000; + background-color: #F5F8FA; + border-color: #F5F8FA; +} +.btn-check:focus + .btn-outline-light, .btn-outline-light:focus { + box-shadow: 0 0 0 0.25rem rgba(245, 248, 250, 0.5); +} +.btn-check:checked + .btn-outline-light, .btn-check:active + .btn-outline-light, .btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show { + color: #000000; + background-color: #F5F8FA; + border-color: #F5F8FA; +} +.btn-check:checked + .btn-outline-light:focus, .btn-check:active + .btn-outline-light:focus, .btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(245, 248, 250, 0.5); +} +.btn-outline-light:disabled, .btn-outline-light.disabled { + color: #F5F8FA; + background-color: transparent; +} + +.btn-outline-primary { + color: #7239EA; + border-color: #7239EA; +} +.btn-outline-primary:hover { + color: #ffffff; + background-color: #7239EA; + border-color: #7239EA; +} +.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus { + box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.5); +} +.btn-check:checked + .btn-outline-primary, .btn-check:active + .btn-outline-primary, .btn-outline-primary:active, .btn-outline-primary.active, .btn-outline-primary.dropdown-toggle.show { + color: #ffffff; + background-color: #7239EA; + border-color: #7239EA; +} +.btn-check:checked + .btn-outline-primary:focus, .btn-check:active + .btn-outline-primary:focus, .btn-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(114, 57, 234, 0.5); +} +.btn-outline-primary:disabled, .btn-outline-primary.disabled { + color: #7239EA; + background-color: transparent; +} + +.btn-outline-secondary { + color: #E4E6EF; + border-color: #E4E6EF; +} +.btn-outline-secondary:hover { + color: #000000; + background-color: #E4E6EF; + border-color: #E4E6EF; +} +.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus { + box-shadow: 0 0 0 0.25rem rgba(228, 230, 239, 0.5); +} +.btn-check:checked + .btn-outline-secondary, .btn-check:active + .btn-outline-secondary, .btn-outline-secondary:active, .btn-outline-secondary.active, .btn-outline-secondary.dropdown-toggle.show { + color: #000000; + background-color: #E4E6EF; + border-color: #E4E6EF; +} +.btn-check:checked + .btn-outline-secondary:focus, .btn-check:active + .btn-outline-secondary:focus, .btn-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(228, 230, 239, 0.5); +} +.btn-outline-secondary:disabled, .btn-outline-secondary.disabled { + color: #E4E6EF; + background-color: transparent; +} + +.btn-outline-success { + color: #50CD89; + border-color: #50CD89; +} +.btn-outline-success:hover { + color: #000000; + background-color: #50CD89; + border-color: #50CD89; +} +.btn-check:focus + .btn-outline-success, .btn-outline-success:focus { + box-shadow: 0 0 0 0.25rem rgba(80, 205, 137, 0.5); +} +.btn-check:checked + .btn-outline-success, .btn-check:active + .btn-outline-success, .btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show { + color: #000000; + background-color: #50CD89; + border-color: #50CD89; +} +.btn-check:checked + .btn-outline-success:focus, .btn-check:active + .btn-outline-success:focus, .btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(80, 205, 137, 0.5); +} +.btn-outline-success:disabled, .btn-outline-success.disabled { + color: #50CD89; + background-color: transparent; +} + +.btn-outline-info { + color: #009EF7; + border-color: #009EF7; +} +.btn-outline-info:hover { + color: #000000; + background-color: #009EF7; + border-color: #009EF7; +} +.btn-check:focus + .btn-outline-info, .btn-outline-info:focus { + box-shadow: 0 0 0 0.25rem rgba(0, 158, 247, 0.5); +} +.btn-check:checked + .btn-outline-info, .btn-check:active + .btn-outline-info, .btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show { + color: #000000; + background-color: #009EF7; + border-color: #009EF7; +} +.btn-check:checked + .btn-outline-info:focus, .btn-check:active + .btn-outline-info:focus, .btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(0, 158, 247, 0.5); +} +.btn-outline-info:disabled, .btn-outline-info.disabled { + color: #009EF7; + background-color: transparent; +} + +.btn-outline-warning { + color: #FFC700; + border-color: #FFC700; +} +.btn-outline-warning:hover { + color: #000000; + background-color: #FFC700; + border-color: #FFC700; +} +.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus { + box-shadow: 0 0 0 0.25rem rgba(255, 199, 0, 0.5); +} +.btn-check:checked + .btn-outline-warning, .btn-check:active + .btn-outline-warning, .btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show { + color: #000000; + background-color: #FFC700; + border-color: #FFC700; +} +.btn-check:checked + .btn-outline-warning:focus, .btn-check:active + .btn-outline-warning:focus, .btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(255, 199, 0, 0.5); +} +.btn-outline-warning:disabled, .btn-outline-warning.disabled { + color: #FFC700; + background-color: transparent; +} + +.btn-outline-danger { + color: #F1416C; + border-color: #F1416C; +} +.btn-outline-danger:hover { + color: #000000; + background-color: #F1416C; + border-color: #F1416C; +} +.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus { + box-shadow: 0 0 0 0.25rem rgba(241, 65, 108, 0.5); +} +.btn-check:checked + .btn-outline-danger, .btn-check:active + .btn-outline-danger, .btn-outline-danger:active, .btn-outline-danger.active, .btn-outline-danger.dropdown-toggle.show { + color: #000000; + background-color: #F1416C; + border-color: #F1416C; +} +.btn-check:checked + .btn-outline-danger:focus, .btn-check:active + .btn-outline-danger:focus, .btn-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(241, 65, 108, 0.5); +} +.btn-outline-danger:disabled, .btn-outline-danger.disabled { + color: #F1416C; + background-color: transparent; +} + +.btn-outline-dark { + color: #181C32; + border-color: #181C32; +} +.btn-outline-dark:hover { + color: #ffffff; + background-color: #181C32; + border-color: #181C32; +} +.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus { + box-shadow: 0 0 0 0.25rem rgba(24, 28, 50, 0.5); +} +.btn-check:checked + .btn-outline-dark, .btn-check:active + .btn-outline-dark, .btn-outline-dark:active, .btn-outline-dark.active, .btn-outline-dark.dropdown-toggle.show { + color: #ffffff; + background-color: #181C32; + border-color: #181C32; +} +.btn-check:checked + .btn-outline-dark:focus, .btn-check:active + .btn-outline-dark:focus, .btn-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125), 0 0 0 0.25rem rgba(24, 28, 50, 0.5); +} +.btn-outline-dark:disabled, .btn-outline-dark.disabled { + color: #181C32; + background-color: transparent; +} + +.btn-link { + font-weight: 400; + color: #7239EA; + text-decoration: none; +} +.btn-link:hover { + color: #4c15c2; + text-decoration: underline; +} +.btn-link:focus { + text-decoration: underline; +} +.btn-link:disabled, .btn-link.disabled { + color: #7E8299; +} + +.btn-lg, .btn-group-lg > .btn { + padding: 0.825rem 1.75rem; + font-size: 1.15rem; + border-radius: 0.475rem; +} + +.btn-sm, .btn-group-sm > .btn { + padding: 0.55rem 1.25rem; + font-size: 0.925rem; + border-radius: 0.475rem; +} + +.fade { + transition: opacity 0.15s linear; +} +@media (prefers-reduced-motion: reduce) { + .fade { + transition: none; + } +} +.fade:not(.show) { + opacity: 0; +} + +.collapse:not(.show) { + display: none; +} + +.collapsing { + height: 0; + overflow: hidden; + transition: height 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing { + transition: none; + } +} +.collapsing.collapse-horizontal { + width: 0; + height: auto; + transition: width 0.35s ease; +} +@media (prefers-reduced-motion: reduce) { + .collapsing.collapse-horizontal { + transition: none; + } +} + +.dropup, +.dropend, +.dropdown, +.dropstart { + position: relative; +} + +.dropdown-toggle { + white-space: nowrap; +} +.dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid; + border-right: 0.3em solid transparent; + border-bottom: 0; + border-left: 0.3em solid transparent; +} +.dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropdown-menu { + position: absolute; + z-index: 1000; + display: none; + min-width: 10rem; + padding: 0.5rem 0; + margin: 0; + font-size: 1rem; + color: #181C32; + text-align: left; + list-style: none; + background-color: #ffffff; + background-clip: padding-box; + border: 0 solid rgba(0, 0, 0, 0.15); + border-radius: 0.475rem; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); +} +.dropdown-menu[data-bs-popper] { + top: 100%; + left: 0; + margin-top: 0.125rem; +} + +.dropdown-menu-start { + --bs-position: start; +} +.dropdown-menu-start[data-bs-popper] { + right: auto; + left: 0; +} + +.dropdown-menu-end { + --bs-position: end; +} +.dropdown-menu-end[data-bs-popper] { + right: 0; + left: auto; +} + +@media (min-width: 576px) { + .dropdown-menu-sm-start { + --bs-position: start; + } + .dropdown-menu-sm-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-sm-end { + --bs-position: end; + } + .dropdown-menu-sm-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 768px) { + .dropdown-menu-md-start { + --bs-position: start; + } + .dropdown-menu-md-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-md-end { + --bs-position: end; + } + .dropdown-menu-md-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 992px) { + .dropdown-menu-lg-start { + --bs-position: start; + } + .dropdown-menu-lg-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-lg-end { + --bs-position: end; + } + .dropdown-menu-lg-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1200px) { + .dropdown-menu-xl-start { + --bs-position: start; + } + .dropdown-menu-xl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xl-end { + --bs-position: end; + } + .dropdown-menu-xl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +@media (min-width: 1400px) { + .dropdown-menu-xxl-start { + --bs-position: start; + } + .dropdown-menu-xxl-start[data-bs-popper] { + right: auto; + left: 0; + } + + .dropdown-menu-xxl-end { + --bs-position: end; + } + .dropdown-menu-xxl-end[data-bs-popper] { + right: 0; + left: auto; + } +} +.dropup .dropdown-menu[data-bs-popper] { + top: auto; + bottom: 100%; + margin-top: 0; + margin-bottom: 0.125rem; +} +.dropup .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0; + border-right: 0.3em solid transparent; + border-bottom: 0.3em solid; + border-left: 0.3em solid transparent; +} +.dropup .dropdown-toggle:empty::after { + margin-left: 0; +} + +.dropend .dropdown-menu[data-bs-popper] { + top: 0; + right: auto; + left: 100%; + margin-top: 0; + margin-left: 0.125rem; +} +.dropend .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0; + border-bottom: 0.3em solid transparent; + border-left: 0.3em solid; +} +.dropend .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropend .dropdown-toggle::after { + vertical-align: 0; +} + +.dropstart .dropdown-menu[data-bs-popper] { + top: 0; + right: 100%; + left: auto; + margin-top: 0; + margin-right: 0.125rem; +} +.dropstart .dropdown-toggle::after { + display: inline-block; + margin-left: 0.255em; + vertical-align: 0.255em; + content: ""; +} +.dropstart .dropdown-toggle::after { + display: none; +} +.dropstart .dropdown-toggle::before { + display: inline-block; + margin-right: 0.255em; + vertical-align: 0.255em; + content: ""; + border-top: 0.3em solid transparent; + border-right: 0.3em solid; + border-bottom: 0.3em solid transparent; +} +.dropstart .dropdown-toggle:empty::after { + margin-left: 0; +} +.dropstart .dropdown-toggle::before { + vertical-align: 0; +} + +.dropdown-divider { + height: 0; + margin: 0.5rem 0; + overflow: hidden; + border-top: 1px solid rgba(0, 0, 0, 0.15); +} + +.dropdown-item { + display: block; + width: 100%; + padding: 0.25rem 1rem; + clear: both; + font-weight: 400; + color: #181C32; + text-align: inherit; + white-space: nowrap; + background-color: transparent; + border: 0; +} +.dropdown-item:hover, .dropdown-item:focus { + color: #16192d; + text-decoration: none; + background-color: #EFF2F5; +} +.dropdown-item.active, .dropdown-item:active { + color: #FFFFFF; + text-decoration: none; + background-color: #7239EA; +} +.dropdown-item.disabled, .dropdown-item:disabled { + color: #A1A5B7; + pointer-events: none; + background-color: transparent; +} + +.dropdown-menu.show { + display: block; +} + +.dropdown-header { + display: block; + padding: 0.5rem 1rem; + margin-bottom: 0; + font-size: 0.925rem; + color: #7E8299; + white-space: nowrap; +} + +.dropdown-item-text { + display: block; + padding: 0.25rem 1rem; + color: #181C32; +} + +.dropdown-menu-dark { + color: #E4E6EF; + background-color: #3F4254; + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item { + color: #E4E6EF; +} +.dropdown-menu-dark .dropdown-item:hover, .dropdown-menu-dark .dropdown-item:focus { + color: #ffffff; + background-color: rgba(255, 255, 255, 0.15); +} +.dropdown-menu-dark .dropdown-item.active, .dropdown-menu-dark .dropdown-item:active { + color: #FFFFFF; + background-color: #7239EA; +} +.dropdown-menu-dark .dropdown-item.disabled, .dropdown-menu-dark .dropdown-item:disabled { + color: #A1A5B7; +} +.dropdown-menu-dark .dropdown-divider { + border-color: rgba(0, 0, 0, 0.15); +} +.dropdown-menu-dark .dropdown-item-text { + color: #E4E6EF; +} +.dropdown-menu-dark .dropdown-header { + color: #A1A5B7; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-flex; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + flex: 1 1 auto; +} +.btn-group > .btn-check:checked + .btn, +.btn-group > .btn-check:focus + .btn, +.btn-group > .btn:hover, +.btn-group > .btn:focus, +.btn-group > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn-check:checked + .btn, +.btn-group-vertical > .btn-check:focus + .btn, +.btn-group-vertical > .btn:hover, +.btn-group-vertical > .btn:focus, +.btn-group-vertical > .btn:active, +.btn-group-vertical > .btn.active { + z-index: 1; +} + +.btn-toolbar { + display: flex; + flex-wrap: wrap; + justify-content: flex-start; +} +.btn-toolbar .input-group { + width: auto; +} + +.btn-group > .btn:not(:first-child), +.btn-group > .btn-group:not(:first-child) { + margin-left: -1px; +} +.btn-group > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:nth-child(n+3), +.btn-group > :not(.btn-check) + .btn, +.btn-group > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.dropdown-toggle-split { + padding-right: 1.125rem; + padding-left: 1.125rem; +} +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after { + margin-left: 0; +} +.dropstart .dropdown-toggle-split::before { + margin-right: 0; +} + +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { + padding-right: 0.9375rem; + padding-left: 0.9375rem; +} + +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { + padding-right: 1.3125rem; + padding-left: 1.3125rem; +} + +.btn-group.show .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.show .dropdown-toggle.btn-link { + box-shadow: none; +} + +.btn-group-vertical { + flex-direction: column; + align-items: flex-start; + justify-content: center; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + width: 100%; +} +.btn-group-vertical > .btn:not(:first-child), +.btn-group-vertical > .btn-group:not(:first-child) { + margin-top: -1px; +} +.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), +.btn-group-vertical > .btn-group:not(:last-child) > .btn { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn ~ .btn, +.btn-group-vertical > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav { + display: flex; + flex-wrap: wrap; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav-link { + display: block; + padding: 0.5rem 1rem; + color: #7239EA; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .nav-link { + transition: none; + } +} +.nav-link:hover, .nav-link:focus { + color: #4c15c2; + text-decoration: none; +} +.nav-link.disabled { + color: #7E8299; + pointer-events: none; + cursor: default; +} + +.nav-tabs { + border-bottom: 1px solid #EFF2F5; +} +.nav-tabs .nav-link { + margin-bottom: -1px; + background: none; + border: 1px solid transparent; + border-top-left-radius: 0.475rem; + border-top-right-radius: 0.475rem; +} +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { + border-color: #EFF2F5 #EFF2F5 #EFF2F5; + isolation: isolate; +} +.nav-tabs .nav-link.disabled { + color: #7E8299; + background-color: transparent; + border-color: transparent; +} +.nav-tabs .nav-link.active, +.nav-tabs .nav-item.show .nav-link { + color: #5E6278; + background-color: #ffffff; + border-color: #E4E6EF #E4E6EF #ffffff; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +.nav-pills .nav-link { + background: none; + border: 0; + border-radius: 0.475rem; +} +.nav-pills .nav-link.active, +.nav-pills .show > .nav-link { + color: #FFFFFF; + background-color: #7239EA; +} + +.nav-fill > .nav-link, +.nav-fill .nav-item { + flex: 1 1 auto; + text-align: center; +} + +.nav-justified > .nav-link, +.nav-justified .nav-item { + flex-basis: 0; + flex-grow: 1; + text-align: center; +} + +.nav-fill .nav-item .nav-link, +.nav-justified .nav-item .nav-link { + width: 100%; +} + +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} + +.navbar { + position: relative; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.navbar > .container, +.navbar > .container-fluid, +.navbar > .container-sm, +.navbar > .container-md, +.navbar > .container-lg, +.navbar > .container-xl, +.navbar > .container-xxl { + display: flex; + flex-wrap: inherit; + align-items: center; + justify-content: space-between; +} +.navbar-brand { + padding-top: 0.44375rem; + padding-bottom: 0.44375rem; + margin-right: 1rem; + font-size: 1.075rem; + white-space: nowrap; +} +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-nav { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; +} +.navbar-nav .dropdown-menu { + position: static; +} + +.navbar-text { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.navbar-collapse { + flex-basis: 100%; + flex-grow: 1; + align-items: center; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.075rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.475rem; + transition: box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .navbar-toggler { + transition: none; + } +} +.navbar-toggler:hover { + text-decoration: none; +} +.navbar-toggler:focus { + text-decoration: none; + outline: 0; + box-shadow: 0 0 0 0.25rem; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + +.navbar-nav-scroll { + max-height: var(--bs-scroll-height, 75vh); + overflow-y: auto; +} + +@media (min-width: 576px) { + .navbar-expand-sm { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-sm .navbar-nav { + flex-direction: row; + } + .navbar-expand-sm .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-sm .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-sm .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-sm .navbar-toggler { + display: none; + } + .navbar-expand-sm .offcanvas-header { + display: none; + } + .navbar-expand-sm .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-sm .offcanvas-top, +.navbar-expand-sm .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-sm .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 768px) { + .navbar-expand-md { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-md .navbar-nav { + flex-direction: row; + } + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-md .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-md .navbar-toggler { + display: none; + } + .navbar-expand-md .offcanvas-header { + display: none; + } + .navbar-expand-md .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-md .offcanvas-top, +.navbar-expand-md .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-md .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 992px) { + .navbar-expand-lg { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-lg .navbar-nav { + flex-direction: row; + } + .navbar-expand-lg .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-lg .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-lg .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-lg .navbar-toggler { + display: none; + } + .navbar-expand-lg .offcanvas-header { + display: none; + } + .navbar-expand-lg .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-lg .offcanvas-top, +.navbar-expand-lg .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-lg .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1200px) { + .navbar-expand-xl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xl .navbar-toggler { + display: none; + } + .navbar-expand-xl .offcanvas-header { + display: none; + } + .navbar-expand-xl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xl .offcanvas-top, +.navbar-expand-xl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +@media (min-width: 1400px) { + .navbar-expand-xxl { + flex-wrap: nowrap; + justify-content: flex-start; + } + .navbar-expand-xxl .navbar-nav { + flex-direction: row; + } + .navbar-expand-xxl .navbar-nav .dropdown-menu { + position: absolute; + } + .navbar-expand-xxl .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; + } + .navbar-expand-xxl .navbar-nav-scroll { + overflow: visible; + } + .navbar-expand-xxl .navbar-collapse { + display: flex !important; + flex-basis: auto; + } + .navbar-expand-xxl .navbar-toggler { + display: none; + } + .navbar-expand-xxl .offcanvas-header { + display: none; + } + .navbar-expand-xxl .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; + } + .navbar-expand-xxl .offcanvas-top, +.navbar-expand-xxl .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; + } + .navbar-expand-xxl .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; + } +} +.navbar-expand { + flex-wrap: nowrap; + justify-content: flex-start; +} +.navbar-expand .navbar-nav { + flex-direction: row; +} +.navbar-expand .navbar-nav .dropdown-menu { + position: absolute; +} +.navbar-expand .navbar-nav .nav-link { + padding-right: 0.5rem; + padding-left: 0.5rem; +} +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} +.navbar-expand .navbar-collapse { + display: flex !important; + flex-basis: auto; +} +.navbar-expand .navbar-toggler { + display: none; +} +.navbar-expand .offcanvas-header { + display: none; +} +.navbar-expand .offcanvas { + position: inherit; + bottom: 0; + z-index: 1000; + flex-grow: 1; + visibility: visible !important; + background-color: transparent; + border-right: 0; + border-left: 0; + transition: none; + transform: none; +} +.navbar-expand .offcanvas-top, +.navbar-expand .offcanvas-bottom { + height: auto; + border-top: 0; + border-bottom: 0; +} +.navbar-expand .offcanvas-body { + display: flex; + flex-grow: 0; + padding: 0; + overflow-y: visible; +} + +.navbar-light .navbar-brand { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-nav .nav-link { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { + color: rgba(0, 0, 0, 0.7); +} +.navbar-light .navbar-nav .nav-link.disabled { + color: rgba(0, 0, 0, 0.3); +} +.navbar-light .navbar-nav .show > .nav-link, +.navbar-light .navbar-nav .nav-link.active { + color: rgba(0, 0, 0, 0.9); +} +.navbar-light .navbar-toggler { + color: rgba(0, 0, 0, 0.55); + border-color: rgba(0, 0, 0, 0.1); +} +.navbar-light .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-light .navbar-text { + color: rgba(0, 0, 0, 0.55); +} +.navbar-light .navbar-text a, +.navbar-light .navbar-text a:hover, +.navbar-light .navbar-text a:focus { + color: rgba(0, 0, 0, 0.9); +} + +.navbar-dark .navbar-brand { + color: #ffffff; +} +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: #ffffff; +} +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .nav-link.active { + color: #ffffff; +} +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.55); + border-color: rgba(255, 255, 255, 0.1); +} +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); +} +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.55); +} +.navbar-dark .navbar-text a, +.navbar-dark .navbar-text a:hover, +.navbar-dark .navbar-text a:focus { + color: #ffffff; +} + +.card { + position: relative; + display: flex; + flex-direction: column; + min-width: 0; + word-wrap: break-word; + background-color: #ffffff; + background-clip: border-box; + border: 1px solid #EFF2F5; + border-radius: 0.85rem; + box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02); +} +.card > hr { + margin-right: 0; + margin-left: 0; +} +.card > .list-group { + border-top: inherit; + border-bottom: inherit; +} +.card > .list-group:first-child { + border-top-width: 0; + border-top-left-radius: calc(0.85rem - 1px); + border-top-right-radius: calc(0.85rem - 1px); +} +.card > .list-group:last-child { + border-bottom-width: 0; + border-bottom-right-radius: calc(0.85rem - 1px); + border-bottom-left-radius: calc(0.85rem - 1px); +} +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} + +.card-body { + flex: 1 1 auto; + padding: 1rem 1rem; +} + +.card-title { + margin-bottom: 0.5rem; +} + +.card-subtitle { + margin-top: -0.25rem; + margin-bottom: 0; +} + +.card-text:last-child { + margin-bottom: 0; +} + +.card-link:hover { + text-decoration: none; +} +.card-link + .card-link { + margin-left: 1rem; +} + +.card-header { + padding: 0.5rem 1rem; + margin-bottom: 0; + background-color: #ffffff; + border-bottom: 1px solid #EFF2F5; +} +.card-header:first-child { + border-radius: calc(0.85rem - 1px) calc(0.85rem - 1px) 0 0; +} + +.card-footer { + padding: 0.5rem 1rem; + background-color: #ffffff; + border-top: 1px solid #EFF2F5; +} +.card-footer:last-child { + border-radius: 0 0 calc(0.85rem - 1px) calc(0.85rem - 1px); +} + +.card-header-tabs { + margin-right: -0.5rem; + margin-bottom: -0.5rem; + margin-left: -0.5rem; + border-bottom: 0; +} + +.card-header-pills { + margin-right: -0.5rem; + margin-left: -0.5rem; +} + +.card-img-overlay { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + padding: 1rem; + border-radius: calc(0.85rem - 1px); +} + +.card-img, +.card-img-top, +.card-img-bottom { + width: 100%; +} + +.card-img, +.card-img-top { + border-top-left-radius: calc(0.85rem - 1px); + border-top-right-radius: calc(0.85rem - 1px); +} + +.card-img, +.card-img-bottom { + border-bottom-right-radius: calc(0.85rem - 1px); + border-bottom-left-radius: calc(0.85rem - 1px); +} + +.card-group > .card { + margin-bottom: 0.75rem; +} +@media (min-width: 576px) { + .card-group { + display: flex; + flex-flow: row wrap; + } + .card-group > .card { + flex: 1 0 0%; + margin-bottom: 0; + } + .card-group > .card + .card { + margin-left: 0; + border-left: 0; + } + .card-group > .card:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-top, +.card-group > .card:not(:last-child) .card-header { + border-top-right-radius: 0; + } + .card-group > .card:not(:last-child) .card-img-bottom, +.card-group > .card:not(:last-child) .card-footer { + border-bottom-right-radius: 0; + } + .card-group > .card:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-top, +.card-group > .card:not(:first-child) .card-header { + border-top-left-radius: 0; + } + .card-group > .card:not(:first-child) .card-img-bottom, +.card-group > .card:not(:first-child) .card-footer { + border-bottom-left-radius: 0; + } +} + +.accordion-button { + position: relative; + display: flex; + align-items: center; + width: 100%; + padding: 1.5rem 1.5rem; + font-size: 1rem; + color: #181C32; + text-align: left; + background-color: #ffffff; + border: 0; + border-radius: 0; + overflow-anchor: none; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button { + transition: none; + } +} +.accordion-button:not(.collapsed) { + color: #7239EA; + background-color: #F5F8FA; + box-shadow: inset 0 -1px 0 #EFF2F5; +} +.accordion-button:not(.collapsed)::after { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237239EA'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + transform: rotate(-180deg); +} +.accordion-button::after { + flex-shrink: 0; + width: 1.15rem; + height: 1.15rem; + margin-left: auto; + content: ""; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23181C32'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-size: 1.15rem; + transition: transform 0.2s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .accordion-button::after { + transition: none; + } +} +.accordion-button:hover { + z-index: 2; +} +.accordion-button:focus { + z-index: 3; + border-color: #EFF2F5; + outline: 0; + box-shadow: none; +} + +.accordion-header { + margin-bottom: 0; +} + +.accordion-item { + background-color: #ffffff; + border: 1px solid #EFF2F5; +} +.accordion-item:first-of-type { + border-top-left-radius: 0.475rem; + border-top-right-radius: 0.475rem; +} +.accordion-item:first-of-type .accordion-button { + border-top-left-radius: calc(0.475rem - 1px); + border-top-right-radius: calc(0.475rem - 1px); +} +.accordion-item:not(:first-of-type) { + border-top: 0; +} +.accordion-item:last-of-type { + border-bottom-right-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} +.accordion-item:last-of-type .accordion-button.collapsed { + border-bottom-right-radius: calc(0.475rem - 1px); + border-bottom-left-radius: calc(0.475rem - 1px); +} +.accordion-item:last-of-type .accordion-collapse { + border-bottom-right-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} + +.accordion-body { + padding: 1.5rem 1.5rem; +} + +.accordion-flush .accordion-collapse { + border-width: 0; +} +.accordion-flush .accordion-item { + border-right: 0; + border-left: 0; + border-radius: 0; +} +.accordion-flush .accordion-item:first-child { + border-top: 0; +} +.accordion-flush .accordion-item:last-child { + border-bottom: 0; +} +.accordion-flush .accordion-item .accordion-button { + border-radius: 0; +} + +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: 0 0; + margin-bottom: 1rem; + list-style: none; +} + +.breadcrumb-item + .breadcrumb-item { + padding-left: 0.5rem; +} +.breadcrumb-item + .breadcrumb-item::before { + float: left; + padding-right: 0.5rem; + color: #7E8299; + content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; +} +.breadcrumb-item.active { + color: #7239EA; +} + +.pagination { + display: flex; + padding-left: 0; + list-style: none; +} + +.page-link { + position: relative; + display: block; + color: #5E6278; + background-color: transparent; + border: 0 solid transparent; + transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .page-link { + transition: none; + } +} +.page-link:hover { + z-index: 2; + color: #7239EA; + text-decoration: none; + background-color: #F8F5FF; + border-color: transparent; +} +.page-link:focus { + z-index: 3; + color: #7239EA; + background-color: #F8F5FF; + outline: 0; + box-shadow: none; +} + +.page-item:not(:first-child) .page-link { + margin-left: 0; +} +.page-item.active .page-link { + z-index: 3; + color: #FFFFFF; + background-color: #7239EA; + border-color: transparent; +} +.page-item.disabled .page-link { + color: #B5B5C3; + pointer-events: none; + background-color: transparent; + border-color: transparent; +} + +.page-link { + padding: 0.375rem 0.75rem; +} + +.page-item:first-child .page-link { + border-top-left-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} +.page-item:last-child .page-link { + border-top-right-radius: 0.475rem; + border-bottom-right-radius: 0.475rem; +} + +.pagination-lg .page-link { + padding: 0.75rem 1.5rem; + font-size: 1.075rem; +} +.pagination-lg .page-item:first-child .page-link { + border-top-left-radius: 0.775rem; + border-bottom-left-radius: 0.775rem; +} +.pagination-lg .page-item:last-child .page-link { + border-top-right-radius: 0.775rem; + border-bottom-right-radius: 0.775rem; +} + +.pagination-sm .page-link { + padding: 0.25rem 0.5rem; + font-size: 0.925rem; +} +.pagination-sm .page-item:first-child .page-link { + border-top-left-radius: 0.275rem; + border-bottom-left-radius: 0.275rem; +} +.pagination-sm .page-item:last-child .page-link { + border-top-right-radius: 0.275rem; + border-bottom-right-radius: 0.275rem; +} + +.badge { + display: inline-block; + padding: 0.5em 0.85em; + font-size: 0.85rem; + font-weight: 600; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.475rem; +} +.badge:empty { + display: none; +} + +.btn .badge { + position: relative; + top: -1px; +} + +.alert { + position: relative; + padding: 1rem 1rem; + margin-bottom: 1rem; + border: 1px solid transparent; + border-radius: 0.475rem; +} + +.alert-heading { + color: inherit; +} + +.alert-link { + font-weight: 500; +} + +.alert-dismissible { + padding-right: 3rem; +} +.alert-dismissible .btn-close { + position: absolute; + top: 0; + right: 0; + z-index: 2; + padding: 1.25rem 1rem; +} + +.alert-white { + color: #666666; + background-color: white; + border-color: white; +} +.alert-white .alert-link { + color: #525252; +} + +.alert-light { + color: #626364; + background-color: #fdfefe; + border-color: #fcfdfe; +} +.alert-light .alert-link { + color: #4e4f50; +} + +.alert-primary { + color: #44228c; + background-color: #e3d7fb; + border-color: #d5c4f9; +} +.alert-primary .alert-link { + color: #361b70; +} + +.alert-secondary { + color: #5b5c60; + background-color: #fafafc; + border-color: #f7f8fa; +} +.alert-secondary .alert-link { + color: #494a4d; +} + +.alert-success { + color: #205237; + background-color: #dcf5e7; + border-color: #cbf0dc; +} +.alert-success .alert-link { + color: #1a422c; +} + +.alert-info { + color: #005f94; + background-color: #ccecfd; + border-color: #b3e2fd; +} +.alert-info .alert-link { + color: #004c76; +} + +.alert-warning { + color: #665000; + background-color: #fff4cc; + border-color: #ffeeb3; +} +.alert-warning .alert-link { + color: #524000; +} + +.alert-danger { + color: #912741; + background-color: #fcd9e2; + border-color: #fbc6d3; +} +.alert-danger .alert-link { + color: #741f34; +} + +.alert-dark { + color: #0e111e; + background-color: #d1d2d6; + border-color: #babbc2; +} +.alert-dark .alert-link { + color: #0b0e18; +} + +@keyframes progress-bar-stripes { + 0% { + background-position-x: 1rem; + } +} +.progress { + display: flex; + height: 1rem; + overflow: hidden; + font-size: 0.75rem; + background-color: #F5F8FA; + border-radius: 6px; + box-shadow: none; +} + +.progress-bar { + display: flex; + flex-direction: column; + justify-content: center; + overflow: hidden; + color: #ffffff; + text-align: center; + white-space: nowrap; + background-color: #7239EA; + transition: width 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar { + transition: none; + } +} + +.progress-bar-striped { + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 1rem 1rem; +} + +.progress-bar-animated { + animation: 1s linear infinite progress-bar-stripes; +} +@media (prefers-reduced-motion: reduce) { + .progress-bar-animated { + animation: none; + } +} + +.list-group { + display: flex; + flex-direction: column; + padding-left: 0; + margin-bottom: 0; + border-radius: 0.475rem; +} + +.list-group-numbered { + list-style-type: none; + counter-reset: section; +} +.list-group-numbered > li::before { + content: counters(section, ".") ". "; + counter-increment: section; +} + +.list-group-item-action { + width: 100%; + color: #5E6278; + text-align: inherit; +} +.list-group-item-action:hover, .list-group-item-action:focus { + z-index: 1; + color: #5E6278; + text-decoration: none; + background-color: #F5F8FA; +} +.list-group-item-action:active { + color: #181C32; + background-color: #EFF2F5; +} + +.list-group-item { + position: relative; + display: block; + padding: 0.5rem 1rem; + color: #181C32; + background-color: #ffffff; + border: 1px solid rgba(0, 0, 0, 0.125); +} +.list-group-item:first-child { + border-top-left-radius: inherit; + border-top-right-radius: inherit; +} +.list-group-item:last-child { + border-bottom-right-radius: inherit; + border-bottom-left-radius: inherit; +} +.list-group-item.disabled, .list-group-item:disabled { + color: #7E8299; + pointer-events: none; + background-color: #ffffff; +} +.list-group-item.active { + z-index: 2; + color: #FFFFFF; + background-color: #7239EA; + border-color: #7239EA; +} +.list-group-item + .list-group-item { + border-top-width: 0; +} +.list-group-item + .list-group-item.active { + margin-top: -1px; + border-top-width: 1px; +} + +.list-group-horizontal { + flex-direction: row; +} +.list-group-horizontal > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; +} +.list-group-horizontal > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; +} +.list-group-horizontal > .list-group-item.active { + margin-top: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; +} +.list-group-horizontal > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; +} + +@media (min-width: 576px) { + .list-group-horizontal-sm { + flex-direction: row; + } + .list-group-horizontal-sm > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; + } + .list-group-horizontal-sm > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-sm > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-sm > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 768px) { + .list-group-horizontal-md { + flex-direction: row; + } + .list-group-horizontal-md > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; + } + .list-group-horizontal-md > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-md > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-md > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 992px) { + .list-group-horizontal-lg { + flex-direction: row; + } + .list-group-horizontal-lg > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; + } + .list-group-horizontal-lg > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-lg > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-lg > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1200px) { + .list-group-horizontal-xl { + flex-direction: row; + } + .list-group-horizontal-xl > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xl > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +@media (min-width: 1400px) { + .list-group-horizontal-xxl { + flex-direction: row; + } + .list-group-horizontal-xxl > .list-group-item:first-child { + border-bottom-left-radius: 0.475rem; + border-top-right-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item:last-child { + border-top-right-radius: 0.475rem; + border-bottom-left-radius: 0; + } + .list-group-horizontal-xxl > .list-group-item.active { + margin-top: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item { + border-top-width: 1px; + border-left-width: 0; + } + .list-group-horizontal-xxl > .list-group-item + .list-group-item.active { + margin-left: -1px; + border-left-width: 1px; + } +} +.list-group-flush { + border-radius: 0; +} +.list-group-flush > .list-group-item { + border-width: 0 0 1px; +} +.list-group-flush > .list-group-item:last-child { + border-bottom-width: 0; +} + +.list-group-item-white { + color: #666666; + background-color: white; +} +.list-group-item-white.list-group-item-action:hover, .list-group-item-white.list-group-item-action:focus { + color: #666666; + background-color: #e6e6e6; +} +.list-group-item-white.list-group-item-action.active { + color: #ffffff; + background-color: #666666; + border-color: #666666; +} + +.list-group-item-light { + color: #626364; + background-color: #fdfefe; +} +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { + color: #626364; + background-color: #e4e5e5; +} +.list-group-item-light.list-group-item-action.active { + color: #ffffff; + background-color: #626364; + border-color: #626364; +} + +.list-group-item-primary { + color: #44228c; + background-color: #e3d7fb; +} +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { + color: #44228c; + background-color: #ccc2e2; +} +.list-group-item-primary.list-group-item-action.active { + color: #ffffff; + background-color: #44228c; + border-color: #44228c; +} + +.list-group-item-secondary { + color: #5b5c60; + background-color: #fafafc; +} +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { + color: #5b5c60; + background-color: #e1e1e3; +} +.list-group-item-secondary.list-group-item-action.active { + color: #ffffff; + background-color: #5b5c60; + border-color: #5b5c60; +} + +.list-group-item-success { + color: #205237; + background-color: #dcf5e7; +} +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { + color: #205237; + background-color: #c6ddd0; +} +.list-group-item-success.list-group-item-action.active { + color: #ffffff; + background-color: #205237; + border-color: #205237; +} + +.list-group-item-info { + color: #005f94; + background-color: #ccecfd; +} +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { + color: #005f94; + background-color: #b8d4e4; +} +.list-group-item-info.list-group-item-action.active { + color: #ffffff; + background-color: #005f94; + border-color: #005f94; +} + +.list-group-item-warning { + color: #665000; + background-color: #fff4cc; +} +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { + color: #665000; + background-color: #e6dcb8; +} +.list-group-item-warning.list-group-item-action.active { + color: #ffffff; + background-color: #665000; + border-color: #665000; +} + +.list-group-item-danger { + color: #912741; + background-color: #fcd9e2; +} +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { + color: #912741; + background-color: #e3c3cb; +} +.list-group-item-danger.list-group-item-action.active { + color: #ffffff; + background-color: #912741; + border-color: #912741; +} + +.list-group-item-dark { + color: #0e111e; + background-color: #d1d2d6; +} +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { + color: #0e111e; + background-color: #bcbdc1; +} +.list-group-item-dark.list-group-item-action.active { + color: #ffffff; + background-color: #0e111e; + border-color: #0e111e; +} + +.btn-close { + box-sizing: content-box; + width: 1em; + height: 1em; + padding: 0.25em 0.25em; + color: #000000; + background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat; + border: 0; + border-radius: 0.475rem; + opacity: 0.5; +} +.btn-close:hover { + color: #000000; + text-decoration: none; + opacity: 0.75; +} +.btn-close:focus { + outline: 0; + box-shadow: 0 0 0 0.25rem rgba(114, 57, 234, 0.25); + opacity: 1; +} +.btn-close:disabled, .btn-close.disabled { + pointer-events: none; + user-select: none; + opacity: 0.25; +} + +.btn-close-white { + filter: invert(1) grayscale(100%) brightness(200%); +} + +.toast { + width: 350px; + max-width: 100%; + font-size: 0.875rem; + pointer-events: auto; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075); + border-radius: 0.475rem; +} +.toast.showing { + opacity: 0; +} +.toast:not(.show) { + display: none; +} + +.toast-container { + width: max-content; + max-width: 100%; + pointer-events: none; +} +.toast-container > :not(:last-child) { + margin-bottom: 1.5rem; +} + +.toast-header { + display: flex; + align-items: center; + padding: 0.5rem 0.75rem; + color: #7E8299; + background-color: rgba(255, 255, 255, 0.85); + background-clip: padding-box; + border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.475rem - 1px); + border-top-right-radius: calc(0.475rem - 1px); +} +.toast-header .btn-close { + margin-right: -0.375rem; + margin-left: 0.75rem; +} + +.toast-body { + padding: 0.75rem; + word-wrap: break-word; +} + +.modal { + position: fixed; + top: 0; + left: 0; + z-index: 1055; + display: none; + width: 100%; + height: 100%; + overflow-x: hidden; + overflow-y: auto; + outline: 0; +} + +.modal-dialog { + position: relative; + width: auto; + margin: 0.5rem; + pointer-events: none; +} +.modal.fade .modal-dialog { + transition: transform 0.3s ease-out; + transform: translate(0, -50px); +} +@media (prefers-reduced-motion: reduce) { + .modal.fade .modal-dialog { + transition: none; + } +} +.modal.show .modal-dialog { + transform: none; +} +.modal.modal-static .modal-dialog { + transform: scale(1.02); +} + +.modal-dialog-scrollable { + height: calc(100% - 1rem); +} +.modal-dialog-scrollable .modal-content { + max-height: 100%; + overflow: hidden; +} +.modal-dialog-scrollable .modal-body { + overflow-y: auto; +} + +.modal-dialog-centered { + display: flex; + align-items: center; + min-height: calc(100% - 1rem); +} + +.modal-content { + position: relative; + display: flex; + flex-direction: column; + width: 100%; + pointer-events: auto; + background-color: #ffffff; + background-clip: padding-box; + border: 0 solid rgba(0, 0, 0, 0.2); + border-radius: 0.475rem; + box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1); + outline: 0; +} + +.modal-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1050; + width: 100vw; + height: 100vh; + background-color: #000000; +} +.modal-backdrop.fade { + opacity: 0; +} +.modal-backdrop.show { + opacity: 0.3; +} + +.modal-header { + display: flex; + flex-shrink: 0; + align-items: center; + justify-content: space-between; + padding: 1.75rem 1.75rem; + border-bottom: 1px solid #EFF2F5; + border-top-left-radius: 0.475rem; + border-top-right-radius: 0.475rem; +} +.modal-header .btn-close { + padding: 0.875rem 0.875rem; + margin: -0.875rem -0.875rem -0.875rem auto; +} + +.modal-title { + margin-bottom: 0; + line-height: 1.5; +} + +.modal-body { + position: relative; + flex: 1 1 auto; + padding: 1.75rem; +} + +.modal-footer { + display: flex; + flex-wrap: wrap; + flex-shrink: 0; + align-items: center; + justify-content: flex-end; + padding: 1.5rem; + border-top: 1px solid #EFF2F5; + border-bottom-right-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} +.modal-footer > * { + margin: 0.25rem; +} + +@media (min-width: 576px) { + .modal-dialog { + max-width: 500px; + margin: 1.75rem auto; + } + + .modal-dialog-scrollable { + height: calc(100% - 3.5rem); + } + + .modal-dialog-centered { + min-height: calc(100% - 3.5rem); + } + + .modal-content { + box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1); + } + + .modal-sm { + max-width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg, +.modal-xl { + max-width: 800px; + } +} +@media (min-width: 1200px) { + .modal-xl { + max-width: 1140px; + } +} +.modal-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; +} +.modal-fullscreen .modal-content { + height: 100%; + border: 0; + border-radius: 0; +} +.modal-fullscreen .modal-header { + border-radius: 0; +} +.modal-fullscreen .modal-body { + overflow-y: auto; +} +.modal-fullscreen .modal-footer { + border-radius: 0; +} + +@media (max-width: 575.98px) { + .modal-fullscreen-sm-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-sm-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-sm-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-sm-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 767.98px) { + .modal-fullscreen-md-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-md-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-md-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-md-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-md-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 991.98px) { + .modal-fullscreen-lg-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-lg-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-lg-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-lg-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1199.98px) { + .modal-fullscreen-xl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xl-down .modal-footer { + border-radius: 0; + } +} +@media (max-width: 1399.98px) { + .modal-fullscreen-xxl-down { + width: 100vw; + max-width: none; + height: 100%; + margin: 0; + } + .modal-fullscreen-xxl-down .modal-content { + height: 100%; + border: 0; + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-header { + border-radius: 0; + } + .modal-fullscreen-xxl-down .modal-body { + overflow-y: auto; + } + .modal-fullscreen-xxl-down .modal-footer { + border-radius: 0; + } +} +.tooltip { + position: absolute; + z-index: 1080; + display: block; + margin: 0; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 0.925rem; + word-wrap: break-word; + opacity: 0; +} +.tooltip.show { + opacity: 1; +} +.tooltip .tooltip-arrow { + position: absolute; + display: block; + width: 0.8rem; + height: 0.4rem; +} +.tooltip .tooltip-arrow::before { + position: absolute; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-tooltip-top, .bs-tooltip-auto[data-popper-placement^=top] { + padding: 0.4rem 0; +} +.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow { + bottom: 0; +} +.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + top: -1px; + border-width: 0.4rem 0.4rem 0; + border-top-color: #ffffff; +} + +.bs-tooltip-end, .bs-tooltip-auto[data-popper-placement^=right] { + padding: 0 0.4rem; +} +.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow { + left: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + right: -1px; + border-width: 0.4rem 0.4rem 0.4rem 0; + border-right-color: #ffffff; +} + +.bs-tooltip-bottom, .bs-tooltip-auto[data-popper-placement^=bottom] { + padding: 0.4rem 0; +} +.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow { + top: 0; +} +.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + bottom: -1px; + border-width: 0 0.4rem 0.4rem; + border-bottom-color: #ffffff; +} + +.bs-tooltip-start, .bs-tooltip-auto[data-popper-placement^=left] { + padding: 0 0.4rem; +} +.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow { + right: 0; + width: 0.4rem; + height: 0.8rem; +} +.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + left: -1px; + border-width: 0.4rem 0 0.4rem 0.4rem; + border-left-color: #ffffff; +} + +.tooltip-inner { + max-width: 200px; + padding: 0.75rem 1rem; + color: #3F4254; + text-align: center; + background-color: #ffffff; + border-radius: 0.475rem; +} + +.popover { + position: absolute; + top: 0; + left: 0 /* rtl:ignore */; + z-index: 1070; + display: block; + max-width: 276px; + font-family: var(--bs-font-sans-serif); + font-style: normal; + font-weight: 400; + line-height: 1.5; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + white-space: normal; + line-break: auto; + font-size: 1rem; + word-wrap: break-word; + background-color: #ffffff; + background-clip: padding-box; + border: 1px solid #ffffff; + border-radius: 0.475rem; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); +} +.popover .popover-arrow { + position: absolute; + display: block; + width: 1rem; + height: 0.5rem; +} +.popover .popover-arrow::before, .popover .popover-arrow::after { + position: absolute; + display: block; + content: ""; + border-color: transparent; + border-style: solid; +} + +.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow { + bottom: calc(-0.5rem - 1px); +} +.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + bottom: 0; + border-width: 0.5rem 0.5rem 0; + border-top-color: white; +} +.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + bottom: 1px; + border-width: 0.5rem 0.5rem 0; + border-top-color: #ffffff; +} + +.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow { + left: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + left: 0; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: white; +} +.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + left: 1px; + border-width: 0.5rem 0.5rem 0.5rem 0; + border-right-color: #ffffff; +} + +.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow { + top: calc(-0.5rem - 1px); +} +.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + top: 0; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: white; +} +.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + top: 1px; + border-width: 0 0.5rem 0.5rem 0.5rem; + border-bottom-color: #ffffff; +} +.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + position: absolute; + top: 0; + left: 50%; + display: block; + width: 1rem; + margin-left: -0.5rem; + content: ""; + border-bottom: 1px solid #ffffff; +} + +.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow { + right: calc(-0.5rem - 1px); + width: 0.5rem; + height: 1rem; +} +.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + right: 0; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: white; +} +.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + right: 1px; + border-width: 0.5rem 0 0.5rem 0.5rem; + border-left-color: #ffffff; +} + +.popover-header { + padding: 1rem 1.25rem; + margin-bottom: 0; + font-size: 1rem; + color: #3F4254; + background-color: #ffffff; + border-bottom: 1px solid #ffffff; + border-top-left-radius: calc(0.475rem - 1px); + border-top-right-radius: calc(0.475rem - 1px); +} +.popover-header:empty { + display: none; +} + +.popover-body { + padding: 1.25rem 1.25rem; + color: #3F4254; +} + +.carousel { + position: relative; +} + +.carousel.pointer-event { + touch-action: pan-y; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner::after { + display: block; + clear: both; + content: ""; +} + +.carousel-item { + position: relative; + display: none; + float: left; + width: 100%; + margin-right: -100%; + backface-visibility: hidden; + transition: transform 0.6s ease-in-out; +} +@media (prefers-reduced-motion: reduce) { + .carousel-item { + transition: none; + } +} + +.carousel-item.active, +.carousel-item-next, +.carousel-item-prev { + display: block; +} + +/* rtl:begin:ignore */ +.carousel-item-next:not(.carousel-item-start), +.active.carousel-item-end { + transform: translateX(100%); +} + +.carousel-item-prev:not(.carousel-item-end), +.active.carousel-item-start { + transform: translateX(-100%); +} + +/* rtl:end:ignore */ +.carousel-fade .carousel-item { + opacity: 0; + transition-property: opacity; + transform: none; +} +.carousel-fade .carousel-item.active, +.carousel-fade .carousel-item-next.carousel-item-start, +.carousel-fade .carousel-item-prev.carousel-item-end { + z-index: 1; + opacity: 1; +} +.carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + z-index: 0; + opacity: 0; + transition: opacity 0s 0.6s; +} +@media (prefers-reduced-motion: reduce) { + .carousel-fade .active.carousel-item-start, +.carousel-fade .active.carousel-item-end { + transition: none; + } +} + +.carousel-control-prev, +.carousel-control-next { + position: absolute; + top: 0; + bottom: 0; + z-index: 1; + display: flex; + align-items: center; + justify-content: center; + width: 15%; + padding: 0; + color: #ffffff; + text-align: center; + background: none; + border: 0; + opacity: 0.5; + transition: opacity 0.15s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-control-prev, +.carousel-control-next { + transition: none; + } +} +.carousel-control-prev:hover, .carousel-control-prev:focus, +.carousel-control-next:hover, +.carousel-control-next:focus { + color: #ffffff; + text-decoration: none; + outline: 0; + opacity: 0.9; +} + +.carousel-control-prev { + left: 0; +} + +.carousel-control-next { + right: 0; +} + +.carousel-control-prev-icon, +.carousel-control-next-icon { + display: inline-block; + width: 2rem; + height: 2rem; + background-repeat: no-repeat; + background-position: 50%; + background-size: 100% 100%; +} + +/* rtl:options: { + "autoRename": true, + "stringMap":[ { + "name" : "prev-next", + "search" : "prev", + "replace" : "next" + } ] +} */ +.carousel-control-prev-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); +} + +.carousel-control-next-icon { + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); +} + +.carousel-indicators { + position: absolute; + right: 0; + bottom: 0; + left: 0; + z-index: 2; + display: flex; + justify-content: center; + padding: 0; + margin-right: 15%; + margin-bottom: 1rem; + margin-left: 15%; + list-style: none; +} +.carousel-indicators [data-bs-target] { + box-sizing: content-box; + flex: 0 1 auto; + width: 30px; + height: 3px; + padding: 0; + margin-right: 3px; + margin-left: 3px; + text-indent: -999px; + cursor: pointer; + background-color: #ffffff; + background-clip: padding-box; + border: 0; + border-top: 10px solid transparent; + border-bottom: 10px solid transparent; + opacity: 0.5; + transition: opacity 0.6s ease; +} +@media (prefers-reduced-motion: reduce) { + .carousel-indicators [data-bs-target] { + transition: none; + } +} +.carousel-indicators .active { + opacity: 1; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 1.25rem; + left: 15%; + padding-top: 1.25rem; + padding-bottom: 1.25rem; + color: #ffffff; + text-align: center; +} + +.carousel-dark .carousel-control-prev-icon, +.carousel-dark .carousel-control-next-icon { + filter: invert(1) grayscale(100); +} +.carousel-dark .carousel-indicators [data-bs-target] { + background-color: #000000; +} +.carousel-dark .carousel-caption { + color: #000000; +} + +@keyframes spinner-border { + to { + transform: rotate(360deg) /* rtl:ignore */; + } +} +.spinner-border { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + border: 0.185em solid currentColor; + border-right-color: transparent; + border-radius: 50%; + animation: 0.65s linear infinite spinner-border; +} + +.spinner-border-sm { + width: 1rem; + height: 1rem; + border-width: 0.145em; +} + +@keyframes spinner-grow { + 0% { + transform: scale(0); + } + 50% { + opacity: 1; + transform: none; + } +} +.spinner-grow { + display: inline-block; + width: 2rem; + height: 2rem; + vertical-align: -0.125em; + background-color: currentColor; + border-radius: 50%; + opacity: 0; + animation: 0.65s linear infinite spinner-grow; +} + +.spinner-grow-sm { + width: 1rem; + height: 1rem; +} + +@media (prefers-reduced-motion: reduce) { + .spinner-border, +.spinner-grow { + animation-duration: 1.3s; + } +} +.clearfix::after { + display: block; + clear: both; + content: ""; +} + +.link-white { + color: #ffffff; +} +.link-white:hover, .link-white:focus { + color: white; +} + +.link-light { + color: #F5F8FA; +} +.link-light:hover, .link-light:focus { + color: #f7f9fb; +} + +.link-primary { + color: #7239EA; +} +.link-primary:hover, .link-primary:focus { + color: #5b2ebb; +} + +.link-secondary { + color: #E4E6EF; +} +.link-secondary:hover, .link-secondary:focus { + color: #e9ebf2; +} + +.link-success { + color: #50CD89; +} +.link-success:hover, .link-success:focus { + color: #73d7a1; +} + +.link-info { + color: #009EF7; +} +.link-info:hover, .link-info:focus { + color: #33b1f9; +} + +.link-warning { + color: #FFC700; +} +.link-warning:hover, .link-warning:focus { + color: #ffd233; +} + +.link-danger { + color: #F1416C; +} +.link-danger:hover, .link-danger:focus { + color: #f46789; +} + +.link-dark { + color: #181C32; +} +.link-dark:hover, .link-dark:focus { + color: #131628; +} + +.ratio { + position: relative; + width: 100%; +} +.ratio::before { + display: block; + padding-top: var(--bs-aspect-ratio); + content: ""; +} +.ratio > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.ratio-1x1 { + --bs-aspect-ratio: 100%; +} + +.ratio-4x3 { + --bs-aspect-ratio: 75%; +} + +.ratio-16x9 { + --bs-aspect-ratio: 56.25%; +} + +.ratio-21x9 { + --bs-aspect-ratio: 42.8571428571%; +} + +.fixed-top { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.fixed-bottom { + position: fixed; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; +} + +.sticky-top { + position: sticky; + top: 0; + z-index: 1020; +} + +@media (min-width: 576px) { + .sticky-sm-top { + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 768px) { + .sticky-md-top { + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 992px) { + .sticky-lg-top { + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1200px) { + .sticky-xl-top { + position: sticky; + top: 0; + z-index: 1020; + } +} +@media (min-width: 1400px) { + .sticky-xxl-top { + position: sticky; + top: 0; + z-index: 1020; + } +} +.hstack { + display: flex; + flex-direction: row; + align-items: center; + align-self: stretch; +} + +.vstack { + display: flex; + flex: 1 1 auto; + flex-direction: column; + align-self: stretch; +} + +.visually-hidden, +.visually-hidden-focusable:not(:focus):not(:focus-within) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + white-space: nowrap !important; + border: 0 !important; +} + +.stretched-link::after { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1; + content: ""; +} + +.text-truncate { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.vr { + display: inline-block; + align-self: stretch; + width: 1px; + min-height: 1em; + background-color: currentColor; + opacity: 0.25; +} + +.align-baseline { + vertical-align: baseline !important; +} + +.align-top { + vertical-align: top !important; +} + +.align-middle { + vertical-align: middle !important; +} + +.align-bottom { + vertical-align: bottom !important; +} + +.align-text-bottom { + vertical-align: text-bottom !important; +} + +.align-text-top { + vertical-align: text-top !important; +} + +.float-start { + float: left !important; +} + +.float-end { + float: right !important; +} + +.float-none { + float: none !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-5 { + opacity: 0.05 !important; +} + +.opacity-10 { + opacity: 0.1 !important; +} + +.opacity-15 { + opacity: 0.15 !important; +} + +.opacity-20 { + opacity: 0.2 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.overflow-auto { + overflow: auto !important; +} + +.overflow-hidden { + overflow: hidden !important; +} + +.overflow-visible { + overflow: visible !important; +} + +.overflow-scroll { + overflow: scroll !important; +} + +.d-inline { + display: inline !important; +} + +.d-inline-block { + display: inline-block !important; +} + +.d-block { + display: block !important; +} + +.d-grid { + display: grid !important; +} + +.d-table { + display: table !important; +} + +.d-table-row { + display: table-row !important; +} + +.d-table-cell { + display: table-cell !important; +} + +.d-flex { + display: flex !important; +} + +.d-inline-flex { + display: inline-flex !important; +} + +.d-none { + display: none !important; +} + +.shadow { + box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075) !important; +} + +.shadow-sm { + box-shadow: 0 0.1rem 1rem 0.25rem rgba(0, 0, 0, 0.05) !important; +} + +.shadow-lg { + box-shadow: 0 1rem 2rem 1rem rgba(0, 0, 0, 0.1) !important; +} + +.shadow-none { + box-shadow: none !important; +} + +.position-static { + position: static !important; +} + +.position-relative { + position: relative !important; +} + +.position-absolute { + position: absolute !important; +} + +.position-fixed { + position: fixed !important; +} + +.position-sticky { + position: sticky !important; +} + +.top-0 { + top: 0 !important; +} + +.top-25 { + top: 25% !important; +} + +.top-50 { + top: 50% !important; +} + +.top-75 { + top: 75% !important; +} + +.top-100 { + top: 100% !important; +} + +.bottom-0 { + bottom: 0 !important; +} + +.bottom-25 { + bottom: 25% !important; +} + +.bottom-50 { + bottom: 50% !important; +} + +.bottom-75 { + bottom: 75% !important; +} + +.bottom-100 { + bottom: 100% !important; +} + +.start-0 { + left: 0 !important; +} + +.start-25 { + left: 25% !important; +} + +.start-50 { + left: 50% !important; +} + +.start-75 { + left: 75% !important; +} + +.start-100 { + left: 100% !important; +} + +.end-0 { + right: 0 !important; +} + +.end-25 { + right: 25% !important; +} + +.end-50 { + right: 50% !important; +} + +.end-75 { + right: 75% !important; +} + +.end-100 { + right: 100% !important; +} + +.translate-middle { + transform: translate(-50%, -50%) !important; +} + +.translate-middle-x { + transform: translateX(-50%) !important; +} + +.translate-middle-y { + transform: translateY(-50%) !important; +} + +.border { + border: 1px solid #EFF2F5 !important; +} + +.border-0 { + border: 0 !important; +} + +.border-top { + border-top: 1px solid #EFF2F5 !important; +} + +.border-top-0 { + border-top: 0 !important; +} + +.border-end { + border-right: 1px solid #EFF2F5 !important; +} + +.border-end-0 { + border-right: 0 !important; +} + +.border-bottom { + border-bottom: 1px solid #EFF2F5 !important; +} + +.border-bottom-0 { + border-bottom: 0 !important; +} + +.border-start { + border-left: 1px solid #EFF2F5 !important; +} + +.border-start-0 { + border-left: 0 !important; +} + +.border-white { + border-color: #ffffff !important; +} + +.border-light { + border-color: #F5F8FA !important; +} + +.border-primary { + border-color: #7239EA !important; +} + +.border-secondary { + border-color: #E4E6EF !important; +} + +.border-success { + border-color: #50CD89 !important; +} + +.border-info { + border-color: #009EF7 !important; +} + +.border-warning { + border-color: #FFC700 !important; +} + +.border-danger { + border-color: #F1416C !important; +} + +.border-dark { + border-color: #181C32 !important; +} + +.border-0 { + border-width: 0 !important; +} + +.border-1 { + border-width: 1px !important; +} + +.border-2 { + border-width: 2px !important; +} + +.border-3 { + border-width: 3px !important; +} + +.border-4 { + border-width: 4px !important; +} + +.border-5 { + border-width: 5px !important; +} + +.w-unset { + width: unset !important; +} + +.w-25 { + width: 25% !important; +} + +.w-50 { + width: 50% !important; +} + +.w-75 { + width: 75% !important; +} + +.w-100 { + width: 100% !important; +} + +.w-auto { + width: auto !important; +} + +.w-1px { + width: 1px !important; +} + +.w-2px { + width: 2px !important; +} + +.w-3px { + width: 3px !important; +} + +.w-4px { + width: 4px !important; +} + +.w-5px { + width: 5px !important; +} + +.w-6px { + width: 6px !important; +} + +.w-7px { + width: 7px !important; +} + +.w-8px { + width: 8px !important; +} + +.w-9px { + width: 9px !important; +} + +.w-10px { + width: 10px !important; +} + +.w-15px { + width: 15px !important; +} + +.w-20px { + width: 20px !important; +} + +.w-25px { + width: 25px !important; +} + +.w-30px { + width: 30px !important; +} + +.w-35px { + width: 35px !important; +} + +.w-40px { + width: 40px !important; +} + +.w-45px { + width: 45px !important; +} + +.w-50px { + width: 50px !important; +} + +.w-55px { + width: 55px !important; +} + +.w-60px { + width: 60px !important; +} + +.w-65px { + width: 65px !important; +} + +.w-70px { + width: 70px !important; +} + +.w-75px { + width: 75px !important; +} + +.w-80px { + width: 80px !important; +} + +.w-85px { + width: 85px !important; +} + +.w-90px { + width: 90px !important; +} + +.w-95px { + width: 95px !important; +} + +.w-100px { + width: 100px !important; +} + +.w-125px { + width: 125px !important; +} + +.w-150px { + width: 150px !important; +} + +.w-175px { + width: 175px !important; +} + +.w-200px { + width: 200px !important; +} + +.w-225px { + width: 225px !important; +} + +.w-250px { + width: 250px !important; +} + +.w-275px { + width: 275px !important; +} + +.w-300px { + width: 300px !important; +} + +.w-325px { + width: 325px !important; +} + +.w-350px { + width: 350px !important; +} + +.w-375px { + width: 375px !important; +} + +.w-400px { + width: 400px !important; +} + +.w-425px { + width: 425px !important; +} + +.w-450px { + width: 450px !important; +} + +.w-475px { + width: 475px !important; +} + +.w-500px { + width: 500px !important; +} + +.w-550px { + width: 550px !important; +} + +.w-600px { + width: 600px !important; +} + +.w-650px { + width: 650px !important; +} + +.w-700px { + width: 700px !important; +} + +.w-750px { + width: 750px !important; +} + +.w-800px { + width: 800px !important; +} + +.w-850px { + width: 850px !important; +} + +.w-900px { + width: 900px !important; +} + +.w-950px { + width: 950px !important; +} + +.w-1000px { + width: 1000px !important; +} + +.mw-unset { + max-width: unset !important; +} + +.mw-25 { + max-width: 25% !important; +} + +.mw-50 { + max-width: 50% !important; +} + +.mw-75 { + max-width: 75% !important; +} + +.mw-100 { + max-width: 100% !important; +} + +.mw-auto { + max-width: auto !important; +} + +.mw-1px { + max-width: 1px !important; +} + +.mw-2px { + max-width: 2px !important; +} + +.mw-3px { + max-width: 3px !important; +} + +.mw-4px { + max-width: 4px !important; +} + +.mw-5px { + max-width: 5px !important; +} + +.mw-6px { + max-width: 6px !important; +} + +.mw-7px { + max-width: 7px !important; +} + +.mw-8px { + max-width: 8px !important; +} + +.mw-9px { + max-width: 9px !important; +} + +.mw-10px { + max-width: 10px !important; +} + +.mw-15px { + max-width: 15px !important; +} + +.mw-20px { + max-width: 20px !important; +} + +.mw-25px { + max-width: 25px !important; +} + +.mw-30px { + max-width: 30px !important; +} + +.mw-35px { + max-width: 35px !important; +} + +.mw-40px { + max-width: 40px !important; +} + +.mw-45px { + max-width: 45px !important; +} + +.mw-50px { + max-width: 50px !important; +} + +.mw-55px { + max-width: 55px !important; +} + +.mw-60px { + max-width: 60px !important; +} + +.mw-65px { + max-width: 65px !important; +} + +.mw-70px { + max-width: 70px !important; +} + +.mw-75px { + max-width: 75px !important; +} + +.mw-80px { + max-width: 80px !important; +} + +.mw-85px { + max-width: 85px !important; +} + +.mw-90px { + max-width: 90px !important; +} + +.mw-95px { + max-width: 95px !important; +} + +.mw-100px { + max-width: 100px !important; +} + +.mw-125px { + max-width: 125px !important; +} + +.mw-150px { + max-width: 150px !important; +} + +.mw-175px { + max-width: 175px !important; +} + +.mw-200px { + max-width: 200px !important; +} + +.mw-225px { + max-width: 225px !important; +} + +.mw-250px { + max-width: 250px !important; +} + +.mw-275px { + max-width: 275px !important; +} + +.mw-300px { + max-width: 300px !important; +} + +.mw-325px { + max-width: 325px !important; +} + +.mw-350px { + max-width: 350px !important; +} + +.mw-375px { + max-width: 375px !important; +} + +.mw-400px { + max-width: 400px !important; +} + +.mw-425px { + max-width: 425px !important; +} + +.mw-450px { + max-width: 450px !important; +} + +.mw-475px { + max-width: 475px !important; +} + +.mw-500px { + max-width: 500px !important; +} + +.mw-550px { + max-width: 550px !important; +} + +.mw-600px { + max-width: 600px !important; +} + +.mw-650px { + max-width: 650px !important; +} + +.mw-700px { + max-width: 700px !important; +} + +.mw-750px { + max-width: 750px !important; +} + +.mw-800px { + max-width: 800px !important; +} + +.mw-850px { + max-width: 850px !important; +} + +.mw-900px { + max-width: 900px !important; +} + +.mw-950px { + max-width: 950px !important; +} + +.mw-1000px { + max-width: 1000px !important; +} + +.vw-100 { + width: 100vw !important; +} + +.min-vw-100 { + min-width: 100vw !important; +} + +.h-unset { + height: unset !important; +} + +.h-25 { + height: 25% !important; +} + +.h-50 { + height: 50% !important; +} + +.h-75 { + height: 75% !important; +} + +.h-100 { + height: 100% !important; +} + +.h-auto { + height: auto !important; +} + +.h-1px { + height: 1px !important; +} + +.h-2px { + height: 2px !important; +} + +.h-3px { + height: 3px !important; +} + +.h-4px { + height: 4px !important; +} + +.h-5px { + height: 5px !important; +} + +.h-6px { + height: 6px !important; +} + +.h-7px { + height: 7px !important; +} + +.h-8px { + height: 8px !important; +} + +.h-9px { + height: 9px !important; +} + +.h-10px { + height: 10px !important; +} + +.h-15px { + height: 15px !important; +} + +.h-20px { + height: 20px !important; +} + +.h-25px { + height: 25px !important; +} + +.h-30px { + height: 30px !important; +} + +.h-35px { + height: 35px !important; +} + +.h-40px { + height: 40px !important; +} + +.h-45px { + height: 45px !important; +} + +.h-50px { + height: 50px !important; +} + +.h-55px { + height: 55px !important; +} + +.h-60px { + height: 60px !important; +} + +.h-65px { + height: 65px !important; +} + +.h-70px { + height: 70px !important; +} + +.h-75px { + height: 75px !important; +} + +.h-80px { + height: 80px !important; +} + +.h-85px { + height: 85px !important; +} + +.h-90px { + height: 90px !important; +} + +.h-95px { + height: 95px !important; +} + +.h-100px { + height: 100px !important; +} + +.h-125px { + height: 125px !important; +} + +.h-150px { + height: 150px !important; +} + +.h-175px { + height: 175px !important; +} + +.h-200px { + height: 200px !important; +} + +.h-225px { + height: 225px !important; +} + +.h-250px { + height: 250px !important; +} + +.h-275px { + height: 275px !important; +} + +.h-300px { + height: 300px !important; +} + +.h-325px { + height: 325px !important; +} + +.h-350px { + height: 350px !important; +} + +.h-375px { + height: 375px !important; +} + +.h-400px { + height: 400px !important; +} + +.h-425px { + height: 425px !important; +} + +.h-450px { + height: 450px !important; +} + +.h-475px { + height: 475px !important; +} + +.h-500px { + height: 500px !important; +} + +.h-550px { + height: 550px !important; +} + +.h-600px { + height: 600px !important; +} + +.h-650px { + height: 650px !important; +} + +.h-700px { + height: 700px !important; +} + +.h-750px { + height: 750px !important; +} + +.h-800px { + height: 800px !important; +} + +.h-850px { + height: 850px !important; +} + +.h-900px { + height: 900px !important; +} + +.h-950px { + height: 950px !important; +} + +.h-1000px { + height: 1000px !important; +} + +.mh-unset { + max-height: unset !important; +} + +.mh-25 { + max-height: 25% !important; +} + +.mh-50 { + max-height: 50% !important; +} + +.mh-75 { + max-height: 75% !important; +} + +.mh-100 { + max-height: 100% !important; +} + +.mh-auto { + max-height: auto !important; +} + +.mh-1px { + max-height: 1px !important; +} + +.mh-2px { + max-height: 2px !important; +} + +.mh-3px { + max-height: 3px !important; +} + +.mh-4px { + max-height: 4px !important; +} + +.mh-5px { + max-height: 5px !important; +} + +.mh-6px { + max-height: 6px !important; +} + +.mh-7px { + max-height: 7px !important; +} + +.mh-8px { + max-height: 8px !important; +} + +.mh-9px { + max-height: 9px !important; +} + +.mh-10px { + max-height: 10px !important; +} + +.mh-15px { + max-height: 15px !important; +} + +.mh-20px { + max-height: 20px !important; +} + +.mh-25px { + max-height: 25px !important; +} + +.mh-30px { + max-height: 30px !important; +} + +.mh-35px { + max-height: 35px !important; +} + +.mh-40px { + max-height: 40px !important; +} + +.mh-45px { + max-height: 45px !important; +} + +.mh-50px { + max-height: 50px !important; +} + +.mh-55px { + max-height: 55px !important; +} + +.mh-60px { + max-height: 60px !important; +} + +.mh-65px { + max-height: 65px !important; +} + +.mh-70px { + max-height: 70px !important; +} + +.mh-75px { + max-height: 75px !important; +} + +.mh-80px { + max-height: 80px !important; +} + +.mh-85px { + max-height: 85px !important; +} + +.mh-90px { + max-height: 90px !important; +} + +.mh-95px { + max-height: 95px !important; +} + +.mh-100px { + max-height: 100px !important; +} + +.mh-125px { + max-height: 125px !important; +} + +.mh-150px { + max-height: 150px !important; +} + +.mh-175px { + max-height: 175px !important; +} + +.mh-200px { + max-height: 200px !important; +} + +.mh-225px { + max-height: 225px !important; +} + +.mh-250px { + max-height: 250px !important; +} + +.mh-275px { + max-height: 275px !important; +} + +.mh-300px { + max-height: 300px !important; +} + +.mh-325px { + max-height: 325px !important; +} + +.mh-350px { + max-height: 350px !important; +} + +.mh-375px { + max-height: 375px !important; +} + +.mh-400px { + max-height: 400px !important; +} + +.mh-425px { + max-height: 425px !important; +} + +.mh-450px { + max-height: 450px !important; +} + +.mh-475px { + max-height: 475px !important; +} + +.mh-500px { + max-height: 500px !important; +} + +.mh-550px { + max-height: 550px !important; +} + +.mh-600px { + max-height: 600px !important; +} + +.mh-650px { + max-height: 650px !important; +} + +.mh-700px { + max-height: 700px !important; +} + +.mh-750px { + max-height: 750px !important; +} + +.mh-800px { + max-height: 800px !important; +} + +.mh-850px { + max-height: 850px !important; +} + +.mh-900px { + max-height: 900px !important; +} + +.mh-950px { + max-height: 950px !important; +} + +.mh-1000px { + max-height: 1000px !important; +} + +.vh-100 { + height: 100vh !important; +} + +.min-vh-100 { + min-height: 100vh !important; +} + +.flex-fill { + flex: 1 1 auto !important; +} + +.flex-row { + flex-direction: row !important; +} + +.flex-column { + flex-direction: column !important; +} + +.flex-row-reverse { + flex-direction: row-reverse !important; +} + +.flex-column-reverse { + flex-direction: column-reverse !important; +} + +.flex-grow-0 { + flex-grow: 0 !important; +} + +.flex-grow-1 { + flex-grow: 1 !important; +} + +.flex-shrink-0 { + flex-shrink: 0 !important; +} + +.flex-shrink-1 { + flex-shrink: 1 !important; +} + +.flex-wrap { + flex-wrap: wrap !important; +} + +.flex-nowrap { + flex-wrap: nowrap !important; +} + +.flex-wrap-reverse { + flex-wrap: wrap-reverse !important; +} + +.gap-0 { + gap: 0 !important; +} + +.gap-1 { + gap: 0.25rem !important; +} + +.gap-2 { + gap: 0.5rem !important; +} + +.gap-3 { + gap: 0.75rem !important; +} + +.gap-4 { + gap: 1rem !important; +} + +.gap-5 { + gap: 1.25rem !important; +} + +.gap-6 { + gap: 1.5rem !important; +} + +.gap-7 { + gap: 1.75rem !important; +} + +.gap-8 { + gap: 2rem !important; +} + +.gap-9 { + gap: 2.25rem !important; +} + +.gap-10 { + gap: 2.5rem !important; +} + +.gap-11 { + gap: 2.75rem !important; +} + +.gap-12 { + gap: 3rem !important; +} + +.gap-13 { + gap: 3.25rem !important; +} + +.gap-14 { + gap: 3.5rem !important; +} + +.gap-15 { + gap: 3.75rem !important; +} + +.gap-16 { + gap: 4rem !important; +} + +.gap-17 { + gap: 4.25rem !important; +} + +.gap-18 { + gap: 4.5rem !important; +} + +.gap-19 { + gap: 4.75rem !important; +} + +.gap-20 { + gap: 5rem !important; +} + +.justify-content-start { + justify-content: flex-start !important; +} + +.justify-content-end { + justify-content: flex-end !important; +} + +.justify-content-center { + justify-content: center !important; +} + +.justify-content-between { + justify-content: space-between !important; +} + +.justify-content-around { + justify-content: space-around !important; +} + +.justify-content-evenly { + justify-content: space-evenly !important; +} + +.align-items-start { + align-items: flex-start !important; +} + +.align-items-end { + align-items: flex-end !important; +} + +.align-items-center { + align-items: center !important; +} + +.align-items-baseline { + align-items: baseline !important; +} + +.align-items-stretch { + align-items: stretch !important; +} + +.align-content-start { + align-content: flex-start !important; +} + +.align-content-end { + align-content: flex-end !important; +} + +.align-content-center { + align-content: center !important; +} + +.align-content-between { + align-content: space-between !important; +} + +.align-content-around { + align-content: space-around !important; +} + +.align-content-stretch { + align-content: stretch !important; +} + +.align-self-auto { + align-self: auto !important; +} + +.align-self-start { + align-self: flex-start !important; +} + +.align-self-end { + align-self: flex-end !important; +} + +.align-self-center { + align-self: center !important; +} + +.align-self-baseline { + align-self: baseline !important; +} + +.align-self-stretch { + align-self: stretch !important; +} + +.order-first { + order: -1 !important; +} + +.order-0 { + order: 0 !important; +} + +.order-1 { + order: 1 !important; +} + +.order-2 { + order: 2 !important; +} + +.order-3 { + order: 3 !important; +} + +.order-4 { + order: 4 !important; +} + +.order-5 { + order: 5 !important; +} + +.order-last { + order: 6 !important; +} + +.m-0 { + margin: 0 !important; +} + +.m-1 { + margin: 0.25rem !important; +} + +.m-2 { + margin: 0.5rem !important; +} + +.m-3 { + margin: 0.75rem !important; +} + +.m-4 { + margin: 1rem !important; +} + +.m-5 { + margin: 1.25rem !important; +} + +.m-6 { + margin: 1.5rem !important; +} + +.m-7 { + margin: 1.75rem !important; +} + +.m-8 { + margin: 2rem !important; +} + +.m-9 { + margin: 2.25rem !important; +} + +.m-10 { + margin: 2.5rem !important; +} + +.m-11 { + margin: 2.75rem !important; +} + +.m-12 { + margin: 3rem !important; +} + +.m-13 { + margin: 3.25rem !important; +} + +.m-14 { + margin: 3.5rem !important; +} + +.m-15 { + margin: 3.75rem !important; +} + +.m-16 { + margin: 4rem !important; +} + +.m-17 { + margin: 4.25rem !important; +} + +.m-18 { + margin: 4.5rem !important; +} + +.m-19 { + margin: 4.75rem !important; +} + +.m-20 { + margin: 5rem !important; +} + +.m-auto { + margin: auto !important; +} + +.mx-0 { + margin-right: 0 !important; + margin-left: 0 !important; +} + +.mx-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; +} + +.mx-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; +} + +.mx-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; +} + +.mx-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; +} + +.mx-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; +} + +.mx-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; +} + +.mx-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; +} + +.mx-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; +} + +.mx-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; +} + +.mx-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; +} + +.mx-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; +} + +.mx-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; +} + +.mx-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; +} + +.mx-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; +} + +.mx-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; +} + +.mx-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; +} + +.mx-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; +} + +.mx-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; +} + +.mx-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; +} + +.mx-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; +} + +.mx-auto { + margin-right: auto !important; + margin-left: auto !important; +} + +.my-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.my-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; +} + +.my-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; +} + +.my-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; +} + +.my-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; +} + +.my-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; +} + +.my-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; +} + +.my-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; +} + +.my-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; +} + +.my-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; +} + +.my-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; +} + +.my-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; +} + +.my-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; +} + +.my-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; +} + +.my-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; +} + +.my-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; +} + +.my-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; +} + +.my-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; +} + +.my-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; +} + +.my-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; +} + +.my-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; +} + +.my-auto { + margin-top: auto !important; + margin-bottom: auto !important; +} + +.mt-0 { + margin-top: 0 !important; +} + +.mt-1 { + margin-top: 0.25rem !important; +} + +.mt-2 { + margin-top: 0.5rem !important; +} + +.mt-3 { + margin-top: 0.75rem !important; +} + +.mt-4 { + margin-top: 1rem !important; +} + +.mt-5 { + margin-top: 1.25rem !important; +} + +.mt-6 { + margin-top: 1.5rem !important; +} + +.mt-7 { + margin-top: 1.75rem !important; +} + +.mt-8 { + margin-top: 2rem !important; +} + +.mt-9 { + margin-top: 2.25rem !important; +} + +.mt-10 { + margin-top: 2.5rem !important; +} + +.mt-11 { + margin-top: 2.75rem !important; +} + +.mt-12 { + margin-top: 3rem !important; +} + +.mt-13 { + margin-top: 3.25rem !important; +} + +.mt-14 { + margin-top: 3.5rem !important; +} + +.mt-15 { + margin-top: 3.75rem !important; +} + +.mt-16 { + margin-top: 4rem !important; +} + +.mt-17 { + margin-top: 4.25rem !important; +} + +.mt-18 { + margin-top: 4.5rem !important; +} + +.mt-19 { + margin-top: 4.75rem !important; +} + +.mt-20 { + margin-top: 5rem !important; +} + +.mt-auto { + margin-top: auto !important; +} + +.me-0 { + margin-right: 0 !important; +} + +.me-1 { + margin-right: 0.25rem !important; +} + +.me-2 { + margin-right: 0.5rem !important; +} + +.me-3 { + margin-right: 0.75rem !important; +} + +.me-4 { + margin-right: 1rem !important; +} + +.me-5 { + margin-right: 1.25rem !important; +} + +.me-6 { + margin-right: 1.5rem !important; +} + +.me-7 { + margin-right: 1.75rem !important; +} + +.me-8 { + margin-right: 2rem !important; +} + +.me-9 { + margin-right: 2.25rem !important; +} + +.me-10 { + margin-right: 2.5rem !important; +} + +.me-11 { + margin-right: 2.75rem !important; +} + +.me-12 { + margin-right: 3rem !important; +} + +.me-13 { + margin-right: 3.25rem !important; +} + +.me-14 { + margin-right: 3.5rem !important; +} + +.me-15 { + margin-right: 3.75rem !important; +} + +.me-16 { + margin-right: 4rem !important; +} + +.me-17 { + margin-right: 4.25rem !important; +} + +.me-18 { + margin-right: 4.5rem !important; +} + +.me-19 { + margin-right: 4.75rem !important; +} + +.me-20 { + margin-right: 5rem !important; +} + +.me-auto { + margin-right: auto !important; +} + +.mb-0 { + margin-bottom: 0 !important; +} + +.mb-1 { + margin-bottom: 0.25rem !important; +} + +.mb-2 { + margin-bottom: 0.5rem !important; +} + +.mb-3 { + margin-bottom: 0.75rem !important; +} + +.mb-4 { + margin-bottom: 1rem !important; +} + +.mb-5 { + margin-bottom: 1.25rem !important; +} + +.mb-6 { + margin-bottom: 1.5rem !important; +} + +.mb-7 { + margin-bottom: 1.75rem !important; +} + +.mb-8 { + margin-bottom: 2rem !important; +} + +.mb-9 { + margin-bottom: 2.25rem !important; +} + +.mb-10 { + margin-bottom: 2.5rem !important; +} + +.mb-11 { + margin-bottom: 2.75rem !important; +} + +.mb-12 { + margin-bottom: 3rem !important; +} + +.mb-13 { + margin-bottom: 3.25rem !important; +} + +.mb-14 { + margin-bottom: 3.5rem !important; +} + +.mb-15 { + margin-bottom: 3.75rem !important; +} + +.mb-16 { + margin-bottom: 4rem !important; +} + +.mb-17 { + margin-bottom: 4.25rem !important; +} + +.mb-18 { + margin-bottom: 4.5rem !important; +} + +.mb-19 { + margin-bottom: 4.75rem !important; +} + +.mb-20 { + margin-bottom: 5rem !important; +} + +.mb-auto { + margin-bottom: auto !important; +} + +.ms-0 { + margin-left: 0 !important; +} + +.ms-1 { + margin-left: 0.25rem !important; +} + +.ms-2 { + margin-left: 0.5rem !important; +} + +.ms-3 { + margin-left: 0.75rem !important; +} + +.ms-4 { + margin-left: 1rem !important; +} + +.ms-5 { + margin-left: 1.25rem !important; +} + +.ms-6 { + margin-left: 1.5rem !important; +} + +.ms-7 { + margin-left: 1.75rem !important; +} + +.ms-8 { + margin-left: 2rem !important; +} + +.ms-9 { + margin-left: 2.25rem !important; +} + +.ms-10 { + margin-left: 2.5rem !important; +} + +.ms-11 { + margin-left: 2.75rem !important; +} + +.ms-12 { + margin-left: 3rem !important; +} + +.ms-13 { + margin-left: 3.25rem !important; +} + +.ms-14 { + margin-left: 3.5rem !important; +} + +.ms-15 { + margin-left: 3.75rem !important; +} + +.ms-16 { + margin-left: 4rem !important; +} + +.ms-17 { + margin-left: 4.25rem !important; +} + +.ms-18 { + margin-left: 4.5rem !important; +} + +.ms-19 { + margin-left: 4.75rem !important; +} + +.ms-20 { + margin-left: 5rem !important; +} + +.ms-auto { + margin-left: auto !important; +} + +.m-n1 { + margin: -0.25rem !important; +} + +.m-n2 { + margin: -0.5rem !important; +} + +.m-n3 { + margin: -0.75rem !important; +} + +.m-n4 { + margin: -1rem !important; +} + +.m-n5 { + margin: -1.25rem !important; +} + +.m-n6 { + margin: -1.5rem !important; +} + +.m-n7 { + margin: -1.75rem !important; +} + +.m-n8 { + margin: -2rem !important; +} + +.m-n9 { + margin: -2.25rem !important; +} + +.m-n10 { + margin: -2.5rem !important; +} + +.m-n11 { + margin: -2.75rem !important; +} + +.m-n12 { + margin: -3rem !important; +} + +.m-n13 { + margin: -3.25rem !important; +} + +.m-n14 { + margin: -3.5rem !important; +} + +.m-n15 { + margin: -3.75rem !important; +} + +.m-n16 { + margin: -4rem !important; +} + +.m-n17 { + margin: -4.25rem !important; +} + +.m-n18 { + margin: -4.5rem !important; +} + +.m-n19 { + margin: -4.75rem !important; +} + +.m-n20 { + margin: -5rem !important; +} + +.mx-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; +} + +.mx-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; +} + +.mx-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; +} + +.mx-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; +} + +.mx-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; +} + +.mx-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; +} + +.mx-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; +} + +.mx-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; +} + +.mx-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; +} + +.mx-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; +} + +.mx-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; +} + +.mx-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; +} + +.mx-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; +} + +.mx-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; +} + +.mx-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; +} + +.mx-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; +} + +.mx-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; +} + +.mx-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; +} + +.mx-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; +} + +.mx-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; +} + +.my-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; +} + +.my-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; +} + +.my-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; +} + +.my-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; +} + +.my-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; +} + +.my-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; +} + +.my-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; +} + +.my-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; +} + +.my-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; +} + +.my-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; +} + +.my-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; +} + +.my-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; +} + +.my-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; +} + +.my-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; +} + +.my-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; +} + +.my-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; +} + +.my-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; +} + +.my-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; +} + +.my-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; +} + +.my-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; +} + +.mt-n1 { + margin-top: -0.25rem !important; +} + +.mt-n2 { + margin-top: -0.5rem !important; +} + +.mt-n3 { + margin-top: -0.75rem !important; +} + +.mt-n4 { + margin-top: -1rem !important; +} + +.mt-n5 { + margin-top: -1.25rem !important; +} + +.mt-n6 { + margin-top: -1.5rem !important; +} + +.mt-n7 { + margin-top: -1.75rem !important; +} + +.mt-n8 { + margin-top: -2rem !important; +} + +.mt-n9 { + margin-top: -2.25rem !important; +} + +.mt-n10 { + margin-top: -2.5rem !important; +} + +.mt-n11 { + margin-top: -2.75rem !important; +} + +.mt-n12 { + margin-top: -3rem !important; +} + +.mt-n13 { + margin-top: -3.25rem !important; +} + +.mt-n14 { + margin-top: -3.5rem !important; +} + +.mt-n15 { + margin-top: -3.75rem !important; +} + +.mt-n16 { + margin-top: -4rem !important; +} + +.mt-n17 { + margin-top: -4.25rem !important; +} + +.mt-n18 { + margin-top: -4.5rem !important; +} + +.mt-n19 { + margin-top: -4.75rem !important; +} + +.mt-n20 { + margin-top: -5rem !important; +} + +.me-n1 { + margin-right: -0.25rem !important; +} + +.me-n2 { + margin-right: -0.5rem !important; +} + +.me-n3 { + margin-right: -0.75rem !important; +} + +.me-n4 { + margin-right: -1rem !important; +} + +.me-n5 { + margin-right: -1.25rem !important; +} + +.me-n6 { + margin-right: -1.5rem !important; +} + +.me-n7 { + margin-right: -1.75rem !important; +} + +.me-n8 { + margin-right: -2rem !important; +} + +.me-n9 { + margin-right: -2.25rem !important; +} + +.me-n10 { + margin-right: -2.5rem !important; +} + +.me-n11 { + margin-right: -2.75rem !important; +} + +.me-n12 { + margin-right: -3rem !important; +} + +.me-n13 { + margin-right: -3.25rem !important; +} + +.me-n14 { + margin-right: -3.5rem !important; +} + +.me-n15 { + margin-right: -3.75rem !important; +} + +.me-n16 { + margin-right: -4rem !important; +} + +.me-n17 { + margin-right: -4.25rem !important; +} + +.me-n18 { + margin-right: -4.5rem !important; +} + +.me-n19 { + margin-right: -4.75rem !important; +} + +.me-n20 { + margin-right: -5rem !important; +} + +.mb-n1 { + margin-bottom: -0.25rem !important; +} + +.mb-n2 { + margin-bottom: -0.5rem !important; +} + +.mb-n3 { + margin-bottom: -0.75rem !important; +} + +.mb-n4 { + margin-bottom: -1rem !important; +} + +.mb-n5 { + margin-bottom: -1.25rem !important; +} + +.mb-n6 { + margin-bottom: -1.5rem !important; +} + +.mb-n7 { + margin-bottom: -1.75rem !important; +} + +.mb-n8 { + margin-bottom: -2rem !important; +} + +.mb-n9 { + margin-bottom: -2.25rem !important; +} + +.mb-n10 { + margin-bottom: -2.5rem !important; +} + +.mb-n11 { + margin-bottom: -2.75rem !important; +} + +.mb-n12 { + margin-bottom: -3rem !important; +} + +.mb-n13 { + margin-bottom: -3.25rem !important; +} + +.mb-n14 { + margin-bottom: -3.5rem !important; +} + +.mb-n15 { + margin-bottom: -3.75rem !important; +} + +.mb-n16 { + margin-bottom: -4rem !important; +} + +.mb-n17 { + margin-bottom: -4.25rem !important; +} + +.mb-n18 { + margin-bottom: -4.5rem !important; +} + +.mb-n19 { + margin-bottom: -4.75rem !important; +} + +.mb-n20 { + margin-bottom: -5rem !important; +} + +.ms-n1 { + margin-left: -0.25rem !important; +} + +.ms-n2 { + margin-left: -0.5rem !important; +} + +.ms-n3 { + margin-left: -0.75rem !important; +} + +.ms-n4 { + margin-left: -1rem !important; +} + +.ms-n5 { + margin-left: -1.25rem !important; +} + +.ms-n6 { + margin-left: -1.5rem !important; +} + +.ms-n7 { + margin-left: -1.75rem !important; +} + +.ms-n8 { + margin-left: -2rem !important; +} + +.ms-n9 { + margin-left: -2.25rem !important; +} + +.ms-n10 { + margin-left: -2.5rem !important; +} + +.ms-n11 { + margin-left: -2.75rem !important; +} + +.ms-n12 { + margin-left: -3rem !important; +} + +.ms-n13 { + margin-left: -3.25rem !important; +} + +.ms-n14 { + margin-left: -3.5rem !important; +} + +.ms-n15 { + margin-left: -3.75rem !important; +} + +.ms-n16 { + margin-left: -4rem !important; +} + +.ms-n17 { + margin-left: -4.25rem !important; +} + +.ms-n18 { + margin-left: -4.5rem !important; +} + +.ms-n19 { + margin-left: -4.75rem !important; +} + +.ms-n20 { + margin-left: -5rem !important; +} + +.p-0 { + padding: 0 !important; +} + +.p-1 { + padding: 0.25rem !important; +} + +.p-2 { + padding: 0.5rem !important; +} + +.p-3 { + padding: 0.75rem !important; +} + +.p-4 { + padding: 1rem !important; +} + +.p-5 { + padding: 1.25rem !important; +} + +.p-6 { + padding: 1.5rem !important; +} + +.p-7 { + padding: 1.75rem !important; +} + +.p-8 { + padding: 2rem !important; +} + +.p-9 { + padding: 2.25rem !important; +} + +.p-10 { + padding: 2.5rem !important; +} + +.p-11 { + padding: 2.75rem !important; +} + +.p-12 { + padding: 3rem !important; +} + +.p-13 { + padding: 3.25rem !important; +} + +.p-14 { + padding: 3.5rem !important; +} + +.p-15 { + padding: 3.75rem !important; +} + +.p-16 { + padding: 4rem !important; +} + +.p-17 { + padding: 4.25rem !important; +} + +.p-18 { + padding: 4.5rem !important; +} + +.p-19 { + padding: 4.75rem !important; +} + +.p-20 { + padding: 5rem !important; +} + +.px-0 { + padding-right: 0 !important; + padding-left: 0 !important; +} + +.px-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; +} + +.px-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; +} + +.px-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; +} + +.px-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; +} + +.px-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; +} + +.px-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; +} + +.px-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; +} + +.px-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; +} + +.px-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; +} + +.px-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; +} + +.px-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; +} + +.px-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; +} + +.px-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; +} + +.px-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; +} + +.px-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; +} + +.px-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; +} + +.px-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; +} + +.px-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; +} + +.px-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; +} + +.px-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; +} + +.py-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; +} + +.py-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; +} + +.py-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; +} + +.py-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; +} + +.py-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; +} + +.py-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; +} + +.py-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; +} + +.py-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; +} + +.py-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.py-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; +} + +.py-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; +} + +.py-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; +} + +.py-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; +} + +.py-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; +} + +.py-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; +} + +.py-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; +} + +.py-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; +} + +.py-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; +} + +.py-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; +} + +.py-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; +} + +.py-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; +} + +.pt-0 { + padding-top: 0 !important; +} + +.pt-1 { + padding-top: 0.25rem !important; +} + +.pt-2 { + padding-top: 0.5rem !important; +} + +.pt-3 { + padding-top: 0.75rem !important; +} + +.pt-4 { + padding-top: 1rem !important; +} + +.pt-5 { + padding-top: 1.25rem !important; +} + +.pt-6 { + padding-top: 1.5rem !important; +} + +.pt-7 { + padding-top: 1.75rem !important; +} + +.pt-8 { + padding-top: 2rem !important; +} + +.pt-9 { + padding-top: 2.25rem !important; +} + +.pt-10 { + padding-top: 2.5rem !important; +} + +.pt-11 { + padding-top: 2.75rem !important; +} + +.pt-12 { + padding-top: 3rem !important; +} + +.pt-13 { + padding-top: 3.25rem !important; +} + +.pt-14 { + padding-top: 3.5rem !important; +} + +.pt-15 { + padding-top: 3.75rem !important; +} + +.pt-16 { + padding-top: 4rem !important; +} + +.pt-17 { + padding-top: 4.25rem !important; +} + +.pt-18 { + padding-top: 4.5rem !important; +} + +.pt-19 { + padding-top: 4.75rem !important; +} + +.pt-20 { + padding-top: 5rem !important; +} + +.pe-0 { + padding-right: 0 !important; +} + +.pe-1 { + padding-right: 0.25rem !important; +} + +.pe-2 { + padding-right: 0.5rem !important; +} + +.pe-3 { + padding-right: 0.75rem !important; +} + +.pe-4 { + padding-right: 1rem !important; +} + +.pe-5 { + padding-right: 1.25rem !important; +} + +.pe-6 { + padding-right: 1.5rem !important; +} + +.pe-7 { + padding-right: 1.75rem !important; +} + +.pe-8 { + padding-right: 2rem !important; +} + +.pe-9 { + padding-right: 2.25rem !important; +} + +.pe-10 { + padding-right: 2.5rem !important; +} + +.pe-11 { + padding-right: 2.75rem !important; +} + +.pe-12 { + padding-right: 3rem !important; +} + +.pe-13 { + padding-right: 3.25rem !important; +} + +.pe-14 { + padding-right: 3.5rem !important; +} + +.pe-15 { + padding-right: 3.75rem !important; +} + +.pe-16 { + padding-right: 4rem !important; +} + +.pe-17 { + padding-right: 4.25rem !important; +} + +.pe-18 { + padding-right: 4.5rem !important; +} + +.pe-19 { + padding-right: 4.75rem !important; +} + +.pe-20 { + padding-right: 5rem !important; +} + +.pb-0 { + padding-bottom: 0 !important; +} + +.pb-1 { + padding-bottom: 0.25rem !important; +} + +.pb-2 { + padding-bottom: 0.5rem !important; +} + +.pb-3 { + padding-bottom: 0.75rem !important; +} + +.pb-4 { + padding-bottom: 1rem !important; +} + +.pb-5 { + padding-bottom: 1.25rem !important; +} + +.pb-6 { + padding-bottom: 1.5rem !important; +} + +.pb-7 { + padding-bottom: 1.75rem !important; +} + +.pb-8 { + padding-bottom: 2rem !important; +} + +.pb-9 { + padding-bottom: 2.25rem !important; +} + +.pb-10 { + padding-bottom: 2.5rem !important; +} + +.pb-11 { + padding-bottom: 2.75rem !important; +} + +.pb-12 { + padding-bottom: 3rem !important; +} + +.pb-13 { + padding-bottom: 3.25rem !important; +} + +.pb-14 { + padding-bottom: 3.5rem !important; +} + +.pb-15 { + padding-bottom: 3.75rem !important; +} + +.pb-16 { + padding-bottom: 4rem !important; +} + +.pb-17 { + padding-bottom: 4.25rem !important; +} + +.pb-18 { + padding-bottom: 4.5rem !important; +} + +.pb-19 { + padding-bottom: 4.75rem !important; +} + +.pb-20 { + padding-bottom: 5rem !important; +} + +.ps-0 { + padding-left: 0 !important; +} + +.ps-1 { + padding-left: 0.25rem !important; +} + +.ps-2 { + padding-left: 0.5rem !important; +} + +.ps-3 { + padding-left: 0.75rem !important; +} + +.ps-4 { + padding-left: 1rem !important; +} + +.ps-5 { + padding-left: 1.25rem !important; +} + +.ps-6 { + padding-left: 1.5rem !important; +} + +.ps-7 { + padding-left: 1.75rem !important; +} + +.ps-8 { + padding-left: 2rem !important; +} + +.ps-9 { + padding-left: 2.25rem !important; +} + +.ps-10 { + padding-left: 2.5rem !important; +} + +.ps-11 { + padding-left: 2.75rem !important; +} + +.ps-12 { + padding-left: 3rem !important; +} + +.ps-13 { + padding-left: 3.25rem !important; +} + +.ps-14 { + padding-left: 3.5rem !important; +} + +.ps-15 { + padding-left: 3.75rem !important; +} + +.ps-16 { + padding-left: 4rem !important; +} + +.ps-17 { + padding-left: 4.25rem !important; +} + +.ps-18 { + padding-left: 4.5rem !important; +} + +.ps-19 { + padding-left: 4.75rem !important; +} + +.ps-20 { + padding-left: 5rem !important; +} + +.font-monospace { + font-family: var(--bs-font-monospace) !important; +} + +.fs-1 { + font-size: calc(1.3rem + 0.6vw) !important; +} + +.fs-2 { + font-size: calc(1.275rem + 0.3vw) !important; +} + +.fs-3 { + font-size: calc(1.26rem + 0.12vw) !important; +} + +.fs-4 { + font-size: 1.25rem !important; +} + +.fs-5 { + font-size: 1.15rem !important; +} + +.fs-6 { + font-size: 1.075rem !important; +} + +.fs-7 { + font-size: 0.95rem !important; +} + +.fs-8 { + font-size: 0.85rem !important; +} + +.fs-9 { + font-size: 0.75rem !important; +} + +.fs-10 { + font-size: 0.5rem !important; +} + +.fs-base { + font-size: 1rem !important; +} + +.fs-fluid { + font-size: 100% !important; +} + +.fs-2x { + font-size: calc(1.325rem + 0.9vw) !important; +} + +.fs-2qx { + font-size: calc(1.35rem + 1.2vw) !important; +} + +.fs-2hx { + font-size: calc(1.375rem + 1.5vw) !important; +} + +.fs-2tx { + font-size: calc(1.4rem + 1.8vw) !important; +} + +.fs-3x { + font-size: calc(1.425rem + 2.1vw) !important; +} + +.fs-3qx { + font-size: calc(1.45rem + 2.4vw) !important; +} + +.fs-3hx { + font-size: calc(1.475rem + 2.7vw) !important; +} + +.fs-3tx { + font-size: calc(1.5rem + 3vw) !important; +} + +.fs-4x { + font-size: calc(1.525rem + 3.3vw) !important; +} + +.fs-4qx { + font-size: calc(1.55rem + 3.6vw) !important; +} + +.fs-4hx { + font-size: calc(1.575rem + 3.9vw) !important; +} + +.fs-4tx { + font-size: calc(1.6rem + 4.2vw) !important; +} + +.fs-5x { + font-size: calc(1.625rem + 4.5vw) !important; +} + +.fs-5qx { + font-size: calc(1.65rem + 4.8vw) !important; +} + +.fs-5hx { + font-size: calc(1.675rem + 5.1vw) !important; +} + +.fs-5tx { + font-size: calc(1.7rem + 5.4vw) !important; +} + +.fst-italic { + font-style: italic !important; +} + +.fst-normal { + font-style: normal !important; +} + +.fw-light { + font-weight: 300 !important; +} + +.fw-lighter { + font-weight: lighter !important; +} + +.fw-normal { + font-weight: 400 !important; +} + +.fw-bold { + font-weight: 500 !important; +} + +.fw-bolder { + font-weight: 600 !important; +} + +.lh-0 { + line-height: 0 !important; +} + +.lh-1 { + line-height: 1 !important; +} + +.lh-sm { + line-height: 1.25 !important; +} + +.lh-base { + line-height: 1.5 !important; +} + +.lh-lg { + line-height: 1.75 !important; +} + +.lh-xl { + line-height: 2 !important; +} + +.lh-xxl { + line-height: 2.25 !important; +} + +.text-start { + text-align: left !important; +} + +.text-end { + text-align: right !important; +} + +.text-center { + text-align: center !important; +} + +.text-decoration-none { + text-decoration: none !important; +} + +.text-decoration-underline { + text-decoration: underline !important; +} + +.text-decoration-line-through { + text-decoration: line-through !important; +} + +.text-lowercase { + text-transform: lowercase !important; +} + +.text-uppercase { + text-transform: uppercase !important; +} + +.text-capitalize { + text-transform: capitalize !important; +} + +.text-wrap { + white-space: normal !important; +} + +.text-nowrap { + white-space: nowrap !important; +} + +/* rtl:begin:remove */ +.text-break { + word-wrap: break-word !important; + word-break: break-word !important; +} + +/* rtl:end:remove */ +.text-white { + --bs-text-opacity: 1; + color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important; +} + +.text-light { + --bs-text-opacity: 1; + color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important; +} + +.text-primary { + --bs-text-opacity: 1; + color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important; +} + +.text-secondary { + --bs-text-opacity: 1; + color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important; +} + +.text-success { + --bs-text-opacity: 1; + color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important; +} + +.text-info { + --bs-text-opacity: 1; + color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important; +} + +.text-warning { + --bs-text-opacity: 1; + color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important; +} + +.text-danger { + --bs-text-opacity: 1; + color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important; +} + +.text-dark { + --bs-text-opacity: 1; + color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important; +} + +.text-black { + --bs-text-opacity: 1; + color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important; +} + +.text-body { + --bs-text-opacity: 1; + color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important; +} + +.text-muted { + --bs-text-opacity: 1; + color: #A1A5B7 !important; +} + +.text-black-50 { + --bs-text-opacity: 1; + color: rgba(0, 0, 0, 0.5) !important; +} + +.text-white-50 { + --bs-text-opacity: 1; + color: rgba(255, 255, 255, 0.5) !important; +} + +.text-reset { + --bs-text-opacity: 1; + color: inherit !important; +} + +.text-opacity-25 { + --bs-text-opacity: 0.25; +} + +.text-opacity-50 { + --bs-text-opacity: 0.5; +} + +.text-opacity-75 { + --bs-text-opacity: 0.75; +} + +.text-opacity-100 { + --bs-text-opacity: 1; +} + +.bg-white { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-light { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-primary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-secondary { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-success { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-info { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-warning { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-danger { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-dark { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-black { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-body { + --bs-bg-opacity: 1; + background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important; +} + +.bg-transparent { + --bs-bg-opacity: 1; + background-color: transparent !important; +} + +.bg-opacity-10 { + --bs-bg-opacity: 0.1; +} + +.bg-opacity-25 { + --bs-bg-opacity: 0.25; +} + +.bg-opacity-50 { + --bs-bg-opacity: 0.5; +} + +.bg-opacity-75 { + --bs-bg-opacity: 0.75; +} + +.bg-opacity-100 { + --bs-bg-opacity: 1; +} + +.bg-gradient { + background-image: var(--bs-gradient) !important; +} + +.user-select-all { + user-select: all !important; +} + +.user-select-auto { + user-select: auto !important; +} + +.user-select-none { + user-select: none !important; +} + +.pe-none { + pointer-events: none !important; +} + +.pe-auto { + pointer-events: auto !important; +} + +.rounded { + border-radius: 0.475rem !important; +} + +.rounded-0 { + border-radius: 0 !important; +} + +.rounded-1 { + border-radius: 0.275rem !important; +} + +.rounded-2 { + border-radius: 0.475rem !important; +} + +.rounded-3 { + border-radius: 0.775rem !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.rounded-pill { + border-radius: 50rem !important; +} + +.rounded-top { + border-top-left-radius: 0.475rem !important; + border-top-right-radius: 0.475rem !important; +} + +.rounded-end { + border-top-right-radius: 0.475rem !important; + border-bottom-right-radius: 0.475rem !important; +} + +.rounded-bottom { + border-bottom-right-radius: 0.475rem !important; + border-bottom-left-radius: 0.475rem !important; +} + +.rounded-start { + border-bottom-left-radius: 0.475rem !important; + border-top-left-radius: 0.475rem !important; +} + +.visible { + visibility: visible !important; +} + +.invisible { + visibility: hidden !important; +} + +.opacity-0 { + opacity: 0 !important; +} + +.opacity-0-hover:hover { + opacity: 0 !important; +} + +.opacity-5 { + opacity: 0.05 !important; +} + +.opacity-5-hover:hover { + opacity: 0.05 !important; +} + +.opacity-10 { + opacity: 0.1 !important; +} + +.opacity-10-hover:hover { + opacity: 0.1 !important; +} + +.opacity-15 { + opacity: 0.15 !important; +} + +.opacity-15-hover:hover { + opacity: 0.15 !important; +} + +.opacity-20 { + opacity: 0.2 !important; +} + +.opacity-20-hover:hover { + opacity: 0.2 !important; +} + +.opacity-25 { + opacity: 0.25 !important; +} + +.opacity-25-hover:hover { + opacity: 0.25 !important; +} + +.opacity-50 { + opacity: 0.5 !important; +} + +.opacity-50-hover:hover { + opacity: 0.5 !important; +} + +.opacity-75 { + opacity: 0.75 !important; +} + +.opacity-75-hover:hover { + opacity: 0.75 !important; +} + +.opacity-100 { + opacity: 1 !important; +} + +.opacity-100-hover:hover { + opacity: 1 !important; +} + +.min-w-unset { + min-width: unset !important; +} + +.min-w-25 { + min-width: 25% !important; +} + +.min-w-50 { + min-width: 50% !important; +} + +.min-w-75 { + min-width: 75% !important; +} + +.min-w-100 { + min-width: 100% !important; +} + +.min-w-auto { + min-width: auto !important; +} + +.min-w-1px { + min-width: 1px !important; +} + +.min-w-2px { + min-width: 2px !important; +} + +.min-w-3px { + min-width: 3px !important; +} + +.min-w-4px { + min-width: 4px !important; +} + +.min-w-5px { + min-width: 5px !important; +} + +.min-w-6px { + min-width: 6px !important; +} + +.min-w-7px { + min-width: 7px !important; +} + +.min-w-8px { + min-width: 8px !important; +} + +.min-w-9px { + min-width: 9px !important; +} + +.min-w-10px { + min-width: 10px !important; +} + +.min-w-15px { + min-width: 15px !important; +} + +.min-w-20px { + min-width: 20px !important; +} + +.min-w-25px { + min-width: 25px !important; +} + +.min-w-30px { + min-width: 30px !important; +} + +.min-w-35px { + min-width: 35px !important; +} + +.min-w-40px { + min-width: 40px !important; +} + +.min-w-45px { + min-width: 45px !important; +} + +.min-w-50px { + min-width: 50px !important; +} + +.min-w-55px { + min-width: 55px !important; +} + +.min-w-60px { + min-width: 60px !important; +} + +.min-w-65px { + min-width: 65px !important; +} + +.min-w-70px { + min-width: 70px !important; +} + +.min-w-75px { + min-width: 75px !important; +} + +.min-w-80px { + min-width: 80px !important; +} + +.min-w-85px { + min-width: 85px !important; +} + +.min-w-90px { + min-width: 90px !important; +} + +.min-w-95px { + min-width: 95px !important; +} + +.min-w-100px { + min-width: 100px !important; +} + +.min-w-125px { + min-width: 125px !important; +} + +.min-w-150px { + min-width: 150px !important; +} + +.min-w-175px { + min-width: 175px !important; +} + +.min-w-200px { + min-width: 200px !important; +} + +.min-w-225px { + min-width: 225px !important; +} + +.min-w-250px { + min-width: 250px !important; +} + +.min-w-275px { + min-width: 275px !important; +} + +.min-w-300px { + min-width: 300px !important; +} + +.min-w-325px { + min-width: 325px !important; +} + +.min-w-350px { + min-width: 350px !important; +} + +.min-w-375px { + min-width: 375px !important; +} + +.min-w-400px { + min-width: 400px !important; +} + +.min-w-425px { + min-width: 425px !important; +} + +.min-w-450px { + min-width: 450px !important; +} + +.min-w-475px { + min-width: 475px !important; +} + +.min-w-500px { + min-width: 500px !important; +} + +.min-w-550px { + min-width: 550px !important; +} + +.min-w-600px { + min-width: 600px !important; +} + +.min-w-650px { + min-width: 650px !important; +} + +.min-w-700px { + min-width: 700px !important; +} + +.min-w-750px { + min-width: 750px !important; +} + +.min-w-800px { + min-width: 800px !important; +} + +.min-w-850px { + min-width: 850px !important; +} + +.min-w-900px { + min-width: 900px !important; +} + +.min-w-950px { + min-width: 950px !important; +} + +.min-w-1000px { + min-width: 1000px !important; +} + +.min-h-unset { + min-height: unset !important; +} + +.min-h-25 { + min-height: 25% !important; +} + +.min-h-50 { + min-height: 50% !important; +} + +.min-h-75 { + min-height: 75% !important; +} + +.min-h-100 { + min-height: 100% !important; +} + +.min-h-auto { + min-height: auto !important; +} + +.min-h-1px { + min-height: 1px !important; +} + +.min-h-2px { + min-height: 2px !important; +} + +.min-h-3px { + min-height: 3px !important; +} + +.min-h-4px { + min-height: 4px !important; +} + +.min-h-5px { + min-height: 5px !important; +} + +.min-h-6px { + min-height: 6px !important; +} + +.min-h-7px { + min-height: 7px !important; +} + +.min-h-8px { + min-height: 8px !important; +} + +.min-h-9px { + min-height: 9px !important; +} + +.min-h-10px { + min-height: 10px !important; +} + +.min-h-15px { + min-height: 15px !important; +} + +.min-h-20px { + min-height: 20px !important; +} + +.min-h-25px { + min-height: 25px !important; +} + +.min-h-30px { + min-height: 30px !important; +} + +.min-h-35px { + min-height: 35px !important; +} + +.min-h-40px { + min-height: 40px !important; +} + +.min-h-45px { + min-height: 45px !important; +} + +.min-h-50px { + min-height: 50px !important; +} + +.min-h-55px { + min-height: 55px !important; +} + +.min-h-60px { + min-height: 60px !important; +} + +.min-h-65px { + min-height: 65px !important; +} + +.min-h-70px { + min-height: 70px !important; +} + +.min-h-75px { + min-height: 75px !important; +} + +.min-h-80px { + min-height: 80px !important; +} + +.min-h-85px { + min-height: 85px !important; +} + +.min-h-90px { + min-height: 90px !important; +} + +.min-h-95px { + min-height: 95px !important; +} + +.min-h-100px { + min-height: 100px !important; +} + +.min-h-125px { + min-height: 125px !important; +} + +.min-h-150px { + min-height: 150px !important; +} + +.min-h-175px { + min-height: 175px !important; +} + +.min-h-200px { + min-height: 200px !important; +} + +.min-h-225px { + min-height: 225px !important; +} + +.min-h-250px { + min-height: 250px !important; +} + +.min-h-275px { + min-height: 275px !important; +} + +.min-h-300px { + min-height: 300px !important; +} + +.min-h-325px { + min-height: 325px !important; +} + +.min-h-350px { + min-height: 350px !important; +} + +.min-h-375px { + min-height: 375px !important; +} + +.min-h-400px { + min-height: 400px !important; +} + +.min-h-425px { + min-height: 425px !important; +} + +.min-h-450px { + min-height: 450px !important; +} + +.min-h-475px { + min-height: 475px !important; +} + +.min-h-500px { + min-height: 500px !important; +} + +.min-h-550px { + min-height: 550px !important; +} + +.min-h-600px { + min-height: 600px !important; +} + +.min-h-650px { + min-height: 650px !important; +} + +.min-h-700px { + min-height: 700px !important; +} + +.min-h-750px { + min-height: 750px !important; +} + +.min-h-800px { + min-height: 800px !important; +} + +.min-h-850px { + min-height: 850px !important; +} + +.min-h-900px { + min-height: 900px !important; +} + +.min-h-950px { + min-height: 950px !important; +} + +.min-h-1000px { + min-height: 1000px !important; +} + +.z-index-n1 { + z-index: -1 !important; +} + +.z-index-n2 { + z-index: -2 !important; +} + +.z-index-0 { + z-index: 0 !important; +} + +.z-index-1 { + z-index: 1 !important; +} + +.z-index-2 { + z-index: 2 !important; +} + +.z-index-3 { + z-index: 3 !important; +} + +.border-top-0 { + border-top-width: 0 !important; +} + +.border-top-1 { + border-top-width: 1px !important; +} + +.border-top-2 { + border-top-width: 2px !important; +} + +.border-top-3 { + border-top-width: 3px !important; +} + +.border-top-4 { + border-top-width: 4px !important; +} + +.border-top-5 { + border-top-width: 5px !important; +} + +.border-bottom-0 { + border-bottom-width: 0 !important; +} + +.border-bottom-1 { + border-bottom-width: 1px !important; +} + +.border-bottom-2 { + border-bottom-width: 2px !important; +} + +.border-bottom-3 { + border-bottom-width: 3px !important; +} + +.border-bottom-4 { + border-bottom-width: 4px !important; +} + +.border-bottom-5 { + border-bottom-width: 5px !important; +} + +.border-right-0 { + border-right-width: 0 !important; +} + +.border-right-1 { + border-right-width: 1px !important; +} + +.border-right-2 { + border-right-width: 2px !important; +} + +.border-right-3 { + border-right-width: 3px !important; +} + +.border-right-4 { + border-right-width: 4px !important; +} + +.border-right-5 { + border-right-width: 5px !important; +} + +.border-left-0 { + border-left-width: 0 !important; +} + +.border-left-1 { + border-left-width: 1px !important; +} + +.border-left-2 { + border-left-width: 2px !important; +} + +.border-left-3 { + border-left-width: 3px !important; +} + +.border-left-4 { + border-left-width: 4px !important; +} + +.border-left-5 { + border-left-width: 5px !important; +} + +.ls-1 { + letter-spacing: 0.1rem !important; +} + +.ls-2 { + letter-spacing: 0.115rem !important; +} + +.ls-3 { + letter-spacing: 0.125rem !important; +} + +.ls-4 { + letter-spacing: 0.25rem !important; +} + +.ls-5 { + letter-spacing: 0.5rem !important; +} + +@media (min-width: 576px) { + .float-sm-start { + float: left !important; + } + + .float-sm-end { + float: right !important; + } + + .float-sm-none { + float: none !important; + } + + .d-sm-inline { + display: inline !important; + } + + .d-sm-inline-block { + display: inline-block !important; + } + + .d-sm-block { + display: block !important; + } + + .d-sm-grid { + display: grid !important; + } + + .d-sm-table { + display: table !important; + } + + .d-sm-table-row { + display: table-row !important; + } + + .d-sm-table-cell { + display: table-cell !important; + } + + .d-sm-flex { + display: flex !important; + } + + .d-sm-inline-flex { + display: inline-flex !important; + } + + .d-sm-none { + display: none !important; + } + + .position-sm-static { + position: static !important; + } + + .position-sm-relative { + position: relative !important; + } + + .position-sm-absolute { + position: absolute !important; + } + + .position-sm-fixed { + position: fixed !important; + } + + .position-sm-sticky { + position: sticky !important; + } + + .w-sm-unset { + width: unset !important; + } + + .w-sm-25 { + width: 25% !important; + } + + .w-sm-50 { + width: 50% !important; + } + + .w-sm-75 { + width: 75% !important; + } + + .w-sm-100 { + width: 100% !important; + } + + .w-sm-auto { + width: auto !important; + } + + .w-sm-1px { + width: 1px !important; + } + + .w-sm-2px { + width: 2px !important; + } + + .w-sm-3px { + width: 3px !important; + } + + .w-sm-4px { + width: 4px !important; + } + + .w-sm-5px { + width: 5px !important; + } + + .w-sm-6px { + width: 6px !important; + } + + .w-sm-7px { + width: 7px !important; + } + + .w-sm-8px { + width: 8px !important; + } + + .w-sm-9px { + width: 9px !important; + } + + .w-sm-10px { + width: 10px !important; + } + + .w-sm-15px { + width: 15px !important; + } + + .w-sm-20px { + width: 20px !important; + } + + .w-sm-25px { + width: 25px !important; + } + + .w-sm-30px { + width: 30px !important; + } + + .w-sm-35px { + width: 35px !important; + } + + .w-sm-40px { + width: 40px !important; + } + + .w-sm-45px { + width: 45px !important; + } + + .w-sm-50px { + width: 50px !important; + } + + .w-sm-55px { + width: 55px !important; + } + + .w-sm-60px { + width: 60px !important; + } + + .w-sm-65px { + width: 65px !important; + } + + .w-sm-70px { + width: 70px !important; + } + + .w-sm-75px { + width: 75px !important; + } + + .w-sm-80px { + width: 80px !important; + } + + .w-sm-85px { + width: 85px !important; + } + + .w-sm-90px { + width: 90px !important; + } + + .w-sm-95px { + width: 95px !important; + } + + .w-sm-100px { + width: 100px !important; + } + + .w-sm-125px { + width: 125px !important; + } + + .w-sm-150px { + width: 150px !important; + } + + .w-sm-175px { + width: 175px !important; + } + + .w-sm-200px { + width: 200px !important; + } + + .w-sm-225px { + width: 225px !important; + } + + .w-sm-250px { + width: 250px !important; + } + + .w-sm-275px { + width: 275px !important; + } + + .w-sm-300px { + width: 300px !important; + } + + .w-sm-325px { + width: 325px !important; + } + + .w-sm-350px { + width: 350px !important; + } + + .w-sm-375px { + width: 375px !important; + } + + .w-sm-400px { + width: 400px !important; + } + + .w-sm-425px { + width: 425px !important; + } + + .w-sm-450px { + width: 450px !important; + } + + .w-sm-475px { + width: 475px !important; + } + + .w-sm-500px { + width: 500px !important; + } + + .w-sm-550px { + width: 550px !important; + } + + .w-sm-600px { + width: 600px !important; + } + + .w-sm-650px { + width: 650px !important; + } + + .w-sm-700px { + width: 700px !important; + } + + .w-sm-750px { + width: 750px !important; + } + + .w-sm-800px { + width: 800px !important; + } + + .w-sm-850px { + width: 850px !important; + } + + .w-sm-900px { + width: 900px !important; + } + + .w-sm-950px { + width: 950px !important; + } + + .w-sm-1000px { + width: 1000px !important; + } + + .mw-sm-unset { + max-width: unset !important; + } + + .mw-sm-25 { + max-width: 25% !important; + } + + .mw-sm-50 { + max-width: 50% !important; + } + + .mw-sm-75 { + max-width: 75% !important; + } + + .mw-sm-100 { + max-width: 100% !important; + } + + .mw-sm-auto { + max-width: auto !important; + } + + .mw-sm-1px { + max-width: 1px !important; + } + + .mw-sm-2px { + max-width: 2px !important; + } + + .mw-sm-3px { + max-width: 3px !important; + } + + .mw-sm-4px { + max-width: 4px !important; + } + + .mw-sm-5px { + max-width: 5px !important; + } + + .mw-sm-6px { + max-width: 6px !important; + } + + .mw-sm-7px { + max-width: 7px !important; + } + + .mw-sm-8px { + max-width: 8px !important; + } + + .mw-sm-9px { + max-width: 9px !important; + } + + .mw-sm-10px { + max-width: 10px !important; + } + + .mw-sm-15px { + max-width: 15px !important; + } + + .mw-sm-20px { + max-width: 20px !important; + } + + .mw-sm-25px { + max-width: 25px !important; + } + + .mw-sm-30px { + max-width: 30px !important; + } + + .mw-sm-35px { + max-width: 35px !important; + } + + .mw-sm-40px { + max-width: 40px !important; + } + + .mw-sm-45px { + max-width: 45px !important; + } + + .mw-sm-50px { + max-width: 50px !important; + } + + .mw-sm-55px { + max-width: 55px !important; + } + + .mw-sm-60px { + max-width: 60px !important; + } + + .mw-sm-65px { + max-width: 65px !important; + } + + .mw-sm-70px { + max-width: 70px !important; + } + + .mw-sm-75px { + max-width: 75px !important; + } + + .mw-sm-80px { + max-width: 80px !important; + } + + .mw-sm-85px { + max-width: 85px !important; + } + + .mw-sm-90px { + max-width: 90px !important; + } + + .mw-sm-95px { + max-width: 95px !important; + } + + .mw-sm-100px { + max-width: 100px !important; + } + + .mw-sm-125px { + max-width: 125px !important; + } + + .mw-sm-150px { + max-width: 150px !important; + } + + .mw-sm-175px { + max-width: 175px !important; + } + + .mw-sm-200px { + max-width: 200px !important; + } + + .mw-sm-225px { + max-width: 225px !important; + } + + .mw-sm-250px { + max-width: 250px !important; + } + + .mw-sm-275px { + max-width: 275px !important; + } + + .mw-sm-300px { + max-width: 300px !important; + } + + .mw-sm-325px { + max-width: 325px !important; + } + + .mw-sm-350px { + max-width: 350px !important; + } + + .mw-sm-375px { + max-width: 375px !important; + } + + .mw-sm-400px { + max-width: 400px !important; + } + + .mw-sm-425px { + max-width: 425px !important; + } + + .mw-sm-450px { + max-width: 450px !important; + } + + .mw-sm-475px { + max-width: 475px !important; + } + + .mw-sm-500px { + max-width: 500px !important; + } + + .mw-sm-550px { + max-width: 550px !important; + } + + .mw-sm-600px { + max-width: 600px !important; + } + + .mw-sm-650px { + max-width: 650px !important; + } + + .mw-sm-700px { + max-width: 700px !important; + } + + .mw-sm-750px { + max-width: 750px !important; + } + + .mw-sm-800px { + max-width: 800px !important; + } + + .mw-sm-850px { + max-width: 850px !important; + } + + .mw-sm-900px { + max-width: 900px !important; + } + + .mw-sm-950px { + max-width: 950px !important; + } + + .mw-sm-1000px { + max-width: 1000px !important; + } + + .h-sm-unset { + height: unset !important; + } + + .h-sm-25 { + height: 25% !important; + } + + .h-sm-50 { + height: 50% !important; + } + + .h-sm-75 { + height: 75% !important; + } + + .h-sm-100 { + height: 100% !important; + } + + .h-sm-auto { + height: auto !important; + } + + .h-sm-1px { + height: 1px !important; + } + + .h-sm-2px { + height: 2px !important; + } + + .h-sm-3px { + height: 3px !important; + } + + .h-sm-4px { + height: 4px !important; + } + + .h-sm-5px { + height: 5px !important; + } + + .h-sm-6px { + height: 6px !important; + } + + .h-sm-7px { + height: 7px !important; + } + + .h-sm-8px { + height: 8px !important; + } + + .h-sm-9px { + height: 9px !important; + } + + .h-sm-10px { + height: 10px !important; + } + + .h-sm-15px { + height: 15px !important; + } + + .h-sm-20px { + height: 20px !important; + } + + .h-sm-25px { + height: 25px !important; + } + + .h-sm-30px { + height: 30px !important; + } + + .h-sm-35px { + height: 35px !important; + } + + .h-sm-40px { + height: 40px !important; + } + + .h-sm-45px { + height: 45px !important; + } + + .h-sm-50px { + height: 50px !important; + } + + .h-sm-55px { + height: 55px !important; + } + + .h-sm-60px { + height: 60px !important; + } + + .h-sm-65px { + height: 65px !important; + } + + .h-sm-70px { + height: 70px !important; + } + + .h-sm-75px { + height: 75px !important; + } + + .h-sm-80px { + height: 80px !important; + } + + .h-sm-85px { + height: 85px !important; + } + + .h-sm-90px { + height: 90px !important; + } + + .h-sm-95px { + height: 95px !important; + } + + .h-sm-100px { + height: 100px !important; + } + + .h-sm-125px { + height: 125px !important; + } + + .h-sm-150px { + height: 150px !important; + } + + .h-sm-175px { + height: 175px !important; + } + + .h-sm-200px { + height: 200px !important; + } + + .h-sm-225px { + height: 225px !important; + } + + .h-sm-250px { + height: 250px !important; + } + + .h-sm-275px { + height: 275px !important; + } + + .h-sm-300px { + height: 300px !important; + } + + .h-sm-325px { + height: 325px !important; + } + + .h-sm-350px { + height: 350px !important; + } + + .h-sm-375px { + height: 375px !important; + } + + .h-sm-400px { + height: 400px !important; + } + + .h-sm-425px { + height: 425px !important; + } + + .h-sm-450px { + height: 450px !important; + } + + .h-sm-475px { + height: 475px !important; + } + + .h-sm-500px { + height: 500px !important; + } + + .h-sm-550px { + height: 550px !important; + } + + .h-sm-600px { + height: 600px !important; + } + + .h-sm-650px { + height: 650px !important; + } + + .h-sm-700px { + height: 700px !important; + } + + .h-sm-750px { + height: 750px !important; + } + + .h-sm-800px { + height: 800px !important; + } + + .h-sm-850px { + height: 850px !important; + } + + .h-sm-900px { + height: 900px !important; + } + + .h-sm-950px { + height: 950px !important; + } + + .h-sm-1000px { + height: 1000px !important; + } + + .mh-sm-unset { + max-height: unset !important; + } + + .mh-sm-25 { + max-height: 25% !important; + } + + .mh-sm-50 { + max-height: 50% !important; + } + + .mh-sm-75 { + max-height: 75% !important; + } + + .mh-sm-100 { + max-height: 100% !important; + } + + .mh-sm-auto { + max-height: auto !important; + } + + .mh-sm-1px { + max-height: 1px !important; + } + + .mh-sm-2px { + max-height: 2px !important; + } + + .mh-sm-3px { + max-height: 3px !important; + } + + .mh-sm-4px { + max-height: 4px !important; + } + + .mh-sm-5px { + max-height: 5px !important; + } + + .mh-sm-6px { + max-height: 6px !important; + } + + .mh-sm-7px { + max-height: 7px !important; + } + + .mh-sm-8px { + max-height: 8px !important; + } + + .mh-sm-9px { + max-height: 9px !important; + } + + .mh-sm-10px { + max-height: 10px !important; + } + + .mh-sm-15px { + max-height: 15px !important; + } + + .mh-sm-20px { + max-height: 20px !important; + } + + .mh-sm-25px { + max-height: 25px !important; + } + + .mh-sm-30px { + max-height: 30px !important; + } + + .mh-sm-35px { + max-height: 35px !important; + } + + .mh-sm-40px { + max-height: 40px !important; + } + + .mh-sm-45px { + max-height: 45px !important; + } + + .mh-sm-50px { + max-height: 50px !important; + } + + .mh-sm-55px { + max-height: 55px !important; + } + + .mh-sm-60px { + max-height: 60px !important; + } + + .mh-sm-65px { + max-height: 65px !important; + } + + .mh-sm-70px { + max-height: 70px !important; + } + + .mh-sm-75px { + max-height: 75px !important; + } + + .mh-sm-80px { + max-height: 80px !important; + } + + .mh-sm-85px { + max-height: 85px !important; + } + + .mh-sm-90px { + max-height: 90px !important; + } + + .mh-sm-95px { + max-height: 95px !important; + } + + .mh-sm-100px { + max-height: 100px !important; + } + + .mh-sm-125px { + max-height: 125px !important; + } + + .mh-sm-150px { + max-height: 150px !important; + } + + .mh-sm-175px { + max-height: 175px !important; + } + + .mh-sm-200px { + max-height: 200px !important; + } + + .mh-sm-225px { + max-height: 225px !important; + } + + .mh-sm-250px { + max-height: 250px !important; + } + + .mh-sm-275px { + max-height: 275px !important; + } + + .mh-sm-300px { + max-height: 300px !important; + } + + .mh-sm-325px { + max-height: 325px !important; + } + + .mh-sm-350px { + max-height: 350px !important; + } + + .mh-sm-375px { + max-height: 375px !important; + } + + .mh-sm-400px { + max-height: 400px !important; + } + + .mh-sm-425px { + max-height: 425px !important; + } + + .mh-sm-450px { + max-height: 450px !important; + } + + .mh-sm-475px { + max-height: 475px !important; + } + + .mh-sm-500px { + max-height: 500px !important; + } + + .mh-sm-550px { + max-height: 550px !important; + } + + .mh-sm-600px { + max-height: 600px !important; + } + + .mh-sm-650px { + max-height: 650px !important; + } + + .mh-sm-700px { + max-height: 700px !important; + } + + .mh-sm-750px { + max-height: 750px !important; + } + + .mh-sm-800px { + max-height: 800px !important; + } + + .mh-sm-850px { + max-height: 850px !important; + } + + .mh-sm-900px { + max-height: 900px !important; + } + + .mh-sm-950px { + max-height: 950px !important; + } + + .mh-sm-1000px { + max-height: 1000px !important; + } + + .flex-sm-fill { + flex: 1 1 auto !important; + } + + .flex-sm-row { + flex-direction: row !important; + } + + .flex-sm-column { + flex-direction: column !important; + } + + .flex-sm-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-sm-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-sm-grow-0 { + flex-grow: 0 !important; + } + + .flex-sm-grow-1 { + flex-grow: 1 !important; + } + + .flex-sm-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-sm-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-sm-wrap { + flex-wrap: wrap !important; + } + + .flex-sm-nowrap { + flex-wrap: nowrap !important; + } + + .flex-sm-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-sm-0 { + gap: 0 !important; + } + + .gap-sm-1 { + gap: 0.25rem !important; + } + + .gap-sm-2 { + gap: 0.5rem !important; + } + + .gap-sm-3 { + gap: 0.75rem !important; + } + + .gap-sm-4 { + gap: 1rem !important; + } + + .gap-sm-5 { + gap: 1.25rem !important; + } + + .gap-sm-6 { + gap: 1.5rem !important; + } + + .gap-sm-7 { + gap: 1.75rem !important; + } + + .gap-sm-8 { + gap: 2rem !important; + } + + .gap-sm-9 { + gap: 2.25rem !important; + } + + .gap-sm-10 { + gap: 2.5rem !important; + } + + .gap-sm-11 { + gap: 2.75rem !important; + } + + .gap-sm-12 { + gap: 3rem !important; + } + + .gap-sm-13 { + gap: 3.25rem !important; + } + + .gap-sm-14 { + gap: 3.5rem !important; + } + + .gap-sm-15 { + gap: 3.75rem !important; + } + + .gap-sm-16 { + gap: 4rem !important; + } + + .gap-sm-17 { + gap: 4.25rem !important; + } + + .gap-sm-18 { + gap: 4.5rem !important; + } + + .gap-sm-19 { + gap: 4.75rem !important; + } + + .gap-sm-20 { + gap: 5rem !important; + } + + .justify-content-sm-start { + justify-content: flex-start !important; + } + + .justify-content-sm-end { + justify-content: flex-end !important; + } + + .justify-content-sm-center { + justify-content: center !important; + } + + .justify-content-sm-between { + justify-content: space-between !important; + } + + .justify-content-sm-around { + justify-content: space-around !important; + } + + .justify-content-sm-evenly { + justify-content: space-evenly !important; + } + + .align-items-sm-start { + align-items: flex-start !important; + } + + .align-items-sm-end { + align-items: flex-end !important; + } + + .align-items-sm-center { + align-items: center !important; + } + + .align-items-sm-baseline { + align-items: baseline !important; + } + + .align-items-sm-stretch { + align-items: stretch !important; + } + + .align-content-sm-start { + align-content: flex-start !important; + } + + .align-content-sm-end { + align-content: flex-end !important; + } + + .align-content-sm-center { + align-content: center !important; + } + + .align-content-sm-between { + align-content: space-between !important; + } + + .align-content-sm-around { + align-content: space-around !important; + } + + .align-content-sm-stretch { + align-content: stretch !important; + } + + .align-self-sm-auto { + align-self: auto !important; + } + + .align-self-sm-start { + align-self: flex-start !important; + } + + .align-self-sm-end { + align-self: flex-end !important; + } + + .align-self-sm-center { + align-self: center !important; + } + + .align-self-sm-baseline { + align-self: baseline !important; + } + + .align-self-sm-stretch { + align-self: stretch !important; + } + + .order-sm-first { + order: -1 !important; + } + + .order-sm-0 { + order: 0 !important; + } + + .order-sm-1 { + order: 1 !important; + } + + .order-sm-2 { + order: 2 !important; + } + + .order-sm-3 { + order: 3 !important; + } + + .order-sm-4 { + order: 4 !important; + } + + .order-sm-5 { + order: 5 !important; + } + + .order-sm-last { + order: 6 !important; + } + + .m-sm-0 { + margin: 0 !important; + } + + .m-sm-1 { + margin: 0.25rem !important; + } + + .m-sm-2 { + margin: 0.5rem !important; + } + + .m-sm-3 { + margin: 0.75rem !important; + } + + .m-sm-4 { + margin: 1rem !important; + } + + .m-sm-5 { + margin: 1.25rem !important; + } + + .m-sm-6 { + margin: 1.5rem !important; + } + + .m-sm-7 { + margin: 1.75rem !important; + } + + .m-sm-8 { + margin: 2rem !important; + } + + .m-sm-9 { + margin: 2.25rem !important; + } + + .m-sm-10 { + margin: 2.5rem !important; + } + + .m-sm-11 { + margin: 2.75rem !important; + } + + .m-sm-12 { + margin: 3rem !important; + } + + .m-sm-13 { + margin: 3.25rem !important; + } + + .m-sm-14 { + margin: 3.5rem !important; + } + + .m-sm-15 { + margin: 3.75rem !important; + } + + .m-sm-16 { + margin: 4rem !important; + } + + .m-sm-17 { + margin: 4.25rem !important; + } + + .m-sm-18 { + margin: 4.5rem !important; + } + + .m-sm-19 { + margin: 4.75rem !important; + } + + .m-sm-20 { + margin: 5rem !important; + } + + .m-sm-auto { + margin: auto !important; + } + + .mx-sm-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-sm-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-sm-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-sm-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + + .mx-sm-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-sm-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; + } + + .mx-sm-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-sm-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; + } + + .mx-sm-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + + .mx-sm-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; + } + + .mx-sm-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + + .mx-sm-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; + } + + .mx-sm-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-sm-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; + } + + .mx-sm-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + + .mx-sm-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; + } + + .mx-sm-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + + .mx-sm-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; + } + + .mx-sm-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; + } + + .mx-sm-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; + } + + .mx-sm-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + + .mx-sm-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-sm-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-sm-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-sm-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-sm-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + + .my-sm-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-sm-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; + } + + .my-sm-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-sm-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; + } + + .my-sm-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + + .my-sm-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; + } + + .my-sm-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + + .my-sm-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; + } + + .my-sm-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-sm-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; + } + + .my-sm-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + + .my-sm-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; + } + + .my-sm-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + + .my-sm-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; + } + + .my-sm-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; + } + + .my-sm-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; + } + + .my-sm-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + + .my-sm-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-sm-0 { + margin-top: 0 !important; + } + + .mt-sm-1 { + margin-top: 0.25rem !important; + } + + .mt-sm-2 { + margin-top: 0.5rem !important; + } + + .mt-sm-3 { + margin-top: 0.75rem !important; + } + + .mt-sm-4 { + margin-top: 1rem !important; + } + + .mt-sm-5 { + margin-top: 1.25rem !important; + } + + .mt-sm-6 { + margin-top: 1.5rem !important; + } + + .mt-sm-7 { + margin-top: 1.75rem !important; + } + + .mt-sm-8 { + margin-top: 2rem !important; + } + + .mt-sm-9 { + margin-top: 2.25rem !important; + } + + .mt-sm-10 { + margin-top: 2.5rem !important; + } + + .mt-sm-11 { + margin-top: 2.75rem !important; + } + + .mt-sm-12 { + margin-top: 3rem !important; + } + + .mt-sm-13 { + margin-top: 3.25rem !important; + } + + .mt-sm-14 { + margin-top: 3.5rem !important; + } + + .mt-sm-15 { + margin-top: 3.75rem !important; + } + + .mt-sm-16 { + margin-top: 4rem !important; + } + + .mt-sm-17 { + margin-top: 4.25rem !important; + } + + .mt-sm-18 { + margin-top: 4.5rem !important; + } + + .mt-sm-19 { + margin-top: 4.75rem !important; + } + + .mt-sm-20 { + margin-top: 5rem !important; + } + + .mt-sm-auto { + margin-top: auto !important; + } + + .me-sm-0 { + margin-right: 0 !important; + } + + .me-sm-1 { + margin-right: 0.25rem !important; + } + + .me-sm-2 { + margin-right: 0.5rem !important; + } + + .me-sm-3 { + margin-right: 0.75rem !important; + } + + .me-sm-4 { + margin-right: 1rem !important; + } + + .me-sm-5 { + margin-right: 1.25rem !important; + } + + .me-sm-6 { + margin-right: 1.5rem !important; + } + + .me-sm-7 { + margin-right: 1.75rem !important; + } + + .me-sm-8 { + margin-right: 2rem !important; + } + + .me-sm-9 { + margin-right: 2.25rem !important; + } + + .me-sm-10 { + margin-right: 2.5rem !important; + } + + .me-sm-11 { + margin-right: 2.75rem !important; + } + + .me-sm-12 { + margin-right: 3rem !important; + } + + .me-sm-13 { + margin-right: 3.25rem !important; + } + + .me-sm-14 { + margin-right: 3.5rem !important; + } + + .me-sm-15 { + margin-right: 3.75rem !important; + } + + .me-sm-16 { + margin-right: 4rem !important; + } + + .me-sm-17 { + margin-right: 4.25rem !important; + } + + .me-sm-18 { + margin-right: 4.5rem !important; + } + + .me-sm-19 { + margin-right: 4.75rem !important; + } + + .me-sm-20 { + margin-right: 5rem !important; + } + + .me-sm-auto { + margin-right: auto !important; + } + + .mb-sm-0 { + margin-bottom: 0 !important; + } + + .mb-sm-1 { + margin-bottom: 0.25rem !important; + } + + .mb-sm-2 { + margin-bottom: 0.5rem !important; + } + + .mb-sm-3 { + margin-bottom: 0.75rem !important; + } + + .mb-sm-4 { + margin-bottom: 1rem !important; + } + + .mb-sm-5 { + margin-bottom: 1.25rem !important; + } + + .mb-sm-6 { + margin-bottom: 1.5rem !important; + } + + .mb-sm-7 { + margin-bottom: 1.75rem !important; + } + + .mb-sm-8 { + margin-bottom: 2rem !important; + } + + .mb-sm-9 { + margin-bottom: 2.25rem !important; + } + + .mb-sm-10 { + margin-bottom: 2.5rem !important; + } + + .mb-sm-11 { + margin-bottom: 2.75rem !important; + } + + .mb-sm-12 { + margin-bottom: 3rem !important; + } + + .mb-sm-13 { + margin-bottom: 3.25rem !important; + } + + .mb-sm-14 { + margin-bottom: 3.5rem !important; + } + + .mb-sm-15 { + margin-bottom: 3.75rem !important; + } + + .mb-sm-16 { + margin-bottom: 4rem !important; + } + + .mb-sm-17 { + margin-bottom: 4.25rem !important; + } + + .mb-sm-18 { + margin-bottom: 4.5rem !important; + } + + .mb-sm-19 { + margin-bottom: 4.75rem !important; + } + + .mb-sm-20 { + margin-bottom: 5rem !important; + } + + .mb-sm-auto { + margin-bottom: auto !important; + } + + .ms-sm-0 { + margin-left: 0 !important; + } + + .ms-sm-1 { + margin-left: 0.25rem !important; + } + + .ms-sm-2 { + margin-left: 0.5rem !important; + } + + .ms-sm-3 { + margin-left: 0.75rem !important; + } + + .ms-sm-4 { + margin-left: 1rem !important; + } + + .ms-sm-5 { + margin-left: 1.25rem !important; + } + + .ms-sm-6 { + margin-left: 1.5rem !important; + } + + .ms-sm-7 { + margin-left: 1.75rem !important; + } + + .ms-sm-8 { + margin-left: 2rem !important; + } + + .ms-sm-9 { + margin-left: 2.25rem !important; + } + + .ms-sm-10 { + margin-left: 2.5rem !important; + } + + .ms-sm-11 { + margin-left: 2.75rem !important; + } + + .ms-sm-12 { + margin-left: 3rem !important; + } + + .ms-sm-13 { + margin-left: 3.25rem !important; + } + + .ms-sm-14 { + margin-left: 3.5rem !important; + } + + .ms-sm-15 { + margin-left: 3.75rem !important; + } + + .ms-sm-16 { + margin-left: 4rem !important; + } + + .ms-sm-17 { + margin-left: 4.25rem !important; + } + + .ms-sm-18 { + margin-left: 4.5rem !important; + } + + .ms-sm-19 { + margin-left: 4.75rem !important; + } + + .ms-sm-20 { + margin-left: 5rem !important; + } + + .ms-sm-auto { + margin-left: auto !important; + } + + .m-sm-n1 { + margin: -0.25rem !important; + } + + .m-sm-n2 { + margin: -0.5rem !important; + } + + .m-sm-n3 { + margin: -0.75rem !important; + } + + .m-sm-n4 { + margin: -1rem !important; + } + + .m-sm-n5 { + margin: -1.25rem !important; + } + + .m-sm-n6 { + margin: -1.5rem !important; + } + + .m-sm-n7 { + margin: -1.75rem !important; + } + + .m-sm-n8 { + margin: -2rem !important; + } + + .m-sm-n9 { + margin: -2.25rem !important; + } + + .m-sm-n10 { + margin: -2.5rem !important; + } + + .m-sm-n11 { + margin: -2.75rem !important; + } + + .m-sm-n12 { + margin: -3rem !important; + } + + .m-sm-n13 { + margin: -3.25rem !important; + } + + .m-sm-n14 { + margin: -3.5rem !important; + } + + .m-sm-n15 { + margin: -3.75rem !important; + } + + .m-sm-n16 { + margin: -4rem !important; + } + + .m-sm-n17 { + margin: -4.25rem !important; + } + + .m-sm-n18 { + margin: -4.5rem !important; + } + + .m-sm-n19 { + margin: -4.75rem !important; + } + + .m-sm-n20 { + margin: -5rem !important; + } + + .mx-sm-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + + .mx-sm-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + + .mx-sm-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } + + .mx-sm-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + + .mx-sm-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; + } + + .mx-sm-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + + .mx-sm-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; + } + + .mx-sm-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + + .mx-sm-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; + } + + .mx-sm-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + + .mx-sm-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; + } + + .mx-sm-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } + + .mx-sm-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; + } + + .mx-sm-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } + + .mx-sm-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; + } + + .mx-sm-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } + + .mx-sm-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; + } + + .mx-sm-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; + } + + .mx-sm-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; + } + + .mx-sm-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; + } + + .my-sm-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + + .my-sm-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + + .my-sm-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; + } + + .my-sm-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + + .my-sm-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; + } + + .my-sm-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + + .my-sm-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; + } + + .my-sm-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + + .my-sm-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; + } + + .my-sm-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + + .my-sm-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; + } + + .my-sm-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + + .my-sm-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; + } + + .my-sm-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; + } + + .my-sm-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; + } + + .my-sm-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + + .my-sm-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; + } + + .my-sm-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; + } + + .my-sm-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; + } + + .my-sm-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + + .mt-sm-n1 { + margin-top: -0.25rem !important; + } + + .mt-sm-n2 { + margin-top: -0.5rem !important; + } + + .mt-sm-n3 { + margin-top: -0.75rem !important; + } + + .mt-sm-n4 { + margin-top: -1rem !important; + } + + .mt-sm-n5 { + margin-top: -1.25rem !important; + } + + .mt-sm-n6 { + margin-top: -1.5rem !important; + } + + .mt-sm-n7 { + margin-top: -1.75rem !important; + } + + .mt-sm-n8 { + margin-top: -2rem !important; + } + + .mt-sm-n9 { + margin-top: -2.25rem !important; + } + + .mt-sm-n10 { + margin-top: -2.5rem !important; + } + + .mt-sm-n11 { + margin-top: -2.75rem !important; + } + + .mt-sm-n12 { + margin-top: -3rem !important; + } + + .mt-sm-n13 { + margin-top: -3.25rem !important; + } + + .mt-sm-n14 { + margin-top: -3.5rem !important; + } + + .mt-sm-n15 { + margin-top: -3.75rem !important; + } + + .mt-sm-n16 { + margin-top: -4rem !important; + } + + .mt-sm-n17 { + margin-top: -4.25rem !important; + } + + .mt-sm-n18 { + margin-top: -4.5rem !important; + } + + .mt-sm-n19 { + margin-top: -4.75rem !important; + } + + .mt-sm-n20 { + margin-top: -5rem !important; + } + + .me-sm-n1 { + margin-right: -0.25rem !important; + } + + .me-sm-n2 { + margin-right: -0.5rem !important; + } + + .me-sm-n3 { + margin-right: -0.75rem !important; + } + + .me-sm-n4 { + margin-right: -1rem !important; + } + + .me-sm-n5 { + margin-right: -1.25rem !important; + } + + .me-sm-n6 { + margin-right: -1.5rem !important; + } + + .me-sm-n7 { + margin-right: -1.75rem !important; + } + + .me-sm-n8 { + margin-right: -2rem !important; + } + + .me-sm-n9 { + margin-right: -2.25rem !important; + } + + .me-sm-n10 { + margin-right: -2.5rem !important; + } + + .me-sm-n11 { + margin-right: -2.75rem !important; + } + + .me-sm-n12 { + margin-right: -3rem !important; + } + + .me-sm-n13 { + margin-right: -3.25rem !important; + } + + .me-sm-n14 { + margin-right: -3.5rem !important; + } + + .me-sm-n15 { + margin-right: -3.75rem !important; + } + + .me-sm-n16 { + margin-right: -4rem !important; + } + + .me-sm-n17 { + margin-right: -4.25rem !important; + } + + .me-sm-n18 { + margin-right: -4.5rem !important; + } + + .me-sm-n19 { + margin-right: -4.75rem !important; + } + + .me-sm-n20 { + margin-right: -5rem !important; + } + + .mb-sm-n1 { + margin-bottom: -0.25rem !important; + } + + .mb-sm-n2 { + margin-bottom: -0.5rem !important; + } + + .mb-sm-n3 { + margin-bottom: -0.75rem !important; + } + + .mb-sm-n4 { + margin-bottom: -1rem !important; + } + + .mb-sm-n5 { + margin-bottom: -1.25rem !important; + } + + .mb-sm-n6 { + margin-bottom: -1.5rem !important; + } + + .mb-sm-n7 { + margin-bottom: -1.75rem !important; + } + + .mb-sm-n8 { + margin-bottom: -2rem !important; + } + + .mb-sm-n9 { + margin-bottom: -2.25rem !important; + } + + .mb-sm-n10 { + margin-bottom: -2.5rem !important; + } + + .mb-sm-n11 { + margin-bottom: -2.75rem !important; + } + + .mb-sm-n12 { + margin-bottom: -3rem !important; + } + + .mb-sm-n13 { + margin-bottom: -3.25rem !important; + } + + .mb-sm-n14 { + margin-bottom: -3.5rem !important; + } + + .mb-sm-n15 { + margin-bottom: -3.75rem !important; + } + + .mb-sm-n16 { + margin-bottom: -4rem !important; + } + + .mb-sm-n17 { + margin-bottom: -4.25rem !important; + } + + .mb-sm-n18 { + margin-bottom: -4.5rem !important; + } + + .mb-sm-n19 { + margin-bottom: -4.75rem !important; + } + + .mb-sm-n20 { + margin-bottom: -5rem !important; + } + + .ms-sm-n1 { + margin-left: -0.25rem !important; + } + + .ms-sm-n2 { + margin-left: -0.5rem !important; + } + + .ms-sm-n3 { + margin-left: -0.75rem !important; + } + + .ms-sm-n4 { + margin-left: -1rem !important; + } + + .ms-sm-n5 { + margin-left: -1.25rem !important; + } + + .ms-sm-n6 { + margin-left: -1.5rem !important; + } + + .ms-sm-n7 { + margin-left: -1.75rem !important; + } + + .ms-sm-n8 { + margin-left: -2rem !important; + } + + .ms-sm-n9 { + margin-left: -2.25rem !important; + } + + .ms-sm-n10 { + margin-left: -2.5rem !important; + } + + .ms-sm-n11 { + margin-left: -2.75rem !important; + } + + .ms-sm-n12 { + margin-left: -3rem !important; + } + + .ms-sm-n13 { + margin-left: -3.25rem !important; + } + + .ms-sm-n14 { + margin-left: -3.5rem !important; + } + + .ms-sm-n15 { + margin-left: -3.75rem !important; + } + + .ms-sm-n16 { + margin-left: -4rem !important; + } + + .ms-sm-n17 { + margin-left: -4.25rem !important; + } + + .ms-sm-n18 { + margin-left: -4.5rem !important; + } + + .ms-sm-n19 { + margin-left: -4.75rem !important; + } + + .ms-sm-n20 { + margin-left: -5rem !important; + } + + .p-sm-0 { + padding: 0 !important; + } + + .p-sm-1 { + padding: 0.25rem !important; + } + + .p-sm-2 { + padding: 0.5rem !important; + } + + .p-sm-3 { + padding: 0.75rem !important; + } + + .p-sm-4 { + padding: 1rem !important; + } + + .p-sm-5 { + padding: 1.25rem !important; + } + + .p-sm-6 { + padding: 1.5rem !important; + } + + .p-sm-7 { + padding: 1.75rem !important; + } + + .p-sm-8 { + padding: 2rem !important; + } + + .p-sm-9 { + padding: 2.25rem !important; + } + + .p-sm-10 { + padding: 2.5rem !important; + } + + .p-sm-11 { + padding: 2.75rem !important; + } + + .p-sm-12 { + padding: 3rem !important; + } + + .p-sm-13 { + padding: 3.25rem !important; + } + + .p-sm-14 { + padding: 3.5rem !important; + } + + .p-sm-15 { + padding: 3.75rem !important; + } + + .p-sm-16 { + padding: 4rem !important; + } + + .p-sm-17 { + padding: 4.25rem !important; + } + + .p-sm-18 { + padding: 4.5rem !important; + } + + .p-sm-19 { + padding: 4.75rem !important; + } + + .p-sm-20 { + padding: 5rem !important; + } + + .px-sm-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-sm-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-sm-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-sm-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + + .px-sm-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-sm-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; + } + + .px-sm-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-sm-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; + } + + .px-sm-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + + .px-sm-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; + } + + .px-sm-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + + .px-sm-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; + } + + .px-sm-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .px-sm-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; + } + + .px-sm-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + + .px-sm-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; + } + + .px-sm-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + + .px-sm-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; + } + + .px-sm-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; + } + + .px-sm-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; + } + + .px-sm-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + + .py-sm-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-sm-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-sm-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-sm-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + + .py-sm-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-sm-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; + } + + .py-sm-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-sm-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; + } + + .py-sm-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .py-sm-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; + } + + .py-sm-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + + .py-sm-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; + } + + .py-sm-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .py-sm-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; + } + + .py-sm-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + + .py-sm-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; + } + + .py-sm-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + + .py-sm-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; + } + + .py-sm-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + + .py-sm-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; + } + + .py-sm-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + + .pt-sm-0 { + padding-top: 0 !important; + } + + .pt-sm-1 { + padding-top: 0.25rem !important; + } + + .pt-sm-2 { + padding-top: 0.5rem !important; + } + + .pt-sm-3 { + padding-top: 0.75rem !important; + } + + .pt-sm-4 { + padding-top: 1rem !important; + } + + .pt-sm-5 { + padding-top: 1.25rem !important; + } + + .pt-sm-6 { + padding-top: 1.5rem !important; + } + + .pt-sm-7 { + padding-top: 1.75rem !important; + } + + .pt-sm-8 { + padding-top: 2rem !important; + } + + .pt-sm-9 { + padding-top: 2.25rem !important; + } + + .pt-sm-10 { + padding-top: 2.5rem !important; + } + + .pt-sm-11 { + padding-top: 2.75rem !important; + } + + .pt-sm-12 { + padding-top: 3rem !important; + } + + .pt-sm-13 { + padding-top: 3.25rem !important; + } + + .pt-sm-14 { + padding-top: 3.5rem !important; + } + + .pt-sm-15 { + padding-top: 3.75rem !important; + } + + .pt-sm-16 { + padding-top: 4rem !important; + } + + .pt-sm-17 { + padding-top: 4.25rem !important; + } + + .pt-sm-18 { + padding-top: 4.5rem !important; + } + + .pt-sm-19 { + padding-top: 4.75rem !important; + } + + .pt-sm-20 { + padding-top: 5rem !important; + } + + .pe-sm-0 { + padding-right: 0 !important; + } + + .pe-sm-1 { + padding-right: 0.25rem !important; + } + + .pe-sm-2 { + padding-right: 0.5rem !important; + } + + .pe-sm-3 { + padding-right: 0.75rem !important; + } + + .pe-sm-4 { + padding-right: 1rem !important; + } + + .pe-sm-5 { + padding-right: 1.25rem !important; + } + + .pe-sm-6 { + padding-right: 1.5rem !important; + } + + .pe-sm-7 { + padding-right: 1.75rem !important; + } + + .pe-sm-8 { + padding-right: 2rem !important; + } + + .pe-sm-9 { + padding-right: 2.25rem !important; + } + + .pe-sm-10 { + padding-right: 2.5rem !important; + } + + .pe-sm-11 { + padding-right: 2.75rem !important; + } + + .pe-sm-12 { + padding-right: 3rem !important; + } + + .pe-sm-13 { + padding-right: 3.25rem !important; + } + + .pe-sm-14 { + padding-right: 3.5rem !important; + } + + .pe-sm-15 { + padding-right: 3.75rem !important; + } + + .pe-sm-16 { + padding-right: 4rem !important; + } + + .pe-sm-17 { + padding-right: 4.25rem !important; + } + + .pe-sm-18 { + padding-right: 4.5rem !important; + } + + .pe-sm-19 { + padding-right: 4.75rem !important; + } + + .pe-sm-20 { + padding-right: 5rem !important; + } + + .pb-sm-0 { + padding-bottom: 0 !important; + } + + .pb-sm-1 { + padding-bottom: 0.25rem !important; + } + + .pb-sm-2 { + padding-bottom: 0.5rem !important; + } + + .pb-sm-3 { + padding-bottom: 0.75rem !important; + } + + .pb-sm-4 { + padding-bottom: 1rem !important; + } + + .pb-sm-5 { + padding-bottom: 1.25rem !important; + } + + .pb-sm-6 { + padding-bottom: 1.5rem !important; + } + + .pb-sm-7 { + padding-bottom: 1.75rem !important; + } + + .pb-sm-8 { + padding-bottom: 2rem !important; + } + + .pb-sm-9 { + padding-bottom: 2.25rem !important; + } + + .pb-sm-10 { + padding-bottom: 2.5rem !important; + } + + .pb-sm-11 { + padding-bottom: 2.75rem !important; + } + + .pb-sm-12 { + padding-bottom: 3rem !important; + } + + .pb-sm-13 { + padding-bottom: 3.25rem !important; + } + + .pb-sm-14 { + padding-bottom: 3.5rem !important; + } + + .pb-sm-15 { + padding-bottom: 3.75rem !important; + } + + .pb-sm-16 { + padding-bottom: 4rem !important; + } + + .pb-sm-17 { + padding-bottom: 4.25rem !important; + } + + .pb-sm-18 { + padding-bottom: 4.5rem !important; + } + + .pb-sm-19 { + padding-bottom: 4.75rem !important; + } + + .pb-sm-20 { + padding-bottom: 5rem !important; + } + + .ps-sm-0 { + padding-left: 0 !important; + } + + .ps-sm-1 { + padding-left: 0.25rem !important; + } + + .ps-sm-2 { + padding-left: 0.5rem !important; + } + + .ps-sm-3 { + padding-left: 0.75rem !important; + } + + .ps-sm-4 { + padding-left: 1rem !important; + } + + .ps-sm-5 { + padding-left: 1.25rem !important; + } + + .ps-sm-6 { + padding-left: 1.5rem !important; + } + + .ps-sm-7 { + padding-left: 1.75rem !important; + } + + .ps-sm-8 { + padding-left: 2rem !important; + } + + .ps-sm-9 { + padding-left: 2.25rem !important; + } + + .ps-sm-10 { + padding-left: 2.5rem !important; + } + + .ps-sm-11 { + padding-left: 2.75rem !important; + } + + .ps-sm-12 { + padding-left: 3rem !important; + } + + .ps-sm-13 { + padding-left: 3.25rem !important; + } + + .ps-sm-14 { + padding-left: 3.5rem !important; + } + + .ps-sm-15 { + padding-left: 3.75rem !important; + } + + .ps-sm-16 { + padding-left: 4rem !important; + } + + .ps-sm-17 { + padding-left: 4.25rem !important; + } + + .ps-sm-18 { + padding-left: 4.5rem !important; + } + + .ps-sm-19 { + padding-left: 4.75rem !important; + } + + .ps-sm-20 { + padding-left: 5rem !important; + } + + .fs-sm-1 { + font-size: calc(1.3rem + 0.6vw) !important; + } + + .fs-sm-2 { + font-size: calc(1.275rem + 0.3vw) !important; + } + + .fs-sm-3 { + font-size: calc(1.26rem + 0.12vw) !important; + } + + .fs-sm-4 { + font-size: 1.25rem !important; + } + + .fs-sm-5 { + font-size: 1.15rem !important; + } + + .fs-sm-6 { + font-size: 1.075rem !important; + } + + .fs-sm-7 { + font-size: 0.95rem !important; + } + + .fs-sm-8 { + font-size: 0.85rem !important; + } + + .fs-sm-9 { + font-size: 0.75rem !important; + } + + .fs-sm-10 { + font-size: 0.5rem !important; + } + + .fs-sm-base { + font-size: 1rem !important; + } + + .fs-sm-fluid { + font-size: 100% !important; + } + + .fs-sm-2x { + font-size: calc(1.325rem + 0.9vw) !important; + } + + .fs-sm-2qx { + font-size: calc(1.35rem + 1.2vw) !important; + } + + .fs-sm-2hx { + font-size: calc(1.375rem + 1.5vw) !important; + } + + .fs-sm-2tx { + font-size: calc(1.4rem + 1.8vw) !important; + } + + .fs-sm-3x { + font-size: calc(1.425rem + 2.1vw) !important; + } + + .fs-sm-3qx { + font-size: calc(1.45rem + 2.4vw) !important; + } + + .fs-sm-3hx { + font-size: calc(1.475rem + 2.7vw) !important; + } + + .fs-sm-3tx { + font-size: calc(1.5rem + 3vw) !important; + } + + .fs-sm-4x { + font-size: calc(1.525rem + 3.3vw) !important; + } + + .fs-sm-4qx { + font-size: calc(1.55rem + 3.6vw) !important; + } + + .fs-sm-4hx { + font-size: calc(1.575rem + 3.9vw) !important; + } + + .fs-sm-4tx { + font-size: calc(1.6rem + 4.2vw) !important; + } + + .fs-sm-5x { + font-size: calc(1.625rem + 4.5vw) !important; + } + + .fs-sm-5qx { + font-size: calc(1.65rem + 4.8vw) !important; + } + + .fs-sm-5hx { + font-size: calc(1.675rem + 5.1vw) !important; + } + + .fs-sm-5tx { + font-size: calc(1.7rem + 5.4vw) !important; + } + + .text-sm-start { + text-align: left !important; + } + + .text-sm-end { + text-align: right !important; + } + + .text-sm-center { + text-align: center !important; + } + + .min-w-sm-unset { + min-width: unset !important; + } + + .min-w-sm-25 { + min-width: 25% !important; + } + + .min-w-sm-50 { + min-width: 50% !important; + } + + .min-w-sm-75 { + min-width: 75% !important; + } + + .min-w-sm-100 { + min-width: 100% !important; + } + + .min-w-sm-auto { + min-width: auto !important; + } + + .min-w-sm-1px { + min-width: 1px !important; + } + + .min-w-sm-2px { + min-width: 2px !important; + } + + .min-w-sm-3px { + min-width: 3px !important; + } + + .min-w-sm-4px { + min-width: 4px !important; + } + + .min-w-sm-5px { + min-width: 5px !important; + } + + .min-w-sm-6px { + min-width: 6px !important; + } + + .min-w-sm-7px { + min-width: 7px !important; + } + + .min-w-sm-8px { + min-width: 8px !important; + } + + .min-w-sm-9px { + min-width: 9px !important; + } + + .min-w-sm-10px { + min-width: 10px !important; + } + + .min-w-sm-15px { + min-width: 15px !important; + } + + .min-w-sm-20px { + min-width: 20px !important; + } + + .min-w-sm-25px { + min-width: 25px !important; + } + + .min-w-sm-30px { + min-width: 30px !important; + } + + .min-w-sm-35px { + min-width: 35px !important; + } + + .min-w-sm-40px { + min-width: 40px !important; + } + + .min-w-sm-45px { + min-width: 45px !important; + } + + .min-w-sm-50px { + min-width: 50px !important; + } + + .min-w-sm-55px { + min-width: 55px !important; + } + + .min-w-sm-60px { + min-width: 60px !important; + } + + .min-w-sm-65px { + min-width: 65px !important; + } + + .min-w-sm-70px { + min-width: 70px !important; + } + + .min-w-sm-75px { + min-width: 75px !important; + } + + .min-w-sm-80px { + min-width: 80px !important; + } + + .min-w-sm-85px { + min-width: 85px !important; + } + + .min-w-sm-90px { + min-width: 90px !important; + } + + .min-w-sm-95px { + min-width: 95px !important; + } + + .min-w-sm-100px { + min-width: 100px !important; + } + + .min-w-sm-125px { + min-width: 125px !important; + } + + .min-w-sm-150px { + min-width: 150px !important; + } + + .min-w-sm-175px { + min-width: 175px !important; + } + + .min-w-sm-200px { + min-width: 200px !important; + } + + .min-w-sm-225px { + min-width: 225px !important; + } + + .min-w-sm-250px { + min-width: 250px !important; + } + + .min-w-sm-275px { + min-width: 275px !important; + } + + .min-w-sm-300px { + min-width: 300px !important; + } + + .min-w-sm-325px { + min-width: 325px !important; + } + + .min-w-sm-350px { + min-width: 350px !important; + } + + .min-w-sm-375px { + min-width: 375px !important; + } + + .min-w-sm-400px { + min-width: 400px !important; + } + + .min-w-sm-425px { + min-width: 425px !important; + } + + .min-w-sm-450px { + min-width: 450px !important; + } + + .min-w-sm-475px { + min-width: 475px !important; + } + + .min-w-sm-500px { + min-width: 500px !important; + } + + .min-w-sm-550px { + min-width: 550px !important; + } + + .min-w-sm-600px { + min-width: 600px !important; + } + + .min-w-sm-650px { + min-width: 650px !important; + } + + .min-w-sm-700px { + min-width: 700px !important; + } + + .min-w-sm-750px { + min-width: 750px !important; + } + + .min-w-sm-800px { + min-width: 800px !important; + } + + .min-w-sm-850px { + min-width: 850px !important; + } + + .min-w-sm-900px { + min-width: 900px !important; + } + + .min-w-sm-950px { + min-width: 950px !important; + } + + .min-w-sm-1000px { + min-width: 1000px !important; + } + + .min-h-sm-unset { + min-height: unset !important; + } + + .min-h-sm-25 { + min-height: 25% !important; + } + + .min-h-sm-50 { + min-height: 50% !important; + } + + .min-h-sm-75 { + min-height: 75% !important; + } + + .min-h-sm-100 { + min-height: 100% !important; + } + + .min-h-sm-auto { + min-height: auto !important; + } + + .min-h-sm-1px { + min-height: 1px !important; + } + + .min-h-sm-2px { + min-height: 2px !important; + } + + .min-h-sm-3px { + min-height: 3px !important; + } + + .min-h-sm-4px { + min-height: 4px !important; + } + + .min-h-sm-5px { + min-height: 5px !important; + } + + .min-h-sm-6px { + min-height: 6px !important; + } + + .min-h-sm-7px { + min-height: 7px !important; + } + + .min-h-sm-8px { + min-height: 8px !important; + } + + .min-h-sm-9px { + min-height: 9px !important; + } + + .min-h-sm-10px { + min-height: 10px !important; + } + + .min-h-sm-15px { + min-height: 15px !important; + } + + .min-h-sm-20px { + min-height: 20px !important; + } + + .min-h-sm-25px { + min-height: 25px !important; + } + + .min-h-sm-30px { + min-height: 30px !important; + } + + .min-h-sm-35px { + min-height: 35px !important; + } + + .min-h-sm-40px { + min-height: 40px !important; + } + + .min-h-sm-45px { + min-height: 45px !important; + } + + .min-h-sm-50px { + min-height: 50px !important; + } + + .min-h-sm-55px { + min-height: 55px !important; + } + + .min-h-sm-60px { + min-height: 60px !important; + } + + .min-h-sm-65px { + min-height: 65px !important; + } + + .min-h-sm-70px { + min-height: 70px !important; + } + + .min-h-sm-75px { + min-height: 75px !important; + } + + .min-h-sm-80px { + min-height: 80px !important; + } + + .min-h-sm-85px { + min-height: 85px !important; + } + + .min-h-sm-90px { + min-height: 90px !important; + } + + .min-h-sm-95px { + min-height: 95px !important; + } + + .min-h-sm-100px { + min-height: 100px !important; + } + + .min-h-sm-125px { + min-height: 125px !important; + } + + .min-h-sm-150px { + min-height: 150px !important; + } + + .min-h-sm-175px { + min-height: 175px !important; + } + + .min-h-sm-200px { + min-height: 200px !important; + } + + .min-h-sm-225px { + min-height: 225px !important; + } + + .min-h-sm-250px { + min-height: 250px !important; + } + + .min-h-sm-275px { + min-height: 275px !important; + } + + .min-h-sm-300px { + min-height: 300px !important; + } + + .min-h-sm-325px { + min-height: 325px !important; + } + + .min-h-sm-350px { + min-height: 350px !important; + } + + .min-h-sm-375px { + min-height: 375px !important; + } + + .min-h-sm-400px { + min-height: 400px !important; + } + + .min-h-sm-425px { + min-height: 425px !important; + } + + .min-h-sm-450px { + min-height: 450px !important; + } + + .min-h-sm-475px { + min-height: 475px !important; + } + + .min-h-sm-500px { + min-height: 500px !important; + } + + .min-h-sm-550px { + min-height: 550px !important; + } + + .min-h-sm-600px { + min-height: 600px !important; + } + + .min-h-sm-650px { + min-height: 650px !important; + } + + .min-h-sm-700px { + min-height: 700px !important; + } + + .min-h-sm-750px { + min-height: 750px !important; + } + + .min-h-sm-800px { + min-height: 800px !important; + } + + .min-h-sm-850px { + min-height: 850px !important; + } + + .min-h-sm-900px { + min-height: 900px !important; + } + + .min-h-sm-950px { + min-height: 950px !important; + } + + .min-h-sm-1000px { + min-height: 1000px !important; + } +} +@media (min-width: 768px) { + .float-md-start { + float: left !important; + } + + .float-md-end { + float: right !important; + } + + .float-md-none { + float: none !important; + } + + .d-md-inline { + display: inline !important; + } + + .d-md-inline-block { + display: inline-block !important; + } + + .d-md-block { + display: block !important; + } + + .d-md-grid { + display: grid !important; + } + + .d-md-table { + display: table !important; + } + + .d-md-table-row { + display: table-row !important; + } + + .d-md-table-cell { + display: table-cell !important; + } + + .d-md-flex { + display: flex !important; + } + + .d-md-inline-flex { + display: inline-flex !important; + } + + .d-md-none { + display: none !important; + } + + .position-md-static { + position: static !important; + } + + .position-md-relative { + position: relative !important; + } + + .position-md-absolute { + position: absolute !important; + } + + .position-md-fixed { + position: fixed !important; + } + + .position-md-sticky { + position: sticky !important; + } + + .w-md-unset { + width: unset !important; + } + + .w-md-25 { + width: 25% !important; + } + + .w-md-50 { + width: 50% !important; + } + + .w-md-75 { + width: 75% !important; + } + + .w-md-100 { + width: 100% !important; + } + + .w-md-auto { + width: auto !important; + } + + .w-md-1px { + width: 1px !important; + } + + .w-md-2px { + width: 2px !important; + } + + .w-md-3px { + width: 3px !important; + } + + .w-md-4px { + width: 4px !important; + } + + .w-md-5px { + width: 5px !important; + } + + .w-md-6px { + width: 6px !important; + } + + .w-md-7px { + width: 7px !important; + } + + .w-md-8px { + width: 8px !important; + } + + .w-md-9px { + width: 9px !important; + } + + .w-md-10px { + width: 10px !important; + } + + .w-md-15px { + width: 15px !important; + } + + .w-md-20px { + width: 20px !important; + } + + .w-md-25px { + width: 25px !important; + } + + .w-md-30px { + width: 30px !important; + } + + .w-md-35px { + width: 35px !important; + } + + .w-md-40px { + width: 40px !important; + } + + .w-md-45px { + width: 45px !important; + } + + .w-md-50px { + width: 50px !important; + } + + .w-md-55px { + width: 55px !important; + } + + .w-md-60px { + width: 60px !important; + } + + .w-md-65px { + width: 65px !important; + } + + .w-md-70px { + width: 70px !important; + } + + .w-md-75px { + width: 75px !important; + } + + .w-md-80px { + width: 80px !important; + } + + .w-md-85px { + width: 85px !important; + } + + .w-md-90px { + width: 90px !important; + } + + .w-md-95px { + width: 95px !important; + } + + .w-md-100px { + width: 100px !important; + } + + .w-md-125px { + width: 125px !important; + } + + .w-md-150px { + width: 150px !important; + } + + .w-md-175px { + width: 175px !important; + } + + .w-md-200px { + width: 200px !important; + } + + .w-md-225px { + width: 225px !important; + } + + .w-md-250px { + width: 250px !important; + } + + .w-md-275px { + width: 275px !important; + } + + .w-md-300px { + width: 300px !important; + } + + .w-md-325px { + width: 325px !important; + } + + .w-md-350px { + width: 350px !important; + } + + .w-md-375px { + width: 375px !important; + } + + .w-md-400px { + width: 400px !important; + } + + .w-md-425px { + width: 425px !important; + } + + .w-md-450px { + width: 450px !important; + } + + .w-md-475px { + width: 475px !important; + } + + .w-md-500px { + width: 500px !important; + } + + .w-md-550px { + width: 550px !important; + } + + .w-md-600px { + width: 600px !important; + } + + .w-md-650px { + width: 650px !important; + } + + .w-md-700px { + width: 700px !important; + } + + .w-md-750px { + width: 750px !important; + } + + .w-md-800px { + width: 800px !important; + } + + .w-md-850px { + width: 850px !important; + } + + .w-md-900px { + width: 900px !important; + } + + .w-md-950px { + width: 950px !important; + } + + .w-md-1000px { + width: 1000px !important; + } + + .mw-md-unset { + max-width: unset !important; + } + + .mw-md-25 { + max-width: 25% !important; + } + + .mw-md-50 { + max-width: 50% !important; + } + + .mw-md-75 { + max-width: 75% !important; + } + + .mw-md-100 { + max-width: 100% !important; + } + + .mw-md-auto { + max-width: auto !important; + } + + .mw-md-1px { + max-width: 1px !important; + } + + .mw-md-2px { + max-width: 2px !important; + } + + .mw-md-3px { + max-width: 3px !important; + } + + .mw-md-4px { + max-width: 4px !important; + } + + .mw-md-5px { + max-width: 5px !important; + } + + .mw-md-6px { + max-width: 6px !important; + } + + .mw-md-7px { + max-width: 7px !important; + } + + .mw-md-8px { + max-width: 8px !important; + } + + .mw-md-9px { + max-width: 9px !important; + } + + .mw-md-10px { + max-width: 10px !important; + } + + .mw-md-15px { + max-width: 15px !important; + } + + .mw-md-20px { + max-width: 20px !important; + } + + .mw-md-25px { + max-width: 25px !important; + } + + .mw-md-30px { + max-width: 30px !important; + } + + .mw-md-35px { + max-width: 35px !important; + } + + .mw-md-40px { + max-width: 40px !important; + } + + .mw-md-45px { + max-width: 45px !important; + } + + .mw-md-50px { + max-width: 50px !important; + } + + .mw-md-55px { + max-width: 55px !important; + } + + .mw-md-60px { + max-width: 60px !important; + } + + .mw-md-65px { + max-width: 65px !important; + } + + .mw-md-70px { + max-width: 70px !important; + } + + .mw-md-75px { + max-width: 75px !important; + } + + .mw-md-80px { + max-width: 80px !important; + } + + .mw-md-85px { + max-width: 85px !important; + } + + .mw-md-90px { + max-width: 90px !important; + } + + .mw-md-95px { + max-width: 95px !important; + } + + .mw-md-100px { + max-width: 100px !important; + } + + .mw-md-125px { + max-width: 125px !important; + } + + .mw-md-150px { + max-width: 150px !important; + } + + .mw-md-175px { + max-width: 175px !important; + } + + .mw-md-200px { + max-width: 200px !important; + } + + .mw-md-225px { + max-width: 225px !important; + } + + .mw-md-250px { + max-width: 250px !important; + } + + .mw-md-275px { + max-width: 275px !important; + } + + .mw-md-300px { + max-width: 300px !important; + } + + .mw-md-325px { + max-width: 325px !important; + } + + .mw-md-350px { + max-width: 350px !important; + } + + .mw-md-375px { + max-width: 375px !important; + } + + .mw-md-400px { + max-width: 400px !important; + } + + .mw-md-425px { + max-width: 425px !important; + } + + .mw-md-450px { + max-width: 450px !important; + } + + .mw-md-475px { + max-width: 475px !important; + } + + .mw-md-500px { + max-width: 500px !important; + } + + .mw-md-550px { + max-width: 550px !important; + } + + .mw-md-600px { + max-width: 600px !important; + } + + .mw-md-650px { + max-width: 650px !important; + } + + .mw-md-700px { + max-width: 700px !important; + } + + .mw-md-750px { + max-width: 750px !important; + } + + .mw-md-800px { + max-width: 800px !important; + } + + .mw-md-850px { + max-width: 850px !important; + } + + .mw-md-900px { + max-width: 900px !important; + } + + .mw-md-950px { + max-width: 950px !important; + } + + .mw-md-1000px { + max-width: 1000px !important; + } + + .h-md-unset { + height: unset !important; + } + + .h-md-25 { + height: 25% !important; + } + + .h-md-50 { + height: 50% !important; + } + + .h-md-75 { + height: 75% !important; + } + + .h-md-100 { + height: 100% !important; + } + + .h-md-auto { + height: auto !important; + } + + .h-md-1px { + height: 1px !important; + } + + .h-md-2px { + height: 2px !important; + } + + .h-md-3px { + height: 3px !important; + } + + .h-md-4px { + height: 4px !important; + } + + .h-md-5px { + height: 5px !important; + } + + .h-md-6px { + height: 6px !important; + } + + .h-md-7px { + height: 7px !important; + } + + .h-md-8px { + height: 8px !important; + } + + .h-md-9px { + height: 9px !important; + } + + .h-md-10px { + height: 10px !important; + } + + .h-md-15px { + height: 15px !important; + } + + .h-md-20px { + height: 20px !important; + } + + .h-md-25px { + height: 25px !important; + } + + .h-md-30px { + height: 30px !important; + } + + .h-md-35px { + height: 35px !important; + } + + .h-md-40px { + height: 40px !important; + } + + .h-md-45px { + height: 45px !important; + } + + .h-md-50px { + height: 50px !important; + } + + .h-md-55px { + height: 55px !important; + } + + .h-md-60px { + height: 60px !important; + } + + .h-md-65px { + height: 65px !important; + } + + .h-md-70px { + height: 70px !important; + } + + .h-md-75px { + height: 75px !important; + } + + .h-md-80px { + height: 80px !important; + } + + .h-md-85px { + height: 85px !important; + } + + .h-md-90px { + height: 90px !important; + } + + .h-md-95px { + height: 95px !important; + } + + .h-md-100px { + height: 100px !important; + } + + .h-md-125px { + height: 125px !important; + } + + .h-md-150px { + height: 150px !important; + } + + .h-md-175px { + height: 175px !important; + } + + .h-md-200px { + height: 200px !important; + } + + .h-md-225px { + height: 225px !important; + } + + .h-md-250px { + height: 250px !important; + } + + .h-md-275px { + height: 275px !important; + } + + .h-md-300px { + height: 300px !important; + } + + .h-md-325px { + height: 325px !important; + } + + .h-md-350px { + height: 350px !important; + } + + .h-md-375px { + height: 375px !important; + } + + .h-md-400px { + height: 400px !important; + } + + .h-md-425px { + height: 425px !important; + } + + .h-md-450px { + height: 450px !important; + } + + .h-md-475px { + height: 475px !important; + } + + .h-md-500px { + height: 500px !important; + } + + .h-md-550px { + height: 550px !important; + } + + .h-md-600px { + height: 600px !important; + } + + .h-md-650px { + height: 650px !important; + } + + .h-md-700px { + height: 700px !important; + } + + .h-md-750px { + height: 750px !important; + } + + .h-md-800px { + height: 800px !important; + } + + .h-md-850px { + height: 850px !important; + } + + .h-md-900px { + height: 900px !important; + } + + .h-md-950px { + height: 950px !important; + } + + .h-md-1000px { + height: 1000px !important; + } + + .mh-md-unset { + max-height: unset !important; + } + + .mh-md-25 { + max-height: 25% !important; + } + + .mh-md-50 { + max-height: 50% !important; + } + + .mh-md-75 { + max-height: 75% !important; + } + + .mh-md-100 { + max-height: 100% !important; + } + + .mh-md-auto { + max-height: auto !important; + } + + .mh-md-1px { + max-height: 1px !important; + } + + .mh-md-2px { + max-height: 2px !important; + } + + .mh-md-3px { + max-height: 3px !important; + } + + .mh-md-4px { + max-height: 4px !important; + } + + .mh-md-5px { + max-height: 5px !important; + } + + .mh-md-6px { + max-height: 6px !important; + } + + .mh-md-7px { + max-height: 7px !important; + } + + .mh-md-8px { + max-height: 8px !important; + } + + .mh-md-9px { + max-height: 9px !important; + } + + .mh-md-10px { + max-height: 10px !important; + } + + .mh-md-15px { + max-height: 15px !important; + } + + .mh-md-20px { + max-height: 20px !important; + } + + .mh-md-25px { + max-height: 25px !important; + } + + .mh-md-30px { + max-height: 30px !important; + } + + .mh-md-35px { + max-height: 35px !important; + } + + .mh-md-40px { + max-height: 40px !important; + } + + .mh-md-45px { + max-height: 45px !important; + } + + .mh-md-50px { + max-height: 50px !important; + } + + .mh-md-55px { + max-height: 55px !important; + } + + .mh-md-60px { + max-height: 60px !important; + } + + .mh-md-65px { + max-height: 65px !important; + } + + .mh-md-70px { + max-height: 70px !important; + } + + .mh-md-75px { + max-height: 75px !important; + } + + .mh-md-80px { + max-height: 80px !important; + } + + .mh-md-85px { + max-height: 85px !important; + } + + .mh-md-90px { + max-height: 90px !important; + } + + .mh-md-95px { + max-height: 95px !important; + } + + .mh-md-100px { + max-height: 100px !important; + } + + .mh-md-125px { + max-height: 125px !important; + } + + .mh-md-150px { + max-height: 150px !important; + } + + .mh-md-175px { + max-height: 175px !important; + } + + .mh-md-200px { + max-height: 200px !important; + } + + .mh-md-225px { + max-height: 225px !important; + } + + .mh-md-250px { + max-height: 250px !important; + } + + .mh-md-275px { + max-height: 275px !important; + } + + .mh-md-300px { + max-height: 300px !important; + } + + .mh-md-325px { + max-height: 325px !important; + } + + .mh-md-350px { + max-height: 350px !important; + } + + .mh-md-375px { + max-height: 375px !important; + } + + .mh-md-400px { + max-height: 400px !important; + } + + .mh-md-425px { + max-height: 425px !important; + } + + .mh-md-450px { + max-height: 450px !important; + } + + .mh-md-475px { + max-height: 475px !important; + } + + .mh-md-500px { + max-height: 500px !important; + } + + .mh-md-550px { + max-height: 550px !important; + } + + .mh-md-600px { + max-height: 600px !important; + } + + .mh-md-650px { + max-height: 650px !important; + } + + .mh-md-700px { + max-height: 700px !important; + } + + .mh-md-750px { + max-height: 750px !important; + } + + .mh-md-800px { + max-height: 800px !important; + } + + .mh-md-850px { + max-height: 850px !important; + } + + .mh-md-900px { + max-height: 900px !important; + } + + .mh-md-950px { + max-height: 950px !important; + } + + .mh-md-1000px { + max-height: 1000px !important; + } + + .flex-md-fill { + flex: 1 1 auto !important; + } + + .flex-md-row { + flex-direction: row !important; + } + + .flex-md-column { + flex-direction: column !important; + } + + .flex-md-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-md-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-md-grow-0 { + flex-grow: 0 !important; + } + + .flex-md-grow-1 { + flex-grow: 1 !important; + } + + .flex-md-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-md-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-md-wrap { + flex-wrap: wrap !important; + } + + .flex-md-nowrap { + flex-wrap: nowrap !important; + } + + .flex-md-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-md-0 { + gap: 0 !important; + } + + .gap-md-1 { + gap: 0.25rem !important; + } + + .gap-md-2 { + gap: 0.5rem !important; + } + + .gap-md-3 { + gap: 0.75rem !important; + } + + .gap-md-4 { + gap: 1rem !important; + } + + .gap-md-5 { + gap: 1.25rem !important; + } + + .gap-md-6 { + gap: 1.5rem !important; + } + + .gap-md-7 { + gap: 1.75rem !important; + } + + .gap-md-8 { + gap: 2rem !important; + } + + .gap-md-9 { + gap: 2.25rem !important; + } + + .gap-md-10 { + gap: 2.5rem !important; + } + + .gap-md-11 { + gap: 2.75rem !important; + } + + .gap-md-12 { + gap: 3rem !important; + } + + .gap-md-13 { + gap: 3.25rem !important; + } + + .gap-md-14 { + gap: 3.5rem !important; + } + + .gap-md-15 { + gap: 3.75rem !important; + } + + .gap-md-16 { + gap: 4rem !important; + } + + .gap-md-17 { + gap: 4.25rem !important; + } + + .gap-md-18 { + gap: 4.5rem !important; + } + + .gap-md-19 { + gap: 4.75rem !important; + } + + .gap-md-20 { + gap: 5rem !important; + } + + .justify-content-md-start { + justify-content: flex-start !important; + } + + .justify-content-md-end { + justify-content: flex-end !important; + } + + .justify-content-md-center { + justify-content: center !important; + } + + .justify-content-md-between { + justify-content: space-between !important; + } + + .justify-content-md-around { + justify-content: space-around !important; + } + + .justify-content-md-evenly { + justify-content: space-evenly !important; + } + + .align-items-md-start { + align-items: flex-start !important; + } + + .align-items-md-end { + align-items: flex-end !important; + } + + .align-items-md-center { + align-items: center !important; + } + + .align-items-md-baseline { + align-items: baseline !important; + } + + .align-items-md-stretch { + align-items: stretch !important; + } + + .align-content-md-start { + align-content: flex-start !important; + } + + .align-content-md-end { + align-content: flex-end !important; + } + + .align-content-md-center { + align-content: center !important; + } + + .align-content-md-between { + align-content: space-between !important; + } + + .align-content-md-around { + align-content: space-around !important; + } + + .align-content-md-stretch { + align-content: stretch !important; + } + + .align-self-md-auto { + align-self: auto !important; + } + + .align-self-md-start { + align-self: flex-start !important; + } + + .align-self-md-end { + align-self: flex-end !important; + } + + .align-self-md-center { + align-self: center !important; + } + + .align-self-md-baseline { + align-self: baseline !important; + } + + .align-self-md-stretch { + align-self: stretch !important; + } + + .order-md-first { + order: -1 !important; + } + + .order-md-0 { + order: 0 !important; + } + + .order-md-1 { + order: 1 !important; + } + + .order-md-2 { + order: 2 !important; + } + + .order-md-3 { + order: 3 !important; + } + + .order-md-4 { + order: 4 !important; + } + + .order-md-5 { + order: 5 !important; + } + + .order-md-last { + order: 6 !important; + } + + .m-md-0 { + margin: 0 !important; + } + + .m-md-1 { + margin: 0.25rem !important; + } + + .m-md-2 { + margin: 0.5rem !important; + } + + .m-md-3 { + margin: 0.75rem !important; + } + + .m-md-4 { + margin: 1rem !important; + } + + .m-md-5 { + margin: 1.25rem !important; + } + + .m-md-6 { + margin: 1.5rem !important; + } + + .m-md-7 { + margin: 1.75rem !important; + } + + .m-md-8 { + margin: 2rem !important; + } + + .m-md-9 { + margin: 2.25rem !important; + } + + .m-md-10 { + margin: 2.5rem !important; + } + + .m-md-11 { + margin: 2.75rem !important; + } + + .m-md-12 { + margin: 3rem !important; + } + + .m-md-13 { + margin: 3.25rem !important; + } + + .m-md-14 { + margin: 3.5rem !important; + } + + .m-md-15 { + margin: 3.75rem !important; + } + + .m-md-16 { + margin: 4rem !important; + } + + .m-md-17 { + margin: 4.25rem !important; + } + + .m-md-18 { + margin: 4.5rem !important; + } + + .m-md-19 { + margin: 4.75rem !important; + } + + .m-md-20 { + margin: 5rem !important; + } + + .m-md-auto { + margin: auto !important; + } + + .mx-md-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-md-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-md-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-md-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + + .mx-md-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-md-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; + } + + .mx-md-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-md-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; + } + + .mx-md-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + + .mx-md-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; + } + + .mx-md-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + + .mx-md-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; + } + + .mx-md-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-md-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; + } + + .mx-md-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + + .mx-md-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; + } + + .mx-md-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + + .mx-md-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; + } + + .mx-md-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; + } + + .mx-md-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; + } + + .mx-md-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + + .mx-md-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-md-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-md-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-md-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-md-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + + .my-md-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-md-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; + } + + .my-md-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-md-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; + } + + .my-md-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + + .my-md-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; + } + + .my-md-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + + .my-md-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; + } + + .my-md-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-md-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; + } + + .my-md-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + + .my-md-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; + } + + .my-md-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + + .my-md-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; + } + + .my-md-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; + } + + .my-md-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; + } + + .my-md-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + + .my-md-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-md-0 { + margin-top: 0 !important; + } + + .mt-md-1 { + margin-top: 0.25rem !important; + } + + .mt-md-2 { + margin-top: 0.5rem !important; + } + + .mt-md-3 { + margin-top: 0.75rem !important; + } + + .mt-md-4 { + margin-top: 1rem !important; + } + + .mt-md-5 { + margin-top: 1.25rem !important; + } + + .mt-md-6 { + margin-top: 1.5rem !important; + } + + .mt-md-7 { + margin-top: 1.75rem !important; + } + + .mt-md-8 { + margin-top: 2rem !important; + } + + .mt-md-9 { + margin-top: 2.25rem !important; + } + + .mt-md-10 { + margin-top: 2.5rem !important; + } + + .mt-md-11 { + margin-top: 2.75rem !important; + } + + .mt-md-12 { + margin-top: 3rem !important; + } + + .mt-md-13 { + margin-top: 3.25rem !important; + } + + .mt-md-14 { + margin-top: 3.5rem !important; + } + + .mt-md-15 { + margin-top: 3.75rem !important; + } + + .mt-md-16 { + margin-top: 4rem !important; + } + + .mt-md-17 { + margin-top: 4.25rem !important; + } + + .mt-md-18 { + margin-top: 4.5rem !important; + } + + .mt-md-19 { + margin-top: 4.75rem !important; + } + + .mt-md-20 { + margin-top: 5rem !important; + } + + .mt-md-auto { + margin-top: auto !important; + } + + .me-md-0 { + margin-right: 0 !important; + } + + .me-md-1 { + margin-right: 0.25rem !important; + } + + .me-md-2 { + margin-right: 0.5rem !important; + } + + .me-md-3 { + margin-right: 0.75rem !important; + } + + .me-md-4 { + margin-right: 1rem !important; + } + + .me-md-5 { + margin-right: 1.25rem !important; + } + + .me-md-6 { + margin-right: 1.5rem !important; + } + + .me-md-7 { + margin-right: 1.75rem !important; + } + + .me-md-8 { + margin-right: 2rem !important; + } + + .me-md-9 { + margin-right: 2.25rem !important; + } + + .me-md-10 { + margin-right: 2.5rem !important; + } + + .me-md-11 { + margin-right: 2.75rem !important; + } + + .me-md-12 { + margin-right: 3rem !important; + } + + .me-md-13 { + margin-right: 3.25rem !important; + } + + .me-md-14 { + margin-right: 3.5rem !important; + } + + .me-md-15 { + margin-right: 3.75rem !important; + } + + .me-md-16 { + margin-right: 4rem !important; + } + + .me-md-17 { + margin-right: 4.25rem !important; + } + + .me-md-18 { + margin-right: 4.5rem !important; + } + + .me-md-19 { + margin-right: 4.75rem !important; + } + + .me-md-20 { + margin-right: 5rem !important; + } + + .me-md-auto { + margin-right: auto !important; + } + + .mb-md-0 { + margin-bottom: 0 !important; + } + + .mb-md-1 { + margin-bottom: 0.25rem !important; + } + + .mb-md-2 { + margin-bottom: 0.5rem !important; + } + + .mb-md-3 { + margin-bottom: 0.75rem !important; + } + + .mb-md-4 { + margin-bottom: 1rem !important; + } + + .mb-md-5 { + margin-bottom: 1.25rem !important; + } + + .mb-md-6 { + margin-bottom: 1.5rem !important; + } + + .mb-md-7 { + margin-bottom: 1.75rem !important; + } + + .mb-md-8 { + margin-bottom: 2rem !important; + } + + .mb-md-9 { + margin-bottom: 2.25rem !important; + } + + .mb-md-10 { + margin-bottom: 2.5rem !important; + } + + .mb-md-11 { + margin-bottom: 2.75rem !important; + } + + .mb-md-12 { + margin-bottom: 3rem !important; + } + + .mb-md-13 { + margin-bottom: 3.25rem !important; + } + + .mb-md-14 { + margin-bottom: 3.5rem !important; + } + + .mb-md-15 { + margin-bottom: 3.75rem !important; + } + + .mb-md-16 { + margin-bottom: 4rem !important; + } + + .mb-md-17 { + margin-bottom: 4.25rem !important; + } + + .mb-md-18 { + margin-bottom: 4.5rem !important; + } + + .mb-md-19 { + margin-bottom: 4.75rem !important; + } + + .mb-md-20 { + margin-bottom: 5rem !important; + } + + .mb-md-auto { + margin-bottom: auto !important; + } + + .ms-md-0 { + margin-left: 0 !important; + } + + .ms-md-1 { + margin-left: 0.25rem !important; + } + + .ms-md-2 { + margin-left: 0.5rem !important; + } + + .ms-md-3 { + margin-left: 0.75rem !important; + } + + .ms-md-4 { + margin-left: 1rem !important; + } + + .ms-md-5 { + margin-left: 1.25rem !important; + } + + .ms-md-6 { + margin-left: 1.5rem !important; + } + + .ms-md-7 { + margin-left: 1.75rem !important; + } + + .ms-md-8 { + margin-left: 2rem !important; + } + + .ms-md-9 { + margin-left: 2.25rem !important; + } + + .ms-md-10 { + margin-left: 2.5rem !important; + } + + .ms-md-11 { + margin-left: 2.75rem !important; + } + + .ms-md-12 { + margin-left: 3rem !important; + } + + .ms-md-13 { + margin-left: 3.25rem !important; + } + + .ms-md-14 { + margin-left: 3.5rem !important; + } + + .ms-md-15 { + margin-left: 3.75rem !important; + } + + .ms-md-16 { + margin-left: 4rem !important; + } + + .ms-md-17 { + margin-left: 4.25rem !important; + } + + .ms-md-18 { + margin-left: 4.5rem !important; + } + + .ms-md-19 { + margin-left: 4.75rem !important; + } + + .ms-md-20 { + margin-left: 5rem !important; + } + + .ms-md-auto { + margin-left: auto !important; + } + + .m-md-n1 { + margin: -0.25rem !important; + } + + .m-md-n2 { + margin: -0.5rem !important; + } + + .m-md-n3 { + margin: -0.75rem !important; + } + + .m-md-n4 { + margin: -1rem !important; + } + + .m-md-n5 { + margin: -1.25rem !important; + } + + .m-md-n6 { + margin: -1.5rem !important; + } + + .m-md-n7 { + margin: -1.75rem !important; + } + + .m-md-n8 { + margin: -2rem !important; + } + + .m-md-n9 { + margin: -2.25rem !important; + } + + .m-md-n10 { + margin: -2.5rem !important; + } + + .m-md-n11 { + margin: -2.75rem !important; + } + + .m-md-n12 { + margin: -3rem !important; + } + + .m-md-n13 { + margin: -3.25rem !important; + } + + .m-md-n14 { + margin: -3.5rem !important; + } + + .m-md-n15 { + margin: -3.75rem !important; + } + + .m-md-n16 { + margin: -4rem !important; + } + + .m-md-n17 { + margin: -4.25rem !important; + } + + .m-md-n18 { + margin: -4.5rem !important; + } + + .m-md-n19 { + margin: -4.75rem !important; + } + + .m-md-n20 { + margin: -5rem !important; + } + + .mx-md-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + + .mx-md-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + + .mx-md-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } + + .mx-md-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + + .mx-md-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; + } + + .mx-md-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + + .mx-md-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; + } + + .mx-md-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + + .mx-md-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; + } + + .mx-md-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + + .mx-md-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; + } + + .mx-md-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } + + .mx-md-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; + } + + .mx-md-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } + + .mx-md-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; + } + + .mx-md-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } + + .mx-md-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; + } + + .mx-md-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; + } + + .mx-md-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; + } + + .mx-md-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; + } + + .my-md-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + + .my-md-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + + .my-md-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; + } + + .my-md-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + + .my-md-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; + } + + .my-md-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + + .my-md-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; + } + + .my-md-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + + .my-md-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; + } + + .my-md-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + + .my-md-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; + } + + .my-md-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + + .my-md-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; + } + + .my-md-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; + } + + .my-md-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; + } + + .my-md-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + + .my-md-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; + } + + .my-md-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; + } + + .my-md-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; + } + + .my-md-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + + .mt-md-n1 { + margin-top: -0.25rem !important; + } + + .mt-md-n2 { + margin-top: -0.5rem !important; + } + + .mt-md-n3 { + margin-top: -0.75rem !important; + } + + .mt-md-n4 { + margin-top: -1rem !important; + } + + .mt-md-n5 { + margin-top: -1.25rem !important; + } + + .mt-md-n6 { + margin-top: -1.5rem !important; + } + + .mt-md-n7 { + margin-top: -1.75rem !important; + } + + .mt-md-n8 { + margin-top: -2rem !important; + } + + .mt-md-n9 { + margin-top: -2.25rem !important; + } + + .mt-md-n10 { + margin-top: -2.5rem !important; + } + + .mt-md-n11 { + margin-top: -2.75rem !important; + } + + .mt-md-n12 { + margin-top: -3rem !important; + } + + .mt-md-n13 { + margin-top: -3.25rem !important; + } + + .mt-md-n14 { + margin-top: -3.5rem !important; + } + + .mt-md-n15 { + margin-top: -3.75rem !important; + } + + .mt-md-n16 { + margin-top: -4rem !important; + } + + .mt-md-n17 { + margin-top: -4.25rem !important; + } + + .mt-md-n18 { + margin-top: -4.5rem !important; + } + + .mt-md-n19 { + margin-top: -4.75rem !important; + } + + .mt-md-n20 { + margin-top: -5rem !important; + } + + .me-md-n1 { + margin-right: -0.25rem !important; + } + + .me-md-n2 { + margin-right: -0.5rem !important; + } + + .me-md-n3 { + margin-right: -0.75rem !important; + } + + .me-md-n4 { + margin-right: -1rem !important; + } + + .me-md-n5 { + margin-right: -1.25rem !important; + } + + .me-md-n6 { + margin-right: -1.5rem !important; + } + + .me-md-n7 { + margin-right: -1.75rem !important; + } + + .me-md-n8 { + margin-right: -2rem !important; + } + + .me-md-n9 { + margin-right: -2.25rem !important; + } + + .me-md-n10 { + margin-right: -2.5rem !important; + } + + .me-md-n11 { + margin-right: -2.75rem !important; + } + + .me-md-n12 { + margin-right: -3rem !important; + } + + .me-md-n13 { + margin-right: -3.25rem !important; + } + + .me-md-n14 { + margin-right: -3.5rem !important; + } + + .me-md-n15 { + margin-right: -3.75rem !important; + } + + .me-md-n16 { + margin-right: -4rem !important; + } + + .me-md-n17 { + margin-right: -4.25rem !important; + } + + .me-md-n18 { + margin-right: -4.5rem !important; + } + + .me-md-n19 { + margin-right: -4.75rem !important; + } + + .me-md-n20 { + margin-right: -5rem !important; + } + + .mb-md-n1 { + margin-bottom: -0.25rem !important; + } + + .mb-md-n2 { + margin-bottom: -0.5rem !important; + } + + .mb-md-n3 { + margin-bottom: -0.75rem !important; + } + + .mb-md-n4 { + margin-bottom: -1rem !important; + } + + .mb-md-n5 { + margin-bottom: -1.25rem !important; + } + + .mb-md-n6 { + margin-bottom: -1.5rem !important; + } + + .mb-md-n7 { + margin-bottom: -1.75rem !important; + } + + .mb-md-n8 { + margin-bottom: -2rem !important; + } + + .mb-md-n9 { + margin-bottom: -2.25rem !important; + } + + .mb-md-n10 { + margin-bottom: -2.5rem !important; + } + + .mb-md-n11 { + margin-bottom: -2.75rem !important; + } + + .mb-md-n12 { + margin-bottom: -3rem !important; + } + + .mb-md-n13 { + margin-bottom: -3.25rem !important; + } + + .mb-md-n14 { + margin-bottom: -3.5rem !important; + } + + .mb-md-n15 { + margin-bottom: -3.75rem !important; + } + + .mb-md-n16 { + margin-bottom: -4rem !important; + } + + .mb-md-n17 { + margin-bottom: -4.25rem !important; + } + + .mb-md-n18 { + margin-bottom: -4.5rem !important; + } + + .mb-md-n19 { + margin-bottom: -4.75rem !important; + } + + .mb-md-n20 { + margin-bottom: -5rem !important; + } + + .ms-md-n1 { + margin-left: -0.25rem !important; + } + + .ms-md-n2 { + margin-left: -0.5rem !important; + } + + .ms-md-n3 { + margin-left: -0.75rem !important; + } + + .ms-md-n4 { + margin-left: -1rem !important; + } + + .ms-md-n5 { + margin-left: -1.25rem !important; + } + + .ms-md-n6 { + margin-left: -1.5rem !important; + } + + .ms-md-n7 { + margin-left: -1.75rem !important; + } + + .ms-md-n8 { + margin-left: -2rem !important; + } + + .ms-md-n9 { + margin-left: -2.25rem !important; + } + + .ms-md-n10 { + margin-left: -2.5rem !important; + } + + .ms-md-n11 { + margin-left: -2.75rem !important; + } + + .ms-md-n12 { + margin-left: -3rem !important; + } + + .ms-md-n13 { + margin-left: -3.25rem !important; + } + + .ms-md-n14 { + margin-left: -3.5rem !important; + } + + .ms-md-n15 { + margin-left: -3.75rem !important; + } + + .ms-md-n16 { + margin-left: -4rem !important; + } + + .ms-md-n17 { + margin-left: -4.25rem !important; + } + + .ms-md-n18 { + margin-left: -4.5rem !important; + } + + .ms-md-n19 { + margin-left: -4.75rem !important; + } + + .ms-md-n20 { + margin-left: -5rem !important; + } + + .p-md-0 { + padding: 0 !important; + } + + .p-md-1 { + padding: 0.25rem !important; + } + + .p-md-2 { + padding: 0.5rem !important; + } + + .p-md-3 { + padding: 0.75rem !important; + } + + .p-md-4 { + padding: 1rem !important; + } + + .p-md-5 { + padding: 1.25rem !important; + } + + .p-md-6 { + padding: 1.5rem !important; + } + + .p-md-7 { + padding: 1.75rem !important; + } + + .p-md-8 { + padding: 2rem !important; + } + + .p-md-9 { + padding: 2.25rem !important; + } + + .p-md-10 { + padding: 2.5rem !important; + } + + .p-md-11 { + padding: 2.75rem !important; + } + + .p-md-12 { + padding: 3rem !important; + } + + .p-md-13 { + padding: 3.25rem !important; + } + + .p-md-14 { + padding: 3.5rem !important; + } + + .p-md-15 { + padding: 3.75rem !important; + } + + .p-md-16 { + padding: 4rem !important; + } + + .p-md-17 { + padding: 4.25rem !important; + } + + .p-md-18 { + padding: 4.5rem !important; + } + + .p-md-19 { + padding: 4.75rem !important; + } + + .p-md-20 { + padding: 5rem !important; + } + + .px-md-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-md-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-md-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-md-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + + .px-md-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-md-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; + } + + .px-md-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-md-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; + } + + .px-md-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + + .px-md-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; + } + + .px-md-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + + .px-md-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; + } + + .px-md-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .px-md-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; + } + + .px-md-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + + .px-md-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; + } + + .px-md-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + + .px-md-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; + } + + .px-md-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; + } + + .px-md-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; + } + + .px-md-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + + .py-md-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-md-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-md-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-md-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + + .py-md-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-md-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; + } + + .py-md-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-md-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; + } + + .py-md-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .py-md-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; + } + + .py-md-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + + .py-md-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; + } + + .py-md-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .py-md-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; + } + + .py-md-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + + .py-md-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; + } + + .py-md-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + + .py-md-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; + } + + .py-md-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + + .py-md-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; + } + + .py-md-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + + .pt-md-0 { + padding-top: 0 !important; + } + + .pt-md-1 { + padding-top: 0.25rem !important; + } + + .pt-md-2 { + padding-top: 0.5rem !important; + } + + .pt-md-3 { + padding-top: 0.75rem !important; + } + + .pt-md-4 { + padding-top: 1rem !important; + } + + .pt-md-5 { + padding-top: 1.25rem !important; + } + + .pt-md-6 { + padding-top: 1.5rem !important; + } + + .pt-md-7 { + padding-top: 1.75rem !important; + } + + .pt-md-8 { + padding-top: 2rem !important; + } + + .pt-md-9 { + padding-top: 2.25rem !important; + } + + .pt-md-10 { + padding-top: 2.5rem !important; + } + + .pt-md-11 { + padding-top: 2.75rem !important; + } + + .pt-md-12 { + padding-top: 3rem !important; + } + + .pt-md-13 { + padding-top: 3.25rem !important; + } + + .pt-md-14 { + padding-top: 3.5rem !important; + } + + .pt-md-15 { + padding-top: 3.75rem !important; + } + + .pt-md-16 { + padding-top: 4rem !important; + } + + .pt-md-17 { + padding-top: 4.25rem !important; + } + + .pt-md-18 { + padding-top: 4.5rem !important; + } + + .pt-md-19 { + padding-top: 4.75rem !important; + } + + .pt-md-20 { + padding-top: 5rem !important; + } + + .pe-md-0 { + padding-right: 0 !important; + } + + .pe-md-1 { + padding-right: 0.25rem !important; + } + + .pe-md-2 { + padding-right: 0.5rem !important; + } + + .pe-md-3 { + padding-right: 0.75rem !important; + } + + .pe-md-4 { + padding-right: 1rem !important; + } + + .pe-md-5 { + padding-right: 1.25rem !important; + } + + .pe-md-6 { + padding-right: 1.5rem !important; + } + + .pe-md-7 { + padding-right: 1.75rem !important; + } + + .pe-md-8 { + padding-right: 2rem !important; + } + + .pe-md-9 { + padding-right: 2.25rem !important; + } + + .pe-md-10 { + padding-right: 2.5rem !important; + } + + .pe-md-11 { + padding-right: 2.75rem !important; + } + + .pe-md-12 { + padding-right: 3rem !important; + } + + .pe-md-13 { + padding-right: 3.25rem !important; + } + + .pe-md-14 { + padding-right: 3.5rem !important; + } + + .pe-md-15 { + padding-right: 3.75rem !important; + } + + .pe-md-16 { + padding-right: 4rem !important; + } + + .pe-md-17 { + padding-right: 4.25rem !important; + } + + .pe-md-18 { + padding-right: 4.5rem !important; + } + + .pe-md-19 { + padding-right: 4.75rem !important; + } + + .pe-md-20 { + padding-right: 5rem !important; + } + + .pb-md-0 { + padding-bottom: 0 !important; + } + + .pb-md-1 { + padding-bottom: 0.25rem !important; + } + + .pb-md-2 { + padding-bottom: 0.5rem !important; + } + + .pb-md-3 { + padding-bottom: 0.75rem !important; + } + + .pb-md-4 { + padding-bottom: 1rem !important; + } + + .pb-md-5 { + padding-bottom: 1.25rem !important; + } + + .pb-md-6 { + padding-bottom: 1.5rem !important; + } + + .pb-md-7 { + padding-bottom: 1.75rem !important; + } + + .pb-md-8 { + padding-bottom: 2rem !important; + } + + .pb-md-9 { + padding-bottom: 2.25rem !important; + } + + .pb-md-10 { + padding-bottom: 2.5rem !important; + } + + .pb-md-11 { + padding-bottom: 2.75rem !important; + } + + .pb-md-12 { + padding-bottom: 3rem !important; + } + + .pb-md-13 { + padding-bottom: 3.25rem !important; + } + + .pb-md-14 { + padding-bottom: 3.5rem !important; + } + + .pb-md-15 { + padding-bottom: 3.75rem !important; + } + + .pb-md-16 { + padding-bottom: 4rem !important; + } + + .pb-md-17 { + padding-bottom: 4.25rem !important; + } + + .pb-md-18 { + padding-bottom: 4.5rem !important; + } + + .pb-md-19 { + padding-bottom: 4.75rem !important; + } + + .pb-md-20 { + padding-bottom: 5rem !important; + } + + .ps-md-0 { + padding-left: 0 !important; + } + + .ps-md-1 { + padding-left: 0.25rem !important; + } + + .ps-md-2 { + padding-left: 0.5rem !important; + } + + .ps-md-3 { + padding-left: 0.75rem !important; + } + + .ps-md-4 { + padding-left: 1rem !important; + } + + .ps-md-5 { + padding-left: 1.25rem !important; + } + + .ps-md-6 { + padding-left: 1.5rem !important; + } + + .ps-md-7 { + padding-left: 1.75rem !important; + } + + .ps-md-8 { + padding-left: 2rem !important; + } + + .ps-md-9 { + padding-left: 2.25rem !important; + } + + .ps-md-10 { + padding-left: 2.5rem !important; + } + + .ps-md-11 { + padding-left: 2.75rem !important; + } + + .ps-md-12 { + padding-left: 3rem !important; + } + + .ps-md-13 { + padding-left: 3.25rem !important; + } + + .ps-md-14 { + padding-left: 3.5rem !important; + } + + .ps-md-15 { + padding-left: 3.75rem !important; + } + + .ps-md-16 { + padding-left: 4rem !important; + } + + .ps-md-17 { + padding-left: 4.25rem !important; + } + + .ps-md-18 { + padding-left: 4.5rem !important; + } + + .ps-md-19 { + padding-left: 4.75rem !important; + } + + .ps-md-20 { + padding-left: 5rem !important; + } + + .fs-md-1 { + font-size: calc(1.3rem + 0.6vw) !important; + } + + .fs-md-2 { + font-size: calc(1.275rem + 0.3vw) !important; + } + + .fs-md-3 { + font-size: calc(1.26rem + 0.12vw) !important; + } + + .fs-md-4 { + font-size: 1.25rem !important; + } + + .fs-md-5 { + font-size: 1.15rem !important; + } + + .fs-md-6 { + font-size: 1.075rem !important; + } + + .fs-md-7 { + font-size: 0.95rem !important; + } + + .fs-md-8 { + font-size: 0.85rem !important; + } + + .fs-md-9 { + font-size: 0.75rem !important; + } + + .fs-md-10 { + font-size: 0.5rem !important; + } + + .fs-md-base { + font-size: 1rem !important; + } + + .fs-md-fluid { + font-size: 100% !important; + } + + .fs-md-2x { + font-size: calc(1.325rem + 0.9vw) !important; + } + + .fs-md-2qx { + font-size: calc(1.35rem + 1.2vw) !important; + } + + .fs-md-2hx { + font-size: calc(1.375rem + 1.5vw) !important; + } + + .fs-md-2tx { + font-size: calc(1.4rem + 1.8vw) !important; + } + + .fs-md-3x { + font-size: calc(1.425rem + 2.1vw) !important; + } + + .fs-md-3qx { + font-size: calc(1.45rem + 2.4vw) !important; + } + + .fs-md-3hx { + font-size: calc(1.475rem + 2.7vw) !important; + } + + .fs-md-3tx { + font-size: calc(1.5rem + 3vw) !important; + } + + .fs-md-4x { + font-size: calc(1.525rem + 3.3vw) !important; + } + + .fs-md-4qx { + font-size: calc(1.55rem + 3.6vw) !important; + } + + .fs-md-4hx { + font-size: calc(1.575rem + 3.9vw) !important; + } + + .fs-md-4tx { + font-size: calc(1.6rem + 4.2vw) !important; + } + + .fs-md-5x { + font-size: calc(1.625rem + 4.5vw) !important; + } + + .fs-md-5qx { + font-size: calc(1.65rem + 4.8vw) !important; + } + + .fs-md-5hx { + font-size: calc(1.675rem + 5.1vw) !important; + } + + .fs-md-5tx { + font-size: calc(1.7rem + 5.4vw) !important; + } + + .text-md-start { + text-align: left !important; + } + + .text-md-end { + text-align: right !important; + } + + .text-md-center { + text-align: center !important; + } + + .min-w-md-unset { + min-width: unset !important; + } + + .min-w-md-25 { + min-width: 25% !important; + } + + .min-w-md-50 { + min-width: 50% !important; + } + + .min-w-md-75 { + min-width: 75% !important; + } + + .min-w-md-100 { + min-width: 100% !important; + } + + .min-w-md-auto { + min-width: auto !important; + } + + .min-w-md-1px { + min-width: 1px !important; + } + + .min-w-md-2px { + min-width: 2px !important; + } + + .min-w-md-3px { + min-width: 3px !important; + } + + .min-w-md-4px { + min-width: 4px !important; + } + + .min-w-md-5px { + min-width: 5px !important; + } + + .min-w-md-6px { + min-width: 6px !important; + } + + .min-w-md-7px { + min-width: 7px !important; + } + + .min-w-md-8px { + min-width: 8px !important; + } + + .min-w-md-9px { + min-width: 9px !important; + } + + .min-w-md-10px { + min-width: 10px !important; + } + + .min-w-md-15px { + min-width: 15px !important; + } + + .min-w-md-20px { + min-width: 20px !important; + } + + .min-w-md-25px { + min-width: 25px !important; + } + + .min-w-md-30px { + min-width: 30px !important; + } + + .min-w-md-35px { + min-width: 35px !important; + } + + .min-w-md-40px { + min-width: 40px !important; + } + + .min-w-md-45px { + min-width: 45px !important; + } + + .min-w-md-50px { + min-width: 50px !important; + } + + .min-w-md-55px { + min-width: 55px !important; + } + + .min-w-md-60px { + min-width: 60px !important; + } + + .min-w-md-65px { + min-width: 65px !important; + } + + .min-w-md-70px { + min-width: 70px !important; + } + + .min-w-md-75px { + min-width: 75px !important; + } + + .min-w-md-80px { + min-width: 80px !important; + } + + .min-w-md-85px { + min-width: 85px !important; + } + + .min-w-md-90px { + min-width: 90px !important; + } + + .min-w-md-95px { + min-width: 95px !important; + } + + .min-w-md-100px { + min-width: 100px !important; + } + + .min-w-md-125px { + min-width: 125px !important; + } + + .min-w-md-150px { + min-width: 150px !important; + } + + .min-w-md-175px { + min-width: 175px !important; + } + + .min-w-md-200px { + min-width: 200px !important; + } + + .min-w-md-225px { + min-width: 225px !important; + } + + .min-w-md-250px { + min-width: 250px !important; + } + + .min-w-md-275px { + min-width: 275px !important; + } + + .min-w-md-300px { + min-width: 300px !important; + } + + .min-w-md-325px { + min-width: 325px !important; + } + + .min-w-md-350px { + min-width: 350px !important; + } + + .min-w-md-375px { + min-width: 375px !important; + } + + .min-w-md-400px { + min-width: 400px !important; + } + + .min-w-md-425px { + min-width: 425px !important; + } + + .min-w-md-450px { + min-width: 450px !important; + } + + .min-w-md-475px { + min-width: 475px !important; + } + + .min-w-md-500px { + min-width: 500px !important; + } + + .min-w-md-550px { + min-width: 550px !important; + } + + .min-w-md-600px { + min-width: 600px !important; + } + + .min-w-md-650px { + min-width: 650px !important; + } + + .min-w-md-700px { + min-width: 700px !important; + } + + .min-w-md-750px { + min-width: 750px !important; + } + + .min-w-md-800px { + min-width: 800px !important; + } + + .min-w-md-850px { + min-width: 850px !important; + } + + .min-w-md-900px { + min-width: 900px !important; + } + + .min-w-md-950px { + min-width: 950px !important; + } + + .min-w-md-1000px { + min-width: 1000px !important; + } + + .min-h-md-unset { + min-height: unset !important; + } + + .min-h-md-25 { + min-height: 25% !important; + } + + .min-h-md-50 { + min-height: 50% !important; + } + + .min-h-md-75 { + min-height: 75% !important; + } + + .min-h-md-100 { + min-height: 100% !important; + } + + .min-h-md-auto { + min-height: auto !important; + } + + .min-h-md-1px { + min-height: 1px !important; + } + + .min-h-md-2px { + min-height: 2px !important; + } + + .min-h-md-3px { + min-height: 3px !important; + } + + .min-h-md-4px { + min-height: 4px !important; + } + + .min-h-md-5px { + min-height: 5px !important; + } + + .min-h-md-6px { + min-height: 6px !important; + } + + .min-h-md-7px { + min-height: 7px !important; + } + + .min-h-md-8px { + min-height: 8px !important; + } + + .min-h-md-9px { + min-height: 9px !important; + } + + .min-h-md-10px { + min-height: 10px !important; + } + + .min-h-md-15px { + min-height: 15px !important; + } + + .min-h-md-20px { + min-height: 20px !important; + } + + .min-h-md-25px { + min-height: 25px !important; + } + + .min-h-md-30px { + min-height: 30px !important; + } + + .min-h-md-35px { + min-height: 35px !important; + } + + .min-h-md-40px { + min-height: 40px !important; + } + + .min-h-md-45px { + min-height: 45px !important; + } + + .min-h-md-50px { + min-height: 50px !important; + } + + .min-h-md-55px { + min-height: 55px !important; + } + + .min-h-md-60px { + min-height: 60px !important; + } + + .min-h-md-65px { + min-height: 65px !important; + } + + .min-h-md-70px { + min-height: 70px !important; + } + + .min-h-md-75px { + min-height: 75px !important; + } + + .min-h-md-80px { + min-height: 80px !important; + } + + .min-h-md-85px { + min-height: 85px !important; + } + + .min-h-md-90px { + min-height: 90px !important; + } + + .min-h-md-95px { + min-height: 95px !important; + } + + .min-h-md-100px { + min-height: 100px !important; + } + + .min-h-md-125px { + min-height: 125px !important; + } + + .min-h-md-150px { + min-height: 150px !important; + } + + .min-h-md-175px { + min-height: 175px !important; + } + + .min-h-md-200px { + min-height: 200px !important; + } + + .min-h-md-225px { + min-height: 225px !important; + } + + .min-h-md-250px { + min-height: 250px !important; + } + + .min-h-md-275px { + min-height: 275px !important; + } + + .min-h-md-300px { + min-height: 300px !important; + } + + .min-h-md-325px { + min-height: 325px !important; + } + + .min-h-md-350px { + min-height: 350px !important; + } + + .min-h-md-375px { + min-height: 375px !important; + } + + .min-h-md-400px { + min-height: 400px !important; + } + + .min-h-md-425px { + min-height: 425px !important; + } + + .min-h-md-450px { + min-height: 450px !important; + } + + .min-h-md-475px { + min-height: 475px !important; + } + + .min-h-md-500px { + min-height: 500px !important; + } + + .min-h-md-550px { + min-height: 550px !important; + } + + .min-h-md-600px { + min-height: 600px !important; + } + + .min-h-md-650px { + min-height: 650px !important; + } + + .min-h-md-700px { + min-height: 700px !important; + } + + .min-h-md-750px { + min-height: 750px !important; + } + + .min-h-md-800px { + min-height: 800px !important; + } + + .min-h-md-850px { + min-height: 850px !important; + } + + .min-h-md-900px { + min-height: 900px !important; + } + + .min-h-md-950px { + min-height: 950px !important; + } + + .min-h-md-1000px { + min-height: 1000px !important; + } +} +@media (min-width: 992px) { + .float-lg-start { + float: left !important; + } + + .float-lg-end { + float: right !important; + } + + .float-lg-none { + float: none !important; + } + + .d-lg-inline { + display: inline !important; + } + + .d-lg-inline-block { + display: inline-block !important; + } + + .d-lg-block { + display: block !important; + } + + .d-lg-grid { + display: grid !important; + } + + .d-lg-table { + display: table !important; + } + + .d-lg-table-row { + display: table-row !important; + } + + .d-lg-table-cell { + display: table-cell !important; + } + + .d-lg-flex { + display: flex !important; + } + + .d-lg-inline-flex { + display: inline-flex !important; + } + + .d-lg-none { + display: none !important; + } + + .position-lg-static { + position: static !important; + } + + .position-lg-relative { + position: relative !important; + } + + .position-lg-absolute { + position: absolute !important; + } + + .position-lg-fixed { + position: fixed !important; + } + + .position-lg-sticky { + position: sticky !important; + } + + .w-lg-unset { + width: unset !important; + } + + .w-lg-25 { + width: 25% !important; + } + + .w-lg-50 { + width: 50% !important; + } + + .w-lg-75 { + width: 75% !important; + } + + .w-lg-100 { + width: 100% !important; + } + + .w-lg-auto { + width: auto !important; + } + + .w-lg-1px { + width: 1px !important; + } + + .w-lg-2px { + width: 2px !important; + } + + .w-lg-3px { + width: 3px !important; + } + + .w-lg-4px { + width: 4px !important; + } + + .w-lg-5px { + width: 5px !important; + } + + .w-lg-6px { + width: 6px !important; + } + + .w-lg-7px { + width: 7px !important; + } + + .w-lg-8px { + width: 8px !important; + } + + .w-lg-9px { + width: 9px !important; + } + + .w-lg-10px { + width: 10px !important; + } + + .w-lg-15px { + width: 15px !important; + } + + .w-lg-20px { + width: 20px !important; + } + + .w-lg-25px { + width: 25px !important; + } + + .w-lg-30px { + width: 30px !important; + } + + .w-lg-35px { + width: 35px !important; + } + + .w-lg-40px { + width: 40px !important; + } + + .w-lg-45px { + width: 45px !important; + } + + .w-lg-50px { + width: 50px !important; + } + + .w-lg-55px { + width: 55px !important; + } + + .w-lg-60px { + width: 60px !important; + } + + .w-lg-65px { + width: 65px !important; + } + + .w-lg-70px { + width: 70px !important; + } + + .w-lg-75px { + width: 75px !important; + } + + .w-lg-80px { + width: 80px !important; + } + + .w-lg-85px { + width: 85px !important; + } + + .w-lg-90px { + width: 90px !important; + } + + .w-lg-95px { + width: 95px !important; + } + + .w-lg-100px { + width: 100px !important; + } + + .w-lg-125px { + width: 125px !important; + } + + .w-lg-150px { + width: 150px !important; + } + + .w-lg-175px { + width: 175px !important; + } + + .w-lg-200px { + width: 200px !important; + } + + .w-lg-225px { + width: 225px !important; + } + + .w-lg-250px { + width: 250px !important; + } + + .w-lg-275px { + width: 275px !important; + } + + .w-lg-300px { + width: 300px !important; + } + + .w-lg-325px { + width: 325px !important; + } + + .w-lg-350px { + width: 350px !important; + } + + .w-lg-375px { + width: 375px !important; + } + + .w-lg-400px { + width: 400px !important; + } + + .w-lg-425px { + width: 425px !important; + } + + .w-lg-450px { + width: 450px !important; + } + + .w-lg-475px { + width: 475px !important; + } + + .w-lg-500px { + width: 500px !important; + } + + .w-lg-550px { + width: 550px !important; + } + + .w-lg-600px { + width: 600px !important; + } + + .w-lg-650px { + width: 650px !important; + } + + .w-lg-700px { + width: 700px !important; + } + + .w-lg-750px { + width: 750px !important; + } + + .w-lg-800px { + width: 800px !important; + } + + .w-lg-850px { + width: 850px !important; + } + + .w-lg-900px { + width: 900px !important; + } + + .w-lg-950px { + width: 950px !important; + } + + .w-lg-1000px { + width: 1000px !important; + } + + .mw-lg-unset { + max-width: unset !important; + } + + .mw-lg-25 { + max-width: 25% !important; + } + + .mw-lg-50 { + max-width: 50% !important; + } + + .mw-lg-75 { + max-width: 75% !important; + } + + .mw-lg-100 { + max-width: 100% !important; + } + + .mw-lg-auto { + max-width: auto !important; + } + + .mw-lg-1px { + max-width: 1px !important; + } + + .mw-lg-2px { + max-width: 2px !important; + } + + .mw-lg-3px { + max-width: 3px !important; + } + + .mw-lg-4px { + max-width: 4px !important; + } + + .mw-lg-5px { + max-width: 5px !important; + } + + .mw-lg-6px { + max-width: 6px !important; + } + + .mw-lg-7px { + max-width: 7px !important; + } + + .mw-lg-8px { + max-width: 8px !important; + } + + .mw-lg-9px { + max-width: 9px !important; + } + + .mw-lg-10px { + max-width: 10px !important; + } + + .mw-lg-15px { + max-width: 15px !important; + } + + .mw-lg-20px { + max-width: 20px !important; + } + + .mw-lg-25px { + max-width: 25px !important; + } + + .mw-lg-30px { + max-width: 30px !important; + } + + .mw-lg-35px { + max-width: 35px !important; + } + + .mw-lg-40px { + max-width: 40px !important; + } + + .mw-lg-45px { + max-width: 45px !important; + } + + .mw-lg-50px { + max-width: 50px !important; + } + + .mw-lg-55px { + max-width: 55px !important; + } + + .mw-lg-60px { + max-width: 60px !important; + } + + .mw-lg-65px { + max-width: 65px !important; + } + + .mw-lg-70px { + max-width: 70px !important; + } + + .mw-lg-75px { + max-width: 75px !important; + } + + .mw-lg-80px { + max-width: 80px !important; + } + + .mw-lg-85px { + max-width: 85px !important; + } + + .mw-lg-90px { + max-width: 90px !important; + } + + .mw-lg-95px { + max-width: 95px !important; + } + + .mw-lg-100px { + max-width: 100px !important; + } + + .mw-lg-125px { + max-width: 125px !important; + } + + .mw-lg-150px { + max-width: 150px !important; + } + + .mw-lg-175px { + max-width: 175px !important; + } + + .mw-lg-200px { + max-width: 200px !important; + } + + .mw-lg-225px { + max-width: 225px !important; + } + + .mw-lg-250px { + max-width: 250px !important; + } + + .mw-lg-275px { + max-width: 275px !important; + } + + .mw-lg-300px { + max-width: 300px !important; + } + + .mw-lg-325px { + max-width: 325px !important; + } + + .mw-lg-350px { + max-width: 350px !important; + } + + .mw-lg-375px { + max-width: 375px !important; + } + + .mw-lg-400px { + max-width: 400px !important; + } + + .mw-lg-425px { + max-width: 425px !important; + } + + .mw-lg-450px { + max-width: 450px !important; + } + + .mw-lg-475px { + max-width: 475px !important; + } + + .mw-lg-500px { + max-width: 500px !important; + } + + .mw-lg-550px { + max-width: 550px !important; + } + + .mw-lg-600px { + max-width: 600px !important; + } + + .mw-lg-650px { + max-width: 650px !important; + } + + .mw-lg-700px { + max-width: 700px !important; + } + + .mw-lg-750px { + max-width: 750px !important; + } + + .mw-lg-800px { + max-width: 800px !important; + } + + .mw-lg-850px { + max-width: 850px !important; + } + + .mw-lg-900px { + max-width: 900px !important; + } + + .mw-lg-950px { + max-width: 950px !important; + } + + .mw-lg-1000px { + max-width: 1000px !important; + } + + .h-lg-unset { + height: unset !important; + } + + .h-lg-25 { + height: 25% !important; + } + + .h-lg-50 { + height: 50% !important; + } + + .h-lg-75 { + height: 75% !important; + } + + .h-lg-100 { + height: 100% !important; + } + + .h-lg-auto { + height: auto !important; + } + + .h-lg-1px { + height: 1px !important; + } + + .h-lg-2px { + height: 2px !important; + } + + .h-lg-3px { + height: 3px !important; + } + + .h-lg-4px { + height: 4px !important; + } + + .h-lg-5px { + height: 5px !important; + } + + .h-lg-6px { + height: 6px !important; + } + + .h-lg-7px { + height: 7px !important; + } + + .h-lg-8px { + height: 8px !important; + } + + .h-lg-9px { + height: 9px !important; + } + + .h-lg-10px { + height: 10px !important; + } + + .h-lg-15px { + height: 15px !important; + } + + .h-lg-20px { + height: 20px !important; + } + + .h-lg-25px { + height: 25px !important; + } + + .h-lg-30px { + height: 30px !important; + } + + .h-lg-35px { + height: 35px !important; + } + + .h-lg-40px { + height: 40px !important; + } + + .h-lg-45px { + height: 45px !important; + } + + .h-lg-50px { + height: 50px !important; + } + + .h-lg-55px { + height: 55px !important; + } + + .h-lg-60px { + height: 60px !important; + } + + .h-lg-65px { + height: 65px !important; + } + + .h-lg-70px { + height: 70px !important; + } + + .h-lg-75px { + height: 75px !important; + } + + .h-lg-80px { + height: 80px !important; + } + + .h-lg-85px { + height: 85px !important; + } + + .h-lg-90px { + height: 90px !important; + } + + .h-lg-95px { + height: 95px !important; + } + + .h-lg-100px { + height: 100px !important; + } + + .h-lg-125px { + height: 125px !important; + } + + .h-lg-150px { + height: 150px !important; + } + + .h-lg-175px { + height: 175px !important; + } + + .h-lg-200px { + height: 200px !important; + } + + .h-lg-225px { + height: 225px !important; + } + + .h-lg-250px { + height: 250px !important; + } + + .h-lg-275px { + height: 275px !important; + } + + .h-lg-300px { + height: 300px !important; + } + + .h-lg-325px { + height: 325px !important; + } + + .h-lg-350px { + height: 350px !important; + } + + .h-lg-375px { + height: 375px !important; + } + + .h-lg-400px { + height: 400px !important; + } + + .h-lg-425px { + height: 425px !important; + } + + .h-lg-450px { + height: 450px !important; + } + + .h-lg-475px { + height: 475px !important; + } + + .h-lg-500px { + height: 500px !important; + } + + .h-lg-550px { + height: 550px !important; + } + + .h-lg-600px { + height: 600px !important; + } + + .h-lg-650px { + height: 650px !important; + } + + .h-lg-700px { + height: 700px !important; + } + + .h-lg-750px { + height: 750px !important; + } + + .h-lg-800px { + height: 800px !important; + } + + .h-lg-850px { + height: 850px !important; + } + + .h-lg-900px { + height: 900px !important; + } + + .h-lg-950px { + height: 950px !important; + } + + .h-lg-1000px { + height: 1000px !important; + } + + .mh-lg-unset { + max-height: unset !important; + } + + .mh-lg-25 { + max-height: 25% !important; + } + + .mh-lg-50 { + max-height: 50% !important; + } + + .mh-lg-75 { + max-height: 75% !important; + } + + .mh-lg-100 { + max-height: 100% !important; + } + + .mh-lg-auto { + max-height: auto !important; + } + + .mh-lg-1px { + max-height: 1px !important; + } + + .mh-lg-2px { + max-height: 2px !important; + } + + .mh-lg-3px { + max-height: 3px !important; + } + + .mh-lg-4px { + max-height: 4px !important; + } + + .mh-lg-5px { + max-height: 5px !important; + } + + .mh-lg-6px { + max-height: 6px !important; + } + + .mh-lg-7px { + max-height: 7px !important; + } + + .mh-lg-8px { + max-height: 8px !important; + } + + .mh-lg-9px { + max-height: 9px !important; + } + + .mh-lg-10px { + max-height: 10px !important; + } + + .mh-lg-15px { + max-height: 15px !important; + } + + .mh-lg-20px { + max-height: 20px !important; + } + + .mh-lg-25px { + max-height: 25px !important; + } + + .mh-lg-30px { + max-height: 30px !important; + } + + .mh-lg-35px { + max-height: 35px !important; + } + + .mh-lg-40px { + max-height: 40px !important; + } + + .mh-lg-45px { + max-height: 45px !important; + } + + .mh-lg-50px { + max-height: 50px !important; + } + + .mh-lg-55px { + max-height: 55px !important; + } + + .mh-lg-60px { + max-height: 60px !important; + } + + .mh-lg-65px { + max-height: 65px !important; + } + + .mh-lg-70px { + max-height: 70px !important; + } + + .mh-lg-75px { + max-height: 75px !important; + } + + .mh-lg-80px { + max-height: 80px !important; + } + + .mh-lg-85px { + max-height: 85px !important; + } + + .mh-lg-90px { + max-height: 90px !important; + } + + .mh-lg-95px { + max-height: 95px !important; + } + + .mh-lg-100px { + max-height: 100px !important; + } + + .mh-lg-125px { + max-height: 125px !important; + } + + .mh-lg-150px { + max-height: 150px !important; + } + + .mh-lg-175px { + max-height: 175px !important; + } + + .mh-lg-200px { + max-height: 200px !important; + } + + .mh-lg-225px { + max-height: 225px !important; + } + + .mh-lg-250px { + max-height: 250px !important; + } + + .mh-lg-275px { + max-height: 275px !important; + } + + .mh-lg-300px { + max-height: 300px !important; + } + + .mh-lg-325px { + max-height: 325px !important; + } + + .mh-lg-350px { + max-height: 350px !important; + } + + .mh-lg-375px { + max-height: 375px !important; + } + + .mh-lg-400px { + max-height: 400px !important; + } + + .mh-lg-425px { + max-height: 425px !important; + } + + .mh-lg-450px { + max-height: 450px !important; + } + + .mh-lg-475px { + max-height: 475px !important; + } + + .mh-lg-500px { + max-height: 500px !important; + } + + .mh-lg-550px { + max-height: 550px !important; + } + + .mh-lg-600px { + max-height: 600px !important; + } + + .mh-lg-650px { + max-height: 650px !important; + } + + .mh-lg-700px { + max-height: 700px !important; + } + + .mh-lg-750px { + max-height: 750px !important; + } + + .mh-lg-800px { + max-height: 800px !important; + } + + .mh-lg-850px { + max-height: 850px !important; + } + + .mh-lg-900px { + max-height: 900px !important; + } + + .mh-lg-950px { + max-height: 950px !important; + } + + .mh-lg-1000px { + max-height: 1000px !important; + } + + .flex-lg-fill { + flex: 1 1 auto !important; + } + + .flex-lg-row { + flex-direction: row !important; + } + + .flex-lg-column { + flex-direction: column !important; + } + + .flex-lg-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-lg-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-lg-grow-0 { + flex-grow: 0 !important; + } + + .flex-lg-grow-1 { + flex-grow: 1 !important; + } + + .flex-lg-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-lg-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-lg-wrap { + flex-wrap: wrap !important; + } + + .flex-lg-nowrap { + flex-wrap: nowrap !important; + } + + .flex-lg-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-lg-0 { + gap: 0 !important; + } + + .gap-lg-1 { + gap: 0.25rem !important; + } + + .gap-lg-2 { + gap: 0.5rem !important; + } + + .gap-lg-3 { + gap: 0.75rem !important; + } + + .gap-lg-4 { + gap: 1rem !important; + } + + .gap-lg-5 { + gap: 1.25rem !important; + } + + .gap-lg-6 { + gap: 1.5rem !important; + } + + .gap-lg-7 { + gap: 1.75rem !important; + } + + .gap-lg-8 { + gap: 2rem !important; + } + + .gap-lg-9 { + gap: 2.25rem !important; + } + + .gap-lg-10 { + gap: 2.5rem !important; + } + + .gap-lg-11 { + gap: 2.75rem !important; + } + + .gap-lg-12 { + gap: 3rem !important; + } + + .gap-lg-13 { + gap: 3.25rem !important; + } + + .gap-lg-14 { + gap: 3.5rem !important; + } + + .gap-lg-15 { + gap: 3.75rem !important; + } + + .gap-lg-16 { + gap: 4rem !important; + } + + .gap-lg-17 { + gap: 4.25rem !important; + } + + .gap-lg-18 { + gap: 4.5rem !important; + } + + .gap-lg-19 { + gap: 4.75rem !important; + } + + .gap-lg-20 { + gap: 5rem !important; + } + + .justify-content-lg-start { + justify-content: flex-start !important; + } + + .justify-content-lg-end { + justify-content: flex-end !important; + } + + .justify-content-lg-center { + justify-content: center !important; + } + + .justify-content-lg-between { + justify-content: space-between !important; + } + + .justify-content-lg-around { + justify-content: space-around !important; + } + + .justify-content-lg-evenly { + justify-content: space-evenly !important; + } + + .align-items-lg-start { + align-items: flex-start !important; + } + + .align-items-lg-end { + align-items: flex-end !important; + } + + .align-items-lg-center { + align-items: center !important; + } + + .align-items-lg-baseline { + align-items: baseline !important; + } + + .align-items-lg-stretch { + align-items: stretch !important; + } + + .align-content-lg-start { + align-content: flex-start !important; + } + + .align-content-lg-end { + align-content: flex-end !important; + } + + .align-content-lg-center { + align-content: center !important; + } + + .align-content-lg-between { + align-content: space-between !important; + } + + .align-content-lg-around { + align-content: space-around !important; + } + + .align-content-lg-stretch { + align-content: stretch !important; + } + + .align-self-lg-auto { + align-self: auto !important; + } + + .align-self-lg-start { + align-self: flex-start !important; + } + + .align-self-lg-end { + align-self: flex-end !important; + } + + .align-self-lg-center { + align-self: center !important; + } + + .align-self-lg-baseline { + align-self: baseline !important; + } + + .align-self-lg-stretch { + align-self: stretch !important; + } + + .order-lg-first { + order: -1 !important; + } + + .order-lg-0 { + order: 0 !important; + } + + .order-lg-1 { + order: 1 !important; + } + + .order-lg-2 { + order: 2 !important; + } + + .order-lg-3 { + order: 3 !important; + } + + .order-lg-4 { + order: 4 !important; + } + + .order-lg-5 { + order: 5 !important; + } + + .order-lg-last { + order: 6 !important; + } + + .m-lg-0 { + margin: 0 !important; + } + + .m-lg-1 { + margin: 0.25rem !important; + } + + .m-lg-2 { + margin: 0.5rem !important; + } + + .m-lg-3 { + margin: 0.75rem !important; + } + + .m-lg-4 { + margin: 1rem !important; + } + + .m-lg-5 { + margin: 1.25rem !important; + } + + .m-lg-6 { + margin: 1.5rem !important; + } + + .m-lg-7 { + margin: 1.75rem !important; + } + + .m-lg-8 { + margin: 2rem !important; + } + + .m-lg-9 { + margin: 2.25rem !important; + } + + .m-lg-10 { + margin: 2.5rem !important; + } + + .m-lg-11 { + margin: 2.75rem !important; + } + + .m-lg-12 { + margin: 3rem !important; + } + + .m-lg-13 { + margin: 3.25rem !important; + } + + .m-lg-14 { + margin: 3.5rem !important; + } + + .m-lg-15 { + margin: 3.75rem !important; + } + + .m-lg-16 { + margin: 4rem !important; + } + + .m-lg-17 { + margin: 4.25rem !important; + } + + .m-lg-18 { + margin: 4.5rem !important; + } + + .m-lg-19 { + margin: 4.75rem !important; + } + + .m-lg-20 { + margin: 5rem !important; + } + + .m-lg-auto { + margin: auto !important; + } + + .mx-lg-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-lg-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-lg-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-lg-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + + .mx-lg-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-lg-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; + } + + .mx-lg-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-lg-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; + } + + .mx-lg-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + + .mx-lg-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; + } + + .mx-lg-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + + .mx-lg-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; + } + + .mx-lg-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-lg-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; + } + + .mx-lg-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + + .mx-lg-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; + } + + .mx-lg-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + + .mx-lg-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; + } + + .mx-lg-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; + } + + .mx-lg-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; + } + + .mx-lg-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + + .mx-lg-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-lg-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-lg-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-lg-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-lg-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + + .my-lg-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-lg-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; + } + + .my-lg-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-lg-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; + } + + .my-lg-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + + .my-lg-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; + } + + .my-lg-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + + .my-lg-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; + } + + .my-lg-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-lg-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; + } + + .my-lg-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + + .my-lg-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; + } + + .my-lg-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + + .my-lg-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; + } + + .my-lg-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; + } + + .my-lg-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; + } + + .my-lg-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + + .my-lg-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-lg-0 { + margin-top: 0 !important; + } + + .mt-lg-1 { + margin-top: 0.25rem !important; + } + + .mt-lg-2 { + margin-top: 0.5rem !important; + } + + .mt-lg-3 { + margin-top: 0.75rem !important; + } + + .mt-lg-4 { + margin-top: 1rem !important; + } + + .mt-lg-5 { + margin-top: 1.25rem !important; + } + + .mt-lg-6 { + margin-top: 1.5rem !important; + } + + .mt-lg-7 { + margin-top: 1.75rem !important; + } + + .mt-lg-8 { + margin-top: 2rem !important; + } + + .mt-lg-9 { + margin-top: 2.25rem !important; + } + + .mt-lg-10 { + margin-top: 2.5rem !important; + } + + .mt-lg-11 { + margin-top: 2.75rem !important; + } + + .mt-lg-12 { + margin-top: 3rem !important; + } + + .mt-lg-13 { + margin-top: 3.25rem !important; + } + + .mt-lg-14 { + margin-top: 3.5rem !important; + } + + .mt-lg-15 { + margin-top: 3.75rem !important; + } + + .mt-lg-16 { + margin-top: 4rem !important; + } + + .mt-lg-17 { + margin-top: 4.25rem !important; + } + + .mt-lg-18 { + margin-top: 4.5rem !important; + } + + .mt-lg-19 { + margin-top: 4.75rem !important; + } + + .mt-lg-20 { + margin-top: 5rem !important; + } + + .mt-lg-auto { + margin-top: auto !important; + } + + .me-lg-0 { + margin-right: 0 !important; + } + + .me-lg-1 { + margin-right: 0.25rem !important; + } + + .me-lg-2 { + margin-right: 0.5rem !important; + } + + .me-lg-3 { + margin-right: 0.75rem !important; + } + + .me-lg-4 { + margin-right: 1rem !important; + } + + .me-lg-5 { + margin-right: 1.25rem !important; + } + + .me-lg-6 { + margin-right: 1.5rem !important; + } + + .me-lg-7 { + margin-right: 1.75rem !important; + } + + .me-lg-8 { + margin-right: 2rem !important; + } + + .me-lg-9 { + margin-right: 2.25rem !important; + } + + .me-lg-10 { + margin-right: 2.5rem !important; + } + + .me-lg-11 { + margin-right: 2.75rem !important; + } + + .me-lg-12 { + margin-right: 3rem !important; + } + + .me-lg-13 { + margin-right: 3.25rem !important; + } + + .me-lg-14 { + margin-right: 3.5rem !important; + } + + .me-lg-15 { + margin-right: 3.75rem !important; + } + + .me-lg-16 { + margin-right: 4rem !important; + } + + .me-lg-17 { + margin-right: 4.25rem !important; + } + + .me-lg-18 { + margin-right: 4.5rem !important; + } + + .me-lg-19 { + margin-right: 4.75rem !important; + } + + .me-lg-20 { + margin-right: 5rem !important; + } + + .me-lg-auto { + margin-right: auto !important; + } + + .mb-lg-0 { + margin-bottom: 0 !important; + } + + .mb-lg-1 { + margin-bottom: 0.25rem !important; + } + + .mb-lg-2 { + margin-bottom: 0.5rem !important; + } + + .mb-lg-3 { + margin-bottom: 0.75rem !important; + } + + .mb-lg-4 { + margin-bottom: 1rem !important; + } + + .mb-lg-5 { + margin-bottom: 1.25rem !important; + } + + .mb-lg-6 { + margin-bottom: 1.5rem !important; + } + + .mb-lg-7 { + margin-bottom: 1.75rem !important; + } + + .mb-lg-8 { + margin-bottom: 2rem !important; + } + + .mb-lg-9 { + margin-bottom: 2.25rem !important; + } + + .mb-lg-10 { + margin-bottom: 2.5rem !important; + } + + .mb-lg-11 { + margin-bottom: 2.75rem !important; + } + + .mb-lg-12 { + margin-bottom: 3rem !important; + } + + .mb-lg-13 { + margin-bottom: 3.25rem !important; + } + + .mb-lg-14 { + margin-bottom: 3.5rem !important; + } + + .mb-lg-15 { + margin-bottom: 3.75rem !important; + } + + .mb-lg-16 { + margin-bottom: 4rem !important; + } + + .mb-lg-17 { + margin-bottom: 4.25rem !important; + } + + .mb-lg-18 { + margin-bottom: 4.5rem !important; + } + + .mb-lg-19 { + margin-bottom: 4.75rem !important; + } + + .mb-lg-20 { + margin-bottom: 5rem !important; + } + + .mb-lg-auto { + margin-bottom: auto !important; + } + + .ms-lg-0 { + margin-left: 0 !important; + } + + .ms-lg-1 { + margin-left: 0.25rem !important; + } + + .ms-lg-2 { + margin-left: 0.5rem !important; + } + + .ms-lg-3 { + margin-left: 0.75rem !important; + } + + .ms-lg-4 { + margin-left: 1rem !important; + } + + .ms-lg-5 { + margin-left: 1.25rem !important; + } + + .ms-lg-6 { + margin-left: 1.5rem !important; + } + + .ms-lg-7 { + margin-left: 1.75rem !important; + } + + .ms-lg-8 { + margin-left: 2rem !important; + } + + .ms-lg-9 { + margin-left: 2.25rem !important; + } + + .ms-lg-10 { + margin-left: 2.5rem !important; + } + + .ms-lg-11 { + margin-left: 2.75rem !important; + } + + .ms-lg-12 { + margin-left: 3rem !important; + } + + .ms-lg-13 { + margin-left: 3.25rem !important; + } + + .ms-lg-14 { + margin-left: 3.5rem !important; + } + + .ms-lg-15 { + margin-left: 3.75rem !important; + } + + .ms-lg-16 { + margin-left: 4rem !important; + } + + .ms-lg-17 { + margin-left: 4.25rem !important; + } + + .ms-lg-18 { + margin-left: 4.5rem !important; + } + + .ms-lg-19 { + margin-left: 4.75rem !important; + } + + .ms-lg-20 { + margin-left: 5rem !important; + } + + .ms-lg-auto { + margin-left: auto !important; + } + + .m-lg-n1 { + margin: -0.25rem !important; + } + + .m-lg-n2 { + margin: -0.5rem !important; + } + + .m-lg-n3 { + margin: -0.75rem !important; + } + + .m-lg-n4 { + margin: -1rem !important; + } + + .m-lg-n5 { + margin: -1.25rem !important; + } + + .m-lg-n6 { + margin: -1.5rem !important; + } + + .m-lg-n7 { + margin: -1.75rem !important; + } + + .m-lg-n8 { + margin: -2rem !important; + } + + .m-lg-n9 { + margin: -2.25rem !important; + } + + .m-lg-n10 { + margin: -2.5rem !important; + } + + .m-lg-n11 { + margin: -2.75rem !important; + } + + .m-lg-n12 { + margin: -3rem !important; + } + + .m-lg-n13 { + margin: -3.25rem !important; + } + + .m-lg-n14 { + margin: -3.5rem !important; + } + + .m-lg-n15 { + margin: -3.75rem !important; + } + + .m-lg-n16 { + margin: -4rem !important; + } + + .m-lg-n17 { + margin: -4.25rem !important; + } + + .m-lg-n18 { + margin: -4.5rem !important; + } + + .m-lg-n19 { + margin: -4.75rem !important; + } + + .m-lg-n20 { + margin: -5rem !important; + } + + .mx-lg-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + + .mx-lg-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + + .mx-lg-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } + + .mx-lg-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + + .mx-lg-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; + } + + .mx-lg-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + + .mx-lg-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; + } + + .mx-lg-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + + .mx-lg-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; + } + + .mx-lg-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + + .mx-lg-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; + } + + .mx-lg-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } + + .mx-lg-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; + } + + .mx-lg-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } + + .mx-lg-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; + } + + .mx-lg-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } + + .mx-lg-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; + } + + .mx-lg-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; + } + + .mx-lg-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; + } + + .mx-lg-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; + } + + .my-lg-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + + .my-lg-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + + .my-lg-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; + } + + .my-lg-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + + .my-lg-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; + } + + .my-lg-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + + .my-lg-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; + } + + .my-lg-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + + .my-lg-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; + } + + .my-lg-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + + .my-lg-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; + } + + .my-lg-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + + .my-lg-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; + } + + .my-lg-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; + } + + .my-lg-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; + } + + .my-lg-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + + .my-lg-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; + } + + .my-lg-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; + } + + .my-lg-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; + } + + .my-lg-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + + .mt-lg-n1 { + margin-top: -0.25rem !important; + } + + .mt-lg-n2 { + margin-top: -0.5rem !important; + } + + .mt-lg-n3 { + margin-top: -0.75rem !important; + } + + .mt-lg-n4 { + margin-top: -1rem !important; + } + + .mt-lg-n5 { + margin-top: -1.25rem !important; + } + + .mt-lg-n6 { + margin-top: -1.5rem !important; + } + + .mt-lg-n7 { + margin-top: -1.75rem !important; + } + + .mt-lg-n8 { + margin-top: -2rem !important; + } + + .mt-lg-n9 { + margin-top: -2.25rem !important; + } + + .mt-lg-n10 { + margin-top: -2.5rem !important; + } + + .mt-lg-n11 { + margin-top: -2.75rem !important; + } + + .mt-lg-n12 { + margin-top: -3rem !important; + } + + .mt-lg-n13 { + margin-top: -3.25rem !important; + } + + .mt-lg-n14 { + margin-top: -3.5rem !important; + } + + .mt-lg-n15 { + margin-top: -3.75rem !important; + } + + .mt-lg-n16 { + margin-top: -4rem !important; + } + + .mt-lg-n17 { + margin-top: -4.25rem !important; + } + + .mt-lg-n18 { + margin-top: -4.5rem !important; + } + + .mt-lg-n19 { + margin-top: -4.75rem !important; + } + + .mt-lg-n20 { + margin-top: -5rem !important; + } + + .me-lg-n1 { + margin-right: -0.25rem !important; + } + + .me-lg-n2 { + margin-right: -0.5rem !important; + } + + .me-lg-n3 { + margin-right: -0.75rem !important; + } + + .me-lg-n4 { + margin-right: -1rem !important; + } + + .me-lg-n5 { + margin-right: -1.25rem !important; + } + + .me-lg-n6 { + margin-right: -1.5rem !important; + } + + .me-lg-n7 { + margin-right: -1.75rem !important; + } + + .me-lg-n8 { + margin-right: -2rem !important; + } + + .me-lg-n9 { + margin-right: -2.25rem !important; + } + + .me-lg-n10 { + margin-right: -2.5rem !important; + } + + .me-lg-n11 { + margin-right: -2.75rem !important; + } + + .me-lg-n12 { + margin-right: -3rem !important; + } + + .me-lg-n13 { + margin-right: -3.25rem !important; + } + + .me-lg-n14 { + margin-right: -3.5rem !important; + } + + .me-lg-n15 { + margin-right: -3.75rem !important; + } + + .me-lg-n16 { + margin-right: -4rem !important; + } + + .me-lg-n17 { + margin-right: -4.25rem !important; + } + + .me-lg-n18 { + margin-right: -4.5rem !important; + } + + .me-lg-n19 { + margin-right: -4.75rem !important; + } + + .me-lg-n20 { + margin-right: -5rem !important; + } + + .mb-lg-n1 { + margin-bottom: -0.25rem !important; + } + + .mb-lg-n2 { + margin-bottom: -0.5rem !important; + } + + .mb-lg-n3 { + margin-bottom: -0.75rem !important; + } + + .mb-lg-n4 { + margin-bottom: -1rem !important; + } + + .mb-lg-n5 { + margin-bottom: -1.25rem !important; + } + + .mb-lg-n6 { + margin-bottom: -1.5rem !important; + } + + .mb-lg-n7 { + margin-bottom: -1.75rem !important; + } + + .mb-lg-n8 { + margin-bottom: -2rem !important; + } + + .mb-lg-n9 { + margin-bottom: -2.25rem !important; + } + + .mb-lg-n10 { + margin-bottom: -2.5rem !important; + } + + .mb-lg-n11 { + margin-bottom: -2.75rem !important; + } + + .mb-lg-n12 { + margin-bottom: -3rem !important; + } + + .mb-lg-n13 { + margin-bottom: -3.25rem !important; + } + + .mb-lg-n14 { + margin-bottom: -3.5rem !important; + } + + .mb-lg-n15 { + margin-bottom: -3.75rem !important; + } + + .mb-lg-n16 { + margin-bottom: -4rem !important; + } + + .mb-lg-n17 { + margin-bottom: -4.25rem !important; + } + + .mb-lg-n18 { + margin-bottom: -4.5rem !important; + } + + .mb-lg-n19 { + margin-bottom: -4.75rem !important; + } + + .mb-lg-n20 { + margin-bottom: -5rem !important; + } + + .ms-lg-n1 { + margin-left: -0.25rem !important; + } + + .ms-lg-n2 { + margin-left: -0.5rem !important; + } + + .ms-lg-n3 { + margin-left: -0.75rem !important; + } + + .ms-lg-n4 { + margin-left: -1rem !important; + } + + .ms-lg-n5 { + margin-left: -1.25rem !important; + } + + .ms-lg-n6 { + margin-left: -1.5rem !important; + } + + .ms-lg-n7 { + margin-left: -1.75rem !important; + } + + .ms-lg-n8 { + margin-left: -2rem !important; + } + + .ms-lg-n9 { + margin-left: -2.25rem !important; + } + + .ms-lg-n10 { + margin-left: -2.5rem !important; + } + + .ms-lg-n11 { + margin-left: -2.75rem !important; + } + + .ms-lg-n12 { + margin-left: -3rem !important; + } + + .ms-lg-n13 { + margin-left: -3.25rem !important; + } + + .ms-lg-n14 { + margin-left: -3.5rem !important; + } + + .ms-lg-n15 { + margin-left: -3.75rem !important; + } + + .ms-lg-n16 { + margin-left: -4rem !important; + } + + .ms-lg-n17 { + margin-left: -4.25rem !important; + } + + .ms-lg-n18 { + margin-left: -4.5rem !important; + } + + .ms-lg-n19 { + margin-left: -4.75rem !important; + } + + .ms-lg-n20 { + margin-left: -5rem !important; + } + + .p-lg-0 { + padding: 0 !important; + } + + .p-lg-1 { + padding: 0.25rem !important; + } + + .p-lg-2 { + padding: 0.5rem !important; + } + + .p-lg-3 { + padding: 0.75rem !important; + } + + .p-lg-4 { + padding: 1rem !important; + } + + .p-lg-5 { + padding: 1.25rem !important; + } + + .p-lg-6 { + padding: 1.5rem !important; + } + + .p-lg-7 { + padding: 1.75rem !important; + } + + .p-lg-8 { + padding: 2rem !important; + } + + .p-lg-9 { + padding: 2.25rem !important; + } + + .p-lg-10 { + padding: 2.5rem !important; + } + + .p-lg-11 { + padding: 2.75rem !important; + } + + .p-lg-12 { + padding: 3rem !important; + } + + .p-lg-13 { + padding: 3.25rem !important; + } + + .p-lg-14 { + padding: 3.5rem !important; + } + + .p-lg-15 { + padding: 3.75rem !important; + } + + .p-lg-16 { + padding: 4rem !important; + } + + .p-lg-17 { + padding: 4.25rem !important; + } + + .p-lg-18 { + padding: 4.5rem !important; + } + + .p-lg-19 { + padding: 4.75rem !important; + } + + .p-lg-20 { + padding: 5rem !important; + } + + .px-lg-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-lg-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-lg-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-lg-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + + .px-lg-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-lg-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; + } + + .px-lg-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-lg-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; + } + + .px-lg-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + + .px-lg-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; + } + + .px-lg-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + + .px-lg-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; + } + + .px-lg-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .px-lg-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; + } + + .px-lg-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + + .px-lg-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; + } + + .px-lg-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + + .px-lg-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; + } + + .px-lg-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; + } + + .px-lg-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; + } + + .px-lg-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + + .py-lg-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-lg-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-lg-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-lg-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + + .py-lg-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-lg-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; + } + + .py-lg-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-lg-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; + } + + .py-lg-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .py-lg-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; + } + + .py-lg-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + + .py-lg-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; + } + + .py-lg-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .py-lg-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; + } + + .py-lg-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + + .py-lg-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; + } + + .py-lg-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + + .py-lg-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; + } + + .py-lg-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + + .py-lg-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; + } + + .py-lg-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + + .pt-lg-0 { + padding-top: 0 !important; + } + + .pt-lg-1 { + padding-top: 0.25rem !important; + } + + .pt-lg-2 { + padding-top: 0.5rem !important; + } + + .pt-lg-3 { + padding-top: 0.75rem !important; + } + + .pt-lg-4 { + padding-top: 1rem !important; + } + + .pt-lg-5 { + padding-top: 1.25rem !important; + } + + .pt-lg-6 { + padding-top: 1.5rem !important; + } + + .pt-lg-7 { + padding-top: 1.75rem !important; + } + + .pt-lg-8 { + padding-top: 2rem !important; + } + + .pt-lg-9 { + padding-top: 2.25rem !important; + } + + .pt-lg-10 { + padding-top: 2.5rem !important; + } + + .pt-lg-11 { + padding-top: 2.75rem !important; + } + + .pt-lg-12 { + padding-top: 3rem !important; + } + + .pt-lg-13 { + padding-top: 3.25rem !important; + } + + .pt-lg-14 { + padding-top: 3.5rem !important; + } + + .pt-lg-15 { + padding-top: 3.75rem !important; + } + + .pt-lg-16 { + padding-top: 4rem !important; + } + + .pt-lg-17 { + padding-top: 4.25rem !important; + } + + .pt-lg-18 { + padding-top: 4.5rem !important; + } + + .pt-lg-19 { + padding-top: 4.75rem !important; + } + + .pt-lg-20 { + padding-top: 5rem !important; + } + + .pe-lg-0 { + padding-right: 0 !important; + } + + .pe-lg-1 { + padding-right: 0.25rem !important; + } + + .pe-lg-2 { + padding-right: 0.5rem !important; + } + + .pe-lg-3 { + padding-right: 0.75rem !important; + } + + .pe-lg-4 { + padding-right: 1rem !important; + } + + .pe-lg-5 { + padding-right: 1.25rem !important; + } + + .pe-lg-6 { + padding-right: 1.5rem !important; + } + + .pe-lg-7 { + padding-right: 1.75rem !important; + } + + .pe-lg-8 { + padding-right: 2rem !important; + } + + .pe-lg-9 { + padding-right: 2.25rem !important; + } + + .pe-lg-10 { + padding-right: 2.5rem !important; + } + + .pe-lg-11 { + padding-right: 2.75rem !important; + } + + .pe-lg-12 { + padding-right: 3rem !important; + } + + .pe-lg-13 { + padding-right: 3.25rem !important; + } + + .pe-lg-14 { + padding-right: 3.5rem !important; + } + + .pe-lg-15 { + padding-right: 3.75rem !important; + } + + .pe-lg-16 { + padding-right: 4rem !important; + } + + .pe-lg-17 { + padding-right: 4.25rem !important; + } + + .pe-lg-18 { + padding-right: 4.5rem !important; + } + + .pe-lg-19 { + padding-right: 4.75rem !important; + } + + .pe-lg-20 { + padding-right: 5rem !important; + } + + .pb-lg-0 { + padding-bottom: 0 !important; + } + + .pb-lg-1 { + padding-bottom: 0.25rem !important; + } + + .pb-lg-2 { + padding-bottom: 0.5rem !important; + } + + .pb-lg-3 { + padding-bottom: 0.75rem !important; + } + + .pb-lg-4 { + padding-bottom: 1rem !important; + } + + .pb-lg-5 { + padding-bottom: 1.25rem !important; + } + + .pb-lg-6 { + padding-bottom: 1.5rem !important; + } + + .pb-lg-7 { + padding-bottom: 1.75rem !important; + } + + .pb-lg-8 { + padding-bottom: 2rem !important; + } + + .pb-lg-9 { + padding-bottom: 2.25rem !important; + } + + .pb-lg-10 { + padding-bottom: 2.5rem !important; + } + + .pb-lg-11 { + padding-bottom: 2.75rem !important; + } + + .pb-lg-12 { + padding-bottom: 3rem !important; + } + + .pb-lg-13 { + padding-bottom: 3.25rem !important; + } + + .pb-lg-14 { + padding-bottom: 3.5rem !important; + } + + .pb-lg-15 { + padding-bottom: 3.75rem !important; + } + + .pb-lg-16 { + padding-bottom: 4rem !important; + } + + .pb-lg-17 { + padding-bottom: 4.25rem !important; + } + + .pb-lg-18 { + padding-bottom: 4.5rem !important; + } + + .pb-lg-19 { + padding-bottom: 4.75rem !important; + } + + .pb-lg-20 { + padding-bottom: 5rem !important; + } + + .ps-lg-0 { + padding-left: 0 !important; + } + + .ps-lg-1 { + padding-left: 0.25rem !important; + } + + .ps-lg-2 { + padding-left: 0.5rem !important; + } + + .ps-lg-3 { + padding-left: 0.75rem !important; + } + + .ps-lg-4 { + padding-left: 1rem !important; + } + + .ps-lg-5 { + padding-left: 1.25rem !important; + } + + .ps-lg-6 { + padding-left: 1.5rem !important; + } + + .ps-lg-7 { + padding-left: 1.75rem !important; + } + + .ps-lg-8 { + padding-left: 2rem !important; + } + + .ps-lg-9 { + padding-left: 2.25rem !important; + } + + .ps-lg-10 { + padding-left: 2.5rem !important; + } + + .ps-lg-11 { + padding-left: 2.75rem !important; + } + + .ps-lg-12 { + padding-left: 3rem !important; + } + + .ps-lg-13 { + padding-left: 3.25rem !important; + } + + .ps-lg-14 { + padding-left: 3.5rem !important; + } + + .ps-lg-15 { + padding-left: 3.75rem !important; + } + + .ps-lg-16 { + padding-left: 4rem !important; + } + + .ps-lg-17 { + padding-left: 4.25rem !important; + } + + .ps-lg-18 { + padding-left: 4.5rem !important; + } + + .ps-lg-19 { + padding-left: 4.75rem !important; + } + + .ps-lg-20 { + padding-left: 5rem !important; + } + + .fs-lg-1 { + font-size: calc(1.3rem + 0.6vw) !important; + } + + .fs-lg-2 { + font-size: calc(1.275rem + 0.3vw) !important; + } + + .fs-lg-3 { + font-size: calc(1.26rem + 0.12vw) !important; + } + + .fs-lg-4 { + font-size: 1.25rem !important; + } + + .fs-lg-5 { + font-size: 1.15rem !important; + } + + .fs-lg-6 { + font-size: 1.075rem !important; + } + + .fs-lg-7 { + font-size: 0.95rem !important; + } + + .fs-lg-8 { + font-size: 0.85rem !important; + } + + .fs-lg-9 { + font-size: 0.75rem !important; + } + + .fs-lg-10 { + font-size: 0.5rem !important; + } + + .fs-lg-base { + font-size: 1rem !important; + } + + .fs-lg-fluid { + font-size: 100% !important; + } + + .fs-lg-2x { + font-size: calc(1.325rem + 0.9vw) !important; + } + + .fs-lg-2qx { + font-size: calc(1.35rem + 1.2vw) !important; + } + + .fs-lg-2hx { + font-size: calc(1.375rem + 1.5vw) !important; + } + + .fs-lg-2tx { + font-size: calc(1.4rem + 1.8vw) !important; + } + + .fs-lg-3x { + font-size: calc(1.425rem + 2.1vw) !important; + } + + .fs-lg-3qx { + font-size: calc(1.45rem + 2.4vw) !important; + } + + .fs-lg-3hx { + font-size: calc(1.475rem + 2.7vw) !important; + } + + .fs-lg-3tx { + font-size: calc(1.5rem + 3vw) !important; + } + + .fs-lg-4x { + font-size: calc(1.525rem + 3.3vw) !important; + } + + .fs-lg-4qx { + font-size: calc(1.55rem + 3.6vw) !important; + } + + .fs-lg-4hx { + font-size: calc(1.575rem + 3.9vw) !important; + } + + .fs-lg-4tx { + font-size: calc(1.6rem + 4.2vw) !important; + } + + .fs-lg-5x { + font-size: calc(1.625rem + 4.5vw) !important; + } + + .fs-lg-5qx { + font-size: calc(1.65rem + 4.8vw) !important; + } + + .fs-lg-5hx { + font-size: calc(1.675rem + 5.1vw) !important; + } + + .fs-lg-5tx { + font-size: calc(1.7rem + 5.4vw) !important; + } + + .text-lg-start { + text-align: left !important; + } + + .text-lg-end { + text-align: right !important; + } + + .text-lg-center { + text-align: center !important; + } + + .min-w-lg-unset { + min-width: unset !important; + } + + .min-w-lg-25 { + min-width: 25% !important; + } + + .min-w-lg-50 { + min-width: 50% !important; + } + + .min-w-lg-75 { + min-width: 75% !important; + } + + .min-w-lg-100 { + min-width: 100% !important; + } + + .min-w-lg-auto { + min-width: auto !important; + } + + .min-w-lg-1px { + min-width: 1px !important; + } + + .min-w-lg-2px { + min-width: 2px !important; + } + + .min-w-lg-3px { + min-width: 3px !important; + } + + .min-w-lg-4px { + min-width: 4px !important; + } + + .min-w-lg-5px { + min-width: 5px !important; + } + + .min-w-lg-6px { + min-width: 6px !important; + } + + .min-w-lg-7px { + min-width: 7px !important; + } + + .min-w-lg-8px { + min-width: 8px !important; + } + + .min-w-lg-9px { + min-width: 9px !important; + } + + .min-w-lg-10px { + min-width: 10px !important; + } + + .min-w-lg-15px { + min-width: 15px !important; + } + + .min-w-lg-20px { + min-width: 20px !important; + } + + .min-w-lg-25px { + min-width: 25px !important; + } + + .min-w-lg-30px { + min-width: 30px !important; + } + + .min-w-lg-35px { + min-width: 35px !important; + } + + .min-w-lg-40px { + min-width: 40px !important; + } + + .min-w-lg-45px { + min-width: 45px !important; + } + + .min-w-lg-50px { + min-width: 50px !important; + } + + .min-w-lg-55px { + min-width: 55px !important; + } + + .min-w-lg-60px { + min-width: 60px !important; + } + + .min-w-lg-65px { + min-width: 65px !important; + } + + .min-w-lg-70px { + min-width: 70px !important; + } + + .min-w-lg-75px { + min-width: 75px !important; + } + + .min-w-lg-80px { + min-width: 80px !important; + } + + .min-w-lg-85px { + min-width: 85px !important; + } + + .min-w-lg-90px { + min-width: 90px !important; + } + + .min-w-lg-95px { + min-width: 95px !important; + } + + .min-w-lg-100px { + min-width: 100px !important; + } + + .min-w-lg-125px { + min-width: 125px !important; + } + + .min-w-lg-150px { + min-width: 150px !important; + } + + .min-w-lg-175px { + min-width: 175px !important; + } + + .min-w-lg-200px { + min-width: 200px !important; + } + + .min-w-lg-225px { + min-width: 225px !important; + } + + .min-w-lg-250px { + min-width: 250px !important; + } + + .min-w-lg-275px { + min-width: 275px !important; + } + + .min-w-lg-300px { + min-width: 300px !important; + } + + .min-w-lg-325px { + min-width: 325px !important; + } + + .min-w-lg-350px { + min-width: 350px !important; + } + + .min-w-lg-375px { + min-width: 375px !important; + } + + .min-w-lg-400px { + min-width: 400px !important; + } + + .min-w-lg-425px { + min-width: 425px !important; + } + + .min-w-lg-450px { + min-width: 450px !important; + } + + .min-w-lg-475px { + min-width: 475px !important; + } + + .min-w-lg-500px { + min-width: 500px !important; + } + + .min-w-lg-550px { + min-width: 550px !important; + } + + .min-w-lg-600px { + min-width: 600px !important; + } + + .min-w-lg-650px { + min-width: 650px !important; + } + + .min-w-lg-700px { + min-width: 700px !important; + } + + .min-w-lg-750px { + min-width: 750px !important; + } + + .min-w-lg-800px { + min-width: 800px !important; + } + + .min-w-lg-850px { + min-width: 850px !important; + } + + .min-w-lg-900px { + min-width: 900px !important; + } + + .min-w-lg-950px { + min-width: 950px !important; + } + + .min-w-lg-1000px { + min-width: 1000px !important; + } + + .min-h-lg-unset { + min-height: unset !important; + } + + .min-h-lg-25 { + min-height: 25% !important; + } + + .min-h-lg-50 { + min-height: 50% !important; + } + + .min-h-lg-75 { + min-height: 75% !important; + } + + .min-h-lg-100 { + min-height: 100% !important; + } + + .min-h-lg-auto { + min-height: auto !important; + } + + .min-h-lg-1px { + min-height: 1px !important; + } + + .min-h-lg-2px { + min-height: 2px !important; + } + + .min-h-lg-3px { + min-height: 3px !important; + } + + .min-h-lg-4px { + min-height: 4px !important; + } + + .min-h-lg-5px { + min-height: 5px !important; + } + + .min-h-lg-6px { + min-height: 6px !important; + } + + .min-h-lg-7px { + min-height: 7px !important; + } + + .min-h-lg-8px { + min-height: 8px !important; + } + + .min-h-lg-9px { + min-height: 9px !important; + } + + .min-h-lg-10px { + min-height: 10px !important; + } + + .min-h-lg-15px { + min-height: 15px !important; + } + + .min-h-lg-20px { + min-height: 20px !important; + } + + .min-h-lg-25px { + min-height: 25px !important; + } + + .min-h-lg-30px { + min-height: 30px !important; + } + + .min-h-lg-35px { + min-height: 35px !important; + } + + .min-h-lg-40px { + min-height: 40px !important; + } + + .min-h-lg-45px { + min-height: 45px !important; + } + + .min-h-lg-50px { + min-height: 50px !important; + } + + .min-h-lg-55px { + min-height: 55px !important; + } + + .min-h-lg-60px { + min-height: 60px !important; + } + + .min-h-lg-65px { + min-height: 65px !important; + } + + .min-h-lg-70px { + min-height: 70px !important; + } + + .min-h-lg-75px { + min-height: 75px !important; + } + + .min-h-lg-80px { + min-height: 80px !important; + } + + .min-h-lg-85px { + min-height: 85px !important; + } + + .min-h-lg-90px { + min-height: 90px !important; + } + + .min-h-lg-95px { + min-height: 95px !important; + } + + .min-h-lg-100px { + min-height: 100px !important; + } + + .min-h-lg-125px { + min-height: 125px !important; + } + + .min-h-lg-150px { + min-height: 150px !important; + } + + .min-h-lg-175px { + min-height: 175px !important; + } + + .min-h-lg-200px { + min-height: 200px !important; + } + + .min-h-lg-225px { + min-height: 225px !important; + } + + .min-h-lg-250px { + min-height: 250px !important; + } + + .min-h-lg-275px { + min-height: 275px !important; + } + + .min-h-lg-300px { + min-height: 300px !important; + } + + .min-h-lg-325px { + min-height: 325px !important; + } + + .min-h-lg-350px { + min-height: 350px !important; + } + + .min-h-lg-375px { + min-height: 375px !important; + } + + .min-h-lg-400px { + min-height: 400px !important; + } + + .min-h-lg-425px { + min-height: 425px !important; + } + + .min-h-lg-450px { + min-height: 450px !important; + } + + .min-h-lg-475px { + min-height: 475px !important; + } + + .min-h-lg-500px { + min-height: 500px !important; + } + + .min-h-lg-550px { + min-height: 550px !important; + } + + .min-h-lg-600px { + min-height: 600px !important; + } + + .min-h-lg-650px { + min-height: 650px !important; + } + + .min-h-lg-700px { + min-height: 700px !important; + } + + .min-h-lg-750px { + min-height: 750px !important; + } + + .min-h-lg-800px { + min-height: 800px !important; + } + + .min-h-lg-850px { + min-height: 850px !important; + } + + .min-h-lg-900px { + min-height: 900px !important; + } + + .min-h-lg-950px { + min-height: 950px !important; + } + + .min-h-lg-1000px { + min-height: 1000px !important; + } +} +@media (min-width: 1200px) { + .float-xl-start { + float: left !important; + } + + .float-xl-end { + float: right !important; + } + + .float-xl-none { + float: none !important; + } + + .d-xl-inline { + display: inline !important; + } + + .d-xl-inline-block { + display: inline-block !important; + } + + .d-xl-block { + display: block !important; + } + + .d-xl-grid { + display: grid !important; + } + + .d-xl-table { + display: table !important; + } + + .d-xl-table-row { + display: table-row !important; + } + + .d-xl-table-cell { + display: table-cell !important; + } + + .d-xl-flex { + display: flex !important; + } + + .d-xl-inline-flex { + display: inline-flex !important; + } + + .d-xl-none { + display: none !important; + } + + .position-xl-static { + position: static !important; + } + + .position-xl-relative { + position: relative !important; + } + + .position-xl-absolute { + position: absolute !important; + } + + .position-xl-fixed { + position: fixed !important; + } + + .position-xl-sticky { + position: sticky !important; + } + + .w-xl-unset { + width: unset !important; + } + + .w-xl-25 { + width: 25% !important; + } + + .w-xl-50 { + width: 50% !important; + } + + .w-xl-75 { + width: 75% !important; + } + + .w-xl-100 { + width: 100% !important; + } + + .w-xl-auto { + width: auto !important; + } + + .w-xl-1px { + width: 1px !important; + } + + .w-xl-2px { + width: 2px !important; + } + + .w-xl-3px { + width: 3px !important; + } + + .w-xl-4px { + width: 4px !important; + } + + .w-xl-5px { + width: 5px !important; + } + + .w-xl-6px { + width: 6px !important; + } + + .w-xl-7px { + width: 7px !important; + } + + .w-xl-8px { + width: 8px !important; + } + + .w-xl-9px { + width: 9px !important; + } + + .w-xl-10px { + width: 10px !important; + } + + .w-xl-15px { + width: 15px !important; + } + + .w-xl-20px { + width: 20px !important; + } + + .w-xl-25px { + width: 25px !important; + } + + .w-xl-30px { + width: 30px !important; + } + + .w-xl-35px { + width: 35px !important; + } + + .w-xl-40px { + width: 40px !important; + } + + .w-xl-45px { + width: 45px !important; + } + + .w-xl-50px { + width: 50px !important; + } + + .w-xl-55px { + width: 55px !important; + } + + .w-xl-60px { + width: 60px !important; + } + + .w-xl-65px { + width: 65px !important; + } + + .w-xl-70px { + width: 70px !important; + } + + .w-xl-75px { + width: 75px !important; + } + + .w-xl-80px { + width: 80px !important; + } + + .w-xl-85px { + width: 85px !important; + } + + .w-xl-90px { + width: 90px !important; + } + + .w-xl-95px { + width: 95px !important; + } + + .w-xl-100px { + width: 100px !important; + } + + .w-xl-125px { + width: 125px !important; + } + + .w-xl-150px { + width: 150px !important; + } + + .w-xl-175px { + width: 175px !important; + } + + .w-xl-200px { + width: 200px !important; + } + + .w-xl-225px { + width: 225px !important; + } + + .w-xl-250px { + width: 250px !important; + } + + .w-xl-275px { + width: 275px !important; + } + + .w-xl-300px { + width: 300px !important; + } + + .w-xl-325px { + width: 325px !important; + } + + .w-xl-350px { + width: 350px !important; + } + + .w-xl-375px { + width: 375px !important; + } + + .w-xl-400px { + width: 400px !important; + } + + .w-xl-425px { + width: 425px !important; + } + + .w-xl-450px { + width: 450px !important; + } + + .w-xl-475px { + width: 475px !important; + } + + .w-xl-500px { + width: 500px !important; + } + + .w-xl-550px { + width: 550px !important; + } + + .w-xl-600px { + width: 600px !important; + } + + .w-xl-650px { + width: 650px !important; + } + + .w-xl-700px { + width: 700px !important; + } + + .w-xl-750px { + width: 750px !important; + } + + .w-xl-800px { + width: 800px !important; + } + + .w-xl-850px { + width: 850px !important; + } + + .w-xl-900px { + width: 900px !important; + } + + .w-xl-950px { + width: 950px !important; + } + + .w-xl-1000px { + width: 1000px !important; + } + + .mw-xl-unset { + max-width: unset !important; + } + + .mw-xl-25 { + max-width: 25% !important; + } + + .mw-xl-50 { + max-width: 50% !important; + } + + .mw-xl-75 { + max-width: 75% !important; + } + + .mw-xl-100 { + max-width: 100% !important; + } + + .mw-xl-auto { + max-width: auto !important; + } + + .mw-xl-1px { + max-width: 1px !important; + } + + .mw-xl-2px { + max-width: 2px !important; + } + + .mw-xl-3px { + max-width: 3px !important; + } + + .mw-xl-4px { + max-width: 4px !important; + } + + .mw-xl-5px { + max-width: 5px !important; + } + + .mw-xl-6px { + max-width: 6px !important; + } + + .mw-xl-7px { + max-width: 7px !important; + } + + .mw-xl-8px { + max-width: 8px !important; + } + + .mw-xl-9px { + max-width: 9px !important; + } + + .mw-xl-10px { + max-width: 10px !important; + } + + .mw-xl-15px { + max-width: 15px !important; + } + + .mw-xl-20px { + max-width: 20px !important; + } + + .mw-xl-25px { + max-width: 25px !important; + } + + .mw-xl-30px { + max-width: 30px !important; + } + + .mw-xl-35px { + max-width: 35px !important; + } + + .mw-xl-40px { + max-width: 40px !important; + } + + .mw-xl-45px { + max-width: 45px !important; + } + + .mw-xl-50px { + max-width: 50px !important; + } + + .mw-xl-55px { + max-width: 55px !important; + } + + .mw-xl-60px { + max-width: 60px !important; + } + + .mw-xl-65px { + max-width: 65px !important; + } + + .mw-xl-70px { + max-width: 70px !important; + } + + .mw-xl-75px { + max-width: 75px !important; + } + + .mw-xl-80px { + max-width: 80px !important; + } + + .mw-xl-85px { + max-width: 85px !important; + } + + .mw-xl-90px { + max-width: 90px !important; + } + + .mw-xl-95px { + max-width: 95px !important; + } + + .mw-xl-100px { + max-width: 100px !important; + } + + .mw-xl-125px { + max-width: 125px !important; + } + + .mw-xl-150px { + max-width: 150px !important; + } + + .mw-xl-175px { + max-width: 175px !important; + } + + .mw-xl-200px { + max-width: 200px !important; + } + + .mw-xl-225px { + max-width: 225px !important; + } + + .mw-xl-250px { + max-width: 250px !important; + } + + .mw-xl-275px { + max-width: 275px !important; + } + + .mw-xl-300px { + max-width: 300px !important; + } + + .mw-xl-325px { + max-width: 325px !important; + } + + .mw-xl-350px { + max-width: 350px !important; + } + + .mw-xl-375px { + max-width: 375px !important; + } + + .mw-xl-400px { + max-width: 400px !important; + } + + .mw-xl-425px { + max-width: 425px !important; + } + + .mw-xl-450px { + max-width: 450px !important; + } + + .mw-xl-475px { + max-width: 475px !important; + } + + .mw-xl-500px { + max-width: 500px !important; + } + + .mw-xl-550px { + max-width: 550px !important; + } + + .mw-xl-600px { + max-width: 600px !important; + } + + .mw-xl-650px { + max-width: 650px !important; + } + + .mw-xl-700px { + max-width: 700px !important; + } + + .mw-xl-750px { + max-width: 750px !important; + } + + .mw-xl-800px { + max-width: 800px !important; + } + + .mw-xl-850px { + max-width: 850px !important; + } + + .mw-xl-900px { + max-width: 900px !important; + } + + .mw-xl-950px { + max-width: 950px !important; + } + + .mw-xl-1000px { + max-width: 1000px !important; + } + + .h-xl-unset { + height: unset !important; + } + + .h-xl-25 { + height: 25% !important; + } + + .h-xl-50 { + height: 50% !important; + } + + .h-xl-75 { + height: 75% !important; + } + + .h-xl-100 { + height: 100% !important; + } + + .h-xl-auto { + height: auto !important; + } + + .h-xl-1px { + height: 1px !important; + } + + .h-xl-2px { + height: 2px !important; + } + + .h-xl-3px { + height: 3px !important; + } + + .h-xl-4px { + height: 4px !important; + } + + .h-xl-5px { + height: 5px !important; + } + + .h-xl-6px { + height: 6px !important; + } + + .h-xl-7px { + height: 7px !important; + } + + .h-xl-8px { + height: 8px !important; + } + + .h-xl-9px { + height: 9px !important; + } + + .h-xl-10px { + height: 10px !important; + } + + .h-xl-15px { + height: 15px !important; + } + + .h-xl-20px { + height: 20px !important; + } + + .h-xl-25px { + height: 25px !important; + } + + .h-xl-30px { + height: 30px !important; + } + + .h-xl-35px { + height: 35px !important; + } + + .h-xl-40px { + height: 40px !important; + } + + .h-xl-45px { + height: 45px !important; + } + + .h-xl-50px { + height: 50px !important; + } + + .h-xl-55px { + height: 55px !important; + } + + .h-xl-60px { + height: 60px !important; + } + + .h-xl-65px { + height: 65px !important; + } + + .h-xl-70px { + height: 70px !important; + } + + .h-xl-75px { + height: 75px !important; + } + + .h-xl-80px { + height: 80px !important; + } + + .h-xl-85px { + height: 85px !important; + } + + .h-xl-90px { + height: 90px !important; + } + + .h-xl-95px { + height: 95px !important; + } + + .h-xl-100px { + height: 100px !important; + } + + .h-xl-125px { + height: 125px !important; + } + + .h-xl-150px { + height: 150px !important; + } + + .h-xl-175px { + height: 175px !important; + } + + .h-xl-200px { + height: 200px !important; + } + + .h-xl-225px { + height: 225px !important; + } + + .h-xl-250px { + height: 250px !important; + } + + .h-xl-275px { + height: 275px !important; + } + + .h-xl-300px { + height: 300px !important; + } + + .h-xl-325px { + height: 325px !important; + } + + .h-xl-350px { + height: 350px !important; + } + + .h-xl-375px { + height: 375px !important; + } + + .h-xl-400px { + height: 400px !important; + } + + .h-xl-425px { + height: 425px !important; + } + + .h-xl-450px { + height: 450px !important; + } + + .h-xl-475px { + height: 475px !important; + } + + .h-xl-500px { + height: 500px !important; + } + + .h-xl-550px { + height: 550px !important; + } + + .h-xl-600px { + height: 600px !important; + } + + .h-xl-650px { + height: 650px !important; + } + + .h-xl-700px { + height: 700px !important; + } + + .h-xl-750px { + height: 750px !important; + } + + .h-xl-800px { + height: 800px !important; + } + + .h-xl-850px { + height: 850px !important; + } + + .h-xl-900px { + height: 900px !important; + } + + .h-xl-950px { + height: 950px !important; + } + + .h-xl-1000px { + height: 1000px !important; + } + + .mh-xl-unset { + max-height: unset !important; + } + + .mh-xl-25 { + max-height: 25% !important; + } + + .mh-xl-50 { + max-height: 50% !important; + } + + .mh-xl-75 { + max-height: 75% !important; + } + + .mh-xl-100 { + max-height: 100% !important; + } + + .mh-xl-auto { + max-height: auto !important; + } + + .mh-xl-1px { + max-height: 1px !important; + } + + .mh-xl-2px { + max-height: 2px !important; + } + + .mh-xl-3px { + max-height: 3px !important; + } + + .mh-xl-4px { + max-height: 4px !important; + } + + .mh-xl-5px { + max-height: 5px !important; + } + + .mh-xl-6px { + max-height: 6px !important; + } + + .mh-xl-7px { + max-height: 7px !important; + } + + .mh-xl-8px { + max-height: 8px !important; + } + + .mh-xl-9px { + max-height: 9px !important; + } + + .mh-xl-10px { + max-height: 10px !important; + } + + .mh-xl-15px { + max-height: 15px !important; + } + + .mh-xl-20px { + max-height: 20px !important; + } + + .mh-xl-25px { + max-height: 25px !important; + } + + .mh-xl-30px { + max-height: 30px !important; + } + + .mh-xl-35px { + max-height: 35px !important; + } + + .mh-xl-40px { + max-height: 40px !important; + } + + .mh-xl-45px { + max-height: 45px !important; + } + + .mh-xl-50px { + max-height: 50px !important; + } + + .mh-xl-55px { + max-height: 55px !important; + } + + .mh-xl-60px { + max-height: 60px !important; + } + + .mh-xl-65px { + max-height: 65px !important; + } + + .mh-xl-70px { + max-height: 70px !important; + } + + .mh-xl-75px { + max-height: 75px !important; + } + + .mh-xl-80px { + max-height: 80px !important; + } + + .mh-xl-85px { + max-height: 85px !important; + } + + .mh-xl-90px { + max-height: 90px !important; + } + + .mh-xl-95px { + max-height: 95px !important; + } + + .mh-xl-100px { + max-height: 100px !important; + } + + .mh-xl-125px { + max-height: 125px !important; + } + + .mh-xl-150px { + max-height: 150px !important; + } + + .mh-xl-175px { + max-height: 175px !important; + } + + .mh-xl-200px { + max-height: 200px !important; + } + + .mh-xl-225px { + max-height: 225px !important; + } + + .mh-xl-250px { + max-height: 250px !important; + } + + .mh-xl-275px { + max-height: 275px !important; + } + + .mh-xl-300px { + max-height: 300px !important; + } + + .mh-xl-325px { + max-height: 325px !important; + } + + .mh-xl-350px { + max-height: 350px !important; + } + + .mh-xl-375px { + max-height: 375px !important; + } + + .mh-xl-400px { + max-height: 400px !important; + } + + .mh-xl-425px { + max-height: 425px !important; + } + + .mh-xl-450px { + max-height: 450px !important; + } + + .mh-xl-475px { + max-height: 475px !important; + } + + .mh-xl-500px { + max-height: 500px !important; + } + + .mh-xl-550px { + max-height: 550px !important; + } + + .mh-xl-600px { + max-height: 600px !important; + } + + .mh-xl-650px { + max-height: 650px !important; + } + + .mh-xl-700px { + max-height: 700px !important; + } + + .mh-xl-750px { + max-height: 750px !important; + } + + .mh-xl-800px { + max-height: 800px !important; + } + + .mh-xl-850px { + max-height: 850px !important; + } + + .mh-xl-900px { + max-height: 900px !important; + } + + .mh-xl-950px { + max-height: 950px !important; + } + + .mh-xl-1000px { + max-height: 1000px !important; + } + + .flex-xl-fill { + flex: 1 1 auto !important; + } + + .flex-xl-row { + flex-direction: row !important; + } + + .flex-xl-column { + flex-direction: column !important; + } + + .flex-xl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xl-wrap { + flex-wrap: wrap !important; + } + + .flex-xl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xl-0 { + gap: 0 !important; + } + + .gap-xl-1 { + gap: 0.25rem !important; + } + + .gap-xl-2 { + gap: 0.5rem !important; + } + + .gap-xl-3 { + gap: 0.75rem !important; + } + + .gap-xl-4 { + gap: 1rem !important; + } + + .gap-xl-5 { + gap: 1.25rem !important; + } + + .gap-xl-6 { + gap: 1.5rem !important; + } + + .gap-xl-7 { + gap: 1.75rem !important; + } + + .gap-xl-8 { + gap: 2rem !important; + } + + .gap-xl-9 { + gap: 2.25rem !important; + } + + .gap-xl-10 { + gap: 2.5rem !important; + } + + .gap-xl-11 { + gap: 2.75rem !important; + } + + .gap-xl-12 { + gap: 3rem !important; + } + + .gap-xl-13 { + gap: 3.25rem !important; + } + + .gap-xl-14 { + gap: 3.5rem !important; + } + + .gap-xl-15 { + gap: 3.75rem !important; + } + + .gap-xl-16 { + gap: 4rem !important; + } + + .gap-xl-17 { + gap: 4.25rem !important; + } + + .gap-xl-18 { + gap: 4.5rem !important; + } + + .gap-xl-19 { + gap: 4.75rem !important; + } + + .gap-xl-20 { + gap: 5rem !important; + } + + .justify-content-xl-start { + justify-content: flex-start !important; + } + + .justify-content-xl-end { + justify-content: flex-end !important; + } + + .justify-content-xl-center { + justify-content: center !important; + } + + .justify-content-xl-between { + justify-content: space-between !important; + } + + .justify-content-xl-around { + justify-content: space-around !important; + } + + .justify-content-xl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xl-start { + align-items: flex-start !important; + } + + .align-items-xl-end { + align-items: flex-end !important; + } + + .align-items-xl-center { + align-items: center !important; + } + + .align-items-xl-baseline { + align-items: baseline !important; + } + + .align-items-xl-stretch { + align-items: stretch !important; + } + + .align-content-xl-start { + align-content: flex-start !important; + } + + .align-content-xl-end { + align-content: flex-end !important; + } + + .align-content-xl-center { + align-content: center !important; + } + + .align-content-xl-between { + align-content: space-between !important; + } + + .align-content-xl-around { + align-content: space-around !important; + } + + .align-content-xl-stretch { + align-content: stretch !important; + } + + .align-self-xl-auto { + align-self: auto !important; + } + + .align-self-xl-start { + align-self: flex-start !important; + } + + .align-self-xl-end { + align-self: flex-end !important; + } + + .align-self-xl-center { + align-self: center !important; + } + + .align-self-xl-baseline { + align-self: baseline !important; + } + + .align-self-xl-stretch { + align-self: stretch !important; + } + + .order-xl-first { + order: -1 !important; + } + + .order-xl-0 { + order: 0 !important; + } + + .order-xl-1 { + order: 1 !important; + } + + .order-xl-2 { + order: 2 !important; + } + + .order-xl-3 { + order: 3 !important; + } + + .order-xl-4 { + order: 4 !important; + } + + .order-xl-5 { + order: 5 !important; + } + + .order-xl-last { + order: 6 !important; + } + + .m-xl-0 { + margin: 0 !important; + } + + .m-xl-1 { + margin: 0.25rem !important; + } + + .m-xl-2 { + margin: 0.5rem !important; + } + + .m-xl-3 { + margin: 0.75rem !important; + } + + .m-xl-4 { + margin: 1rem !important; + } + + .m-xl-5 { + margin: 1.25rem !important; + } + + .m-xl-6 { + margin: 1.5rem !important; + } + + .m-xl-7 { + margin: 1.75rem !important; + } + + .m-xl-8 { + margin: 2rem !important; + } + + .m-xl-9 { + margin: 2.25rem !important; + } + + .m-xl-10 { + margin: 2.5rem !important; + } + + .m-xl-11 { + margin: 2.75rem !important; + } + + .m-xl-12 { + margin: 3rem !important; + } + + .m-xl-13 { + margin: 3.25rem !important; + } + + .m-xl-14 { + margin: 3.5rem !important; + } + + .m-xl-15 { + margin: 3.75rem !important; + } + + .m-xl-16 { + margin: 4rem !important; + } + + .m-xl-17 { + margin: 4.25rem !important; + } + + .m-xl-18 { + margin: 4.5rem !important; + } + + .m-xl-19 { + margin: 4.75rem !important; + } + + .m-xl-20 { + margin: 5rem !important; + } + + .m-xl-auto { + margin: auto !important; + } + + .mx-xl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xl-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + + .mx-xl-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xl-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; + } + + .mx-xl-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xl-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; + } + + .mx-xl-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + + .mx-xl-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; + } + + .mx-xl-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + + .mx-xl-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; + } + + .mx-xl-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xl-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; + } + + .mx-xl-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + + .mx-xl-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; + } + + .mx-xl-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + + .mx-xl-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; + } + + .mx-xl-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; + } + + .mx-xl-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; + } + + .mx-xl-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + + .mx-xl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xl-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + + .my-xl-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xl-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; + } + + .my-xl-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xl-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; + } + + .my-xl-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + + .my-xl-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; + } + + .my-xl-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + + .my-xl-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; + } + + .my-xl-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xl-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; + } + + .my-xl-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + + .my-xl-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; + } + + .my-xl-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + + .my-xl-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; + } + + .my-xl-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; + } + + .my-xl-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; + } + + .my-xl-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + + .my-xl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xl-0 { + margin-top: 0 !important; + } + + .mt-xl-1 { + margin-top: 0.25rem !important; + } + + .mt-xl-2 { + margin-top: 0.5rem !important; + } + + .mt-xl-3 { + margin-top: 0.75rem !important; + } + + .mt-xl-4 { + margin-top: 1rem !important; + } + + .mt-xl-5 { + margin-top: 1.25rem !important; + } + + .mt-xl-6 { + margin-top: 1.5rem !important; + } + + .mt-xl-7 { + margin-top: 1.75rem !important; + } + + .mt-xl-8 { + margin-top: 2rem !important; + } + + .mt-xl-9 { + margin-top: 2.25rem !important; + } + + .mt-xl-10 { + margin-top: 2.5rem !important; + } + + .mt-xl-11 { + margin-top: 2.75rem !important; + } + + .mt-xl-12 { + margin-top: 3rem !important; + } + + .mt-xl-13 { + margin-top: 3.25rem !important; + } + + .mt-xl-14 { + margin-top: 3.5rem !important; + } + + .mt-xl-15 { + margin-top: 3.75rem !important; + } + + .mt-xl-16 { + margin-top: 4rem !important; + } + + .mt-xl-17 { + margin-top: 4.25rem !important; + } + + .mt-xl-18 { + margin-top: 4.5rem !important; + } + + .mt-xl-19 { + margin-top: 4.75rem !important; + } + + .mt-xl-20 { + margin-top: 5rem !important; + } + + .mt-xl-auto { + margin-top: auto !important; + } + + .me-xl-0 { + margin-right: 0 !important; + } + + .me-xl-1 { + margin-right: 0.25rem !important; + } + + .me-xl-2 { + margin-right: 0.5rem !important; + } + + .me-xl-3 { + margin-right: 0.75rem !important; + } + + .me-xl-4 { + margin-right: 1rem !important; + } + + .me-xl-5 { + margin-right: 1.25rem !important; + } + + .me-xl-6 { + margin-right: 1.5rem !important; + } + + .me-xl-7 { + margin-right: 1.75rem !important; + } + + .me-xl-8 { + margin-right: 2rem !important; + } + + .me-xl-9 { + margin-right: 2.25rem !important; + } + + .me-xl-10 { + margin-right: 2.5rem !important; + } + + .me-xl-11 { + margin-right: 2.75rem !important; + } + + .me-xl-12 { + margin-right: 3rem !important; + } + + .me-xl-13 { + margin-right: 3.25rem !important; + } + + .me-xl-14 { + margin-right: 3.5rem !important; + } + + .me-xl-15 { + margin-right: 3.75rem !important; + } + + .me-xl-16 { + margin-right: 4rem !important; + } + + .me-xl-17 { + margin-right: 4.25rem !important; + } + + .me-xl-18 { + margin-right: 4.5rem !important; + } + + .me-xl-19 { + margin-right: 4.75rem !important; + } + + .me-xl-20 { + margin-right: 5rem !important; + } + + .me-xl-auto { + margin-right: auto !important; + } + + .mb-xl-0 { + margin-bottom: 0 !important; + } + + .mb-xl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xl-3 { + margin-bottom: 0.75rem !important; + } + + .mb-xl-4 { + margin-bottom: 1rem !important; + } + + .mb-xl-5 { + margin-bottom: 1.25rem !important; + } + + .mb-xl-6 { + margin-bottom: 1.5rem !important; + } + + .mb-xl-7 { + margin-bottom: 1.75rem !important; + } + + .mb-xl-8 { + margin-bottom: 2rem !important; + } + + .mb-xl-9 { + margin-bottom: 2.25rem !important; + } + + .mb-xl-10 { + margin-bottom: 2.5rem !important; + } + + .mb-xl-11 { + margin-bottom: 2.75rem !important; + } + + .mb-xl-12 { + margin-bottom: 3rem !important; + } + + .mb-xl-13 { + margin-bottom: 3.25rem !important; + } + + .mb-xl-14 { + margin-bottom: 3.5rem !important; + } + + .mb-xl-15 { + margin-bottom: 3.75rem !important; + } + + .mb-xl-16 { + margin-bottom: 4rem !important; + } + + .mb-xl-17 { + margin-bottom: 4.25rem !important; + } + + .mb-xl-18 { + margin-bottom: 4.5rem !important; + } + + .mb-xl-19 { + margin-bottom: 4.75rem !important; + } + + .mb-xl-20 { + margin-bottom: 5rem !important; + } + + .mb-xl-auto { + margin-bottom: auto !important; + } + + .ms-xl-0 { + margin-left: 0 !important; + } + + .ms-xl-1 { + margin-left: 0.25rem !important; + } + + .ms-xl-2 { + margin-left: 0.5rem !important; + } + + .ms-xl-3 { + margin-left: 0.75rem !important; + } + + .ms-xl-4 { + margin-left: 1rem !important; + } + + .ms-xl-5 { + margin-left: 1.25rem !important; + } + + .ms-xl-6 { + margin-left: 1.5rem !important; + } + + .ms-xl-7 { + margin-left: 1.75rem !important; + } + + .ms-xl-8 { + margin-left: 2rem !important; + } + + .ms-xl-9 { + margin-left: 2.25rem !important; + } + + .ms-xl-10 { + margin-left: 2.5rem !important; + } + + .ms-xl-11 { + margin-left: 2.75rem !important; + } + + .ms-xl-12 { + margin-left: 3rem !important; + } + + .ms-xl-13 { + margin-left: 3.25rem !important; + } + + .ms-xl-14 { + margin-left: 3.5rem !important; + } + + .ms-xl-15 { + margin-left: 3.75rem !important; + } + + .ms-xl-16 { + margin-left: 4rem !important; + } + + .ms-xl-17 { + margin-left: 4.25rem !important; + } + + .ms-xl-18 { + margin-left: 4.5rem !important; + } + + .ms-xl-19 { + margin-left: 4.75rem !important; + } + + .ms-xl-20 { + margin-left: 5rem !important; + } + + .ms-xl-auto { + margin-left: auto !important; + } + + .m-xl-n1 { + margin: -0.25rem !important; + } + + .m-xl-n2 { + margin: -0.5rem !important; + } + + .m-xl-n3 { + margin: -0.75rem !important; + } + + .m-xl-n4 { + margin: -1rem !important; + } + + .m-xl-n5 { + margin: -1.25rem !important; + } + + .m-xl-n6 { + margin: -1.5rem !important; + } + + .m-xl-n7 { + margin: -1.75rem !important; + } + + .m-xl-n8 { + margin: -2rem !important; + } + + .m-xl-n9 { + margin: -2.25rem !important; + } + + .m-xl-n10 { + margin: -2.5rem !important; + } + + .m-xl-n11 { + margin: -2.75rem !important; + } + + .m-xl-n12 { + margin: -3rem !important; + } + + .m-xl-n13 { + margin: -3.25rem !important; + } + + .m-xl-n14 { + margin: -3.5rem !important; + } + + .m-xl-n15 { + margin: -3.75rem !important; + } + + .m-xl-n16 { + margin: -4rem !important; + } + + .m-xl-n17 { + margin: -4.25rem !important; + } + + .m-xl-n18 { + margin: -4.5rem !important; + } + + .m-xl-n19 { + margin: -4.75rem !important; + } + + .m-xl-n20 { + margin: -5rem !important; + } + + .mx-xl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + + .mx-xl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + + .mx-xl-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } + + .mx-xl-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + + .mx-xl-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; + } + + .mx-xl-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + + .mx-xl-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; + } + + .mx-xl-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + + .mx-xl-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; + } + + .mx-xl-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + + .mx-xl-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; + } + + .mx-xl-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } + + .mx-xl-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; + } + + .mx-xl-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } + + .mx-xl-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; + } + + .mx-xl-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } + + .mx-xl-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; + } + + .mx-xl-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; + } + + .mx-xl-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; + } + + .mx-xl-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; + } + + .my-xl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + + .my-xl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + + .my-xl-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; + } + + .my-xl-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + + .my-xl-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; + } + + .my-xl-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + + .my-xl-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; + } + + .my-xl-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + + .my-xl-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; + } + + .my-xl-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + + .my-xl-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; + } + + .my-xl-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + + .my-xl-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; + } + + .my-xl-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; + } + + .my-xl-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; + } + + .my-xl-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + + .my-xl-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; + } + + .my-xl-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; + } + + .my-xl-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; + } + + .my-xl-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + + .mt-xl-n1 { + margin-top: -0.25rem !important; + } + + .mt-xl-n2 { + margin-top: -0.5rem !important; + } + + .mt-xl-n3 { + margin-top: -0.75rem !important; + } + + .mt-xl-n4 { + margin-top: -1rem !important; + } + + .mt-xl-n5 { + margin-top: -1.25rem !important; + } + + .mt-xl-n6 { + margin-top: -1.5rem !important; + } + + .mt-xl-n7 { + margin-top: -1.75rem !important; + } + + .mt-xl-n8 { + margin-top: -2rem !important; + } + + .mt-xl-n9 { + margin-top: -2.25rem !important; + } + + .mt-xl-n10 { + margin-top: -2.5rem !important; + } + + .mt-xl-n11 { + margin-top: -2.75rem !important; + } + + .mt-xl-n12 { + margin-top: -3rem !important; + } + + .mt-xl-n13 { + margin-top: -3.25rem !important; + } + + .mt-xl-n14 { + margin-top: -3.5rem !important; + } + + .mt-xl-n15 { + margin-top: -3.75rem !important; + } + + .mt-xl-n16 { + margin-top: -4rem !important; + } + + .mt-xl-n17 { + margin-top: -4.25rem !important; + } + + .mt-xl-n18 { + margin-top: -4.5rem !important; + } + + .mt-xl-n19 { + margin-top: -4.75rem !important; + } + + .mt-xl-n20 { + margin-top: -5rem !important; + } + + .me-xl-n1 { + margin-right: -0.25rem !important; + } + + .me-xl-n2 { + margin-right: -0.5rem !important; + } + + .me-xl-n3 { + margin-right: -0.75rem !important; + } + + .me-xl-n4 { + margin-right: -1rem !important; + } + + .me-xl-n5 { + margin-right: -1.25rem !important; + } + + .me-xl-n6 { + margin-right: -1.5rem !important; + } + + .me-xl-n7 { + margin-right: -1.75rem !important; + } + + .me-xl-n8 { + margin-right: -2rem !important; + } + + .me-xl-n9 { + margin-right: -2.25rem !important; + } + + .me-xl-n10 { + margin-right: -2.5rem !important; + } + + .me-xl-n11 { + margin-right: -2.75rem !important; + } + + .me-xl-n12 { + margin-right: -3rem !important; + } + + .me-xl-n13 { + margin-right: -3.25rem !important; + } + + .me-xl-n14 { + margin-right: -3.5rem !important; + } + + .me-xl-n15 { + margin-right: -3.75rem !important; + } + + .me-xl-n16 { + margin-right: -4rem !important; + } + + .me-xl-n17 { + margin-right: -4.25rem !important; + } + + .me-xl-n18 { + margin-right: -4.5rem !important; + } + + .me-xl-n19 { + margin-right: -4.75rem !important; + } + + .me-xl-n20 { + margin-right: -5rem !important; + } + + .mb-xl-n1 { + margin-bottom: -0.25rem !important; + } + + .mb-xl-n2 { + margin-bottom: -0.5rem !important; + } + + .mb-xl-n3 { + margin-bottom: -0.75rem !important; + } + + .mb-xl-n4 { + margin-bottom: -1rem !important; + } + + .mb-xl-n5 { + margin-bottom: -1.25rem !important; + } + + .mb-xl-n6 { + margin-bottom: -1.5rem !important; + } + + .mb-xl-n7 { + margin-bottom: -1.75rem !important; + } + + .mb-xl-n8 { + margin-bottom: -2rem !important; + } + + .mb-xl-n9 { + margin-bottom: -2.25rem !important; + } + + .mb-xl-n10 { + margin-bottom: -2.5rem !important; + } + + .mb-xl-n11 { + margin-bottom: -2.75rem !important; + } + + .mb-xl-n12 { + margin-bottom: -3rem !important; + } + + .mb-xl-n13 { + margin-bottom: -3.25rem !important; + } + + .mb-xl-n14 { + margin-bottom: -3.5rem !important; + } + + .mb-xl-n15 { + margin-bottom: -3.75rem !important; + } + + .mb-xl-n16 { + margin-bottom: -4rem !important; + } + + .mb-xl-n17 { + margin-bottom: -4.25rem !important; + } + + .mb-xl-n18 { + margin-bottom: -4.5rem !important; + } + + .mb-xl-n19 { + margin-bottom: -4.75rem !important; + } + + .mb-xl-n20 { + margin-bottom: -5rem !important; + } + + .ms-xl-n1 { + margin-left: -0.25rem !important; + } + + .ms-xl-n2 { + margin-left: -0.5rem !important; + } + + .ms-xl-n3 { + margin-left: -0.75rem !important; + } + + .ms-xl-n4 { + margin-left: -1rem !important; + } + + .ms-xl-n5 { + margin-left: -1.25rem !important; + } + + .ms-xl-n6 { + margin-left: -1.5rem !important; + } + + .ms-xl-n7 { + margin-left: -1.75rem !important; + } + + .ms-xl-n8 { + margin-left: -2rem !important; + } + + .ms-xl-n9 { + margin-left: -2.25rem !important; + } + + .ms-xl-n10 { + margin-left: -2.5rem !important; + } + + .ms-xl-n11 { + margin-left: -2.75rem !important; + } + + .ms-xl-n12 { + margin-left: -3rem !important; + } + + .ms-xl-n13 { + margin-left: -3.25rem !important; + } + + .ms-xl-n14 { + margin-left: -3.5rem !important; + } + + .ms-xl-n15 { + margin-left: -3.75rem !important; + } + + .ms-xl-n16 { + margin-left: -4rem !important; + } + + .ms-xl-n17 { + margin-left: -4.25rem !important; + } + + .ms-xl-n18 { + margin-left: -4.5rem !important; + } + + .ms-xl-n19 { + margin-left: -4.75rem !important; + } + + .ms-xl-n20 { + margin-left: -5rem !important; + } + + .p-xl-0 { + padding: 0 !important; + } + + .p-xl-1 { + padding: 0.25rem !important; + } + + .p-xl-2 { + padding: 0.5rem !important; + } + + .p-xl-3 { + padding: 0.75rem !important; + } + + .p-xl-4 { + padding: 1rem !important; + } + + .p-xl-5 { + padding: 1.25rem !important; + } + + .p-xl-6 { + padding: 1.5rem !important; + } + + .p-xl-7 { + padding: 1.75rem !important; + } + + .p-xl-8 { + padding: 2rem !important; + } + + .p-xl-9 { + padding: 2.25rem !important; + } + + .p-xl-10 { + padding: 2.5rem !important; + } + + .p-xl-11 { + padding: 2.75rem !important; + } + + .p-xl-12 { + padding: 3rem !important; + } + + .p-xl-13 { + padding: 3.25rem !important; + } + + .p-xl-14 { + padding: 3.5rem !important; + } + + .p-xl-15 { + padding: 3.75rem !important; + } + + .p-xl-16 { + padding: 4rem !important; + } + + .p-xl-17 { + padding: 4.25rem !important; + } + + .p-xl-18 { + padding: 4.5rem !important; + } + + .p-xl-19 { + padding: 4.75rem !important; + } + + .p-xl-20 { + padding: 5rem !important; + } + + .px-xl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xl-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + + .px-xl-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xl-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; + } + + .px-xl-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xl-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; + } + + .px-xl-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + + .px-xl-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; + } + + .px-xl-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + + .px-xl-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; + } + + .px-xl-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .px-xl-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; + } + + .px-xl-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + + .px-xl-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; + } + + .px-xl-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + + .px-xl-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; + } + + .px-xl-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; + } + + .px-xl-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; + } + + .px-xl-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + + .py-xl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xl-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + + .py-xl-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xl-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; + } + + .py-xl-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xl-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; + } + + .py-xl-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .py-xl-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; + } + + .py-xl-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + + .py-xl-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; + } + + .py-xl-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .py-xl-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; + } + + .py-xl-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + + .py-xl-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; + } + + .py-xl-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + + .py-xl-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; + } + + .py-xl-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + + .py-xl-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; + } + + .py-xl-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + + .pt-xl-0 { + padding-top: 0 !important; + } + + .pt-xl-1 { + padding-top: 0.25rem !important; + } + + .pt-xl-2 { + padding-top: 0.5rem !important; + } + + .pt-xl-3 { + padding-top: 0.75rem !important; + } + + .pt-xl-4 { + padding-top: 1rem !important; + } + + .pt-xl-5 { + padding-top: 1.25rem !important; + } + + .pt-xl-6 { + padding-top: 1.5rem !important; + } + + .pt-xl-7 { + padding-top: 1.75rem !important; + } + + .pt-xl-8 { + padding-top: 2rem !important; + } + + .pt-xl-9 { + padding-top: 2.25rem !important; + } + + .pt-xl-10 { + padding-top: 2.5rem !important; + } + + .pt-xl-11 { + padding-top: 2.75rem !important; + } + + .pt-xl-12 { + padding-top: 3rem !important; + } + + .pt-xl-13 { + padding-top: 3.25rem !important; + } + + .pt-xl-14 { + padding-top: 3.5rem !important; + } + + .pt-xl-15 { + padding-top: 3.75rem !important; + } + + .pt-xl-16 { + padding-top: 4rem !important; + } + + .pt-xl-17 { + padding-top: 4.25rem !important; + } + + .pt-xl-18 { + padding-top: 4.5rem !important; + } + + .pt-xl-19 { + padding-top: 4.75rem !important; + } + + .pt-xl-20 { + padding-top: 5rem !important; + } + + .pe-xl-0 { + padding-right: 0 !important; + } + + .pe-xl-1 { + padding-right: 0.25rem !important; + } + + .pe-xl-2 { + padding-right: 0.5rem !important; + } + + .pe-xl-3 { + padding-right: 0.75rem !important; + } + + .pe-xl-4 { + padding-right: 1rem !important; + } + + .pe-xl-5 { + padding-right: 1.25rem !important; + } + + .pe-xl-6 { + padding-right: 1.5rem !important; + } + + .pe-xl-7 { + padding-right: 1.75rem !important; + } + + .pe-xl-8 { + padding-right: 2rem !important; + } + + .pe-xl-9 { + padding-right: 2.25rem !important; + } + + .pe-xl-10 { + padding-right: 2.5rem !important; + } + + .pe-xl-11 { + padding-right: 2.75rem !important; + } + + .pe-xl-12 { + padding-right: 3rem !important; + } + + .pe-xl-13 { + padding-right: 3.25rem !important; + } + + .pe-xl-14 { + padding-right: 3.5rem !important; + } + + .pe-xl-15 { + padding-right: 3.75rem !important; + } + + .pe-xl-16 { + padding-right: 4rem !important; + } + + .pe-xl-17 { + padding-right: 4.25rem !important; + } + + .pe-xl-18 { + padding-right: 4.5rem !important; + } + + .pe-xl-19 { + padding-right: 4.75rem !important; + } + + .pe-xl-20 { + padding-right: 5rem !important; + } + + .pb-xl-0 { + padding-bottom: 0 !important; + } + + .pb-xl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xl-3 { + padding-bottom: 0.75rem !important; + } + + .pb-xl-4 { + padding-bottom: 1rem !important; + } + + .pb-xl-5 { + padding-bottom: 1.25rem !important; + } + + .pb-xl-6 { + padding-bottom: 1.5rem !important; + } + + .pb-xl-7 { + padding-bottom: 1.75rem !important; + } + + .pb-xl-8 { + padding-bottom: 2rem !important; + } + + .pb-xl-9 { + padding-bottom: 2.25rem !important; + } + + .pb-xl-10 { + padding-bottom: 2.5rem !important; + } + + .pb-xl-11 { + padding-bottom: 2.75rem !important; + } + + .pb-xl-12 { + padding-bottom: 3rem !important; + } + + .pb-xl-13 { + padding-bottom: 3.25rem !important; + } + + .pb-xl-14 { + padding-bottom: 3.5rem !important; + } + + .pb-xl-15 { + padding-bottom: 3.75rem !important; + } + + .pb-xl-16 { + padding-bottom: 4rem !important; + } + + .pb-xl-17 { + padding-bottom: 4.25rem !important; + } + + .pb-xl-18 { + padding-bottom: 4.5rem !important; + } + + .pb-xl-19 { + padding-bottom: 4.75rem !important; + } + + .pb-xl-20 { + padding-bottom: 5rem !important; + } + + .ps-xl-0 { + padding-left: 0 !important; + } + + .ps-xl-1 { + padding-left: 0.25rem !important; + } + + .ps-xl-2 { + padding-left: 0.5rem !important; + } + + .ps-xl-3 { + padding-left: 0.75rem !important; + } + + .ps-xl-4 { + padding-left: 1rem !important; + } + + .ps-xl-5 { + padding-left: 1.25rem !important; + } + + .ps-xl-6 { + padding-left: 1.5rem !important; + } + + .ps-xl-7 { + padding-left: 1.75rem !important; + } + + .ps-xl-8 { + padding-left: 2rem !important; + } + + .ps-xl-9 { + padding-left: 2.25rem !important; + } + + .ps-xl-10 { + padding-left: 2.5rem !important; + } + + .ps-xl-11 { + padding-left: 2.75rem !important; + } + + .ps-xl-12 { + padding-left: 3rem !important; + } + + .ps-xl-13 { + padding-left: 3.25rem !important; + } + + .ps-xl-14 { + padding-left: 3.5rem !important; + } + + .ps-xl-15 { + padding-left: 3.75rem !important; + } + + .ps-xl-16 { + padding-left: 4rem !important; + } + + .ps-xl-17 { + padding-left: 4.25rem !important; + } + + .ps-xl-18 { + padding-left: 4.5rem !important; + } + + .ps-xl-19 { + padding-left: 4.75rem !important; + } + + .ps-xl-20 { + padding-left: 5rem !important; + } + + .fs-xl-1 { + font-size: calc(1.3rem + 0.6vw) !important; + } + + .fs-xl-2 { + font-size: calc(1.275rem + 0.3vw) !important; + } + + .fs-xl-3 { + font-size: calc(1.26rem + 0.12vw) !important; + } + + .fs-xl-4 { + font-size: 1.25rem !important; + } + + .fs-xl-5 { + font-size: 1.15rem !important; + } + + .fs-xl-6 { + font-size: 1.075rem !important; + } + + .fs-xl-7 { + font-size: 0.95rem !important; + } + + .fs-xl-8 { + font-size: 0.85rem !important; + } + + .fs-xl-9 { + font-size: 0.75rem !important; + } + + .fs-xl-10 { + font-size: 0.5rem !important; + } + + .fs-xl-base { + font-size: 1rem !important; + } + + .fs-xl-fluid { + font-size: 100% !important; + } + + .fs-xl-2x { + font-size: calc(1.325rem + 0.9vw) !important; + } + + .fs-xl-2qx { + font-size: calc(1.35rem + 1.2vw) !important; + } + + .fs-xl-2hx { + font-size: calc(1.375rem + 1.5vw) !important; + } + + .fs-xl-2tx { + font-size: calc(1.4rem + 1.8vw) !important; + } + + .fs-xl-3x { + font-size: calc(1.425rem + 2.1vw) !important; + } + + .fs-xl-3qx { + font-size: calc(1.45rem + 2.4vw) !important; + } + + .fs-xl-3hx { + font-size: calc(1.475rem + 2.7vw) !important; + } + + .fs-xl-3tx { + font-size: calc(1.5rem + 3vw) !important; + } + + .fs-xl-4x { + font-size: calc(1.525rem + 3.3vw) !important; + } + + .fs-xl-4qx { + font-size: calc(1.55rem + 3.6vw) !important; + } + + .fs-xl-4hx { + font-size: calc(1.575rem + 3.9vw) !important; + } + + .fs-xl-4tx { + font-size: calc(1.6rem + 4.2vw) !important; + } + + .fs-xl-5x { + font-size: calc(1.625rem + 4.5vw) !important; + } + + .fs-xl-5qx { + font-size: calc(1.65rem + 4.8vw) !important; + } + + .fs-xl-5hx { + font-size: calc(1.675rem + 5.1vw) !important; + } + + .fs-xl-5tx { + font-size: calc(1.7rem + 5.4vw) !important; + } + + .text-xl-start { + text-align: left !important; + } + + .text-xl-end { + text-align: right !important; + } + + .text-xl-center { + text-align: center !important; + } + + .min-w-xl-unset { + min-width: unset !important; + } + + .min-w-xl-25 { + min-width: 25% !important; + } + + .min-w-xl-50 { + min-width: 50% !important; + } + + .min-w-xl-75 { + min-width: 75% !important; + } + + .min-w-xl-100 { + min-width: 100% !important; + } + + .min-w-xl-auto { + min-width: auto !important; + } + + .min-w-xl-1px { + min-width: 1px !important; + } + + .min-w-xl-2px { + min-width: 2px !important; + } + + .min-w-xl-3px { + min-width: 3px !important; + } + + .min-w-xl-4px { + min-width: 4px !important; + } + + .min-w-xl-5px { + min-width: 5px !important; + } + + .min-w-xl-6px { + min-width: 6px !important; + } + + .min-w-xl-7px { + min-width: 7px !important; + } + + .min-w-xl-8px { + min-width: 8px !important; + } + + .min-w-xl-9px { + min-width: 9px !important; + } + + .min-w-xl-10px { + min-width: 10px !important; + } + + .min-w-xl-15px { + min-width: 15px !important; + } + + .min-w-xl-20px { + min-width: 20px !important; + } + + .min-w-xl-25px { + min-width: 25px !important; + } + + .min-w-xl-30px { + min-width: 30px !important; + } + + .min-w-xl-35px { + min-width: 35px !important; + } + + .min-w-xl-40px { + min-width: 40px !important; + } + + .min-w-xl-45px { + min-width: 45px !important; + } + + .min-w-xl-50px { + min-width: 50px !important; + } + + .min-w-xl-55px { + min-width: 55px !important; + } + + .min-w-xl-60px { + min-width: 60px !important; + } + + .min-w-xl-65px { + min-width: 65px !important; + } + + .min-w-xl-70px { + min-width: 70px !important; + } + + .min-w-xl-75px { + min-width: 75px !important; + } + + .min-w-xl-80px { + min-width: 80px !important; + } + + .min-w-xl-85px { + min-width: 85px !important; + } + + .min-w-xl-90px { + min-width: 90px !important; + } + + .min-w-xl-95px { + min-width: 95px !important; + } + + .min-w-xl-100px { + min-width: 100px !important; + } + + .min-w-xl-125px { + min-width: 125px !important; + } + + .min-w-xl-150px { + min-width: 150px !important; + } + + .min-w-xl-175px { + min-width: 175px !important; + } + + .min-w-xl-200px { + min-width: 200px !important; + } + + .min-w-xl-225px { + min-width: 225px !important; + } + + .min-w-xl-250px { + min-width: 250px !important; + } + + .min-w-xl-275px { + min-width: 275px !important; + } + + .min-w-xl-300px { + min-width: 300px !important; + } + + .min-w-xl-325px { + min-width: 325px !important; + } + + .min-w-xl-350px { + min-width: 350px !important; + } + + .min-w-xl-375px { + min-width: 375px !important; + } + + .min-w-xl-400px { + min-width: 400px !important; + } + + .min-w-xl-425px { + min-width: 425px !important; + } + + .min-w-xl-450px { + min-width: 450px !important; + } + + .min-w-xl-475px { + min-width: 475px !important; + } + + .min-w-xl-500px { + min-width: 500px !important; + } + + .min-w-xl-550px { + min-width: 550px !important; + } + + .min-w-xl-600px { + min-width: 600px !important; + } + + .min-w-xl-650px { + min-width: 650px !important; + } + + .min-w-xl-700px { + min-width: 700px !important; + } + + .min-w-xl-750px { + min-width: 750px !important; + } + + .min-w-xl-800px { + min-width: 800px !important; + } + + .min-w-xl-850px { + min-width: 850px !important; + } + + .min-w-xl-900px { + min-width: 900px !important; + } + + .min-w-xl-950px { + min-width: 950px !important; + } + + .min-w-xl-1000px { + min-width: 1000px !important; + } + + .min-h-xl-unset { + min-height: unset !important; + } + + .min-h-xl-25 { + min-height: 25% !important; + } + + .min-h-xl-50 { + min-height: 50% !important; + } + + .min-h-xl-75 { + min-height: 75% !important; + } + + .min-h-xl-100 { + min-height: 100% !important; + } + + .min-h-xl-auto { + min-height: auto !important; + } + + .min-h-xl-1px { + min-height: 1px !important; + } + + .min-h-xl-2px { + min-height: 2px !important; + } + + .min-h-xl-3px { + min-height: 3px !important; + } + + .min-h-xl-4px { + min-height: 4px !important; + } + + .min-h-xl-5px { + min-height: 5px !important; + } + + .min-h-xl-6px { + min-height: 6px !important; + } + + .min-h-xl-7px { + min-height: 7px !important; + } + + .min-h-xl-8px { + min-height: 8px !important; + } + + .min-h-xl-9px { + min-height: 9px !important; + } + + .min-h-xl-10px { + min-height: 10px !important; + } + + .min-h-xl-15px { + min-height: 15px !important; + } + + .min-h-xl-20px { + min-height: 20px !important; + } + + .min-h-xl-25px { + min-height: 25px !important; + } + + .min-h-xl-30px { + min-height: 30px !important; + } + + .min-h-xl-35px { + min-height: 35px !important; + } + + .min-h-xl-40px { + min-height: 40px !important; + } + + .min-h-xl-45px { + min-height: 45px !important; + } + + .min-h-xl-50px { + min-height: 50px !important; + } + + .min-h-xl-55px { + min-height: 55px !important; + } + + .min-h-xl-60px { + min-height: 60px !important; + } + + .min-h-xl-65px { + min-height: 65px !important; + } + + .min-h-xl-70px { + min-height: 70px !important; + } + + .min-h-xl-75px { + min-height: 75px !important; + } + + .min-h-xl-80px { + min-height: 80px !important; + } + + .min-h-xl-85px { + min-height: 85px !important; + } + + .min-h-xl-90px { + min-height: 90px !important; + } + + .min-h-xl-95px { + min-height: 95px !important; + } + + .min-h-xl-100px { + min-height: 100px !important; + } + + .min-h-xl-125px { + min-height: 125px !important; + } + + .min-h-xl-150px { + min-height: 150px !important; + } + + .min-h-xl-175px { + min-height: 175px !important; + } + + .min-h-xl-200px { + min-height: 200px !important; + } + + .min-h-xl-225px { + min-height: 225px !important; + } + + .min-h-xl-250px { + min-height: 250px !important; + } + + .min-h-xl-275px { + min-height: 275px !important; + } + + .min-h-xl-300px { + min-height: 300px !important; + } + + .min-h-xl-325px { + min-height: 325px !important; + } + + .min-h-xl-350px { + min-height: 350px !important; + } + + .min-h-xl-375px { + min-height: 375px !important; + } + + .min-h-xl-400px { + min-height: 400px !important; + } + + .min-h-xl-425px { + min-height: 425px !important; + } + + .min-h-xl-450px { + min-height: 450px !important; + } + + .min-h-xl-475px { + min-height: 475px !important; + } + + .min-h-xl-500px { + min-height: 500px !important; + } + + .min-h-xl-550px { + min-height: 550px !important; + } + + .min-h-xl-600px { + min-height: 600px !important; + } + + .min-h-xl-650px { + min-height: 650px !important; + } + + .min-h-xl-700px { + min-height: 700px !important; + } + + .min-h-xl-750px { + min-height: 750px !important; + } + + .min-h-xl-800px { + min-height: 800px !important; + } + + .min-h-xl-850px { + min-height: 850px !important; + } + + .min-h-xl-900px { + min-height: 900px !important; + } + + .min-h-xl-950px { + min-height: 950px !important; + } + + .min-h-xl-1000px { + min-height: 1000px !important; + } +} +@media (min-width: 1400px) { + .float-xxl-start { + float: left !important; + } + + .float-xxl-end { + float: right !important; + } + + .float-xxl-none { + float: none !important; + } + + .d-xxl-inline { + display: inline !important; + } + + .d-xxl-inline-block { + display: inline-block !important; + } + + .d-xxl-block { + display: block !important; + } + + .d-xxl-grid { + display: grid !important; + } + + .d-xxl-table { + display: table !important; + } + + .d-xxl-table-row { + display: table-row !important; + } + + .d-xxl-table-cell { + display: table-cell !important; + } + + .d-xxl-flex { + display: flex !important; + } + + .d-xxl-inline-flex { + display: inline-flex !important; + } + + .d-xxl-none { + display: none !important; + } + + .position-xxl-static { + position: static !important; + } + + .position-xxl-relative { + position: relative !important; + } + + .position-xxl-absolute { + position: absolute !important; + } + + .position-xxl-fixed { + position: fixed !important; + } + + .position-xxl-sticky { + position: sticky !important; + } + + .w-xxl-unset { + width: unset !important; + } + + .w-xxl-25 { + width: 25% !important; + } + + .w-xxl-50 { + width: 50% !important; + } + + .w-xxl-75 { + width: 75% !important; + } + + .w-xxl-100 { + width: 100% !important; + } + + .w-xxl-auto { + width: auto !important; + } + + .w-xxl-1px { + width: 1px !important; + } + + .w-xxl-2px { + width: 2px !important; + } + + .w-xxl-3px { + width: 3px !important; + } + + .w-xxl-4px { + width: 4px !important; + } + + .w-xxl-5px { + width: 5px !important; + } + + .w-xxl-6px { + width: 6px !important; + } + + .w-xxl-7px { + width: 7px !important; + } + + .w-xxl-8px { + width: 8px !important; + } + + .w-xxl-9px { + width: 9px !important; + } + + .w-xxl-10px { + width: 10px !important; + } + + .w-xxl-15px { + width: 15px !important; + } + + .w-xxl-20px { + width: 20px !important; + } + + .w-xxl-25px { + width: 25px !important; + } + + .w-xxl-30px { + width: 30px !important; + } + + .w-xxl-35px { + width: 35px !important; + } + + .w-xxl-40px { + width: 40px !important; + } + + .w-xxl-45px { + width: 45px !important; + } + + .w-xxl-50px { + width: 50px !important; + } + + .w-xxl-55px { + width: 55px !important; + } + + .w-xxl-60px { + width: 60px !important; + } + + .w-xxl-65px { + width: 65px !important; + } + + .w-xxl-70px { + width: 70px !important; + } + + .w-xxl-75px { + width: 75px !important; + } + + .w-xxl-80px { + width: 80px !important; + } + + .w-xxl-85px { + width: 85px !important; + } + + .w-xxl-90px { + width: 90px !important; + } + + .w-xxl-95px { + width: 95px !important; + } + + .w-xxl-100px { + width: 100px !important; + } + + .w-xxl-125px { + width: 125px !important; + } + + .w-xxl-150px { + width: 150px !important; + } + + .w-xxl-175px { + width: 175px !important; + } + + .w-xxl-200px { + width: 200px !important; + } + + .w-xxl-225px { + width: 225px !important; + } + + .w-xxl-250px { + width: 250px !important; + } + + .w-xxl-275px { + width: 275px !important; + } + + .w-xxl-300px { + width: 300px !important; + } + + .w-xxl-325px { + width: 325px !important; + } + + .w-xxl-350px { + width: 350px !important; + } + + .w-xxl-375px { + width: 375px !important; + } + + .w-xxl-400px { + width: 400px !important; + } + + .w-xxl-425px { + width: 425px !important; + } + + .w-xxl-450px { + width: 450px !important; + } + + .w-xxl-475px { + width: 475px !important; + } + + .w-xxl-500px { + width: 500px !important; + } + + .w-xxl-550px { + width: 550px !important; + } + + .w-xxl-600px { + width: 600px !important; + } + + .w-xxl-650px { + width: 650px !important; + } + + .w-xxl-700px { + width: 700px !important; + } + + .w-xxl-750px { + width: 750px !important; + } + + .w-xxl-800px { + width: 800px !important; + } + + .w-xxl-850px { + width: 850px !important; + } + + .w-xxl-900px { + width: 900px !important; + } + + .w-xxl-950px { + width: 950px !important; + } + + .w-xxl-1000px { + width: 1000px !important; + } + + .mw-xxl-unset { + max-width: unset !important; + } + + .mw-xxl-25 { + max-width: 25% !important; + } + + .mw-xxl-50 { + max-width: 50% !important; + } + + .mw-xxl-75 { + max-width: 75% !important; + } + + .mw-xxl-100 { + max-width: 100% !important; + } + + .mw-xxl-auto { + max-width: auto !important; + } + + .mw-xxl-1px { + max-width: 1px !important; + } + + .mw-xxl-2px { + max-width: 2px !important; + } + + .mw-xxl-3px { + max-width: 3px !important; + } + + .mw-xxl-4px { + max-width: 4px !important; + } + + .mw-xxl-5px { + max-width: 5px !important; + } + + .mw-xxl-6px { + max-width: 6px !important; + } + + .mw-xxl-7px { + max-width: 7px !important; + } + + .mw-xxl-8px { + max-width: 8px !important; + } + + .mw-xxl-9px { + max-width: 9px !important; + } + + .mw-xxl-10px { + max-width: 10px !important; + } + + .mw-xxl-15px { + max-width: 15px !important; + } + + .mw-xxl-20px { + max-width: 20px !important; + } + + .mw-xxl-25px { + max-width: 25px !important; + } + + .mw-xxl-30px { + max-width: 30px !important; + } + + .mw-xxl-35px { + max-width: 35px !important; + } + + .mw-xxl-40px { + max-width: 40px !important; + } + + .mw-xxl-45px { + max-width: 45px !important; + } + + .mw-xxl-50px { + max-width: 50px !important; + } + + .mw-xxl-55px { + max-width: 55px !important; + } + + .mw-xxl-60px { + max-width: 60px !important; + } + + .mw-xxl-65px { + max-width: 65px !important; + } + + .mw-xxl-70px { + max-width: 70px !important; + } + + .mw-xxl-75px { + max-width: 75px !important; + } + + .mw-xxl-80px { + max-width: 80px !important; + } + + .mw-xxl-85px { + max-width: 85px !important; + } + + .mw-xxl-90px { + max-width: 90px !important; + } + + .mw-xxl-95px { + max-width: 95px !important; + } + + .mw-xxl-100px { + max-width: 100px !important; + } + + .mw-xxl-125px { + max-width: 125px !important; + } + + .mw-xxl-150px { + max-width: 150px !important; + } + + .mw-xxl-175px { + max-width: 175px !important; + } + + .mw-xxl-200px { + max-width: 200px !important; + } + + .mw-xxl-225px { + max-width: 225px !important; + } + + .mw-xxl-250px { + max-width: 250px !important; + } + + .mw-xxl-275px { + max-width: 275px !important; + } + + .mw-xxl-300px { + max-width: 300px !important; + } + + .mw-xxl-325px { + max-width: 325px !important; + } + + .mw-xxl-350px { + max-width: 350px !important; + } + + .mw-xxl-375px { + max-width: 375px !important; + } + + .mw-xxl-400px { + max-width: 400px !important; + } + + .mw-xxl-425px { + max-width: 425px !important; + } + + .mw-xxl-450px { + max-width: 450px !important; + } + + .mw-xxl-475px { + max-width: 475px !important; + } + + .mw-xxl-500px { + max-width: 500px !important; + } + + .mw-xxl-550px { + max-width: 550px !important; + } + + .mw-xxl-600px { + max-width: 600px !important; + } + + .mw-xxl-650px { + max-width: 650px !important; + } + + .mw-xxl-700px { + max-width: 700px !important; + } + + .mw-xxl-750px { + max-width: 750px !important; + } + + .mw-xxl-800px { + max-width: 800px !important; + } + + .mw-xxl-850px { + max-width: 850px !important; + } + + .mw-xxl-900px { + max-width: 900px !important; + } + + .mw-xxl-950px { + max-width: 950px !important; + } + + .mw-xxl-1000px { + max-width: 1000px !important; + } + + .h-xxl-unset { + height: unset !important; + } + + .h-xxl-25 { + height: 25% !important; + } + + .h-xxl-50 { + height: 50% !important; + } + + .h-xxl-75 { + height: 75% !important; + } + + .h-xxl-100 { + height: 100% !important; + } + + .h-xxl-auto { + height: auto !important; + } + + .h-xxl-1px { + height: 1px !important; + } + + .h-xxl-2px { + height: 2px !important; + } + + .h-xxl-3px { + height: 3px !important; + } + + .h-xxl-4px { + height: 4px !important; + } + + .h-xxl-5px { + height: 5px !important; + } + + .h-xxl-6px { + height: 6px !important; + } + + .h-xxl-7px { + height: 7px !important; + } + + .h-xxl-8px { + height: 8px !important; + } + + .h-xxl-9px { + height: 9px !important; + } + + .h-xxl-10px { + height: 10px !important; + } + + .h-xxl-15px { + height: 15px !important; + } + + .h-xxl-20px { + height: 20px !important; + } + + .h-xxl-25px { + height: 25px !important; + } + + .h-xxl-30px { + height: 30px !important; + } + + .h-xxl-35px { + height: 35px !important; + } + + .h-xxl-40px { + height: 40px !important; + } + + .h-xxl-45px { + height: 45px !important; + } + + .h-xxl-50px { + height: 50px !important; + } + + .h-xxl-55px { + height: 55px !important; + } + + .h-xxl-60px { + height: 60px !important; + } + + .h-xxl-65px { + height: 65px !important; + } + + .h-xxl-70px { + height: 70px !important; + } + + .h-xxl-75px { + height: 75px !important; + } + + .h-xxl-80px { + height: 80px !important; + } + + .h-xxl-85px { + height: 85px !important; + } + + .h-xxl-90px { + height: 90px !important; + } + + .h-xxl-95px { + height: 95px !important; + } + + .h-xxl-100px { + height: 100px !important; + } + + .h-xxl-125px { + height: 125px !important; + } + + .h-xxl-150px { + height: 150px !important; + } + + .h-xxl-175px { + height: 175px !important; + } + + .h-xxl-200px { + height: 200px !important; + } + + .h-xxl-225px { + height: 225px !important; + } + + .h-xxl-250px { + height: 250px !important; + } + + .h-xxl-275px { + height: 275px !important; + } + + .h-xxl-300px { + height: 300px !important; + } + + .h-xxl-325px { + height: 325px !important; + } + + .h-xxl-350px { + height: 350px !important; + } + + .h-xxl-375px { + height: 375px !important; + } + + .h-xxl-400px { + height: 400px !important; + } + + .h-xxl-425px { + height: 425px !important; + } + + .h-xxl-450px { + height: 450px !important; + } + + .h-xxl-475px { + height: 475px !important; + } + + .h-xxl-500px { + height: 500px !important; + } + + .h-xxl-550px { + height: 550px !important; + } + + .h-xxl-600px { + height: 600px !important; + } + + .h-xxl-650px { + height: 650px !important; + } + + .h-xxl-700px { + height: 700px !important; + } + + .h-xxl-750px { + height: 750px !important; + } + + .h-xxl-800px { + height: 800px !important; + } + + .h-xxl-850px { + height: 850px !important; + } + + .h-xxl-900px { + height: 900px !important; + } + + .h-xxl-950px { + height: 950px !important; + } + + .h-xxl-1000px { + height: 1000px !important; + } + + .mh-xxl-unset { + max-height: unset !important; + } + + .mh-xxl-25 { + max-height: 25% !important; + } + + .mh-xxl-50 { + max-height: 50% !important; + } + + .mh-xxl-75 { + max-height: 75% !important; + } + + .mh-xxl-100 { + max-height: 100% !important; + } + + .mh-xxl-auto { + max-height: auto !important; + } + + .mh-xxl-1px { + max-height: 1px !important; + } + + .mh-xxl-2px { + max-height: 2px !important; + } + + .mh-xxl-3px { + max-height: 3px !important; + } + + .mh-xxl-4px { + max-height: 4px !important; + } + + .mh-xxl-5px { + max-height: 5px !important; + } + + .mh-xxl-6px { + max-height: 6px !important; + } + + .mh-xxl-7px { + max-height: 7px !important; + } + + .mh-xxl-8px { + max-height: 8px !important; + } + + .mh-xxl-9px { + max-height: 9px !important; + } + + .mh-xxl-10px { + max-height: 10px !important; + } + + .mh-xxl-15px { + max-height: 15px !important; + } + + .mh-xxl-20px { + max-height: 20px !important; + } + + .mh-xxl-25px { + max-height: 25px !important; + } + + .mh-xxl-30px { + max-height: 30px !important; + } + + .mh-xxl-35px { + max-height: 35px !important; + } + + .mh-xxl-40px { + max-height: 40px !important; + } + + .mh-xxl-45px { + max-height: 45px !important; + } + + .mh-xxl-50px { + max-height: 50px !important; + } + + .mh-xxl-55px { + max-height: 55px !important; + } + + .mh-xxl-60px { + max-height: 60px !important; + } + + .mh-xxl-65px { + max-height: 65px !important; + } + + .mh-xxl-70px { + max-height: 70px !important; + } + + .mh-xxl-75px { + max-height: 75px !important; + } + + .mh-xxl-80px { + max-height: 80px !important; + } + + .mh-xxl-85px { + max-height: 85px !important; + } + + .mh-xxl-90px { + max-height: 90px !important; + } + + .mh-xxl-95px { + max-height: 95px !important; + } + + .mh-xxl-100px { + max-height: 100px !important; + } + + .mh-xxl-125px { + max-height: 125px !important; + } + + .mh-xxl-150px { + max-height: 150px !important; + } + + .mh-xxl-175px { + max-height: 175px !important; + } + + .mh-xxl-200px { + max-height: 200px !important; + } + + .mh-xxl-225px { + max-height: 225px !important; + } + + .mh-xxl-250px { + max-height: 250px !important; + } + + .mh-xxl-275px { + max-height: 275px !important; + } + + .mh-xxl-300px { + max-height: 300px !important; + } + + .mh-xxl-325px { + max-height: 325px !important; + } + + .mh-xxl-350px { + max-height: 350px !important; + } + + .mh-xxl-375px { + max-height: 375px !important; + } + + .mh-xxl-400px { + max-height: 400px !important; + } + + .mh-xxl-425px { + max-height: 425px !important; + } + + .mh-xxl-450px { + max-height: 450px !important; + } + + .mh-xxl-475px { + max-height: 475px !important; + } + + .mh-xxl-500px { + max-height: 500px !important; + } + + .mh-xxl-550px { + max-height: 550px !important; + } + + .mh-xxl-600px { + max-height: 600px !important; + } + + .mh-xxl-650px { + max-height: 650px !important; + } + + .mh-xxl-700px { + max-height: 700px !important; + } + + .mh-xxl-750px { + max-height: 750px !important; + } + + .mh-xxl-800px { + max-height: 800px !important; + } + + .mh-xxl-850px { + max-height: 850px !important; + } + + .mh-xxl-900px { + max-height: 900px !important; + } + + .mh-xxl-950px { + max-height: 950px !important; + } + + .mh-xxl-1000px { + max-height: 1000px !important; + } + + .flex-xxl-fill { + flex: 1 1 auto !important; + } + + .flex-xxl-row { + flex-direction: row !important; + } + + .flex-xxl-column { + flex-direction: column !important; + } + + .flex-xxl-row-reverse { + flex-direction: row-reverse !important; + } + + .flex-xxl-column-reverse { + flex-direction: column-reverse !important; + } + + .flex-xxl-grow-0 { + flex-grow: 0 !important; + } + + .flex-xxl-grow-1 { + flex-grow: 1 !important; + } + + .flex-xxl-shrink-0 { + flex-shrink: 0 !important; + } + + .flex-xxl-shrink-1 { + flex-shrink: 1 !important; + } + + .flex-xxl-wrap { + flex-wrap: wrap !important; + } + + .flex-xxl-nowrap { + flex-wrap: nowrap !important; + } + + .flex-xxl-wrap-reverse { + flex-wrap: wrap-reverse !important; + } + + .gap-xxl-0 { + gap: 0 !important; + } + + .gap-xxl-1 { + gap: 0.25rem !important; + } + + .gap-xxl-2 { + gap: 0.5rem !important; + } + + .gap-xxl-3 { + gap: 0.75rem !important; + } + + .gap-xxl-4 { + gap: 1rem !important; + } + + .gap-xxl-5 { + gap: 1.25rem !important; + } + + .gap-xxl-6 { + gap: 1.5rem !important; + } + + .gap-xxl-7 { + gap: 1.75rem !important; + } + + .gap-xxl-8 { + gap: 2rem !important; + } + + .gap-xxl-9 { + gap: 2.25rem !important; + } + + .gap-xxl-10 { + gap: 2.5rem !important; + } + + .gap-xxl-11 { + gap: 2.75rem !important; + } + + .gap-xxl-12 { + gap: 3rem !important; + } + + .gap-xxl-13 { + gap: 3.25rem !important; + } + + .gap-xxl-14 { + gap: 3.5rem !important; + } + + .gap-xxl-15 { + gap: 3.75rem !important; + } + + .gap-xxl-16 { + gap: 4rem !important; + } + + .gap-xxl-17 { + gap: 4.25rem !important; + } + + .gap-xxl-18 { + gap: 4.5rem !important; + } + + .gap-xxl-19 { + gap: 4.75rem !important; + } + + .gap-xxl-20 { + gap: 5rem !important; + } + + .justify-content-xxl-start { + justify-content: flex-start !important; + } + + .justify-content-xxl-end { + justify-content: flex-end !important; + } + + .justify-content-xxl-center { + justify-content: center !important; + } + + .justify-content-xxl-between { + justify-content: space-between !important; + } + + .justify-content-xxl-around { + justify-content: space-around !important; + } + + .justify-content-xxl-evenly { + justify-content: space-evenly !important; + } + + .align-items-xxl-start { + align-items: flex-start !important; + } + + .align-items-xxl-end { + align-items: flex-end !important; + } + + .align-items-xxl-center { + align-items: center !important; + } + + .align-items-xxl-baseline { + align-items: baseline !important; + } + + .align-items-xxl-stretch { + align-items: stretch !important; + } + + .align-content-xxl-start { + align-content: flex-start !important; + } + + .align-content-xxl-end { + align-content: flex-end !important; + } + + .align-content-xxl-center { + align-content: center !important; + } + + .align-content-xxl-between { + align-content: space-between !important; + } + + .align-content-xxl-around { + align-content: space-around !important; + } + + .align-content-xxl-stretch { + align-content: stretch !important; + } + + .align-self-xxl-auto { + align-self: auto !important; + } + + .align-self-xxl-start { + align-self: flex-start !important; + } + + .align-self-xxl-end { + align-self: flex-end !important; + } + + .align-self-xxl-center { + align-self: center !important; + } + + .align-self-xxl-baseline { + align-self: baseline !important; + } + + .align-self-xxl-stretch { + align-self: stretch !important; + } + + .order-xxl-first { + order: -1 !important; + } + + .order-xxl-0 { + order: 0 !important; + } + + .order-xxl-1 { + order: 1 !important; + } + + .order-xxl-2 { + order: 2 !important; + } + + .order-xxl-3 { + order: 3 !important; + } + + .order-xxl-4 { + order: 4 !important; + } + + .order-xxl-5 { + order: 5 !important; + } + + .order-xxl-last { + order: 6 !important; + } + + .m-xxl-0 { + margin: 0 !important; + } + + .m-xxl-1 { + margin: 0.25rem !important; + } + + .m-xxl-2 { + margin: 0.5rem !important; + } + + .m-xxl-3 { + margin: 0.75rem !important; + } + + .m-xxl-4 { + margin: 1rem !important; + } + + .m-xxl-5 { + margin: 1.25rem !important; + } + + .m-xxl-6 { + margin: 1.5rem !important; + } + + .m-xxl-7 { + margin: 1.75rem !important; + } + + .m-xxl-8 { + margin: 2rem !important; + } + + .m-xxl-9 { + margin: 2.25rem !important; + } + + .m-xxl-10 { + margin: 2.5rem !important; + } + + .m-xxl-11 { + margin: 2.75rem !important; + } + + .m-xxl-12 { + margin: 3rem !important; + } + + .m-xxl-13 { + margin: 3.25rem !important; + } + + .m-xxl-14 { + margin: 3.5rem !important; + } + + .m-xxl-15 { + margin: 3.75rem !important; + } + + .m-xxl-16 { + margin: 4rem !important; + } + + .m-xxl-17 { + margin: 4.25rem !important; + } + + .m-xxl-18 { + margin: 4.5rem !important; + } + + .m-xxl-19 { + margin: 4.75rem !important; + } + + .m-xxl-20 { + margin: 5rem !important; + } + + .m-xxl-auto { + margin: auto !important; + } + + .mx-xxl-0 { + margin-right: 0 !important; + margin-left: 0 !important; + } + + .mx-xxl-1 { + margin-right: 0.25rem !important; + margin-left: 0.25rem !important; + } + + .mx-xxl-2 { + margin-right: 0.5rem !important; + margin-left: 0.5rem !important; + } + + .mx-xxl-3 { + margin-right: 0.75rem !important; + margin-left: 0.75rem !important; + } + + .mx-xxl-4 { + margin-right: 1rem !important; + margin-left: 1rem !important; + } + + .mx-xxl-5 { + margin-right: 1.25rem !important; + margin-left: 1.25rem !important; + } + + .mx-xxl-6 { + margin-right: 1.5rem !important; + margin-left: 1.5rem !important; + } + + .mx-xxl-7 { + margin-right: 1.75rem !important; + margin-left: 1.75rem !important; + } + + .mx-xxl-8 { + margin-right: 2rem !important; + margin-left: 2rem !important; + } + + .mx-xxl-9 { + margin-right: 2.25rem !important; + margin-left: 2.25rem !important; + } + + .mx-xxl-10 { + margin-right: 2.5rem !important; + margin-left: 2.5rem !important; + } + + .mx-xxl-11 { + margin-right: 2.75rem !important; + margin-left: 2.75rem !important; + } + + .mx-xxl-12 { + margin-right: 3rem !important; + margin-left: 3rem !important; + } + + .mx-xxl-13 { + margin-right: 3.25rem !important; + margin-left: 3.25rem !important; + } + + .mx-xxl-14 { + margin-right: 3.5rem !important; + margin-left: 3.5rem !important; + } + + .mx-xxl-15 { + margin-right: 3.75rem !important; + margin-left: 3.75rem !important; + } + + .mx-xxl-16 { + margin-right: 4rem !important; + margin-left: 4rem !important; + } + + .mx-xxl-17 { + margin-right: 4.25rem !important; + margin-left: 4.25rem !important; + } + + .mx-xxl-18 { + margin-right: 4.5rem !important; + margin-left: 4.5rem !important; + } + + .mx-xxl-19 { + margin-right: 4.75rem !important; + margin-left: 4.75rem !important; + } + + .mx-xxl-20 { + margin-right: 5rem !important; + margin-left: 5rem !important; + } + + .mx-xxl-auto { + margin-right: auto !important; + margin-left: auto !important; + } + + .my-xxl-0 { + margin-top: 0 !important; + margin-bottom: 0 !important; + } + + .my-xxl-1 { + margin-top: 0.25rem !important; + margin-bottom: 0.25rem !important; + } + + .my-xxl-2 { + margin-top: 0.5rem !important; + margin-bottom: 0.5rem !important; + } + + .my-xxl-3 { + margin-top: 0.75rem !important; + margin-bottom: 0.75rem !important; + } + + .my-xxl-4 { + margin-top: 1rem !important; + margin-bottom: 1rem !important; + } + + .my-xxl-5 { + margin-top: 1.25rem !important; + margin-bottom: 1.25rem !important; + } + + .my-xxl-6 { + margin-top: 1.5rem !important; + margin-bottom: 1.5rem !important; + } + + .my-xxl-7 { + margin-top: 1.75rem !important; + margin-bottom: 1.75rem !important; + } + + .my-xxl-8 { + margin-top: 2rem !important; + margin-bottom: 2rem !important; + } + + .my-xxl-9 { + margin-top: 2.25rem !important; + margin-bottom: 2.25rem !important; + } + + .my-xxl-10 { + margin-top: 2.5rem !important; + margin-bottom: 2.5rem !important; + } + + .my-xxl-11 { + margin-top: 2.75rem !important; + margin-bottom: 2.75rem !important; + } + + .my-xxl-12 { + margin-top: 3rem !important; + margin-bottom: 3rem !important; + } + + .my-xxl-13 { + margin-top: 3.25rem !important; + margin-bottom: 3.25rem !important; + } + + .my-xxl-14 { + margin-top: 3.5rem !important; + margin-bottom: 3.5rem !important; + } + + .my-xxl-15 { + margin-top: 3.75rem !important; + margin-bottom: 3.75rem !important; + } + + .my-xxl-16 { + margin-top: 4rem !important; + margin-bottom: 4rem !important; + } + + .my-xxl-17 { + margin-top: 4.25rem !important; + margin-bottom: 4.25rem !important; + } + + .my-xxl-18 { + margin-top: 4.5rem !important; + margin-bottom: 4.5rem !important; + } + + .my-xxl-19 { + margin-top: 4.75rem !important; + margin-bottom: 4.75rem !important; + } + + .my-xxl-20 { + margin-top: 5rem !important; + margin-bottom: 5rem !important; + } + + .my-xxl-auto { + margin-top: auto !important; + margin-bottom: auto !important; + } + + .mt-xxl-0 { + margin-top: 0 !important; + } + + .mt-xxl-1 { + margin-top: 0.25rem !important; + } + + .mt-xxl-2 { + margin-top: 0.5rem !important; + } + + .mt-xxl-3 { + margin-top: 0.75rem !important; + } + + .mt-xxl-4 { + margin-top: 1rem !important; + } + + .mt-xxl-5 { + margin-top: 1.25rem !important; + } + + .mt-xxl-6 { + margin-top: 1.5rem !important; + } + + .mt-xxl-7 { + margin-top: 1.75rem !important; + } + + .mt-xxl-8 { + margin-top: 2rem !important; + } + + .mt-xxl-9 { + margin-top: 2.25rem !important; + } + + .mt-xxl-10 { + margin-top: 2.5rem !important; + } + + .mt-xxl-11 { + margin-top: 2.75rem !important; + } + + .mt-xxl-12 { + margin-top: 3rem !important; + } + + .mt-xxl-13 { + margin-top: 3.25rem !important; + } + + .mt-xxl-14 { + margin-top: 3.5rem !important; + } + + .mt-xxl-15 { + margin-top: 3.75rem !important; + } + + .mt-xxl-16 { + margin-top: 4rem !important; + } + + .mt-xxl-17 { + margin-top: 4.25rem !important; + } + + .mt-xxl-18 { + margin-top: 4.5rem !important; + } + + .mt-xxl-19 { + margin-top: 4.75rem !important; + } + + .mt-xxl-20 { + margin-top: 5rem !important; + } + + .mt-xxl-auto { + margin-top: auto !important; + } + + .me-xxl-0 { + margin-right: 0 !important; + } + + .me-xxl-1 { + margin-right: 0.25rem !important; + } + + .me-xxl-2 { + margin-right: 0.5rem !important; + } + + .me-xxl-3 { + margin-right: 0.75rem !important; + } + + .me-xxl-4 { + margin-right: 1rem !important; + } + + .me-xxl-5 { + margin-right: 1.25rem !important; + } + + .me-xxl-6 { + margin-right: 1.5rem !important; + } + + .me-xxl-7 { + margin-right: 1.75rem !important; + } + + .me-xxl-8 { + margin-right: 2rem !important; + } + + .me-xxl-9 { + margin-right: 2.25rem !important; + } + + .me-xxl-10 { + margin-right: 2.5rem !important; + } + + .me-xxl-11 { + margin-right: 2.75rem !important; + } + + .me-xxl-12 { + margin-right: 3rem !important; + } + + .me-xxl-13 { + margin-right: 3.25rem !important; + } + + .me-xxl-14 { + margin-right: 3.5rem !important; + } + + .me-xxl-15 { + margin-right: 3.75rem !important; + } + + .me-xxl-16 { + margin-right: 4rem !important; + } + + .me-xxl-17 { + margin-right: 4.25rem !important; + } + + .me-xxl-18 { + margin-right: 4.5rem !important; + } + + .me-xxl-19 { + margin-right: 4.75rem !important; + } + + .me-xxl-20 { + margin-right: 5rem !important; + } + + .me-xxl-auto { + margin-right: auto !important; + } + + .mb-xxl-0 { + margin-bottom: 0 !important; + } + + .mb-xxl-1 { + margin-bottom: 0.25rem !important; + } + + .mb-xxl-2 { + margin-bottom: 0.5rem !important; + } + + .mb-xxl-3 { + margin-bottom: 0.75rem !important; + } + + .mb-xxl-4 { + margin-bottom: 1rem !important; + } + + .mb-xxl-5 { + margin-bottom: 1.25rem !important; + } + + .mb-xxl-6 { + margin-bottom: 1.5rem !important; + } + + .mb-xxl-7 { + margin-bottom: 1.75rem !important; + } + + .mb-xxl-8 { + margin-bottom: 2rem !important; + } + + .mb-xxl-9 { + margin-bottom: 2.25rem !important; + } + + .mb-xxl-10 { + margin-bottom: 2.5rem !important; + } + + .mb-xxl-11 { + margin-bottom: 2.75rem !important; + } + + .mb-xxl-12 { + margin-bottom: 3rem !important; + } + + .mb-xxl-13 { + margin-bottom: 3.25rem !important; + } + + .mb-xxl-14 { + margin-bottom: 3.5rem !important; + } + + .mb-xxl-15 { + margin-bottom: 3.75rem !important; + } + + .mb-xxl-16 { + margin-bottom: 4rem !important; + } + + .mb-xxl-17 { + margin-bottom: 4.25rem !important; + } + + .mb-xxl-18 { + margin-bottom: 4.5rem !important; + } + + .mb-xxl-19 { + margin-bottom: 4.75rem !important; + } + + .mb-xxl-20 { + margin-bottom: 5rem !important; + } + + .mb-xxl-auto { + margin-bottom: auto !important; + } + + .ms-xxl-0 { + margin-left: 0 !important; + } + + .ms-xxl-1 { + margin-left: 0.25rem !important; + } + + .ms-xxl-2 { + margin-left: 0.5rem !important; + } + + .ms-xxl-3 { + margin-left: 0.75rem !important; + } + + .ms-xxl-4 { + margin-left: 1rem !important; + } + + .ms-xxl-5 { + margin-left: 1.25rem !important; + } + + .ms-xxl-6 { + margin-left: 1.5rem !important; + } + + .ms-xxl-7 { + margin-left: 1.75rem !important; + } + + .ms-xxl-8 { + margin-left: 2rem !important; + } + + .ms-xxl-9 { + margin-left: 2.25rem !important; + } + + .ms-xxl-10 { + margin-left: 2.5rem !important; + } + + .ms-xxl-11 { + margin-left: 2.75rem !important; + } + + .ms-xxl-12 { + margin-left: 3rem !important; + } + + .ms-xxl-13 { + margin-left: 3.25rem !important; + } + + .ms-xxl-14 { + margin-left: 3.5rem !important; + } + + .ms-xxl-15 { + margin-left: 3.75rem !important; + } + + .ms-xxl-16 { + margin-left: 4rem !important; + } + + .ms-xxl-17 { + margin-left: 4.25rem !important; + } + + .ms-xxl-18 { + margin-left: 4.5rem !important; + } + + .ms-xxl-19 { + margin-left: 4.75rem !important; + } + + .ms-xxl-20 { + margin-left: 5rem !important; + } + + .ms-xxl-auto { + margin-left: auto !important; + } + + .m-xxl-n1 { + margin: -0.25rem !important; + } + + .m-xxl-n2 { + margin: -0.5rem !important; + } + + .m-xxl-n3 { + margin: -0.75rem !important; + } + + .m-xxl-n4 { + margin: -1rem !important; + } + + .m-xxl-n5 { + margin: -1.25rem !important; + } + + .m-xxl-n6 { + margin: -1.5rem !important; + } + + .m-xxl-n7 { + margin: -1.75rem !important; + } + + .m-xxl-n8 { + margin: -2rem !important; + } + + .m-xxl-n9 { + margin: -2.25rem !important; + } + + .m-xxl-n10 { + margin: -2.5rem !important; + } + + .m-xxl-n11 { + margin: -2.75rem !important; + } + + .m-xxl-n12 { + margin: -3rem !important; + } + + .m-xxl-n13 { + margin: -3.25rem !important; + } + + .m-xxl-n14 { + margin: -3.5rem !important; + } + + .m-xxl-n15 { + margin: -3.75rem !important; + } + + .m-xxl-n16 { + margin: -4rem !important; + } + + .m-xxl-n17 { + margin: -4.25rem !important; + } + + .m-xxl-n18 { + margin: -4.5rem !important; + } + + .m-xxl-n19 { + margin: -4.75rem !important; + } + + .m-xxl-n20 { + margin: -5rem !important; + } + + .mx-xxl-n1 { + margin-right: -0.25rem !important; + margin-left: -0.25rem !important; + } + + .mx-xxl-n2 { + margin-right: -0.5rem !important; + margin-left: -0.5rem !important; + } + + .mx-xxl-n3 { + margin-right: -0.75rem !important; + margin-left: -0.75rem !important; + } + + .mx-xxl-n4 { + margin-right: -1rem !important; + margin-left: -1rem !important; + } + + .mx-xxl-n5 { + margin-right: -1.25rem !important; + margin-left: -1.25rem !important; + } + + .mx-xxl-n6 { + margin-right: -1.5rem !important; + margin-left: -1.5rem !important; + } + + .mx-xxl-n7 { + margin-right: -1.75rem !important; + margin-left: -1.75rem !important; + } + + .mx-xxl-n8 { + margin-right: -2rem !important; + margin-left: -2rem !important; + } + + .mx-xxl-n9 { + margin-right: -2.25rem !important; + margin-left: -2.25rem !important; + } + + .mx-xxl-n10 { + margin-right: -2.5rem !important; + margin-left: -2.5rem !important; + } + + .mx-xxl-n11 { + margin-right: -2.75rem !important; + margin-left: -2.75rem !important; + } + + .mx-xxl-n12 { + margin-right: -3rem !important; + margin-left: -3rem !important; + } + + .mx-xxl-n13 { + margin-right: -3.25rem !important; + margin-left: -3.25rem !important; + } + + .mx-xxl-n14 { + margin-right: -3.5rem !important; + margin-left: -3.5rem !important; + } + + .mx-xxl-n15 { + margin-right: -3.75rem !important; + margin-left: -3.75rem !important; + } + + .mx-xxl-n16 { + margin-right: -4rem !important; + margin-left: -4rem !important; + } + + .mx-xxl-n17 { + margin-right: -4.25rem !important; + margin-left: -4.25rem !important; + } + + .mx-xxl-n18 { + margin-right: -4.5rem !important; + margin-left: -4.5rem !important; + } + + .mx-xxl-n19 { + margin-right: -4.75rem !important; + margin-left: -4.75rem !important; + } + + .mx-xxl-n20 { + margin-right: -5rem !important; + margin-left: -5rem !important; + } + + .my-xxl-n1 { + margin-top: -0.25rem !important; + margin-bottom: -0.25rem !important; + } + + .my-xxl-n2 { + margin-top: -0.5rem !important; + margin-bottom: -0.5rem !important; + } + + .my-xxl-n3 { + margin-top: -0.75rem !important; + margin-bottom: -0.75rem !important; + } + + .my-xxl-n4 { + margin-top: -1rem !important; + margin-bottom: -1rem !important; + } + + .my-xxl-n5 { + margin-top: -1.25rem !important; + margin-bottom: -1.25rem !important; + } + + .my-xxl-n6 { + margin-top: -1.5rem !important; + margin-bottom: -1.5rem !important; + } + + .my-xxl-n7 { + margin-top: -1.75rem !important; + margin-bottom: -1.75rem !important; + } + + .my-xxl-n8 { + margin-top: -2rem !important; + margin-bottom: -2rem !important; + } + + .my-xxl-n9 { + margin-top: -2.25rem !important; + margin-bottom: -2.25rem !important; + } + + .my-xxl-n10 { + margin-top: -2.5rem !important; + margin-bottom: -2.5rem !important; + } + + .my-xxl-n11 { + margin-top: -2.75rem !important; + margin-bottom: -2.75rem !important; + } + + .my-xxl-n12 { + margin-top: -3rem !important; + margin-bottom: -3rem !important; + } + + .my-xxl-n13 { + margin-top: -3.25rem !important; + margin-bottom: -3.25rem !important; + } + + .my-xxl-n14 { + margin-top: -3.5rem !important; + margin-bottom: -3.5rem !important; + } + + .my-xxl-n15 { + margin-top: -3.75rem !important; + margin-bottom: -3.75rem !important; + } + + .my-xxl-n16 { + margin-top: -4rem !important; + margin-bottom: -4rem !important; + } + + .my-xxl-n17 { + margin-top: -4.25rem !important; + margin-bottom: -4.25rem !important; + } + + .my-xxl-n18 { + margin-top: -4.5rem !important; + margin-bottom: -4.5rem !important; + } + + .my-xxl-n19 { + margin-top: -4.75rem !important; + margin-bottom: -4.75rem !important; + } + + .my-xxl-n20 { + margin-top: -5rem !important; + margin-bottom: -5rem !important; + } + + .mt-xxl-n1 { + margin-top: -0.25rem !important; + } + + .mt-xxl-n2 { + margin-top: -0.5rem !important; + } + + .mt-xxl-n3 { + margin-top: -0.75rem !important; + } + + .mt-xxl-n4 { + margin-top: -1rem !important; + } + + .mt-xxl-n5 { + margin-top: -1.25rem !important; + } + + .mt-xxl-n6 { + margin-top: -1.5rem !important; + } + + .mt-xxl-n7 { + margin-top: -1.75rem !important; + } + + .mt-xxl-n8 { + margin-top: -2rem !important; + } + + .mt-xxl-n9 { + margin-top: -2.25rem !important; + } + + .mt-xxl-n10 { + margin-top: -2.5rem !important; + } + + .mt-xxl-n11 { + margin-top: -2.75rem !important; + } + + .mt-xxl-n12 { + margin-top: -3rem !important; + } + + .mt-xxl-n13 { + margin-top: -3.25rem !important; + } + + .mt-xxl-n14 { + margin-top: -3.5rem !important; + } + + .mt-xxl-n15 { + margin-top: -3.75rem !important; + } + + .mt-xxl-n16 { + margin-top: -4rem !important; + } + + .mt-xxl-n17 { + margin-top: -4.25rem !important; + } + + .mt-xxl-n18 { + margin-top: -4.5rem !important; + } + + .mt-xxl-n19 { + margin-top: -4.75rem !important; + } + + .mt-xxl-n20 { + margin-top: -5rem !important; + } + + .me-xxl-n1 { + margin-right: -0.25rem !important; + } + + .me-xxl-n2 { + margin-right: -0.5rem !important; + } + + .me-xxl-n3 { + margin-right: -0.75rem !important; + } + + .me-xxl-n4 { + margin-right: -1rem !important; + } + + .me-xxl-n5 { + margin-right: -1.25rem !important; + } + + .me-xxl-n6 { + margin-right: -1.5rem !important; + } + + .me-xxl-n7 { + margin-right: -1.75rem !important; + } + + .me-xxl-n8 { + margin-right: -2rem !important; + } + + .me-xxl-n9 { + margin-right: -2.25rem !important; + } + + .me-xxl-n10 { + margin-right: -2.5rem !important; + } + + .me-xxl-n11 { + margin-right: -2.75rem !important; + } + + .me-xxl-n12 { + margin-right: -3rem !important; + } + + .me-xxl-n13 { + margin-right: -3.25rem !important; + } + + .me-xxl-n14 { + margin-right: -3.5rem !important; + } + + .me-xxl-n15 { + margin-right: -3.75rem !important; + } + + .me-xxl-n16 { + margin-right: -4rem !important; + } + + .me-xxl-n17 { + margin-right: -4.25rem !important; + } + + .me-xxl-n18 { + margin-right: -4.5rem !important; + } + + .me-xxl-n19 { + margin-right: -4.75rem !important; + } + + .me-xxl-n20 { + margin-right: -5rem !important; + } + + .mb-xxl-n1 { + margin-bottom: -0.25rem !important; + } + + .mb-xxl-n2 { + margin-bottom: -0.5rem !important; + } + + .mb-xxl-n3 { + margin-bottom: -0.75rem !important; + } + + .mb-xxl-n4 { + margin-bottom: -1rem !important; + } + + .mb-xxl-n5 { + margin-bottom: -1.25rem !important; + } + + .mb-xxl-n6 { + margin-bottom: -1.5rem !important; + } + + .mb-xxl-n7 { + margin-bottom: -1.75rem !important; + } + + .mb-xxl-n8 { + margin-bottom: -2rem !important; + } + + .mb-xxl-n9 { + margin-bottom: -2.25rem !important; + } + + .mb-xxl-n10 { + margin-bottom: -2.5rem !important; + } + + .mb-xxl-n11 { + margin-bottom: -2.75rem !important; + } + + .mb-xxl-n12 { + margin-bottom: -3rem !important; + } + + .mb-xxl-n13 { + margin-bottom: -3.25rem !important; + } + + .mb-xxl-n14 { + margin-bottom: -3.5rem !important; + } + + .mb-xxl-n15 { + margin-bottom: -3.75rem !important; + } + + .mb-xxl-n16 { + margin-bottom: -4rem !important; + } + + .mb-xxl-n17 { + margin-bottom: -4.25rem !important; + } + + .mb-xxl-n18 { + margin-bottom: -4.5rem !important; + } + + .mb-xxl-n19 { + margin-bottom: -4.75rem !important; + } + + .mb-xxl-n20 { + margin-bottom: -5rem !important; + } + + .ms-xxl-n1 { + margin-left: -0.25rem !important; + } + + .ms-xxl-n2 { + margin-left: -0.5rem !important; + } + + .ms-xxl-n3 { + margin-left: -0.75rem !important; + } + + .ms-xxl-n4 { + margin-left: -1rem !important; + } + + .ms-xxl-n5 { + margin-left: -1.25rem !important; + } + + .ms-xxl-n6 { + margin-left: -1.5rem !important; + } + + .ms-xxl-n7 { + margin-left: -1.75rem !important; + } + + .ms-xxl-n8 { + margin-left: -2rem !important; + } + + .ms-xxl-n9 { + margin-left: -2.25rem !important; + } + + .ms-xxl-n10 { + margin-left: -2.5rem !important; + } + + .ms-xxl-n11 { + margin-left: -2.75rem !important; + } + + .ms-xxl-n12 { + margin-left: -3rem !important; + } + + .ms-xxl-n13 { + margin-left: -3.25rem !important; + } + + .ms-xxl-n14 { + margin-left: -3.5rem !important; + } + + .ms-xxl-n15 { + margin-left: -3.75rem !important; + } + + .ms-xxl-n16 { + margin-left: -4rem !important; + } + + .ms-xxl-n17 { + margin-left: -4.25rem !important; + } + + .ms-xxl-n18 { + margin-left: -4.5rem !important; + } + + .ms-xxl-n19 { + margin-left: -4.75rem !important; + } + + .ms-xxl-n20 { + margin-left: -5rem !important; + } + + .p-xxl-0 { + padding: 0 !important; + } + + .p-xxl-1 { + padding: 0.25rem !important; + } + + .p-xxl-2 { + padding: 0.5rem !important; + } + + .p-xxl-3 { + padding: 0.75rem !important; + } + + .p-xxl-4 { + padding: 1rem !important; + } + + .p-xxl-5 { + padding: 1.25rem !important; + } + + .p-xxl-6 { + padding: 1.5rem !important; + } + + .p-xxl-7 { + padding: 1.75rem !important; + } + + .p-xxl-8 { + padding: 2rem !important; + } + + .p-xxl-9 { + padding: 2.25rem !important; + } + + .p-xxl-10 { + padding: 2.5rem !important; + } + + .p-xxl-11 { + padding: 2.75rem !important; + } + + .p-xxl-12 { + padding: 3rem !important; + } + + .p-xxl-13 { + padding: 3.25rem !important; + } + + .p-xxl-14 { + padding: 3.5rem !important; + } + + .p-xxl-15 { + padding: 3.75rem !important; + } + + .p-xxl-16 { + padding: 4rem !important; + } + + .p-xxl-17 { + padding: 4.25rem !important; + } + + .p-xxl-18 { + padding: 4.5rem !important; + } + + .p-xxl-19 { + padding: 4.75rem !important; + } + + .p-xxl-20 { + padding: 5rem !important; + } + + .px-xxl-0 { + padding-right: 0 !important; + padding-left: 0 !important; + } + + .px-xxl-1 { + padding-right: 0.25rem !important; + padding-left: 0.25rem !important; + } + + .px-xxl-2 { + padding-right: 0.5rem !important; + padding-left: 0.5rem !important; + } + + .px-xxl-3 { + padding-right: 0.75rem !important; + padding-left: 0.75rem !important; + } + + .px-xxl-4 { + padding-right: 1rem !important; + padding-left: 1rem !important; + } + + .px-xxl-5 { + padding-right: 1.25rem !important; + padding-left: 1.25rem !important; + } + + .px-xxl-6 { + padding-right: 1.5rem !important; + padding-left: 1.5rem !important; + } + + .px-xxl-7 { + padding-right: 1.75rem !important; + padding-left: 1.75rem !important; + } + + .px-xxl-8 { + padding-right: 2rem !important; + padding-left: 2rem !important; + } + + .px-xxl-9 { + padding-right: 2.25rem !important; + padding-left: 2.25rem !important; + } + + .px-xxl-10 { + padding-right: 2.5rem !important; + padding-left: 2.5rem !important; + } + + .px-xxl-11 { + padding-right: 2.75rem !important; + padding-left: 2.75rem !important; + } + + .px-xxl-12 { + padding-right: 3rem !important; + padding-left: 3rem !important; + } + + .px-xxl-13 { + padding-right: 3.25rem !important; + padding-left: 3.25rem !important; + } + + .px-xxl-14 { + padding-right: 3.5rem !important; + padding-left: 3.5rem !important; + } + + .px-xxl-15 { + padding-right: 3.75rem !important; + padding-left: 3.75rem !important; + } + + .px-xxl-16 { + padding-right: 4rem !important; + padding-left: 4rem !important; + } + + .px-xxl-17 { + padding-right: 4.25rem !important; + padding-left: 4.25rem !important; + } + + .px-xxl-18 { + padding-right: 4.5rem !important; + padding-left: 4.5rem !important; + } + + .px-xxl-19 { + padding-right: 4.75rem !important; + padding-left: 4.75rem !important; + } + + .px-xxl-20 { + padding-right: 5rem !important; + padding-left: 5rem !important; + } + + .py-xxl-0 { + padding-top: 0 !important; + padding-bottom: 0 !important; + } + + .py-xxl-1 { + padding-top: 0.25rem !important; + padding-bottom: 0.25rem !important; + } + + .py-xxl-2 { + padding-top: 0.5rem !important; + padding-bottom: 0.5rem !important; + } + + .py-xxl-3 { + padding-top: 0.75rem !important; + padding-bottom: 0.75rem !important; + } + + .py-xxl-4 { + padding-top: 1rem !important; + padding-bottom: 1rem !important; + } + + .py-xxl-5 { + padding-top: 1.25rem !important; + padding-bottom: 1.25rem !important; + } + + .py-xxl-6 { + padding-top: 1.5rem !important; + padding-bottom: 1.5rem !important; + } + + .py-xxl-7 { + padding-top: 1.75rem !important; + padding-bottom: 1.75rem !important; + } + + .py-xxl-8 { + padding-top: 2rem !important; + padding-bottom: 2rem !important; + } + + .py-xxl-9 { + padding-top: 2.25rem !important; + padding-bottom: 2.25rem !important; + } + + .py-xxl-10 { + padding-top: 2.5rem !important; + padding-bottom: 2.5rem !important; + } + + .py-xxl-11 { + padding-top: 2.75rem !important; + padding-bottom: 2.75rem !important; + } + + .py-xxl-12 { + padding-top: 3rem !important; + padding-bottom: 3rem !important; + } + + .py-xxl-13 { + padding-top: 3.25rem !important; + padding-bottom: 3.25rem !important; + } + + .py-xxl-14 { + padding-top: 3.5rem !important; + padding-bottom: 3.5rem !important; + } + + .py-xxl-15 { + padding-top: 3.75rem !important; + padding-bottom: 3.75rem !important; + } + + .py-xxl-16 { + padding-top: 4rem !important; + padding-bottom: 4rem !important; + } + + .py-xxl-17 { + padding-top: 4.25rem !important; + padding-bottom: 4.25rem !important; + } + + .py-xxl-18 { + padding-top: 4.5rem !important; + padding-bottom: 4.5rem !important; + } + + .py-xxl-19 { + padding-top: 4.75rem !important; + padding-bottom: 4.75rem !important; + } + + .py-xxl-20 { + padding-top: 5rem !important; + padding-bottom: 5rem !important; + } + + .pt-xxl-0 { + padding-top: 0 !important; + } + + .pt-xxl-1 { + padding-top: 0.25rem !important; + } + + .pt-xxl-2 { + padding-top: 0.5rem !important; + } + + .pt-xxl-3 { + padding-top: 0.75rem !important; + } + + .pt-xxl-4 { + padding-top: 1rem !important; + } + + .pt-xxl-5 { + padding-top: 1.25rem !important; + } + + .pt-xxl-6 { + padding-top: 1.5rem !important; + } + + .pt-xxl-7 { + padding-top: 1.75rem !important; + } + + .pt-xxl-8 { + padding-top: 2rem !important; + } + + .pt-xxl-9 { + padding-top: 2.25rem !important; + } + + .pt-xxl-10 { + padding-top: 2.5rem !important; + } + + .pt-xxl-11 { + padding-top: 2.75rem !important; + } + + .pt-xxl-12 { + padding-top: 3rem !important; + } + + .pt-xxl-13 { + padding-top: 3.25rem !important; + } + + .pt-xxl-14 { + padding-top: 3.5rem !important; + } + + .pt-xxl-15 { + padding-top: 3.75rem !important; + } + + .pt-xxl-16 { + padding-top: 4rem !important; + } + + .pt-xxl-17 { + padding-top: 4.25rem !important; + } + + .pt-xxl-18 { + padding-top: 4.5rem !important; + } + + .pt-xxl-19 { + padding-top: 4.75rem !important; + } + + .pt-xxl-20 { + padding-top: 5rem !important; + } + + .pe-xxl-0 { + padding-right: 0 !important; + } + + .pe-xxl-1 { + padding-right: 0.25rem !important; + } + + .pe-xxl-2 { + padding-right: 0.5rem !important; + } + + .pe-xxl-3 { + padding-right: 0.75rem !important; + } + + .pe-xxl-4 { + padding-right: 1rem !important; + } + + .pe-xxl-5 { + padding-right: 1.25rem !important; + } + + .pe-xxl-6 { + padding-right: 1.5rem !important; + } + + .pe-xxl-7 { + padding-right: 1.75rem !important; + } + + .pe-xxl-8 { + padding-right: 2rem !important; + } + + .pe-xxl-9 { + padding-right: 2.25rem !important; + } + + .pe-xxl-10 { + padding-right: 2.5rem !important; + } + + .pe-xxl-11 { + padding-right: 2.75rem !important; + } + + .pe-xxl-12 { + padding-right: 3rem !important; + } + + .pe-xxl-13 { + padding-right: 3.25rem !important; + } + + .pe-xxl-14 { + padding-right: 3.5rem !important; + } + + .pe-xxl-15 { + padding-right: 3.75rem !important; + } + + .pe-xxl-16 { + padding-right: 4rem !important; + } + + .pe-xxl-17 { + padding-right: 4.25rem !important; + } + + .pe-xxl-18 { + padding-right: 4.5rem !important; + } + + .pe-xxl-19 { + padding-right: 4.75rem !important; + } + + .pe-xxl-20 { + padding-right: 5rem !important; + } + + .pb-xxl-0 { + padding-bottom: 0 !important; + } + + .pb-xxl-1 { + padding-bottom: 0.25rem !important; + } + + .pb-xxl-2 { + padding-bottom: 0.5rem !important; + } + + .pb-xxl-3 { + padding-bottom: 0.75rem !important; + } + + .pb-xxl-4 { + padding-bottom: 1rem !important; + } + + .pb-xxl-5 { + padding-bottom: 1.25rem !important; + } + + .pb-xxl-6 { + padding-bottom: 1.5rem !important; + } + + .pb-xxl-7 { + padding-bottom: 1.75rem !important; + } + + .pb-xxl-8 { + padding-bottom: 2rem !important; + } + + .pb-xxl-9 { + padding-bottom: 2.25rem !important; + } + + .pb-xxl-10 { + padding-bottom: 2.5rem !important; + } + + .pb-xxl-11 { + padding-bottom: 2.75rem !important; + } + + .pb-xxl-12 { + padding-bottom: 3rem !important; + } + + .pb-xxl-13 { + padding-bottom: 3.25rem !important; + } + + .pb-xxl-14 { + padding-bottom: 3.5rem !important; + } + + .pb-xxl-15 { + padding-bottom: 3.75rem !important; + } + + .pb-xxl-16 { + padding-bottom: 4rem !important; + } + + .pb-xxl-17 { + padding-bottom: 4.25rem !important; + } + + .pb-xxl-18 { + padding-bottom: 4.5rem !important; + } + + .pb-xxl-19 { + padding-bottom: 4.75rem !important; + } + + .pb-xxl-20 { + padding-bottom: 5rem !important; + } + + .ps-xxl-0 { + padding-left: 0 !important; + } + + .ps-xxl-1 { + padding-left: 0.25rem !important; + } + + .ps-xxl-2 { + padding-left: 0.5rem !important; + } + + .ps-xxl-3 { + padding-left: 0.75rem !important; + } + + .ps-xxl-4 { + padding-left: 1rem !important; + } + + .ps-xxl-5 { + padding-left: 1.25rem !important; + } + + .ps-xxl-6 { + padding-left: 1.5rem !important; + } + + .ps-xxl-7 { + padding-left: 1.75rem !important; + } + + .ps-xxl-8 { + padding-left: 2rem !important; + } + + .ps-xxl-9 { + padding-left: 2.25rem !important; + } + + .ps-xxl-10 { + padding-left: 2.5rem !important; + } + + .ps-xxl-11 { + padding-left: 2.75rem !important; + } + + .ps-xxl-12 { + padding-left: 3rem !important; + } + + .ps-xxl-13 { + padding-left: 3.25rem !important; + } + + .ps-xxl-14 { + padding-left: 3.5rem !important; + } + + .ps-xxl-15 { + padding-left: 3.75rem !important; + } + + .ps-xxl-16 { + padding-left: 4rem !important; + } + + .ps-xxl-17 { + padding-left: 4.25rem !important; + } + + .ps-xxl-18 { + padding-left: 4.5rem !important; + } + + .ps-xxl-19 { + padding-left: 4.75rem !important; + } + + .ps-xxl-20 { + padding-left: 5rem !important; + } + + .fs-xxl-1 { + font-size: calc(1.3rem + 0.6vw) !important; + } + + .fs-xxl-2 { + font-size: calc(1.275rem + 0.3vw) !important; + } + + .fs-xxl-3 { + font-size: calc(1.26rem + 0.12vw) !important; + } + + .fs-xxl-4 { + font-size: 1.25rem !important; + } + + .fs-xxl-5 { + font-size: 1.15rem !important; + } + + .fs-xxl-6 { + font-size: 1.075rem !important; + } + + .fs-xxl-7 { + font-size: 0.95rem !important; + } + + .fs-xxl-8 { + font-size: 0.85rem !important; + } + + .fs-xxl-9 { + font-size: 0.75rem !important; + } + + .fs-xxl-10 { + font-size: 0.5rem !important; + } + + .fs-xxl-base { + font-size: 1rem !important; + } + + .fs-xxl-fluid { + font-size: 100% !important; + } + + .fs-xxl-2x { + font-size: calc(1.325rem + 0.9vw) !important; + } + + .fs-xxl-2qx { + font-size: calc(1.35rem + 1.2vw) !important; + } + + .fs-xxl-2hx { + font-size: calc(1.375rem + 1.5vw) !important; + } + + .fs-xxl-2tx { + font-size: calc(1.4rem + 1.8vw) !important; + } + + .fs-xxl-3x { + font-size: calc(1.425rem + 2.1vw) !important; + } + + .fs-xxl-3qx { + font-size: calc(1.45rem + 2.4vw) !important; + } + + .fs-xxl-3hx { + font-size: calc(1.475rem + 2.7vw) !important; + } + + .fs-xxl-3tx { + font-size: calc(1.5rem + 3vw) !important; + } + + .fs-xxl-4x { + font-size: calc(1.525rem + 3.3vw) !important; + } + + .fs-xxl-4qx { + font-size: calc(1.55rem + 3.6vw) !important; + } + + .fs-xxl-4hx { + font-size: calc(1.575rem + 3.9vw) !important; + } + + .fs-xxl-4tx { + font-size: calc(1.6rem + 4.2vw) !important; + } + + .fs-xxl-5x { + font-size: calc(1.625rem + 4.5vw) !important; + } + + .fs-xxl-5qx { + font-size: calc(1.65rem + 4.8vw) !important; + } + + .fs-xxl-5hx { + font-size: calc(1.675rem + 5.1vw) !important; + } + + .fs-xxl-5tx { + font-size: calc(1.7rem + 5.4vw) !important; + } + + .text-xxl-start { + text-align: left !important; + } + + .text-xxl-end { + text-align: right !important; + } + + .text-xxl-center { + text-align: center !important; + } + + .min-w-xxl-unset { + min-width: unset !important; + } + + .min-w-xxl-25 { + min-width: 25% !important; + } + + .min-w-xxl-50 { + min-width: 50% !important; + } + + .min-w-xxl-75 { + min-width: 75% !important; + } + + .min-w-xxl-100 { + min-width: 100% !important; + } + + .min-w-xxl-auto { + min-width: auto !important; + } + + .min-w-xxl-1px { + min-width: 1px !important; + } + + .min-w-xxl-2px { + min-width: 2px !important; + } + + .min-w-xxl-3px { + min-width: 3px !important; + } + + .min-w-xxl-4px { + min-width: 4px !important; + } + + .min-w-xxl-5px { + min-width: 5px !important; + } + + .min-w-xxl-6px { + min-width: 6px !important; + } + + .min-w-xxl-7px { + min-width: 7px !important; + } + + .min-w-xxl-8px { + min-width: 8px !important; + } + + .min-w-xxl-9px { + min-width: 9px !important; + } + + .min-w-xxl-10px { + min-width: 10px !important; + } + + .min-w-xxl-15px { + min-width: 15px !important; + } + + .min-w-xxl-20px { + min-width: 20px !important; + } + + .min-w-xxl-25px { + min-width: 25px !important; + } + + .min-w-xxl-30px { + min-width: 30px !important; + } + + .min-w-xxl-35px { + min-width: 35px !important; + } + + .min-w-xxl-40px { + min-width: 40px !important; + } + + .min-w-xxl-45px { + min-width: 45px !important; + } + + .min-w-xxl-50px { + min-width: 50px !important; + } + + .min-w-xxl-55px { + min-width: 55px !important; + } + + .min-w-xxl-60px { + min-width: 60px !important; + } + + .min-w-xxl-65px { + min-width: 65px !important; + } + + .min-w-xxl-70px { + min-width: 70px !important; + } + + .min-w-xxl-75px { + min-width: 75px !important; + } + + .min-w-xxl-80px { + min-width: 80px !important; + } + + .min-w-xxl-85px { + min-width: 85px !important; + } + + .min-w-xxl-90px { + min-width: 90px !important; + } + + .min-w-xxl-95px { + min-width: 95px !important; + } + + .min-w-xxl-100px { + min-width: 100px !important; + } + + .min-w-xxl-125px { + min-width: 125px !important; + } + + .min-w-xxl-150px { + min-width: 150px !important; + } + + .min-w-xxl-175px { + min-width: 175px !important; + } + + .min-w-xxl-200px { + min-width: 200px !important; + } + + .min-w-xxl-225px { + min-width: 225px !important; + } + + .min-w-xxl-250px { + min-width: 250px !important; + } + + .min-w-xxl-275px { + min-width: 275px !important; + } + + .min-w-xxl-300px { + min-width: 300px !important; + } + + .min-w-xxl-325px { + min-width: 325px !important; + } + + .min-w-xxl-350px { + min-width: 350px !important; + } + + .min-w-xxl-375px { + min-width: 375px !important; + } + + .min-w-xxl-400px { + min-width: 400px !important; + } + + .min-w-xxl-425px { + min-width: 425px !important; + } + + .min-w-xxl-450px { + min-width: 450px !important; + } + + .min-w-xxl-475px { + min-width: 475px !important; + } + + .min-w-xxl-500px { + min-width: 500px !important; + } + + .min-w-xxl-550px { + min-width: 550px !important; + } + + .min-w-xxl-600px { + min-width: 600px !important; + } + + .min-w-xxl-650px { + min-width: 650px !important; + } + + .min-w-xxl-700px { + min-width: 700px !important; + } + + .min-w-xxl-750px { + min-width: 750px !important; + } + + .min-w-xxl-800px { + min-width: 800px !important; + } + + .min-w-xxl-850px { + min-width: 850px !important; + } + + .min-w-xxl-900px { + min-width: 900px !important; + } + + .min-w-xxl-950px { + min-width: 950px !important; + } + + .min-w-xxl-1000px { + min-width: 1000px !important; + } + + .min-h-xxl-unset { + min-height: unset !important; + } + + .min-h-xxl-25 { + min-height: 25% !important; + } + + .min-h-xxl-50 { + min-height: 50% !important; + } + + .min-h-xxl-75 { + min-height: 75% !important; + } + + .min-h-xxl-100 { + min-height: 100% !important; + } + + .min-h-xxl-auto { + min-height: auto !important; + } + + .min-h-xxl-1px { + min-height: 1px !important; + } + + .min-h-xxl-2px { + min-height: 2px !important; + } + + .min-h-xxl-3px { + min-height: 3px !important; + } + + .min-h-xxl-4px { + min-height: 4px !important; + } + + .min-h-xxl-5px { + min-height: 5px !important; + } + + .min-h-xxl-6px { + min-height: 6px !important; + } + + .min-h-xxl-7px { + min-height: 7px !important; + } + + .min-h-xxl-8px { + min-height: 8px !important; + } + + .min-h-xxl-9px { + min-height: 9px !important; + } + + .min-h-xxl-10px { + min-height: 10px !important; + } + + .min-h-xxl-15px { + min-height: 15px !important; + } + + .min-h-xxl-20px { + min-height: 20px !important; + } + + .min-h-xxl-25px { + min-height: 25px !important; + } + + .min-h-xxl-30px { + min-height: 30px !important; + } + + .min-h-xxl-35px { + min-height: 35px !important; + } + + .min-h-xxl-40px { + min-height: 40px !important; + } + + .min-h-xxl-45px { + min-height: 45px !important; + } + + .min-h-xxl-50px { + min-height: 50px !important; + } + + .min-h-xxl-55px { + min-height: 55px !important; + } + + .min-h-xxl-60px { + min-height: 60px !important; + } + + .min-h-xxl-65px { + min-height: 65px !important; + } + + .min-h-xxl-70px { + min-height: 70px !important; + } + + .min-h-xxl-75px { + min-height: 75px !important; + } + + .min-h-xxl-80px { + min-height: 80px !important; + } + + .min-h-xxl-85px { + min-height: 85px !important; + } + + .min-h-xxl-90px { + min-height: 90px !important; + } + + .min-h-xxl-95px { + min-height: 95px !important; + } + + .min-h-xxl-100px { + min-height: 100px !important; + } + + .min-h-xxl-125px { + min-height: 125px !important; + } + + .min-h-xxl-150px { + min-height: 150px !important; + } + + .min-h-xxl-175px { + min-height: 175px !important; + } + + .min-h-xxl-200px { + min-height: 200px !important; + } + + .min-h-xxl-225px { + min-height: 225px !important; + } + + .min-h-xxl-250px { + min-height: 250px !important; + } + + .min-h-xxl-275px { + min-height: 275px !important; + } + + .min-h-xxl-300px { + min-height: 300px !important; + } + + .min-h-xxl-325px { + min-height: 325px !important; + } + + .min-h-xxl-350px { + min-height: 350px !important; + } + + .min-h-xxl-375px { + min-height: 375px !important; + } + + .min-h-xxl-400px { + min-height: 400px !important; + } + + .min-h-xxl-425px { + min-height: 425px !important; + } + + .min-h-xxl-450px { + min-height: 450px !important; + } + + .min-h-xxl-475px { + min-height: 475px !important; + } + + .min-h-xxl-500px { + min-height: 500px !important; + } + + .min-h-xxl-550px { + min-height: 550px !important; + } + + .min-h-xxl-600px { + min-height: 600px !important; + } + + .min-h-xxl-650px { + min-height: 650px !important; + } + + .min-h-xxl-700px { + min-height: 700px !important; + } + + .min-h-xxl-750px { + min-height: 750px !important; + } + + .min-h-xxl-800px { + min-height: 800px !important; + } + + .min-h-xxl-850px { + min-height: 850px !important; + } + + .min-h-xxl-900px { + min-height: 900px !important; + } + + .min-h-xxl-950px { + min-height: 950px !important; + } + + .min-h-xxl-1000px { + min-height: 1000px !important; + } +} +@media (min-width: 1200px) { + .fs-1 { + font-size: 1.75rem !important; + } + + .fs-2 { + font-size: 1.5rem !important; + } + + .fs-3 { + font-size: 1.35rem !important; + } + + .fs-2x { + font-size: 2rem !important; + } + + .fs-2qx { + font-size: 2.25rem !important; + } + + .fs-2hx { + font-size: 2.5rem !important; + } + + .fs-2tx { + font-size: 2.75rem !important; + } + + .fs-3x { + font-size: 3rem !important; + } + + .fs-3qx { + font-size: 3.25rem !important; + } + + .fs-3hx { + font-size: 3.5rem !important; + } + + .fs-3tx { + font-size: 3.75rem !important; + } + + .fs-4x { + font-size: 4rem !important; + } + + .fs-4qx { + font-size: 4.25rem !important; + } + + .fs-4hx { + font-size: 4.5rem !important; + } + + .fs-4tx { + font-size: 4.75rem !important; + } + + .fs-5x { + font-size: 5rem !important; + } + + .fs-5qx { + font-size: 5.25rem !important; + } + + .fs-5hx { + font-size: 5.5rem !important; + } + + .fs-5tx { + font-size: 5.75rem !important; + } + + .fs-sm-1 { + font-size: 1.75rem !important; + } + + .fs-sm-2 { + font-size: 1.5rem !important; + } + + .fs-sm-3 { + font-size: 1.35rem !important; + } + + .fs-sm-2x { + font-size: 2rem !important; + } + + .fs-sm-2qx { + font-size: 2.25rem !important; + } + + .fs-sm-2hx { + font-size: 2.5rem !important; + } + + .fs-sm-2tx { + font-size: 2.75rem !important; + } + + .fs-sm-3x { + font-size: 3rem !important; + } + + .fs-sm-3qx { + font-size: 3.25rem !important; + } + + .fs-sm-3hx { + font-size: 3.5rem !important; + } + + .fs-sm-3tx { + font-size: 3.75rem !important; + } + + .fs-sm-4x { + font-size: 4rem !important; + } + + .fs-sm-4qx { + font-size: 4.25rem !important; + } + + .fs-sm-4hx { + font-size: 4.5rem !important; + } + + .fs-sm-4tx { + font-size: 4.75rem !important; + } + + .fs-sm-5x { + font-size: 5rem !important; + } + + .fs-sm-5qx { + font-size: 5.25rem !important; + } + + .fs-sm-5hx { + font-size: 5.5rem !important; + } + + .fs-sm-5tx { + font-size: 5.75rem !important; + } + + .fs-md-1 { + font-size: 1.75rem !important; + } + + .fs-md-2 { + font-size: 1.5rem !important; + } + + .fs-md-3 { + font-size: 1.35rem !important; + } + + .fs-md-2x { + font-size: 2rem !important; + } + + .fs-md-2qx { + font-size: 2.25rem !important; + } + + .fs-md-2hx { + font-size: 2.5rem !important; + } + + .fs-md-2tx { + font-size: 2.75rem !important; + } + + .fs-md-3x { + font-size: 3rem !important; + } + + .fs-md-3qx { + font-size: 3.25rem !important; + } + + .fs-md-3hx { + font-size: 3.5rem !important; + } + + .fs-md-3tx { + font-size: 3.75rem !important; + } + + .fs-md-4x { + font-size: 4rem !important; + } + + .fs-md-4qx { + font-size: 4.25rem !important; + } + + .fs-md-4hx { + font-size: 4.5rem !important; + } + + .fs-md-4tx { + font-size: 4.75rem !important; + } + + .fs-md-5x { + font-size: 5rem !important; + } + + .fs-md-5qx { + font-size: 5.25rem !important; + } + + .fs-md-5hx { + font-size: 5.5rem !important; + } + + .fs-md-5tx { + font-size: 5.75rem !important; + } + + .fs-lg-1 { + font-size: 1.75rem !important; + } + + .fs-lg-2 { + font-size: 1.5rem !important; + } + + .fs-lg-3 { + font-size: 1.35rem !important; + } + + .fs-lg-2x { + font-size: 2rem !important; + } + + .fs-lg-2qx { + font-size: 2.25rem !important; + } + + .fs-lg-2hx { + font-size: 2.5rem !important; + } + + .fs-lg-2tx { + font-size: 2.75rem !important; + } + + .fs-lg-3x { + font-size: 3rem !important; + } + + .fs-lg-3qx { + font-size: 3.25rem !important; + } + + .fs-lg-3hx { + font-size: 3.5rem !important; + } + + .fs-lg-3tx { + font-size: 3.75rem !important; + } + + .fs-lg-4x { + font-size: 4rem !important; + } + + .fs-lg-4qx { + font-size: 4.25rem !important; + } + + .fs-lg-4hx { + font-size: 4.5rem !important; + } + + .fs-lg-4tx { + font-size: 4.75rem !important; + } + + .fs-lg-5x { + font-size: 5rem !important; + } + + .fs-lg-5qx { + font-size: 5.25rem !important; + } + + .fs-lg-5hx { + font-size: 5.5rem !important; + } + + .fs-lg-5tx { + font-size: 5.75rem !important; + } +} +@media print { + .d-print-inline { + display: inline !important; + } + + .d-print-inline-block { + display: inline-block !important; + } + + .d-print-block { + display: block !important; + } + + .d-print-grid { + display: grid !important; + } + + .d-print-table { + display: table !important; + } + + .d-print-table-row { + display: table-row !important; + } + + .d-print-table-cell { + display: table-cell !important; + } + + .d-print-flex { + display: flex !important; + } + + .d-print-inline-flex { + display: inline-flex !important; + } + + .d-print-none { + display: none !important; + } +} +:root { + --bs-light-primary:#F8F5FF; + --bs-active-primary:#5014D0; + --bs-light-success:#E8FFF3; + --bs-active-success:#47BE7D; + --bs-light-info:#F1FAFF; + --bs-active-info:#0095E8; + --bs-light-warning:#FFF8DD; + --bs-active-warning:#F1BC00; + --bs-light-danger:#FFF5F8; + --bs-active-danger:#D9214E; + --bs-light-dark:#EFF2F5; + --bs-active-dark:#131628; + --bs-gray-100:#F5F8FA; + --bs-gray-200:#EFF2F5; + --bs-gray-300:#E4E6EF; + --bs-gray-400:#B5B5C3; + --bs-gray-500:#A1A5B7; + --bs-gray-600:#7E8299; + --bs-gray-700:#5E6278; + --bs-gray-800:#3F4254; + --bs-gray-900:#181C32; + --bs-xs:0; + --bs-sm:576px; + --bs-md:768px; + --bs-lg:992px; + --bs-xl:1200px; + --bs-xxl:1400px; +} + +.bg-white { + --bg-color: 255, 255, 255; +} +.bg-white.hoverable:hover { + background-color: #F5F8FA !important; +} + +.bg-hover-white { + cursor: pointer; +} +.bg-hover-white:hover { + --bg-color: 255, 255, 255; + background-color: #ffffff !important; +} + +.bg-active-white.active { + --bg-color: 255, 255, 255; + background-color: #ffffff !important; +} + +.bg-state-white { + cursor: pointer; +} +.bg-state-white.active, .bg-state-white:hover { + --bg-color: 255, 255, 255; + background-color: #ffffff !important; +} + +.bg-light { + --bg-color: 245, 248, 250; +} +.bg-light.hoverable:hover { + background-color: #E4E6EF !important; +} + +.bg-hover-light { + cursor: pointer; +} +.bg-hover-light:hover { + --bg-color: 245, 248, 250; + background-color: #F5F8FA !important; +} + +.bg-active-light.active { + --bg-color: 245, 248, 250; + background-color: #F5F8FA !important; +} + +.bg-state-light { + cursor: pointer; +} +.bg-state-light.active, .bg-state-light:hover { + --bg-color: 245, 248, 250; + background-color: #F5F8FA !important; +} + +.bg-light-primary { + background-color: #F8F5FF !important; +} +.bg-light-primary.hoverable:hover { + background-color: #e3d6ff !important; +} + +.bg-primary { + --bg-color: 114, 57, 234; +} +.bg-primary.hoverable:hover { + background-color: #5014D0 !important; +} + +.bg-hover-light-primary { + cursor: pointer; +} +.bg-hover-light-primary:hover { + background-color: #F8F5FF !important; +} + +.bg-state-light-primary { + cursor: pointer; +} +.bg-state-light-primary.active, .bg-state-light-primary:hover { + background-color: #F8F5FF !important; +} + +.bg-hover-primary { + cursor: pointer; +} +.bg-hover-primary:hover { + --bg-color: 114, 57, 234; + background-color: #7239EA !important; +} + +.bg-active-primary.active { + --bg-color: 114, 57, 234; + background-color: #7239EA !important; +} + +.bg-state-primary { + cursor: pointer; +} +.bg-state-primary.active, .bg-state-primary:hover { + --bg-color: 114, 57, 234; + background-color: #7239EA !important; +} + +.bg-secondary { + --bg-color: 228, 230, 239; +} +.bg-secondary.hoverable:hover { + background-color: #B5B5C3 !important; +} + +.bg-hover-secondary { + cursor: pointer; +} +.bg-hover-secondary:hover { + --bg-color: 228, 230, 239; + background-color: #E4E6EF !important; +} + +.bg-active-secondary.active { + --bg-color: 228, 230, 239; + background-color: #E4E6EF !important; +} + +.bg-state-secondary { + cursor: pointer; +} +.bg-state-secondary.active, .bg-state-secondary:hover { + --bg-color: 228, 230, 239; + background-color: #E4E6EF !important; +} + +.bg-light-success { + background-color: #E8FFF3 !important; +} +.bg-light-success.hoverable:hover { + background-color: #c9ffe3 !important; +} + +.bg-success { + --bg-color: 80, 205, 137; +} +.bg-success.hoverable:hover { + background-color: #47BE7D !important; +} + +.bg-hover-light-success { + cursor: pointer; +} +.bg-hover-light-success:hover { + background-color: #E8FFF3 !important; +} + +.bg-state-light-success { + cursor: pointer; +} +.bg-state-light-success.active, .bg-state-light-success:hover { + background-color: #E8FFF3 !important; +} + +.bg-hover-success { + cursor: pointer; +} +.bg-hover-success:hover { + --bg-color: 80, 205, 137; + background-color: #50CD89 !important; +} + +.bg-active-success.active { + --bg-color: 80, 205, 137; + background-color: #50CD89 !important; +} + +.bg-state-success { + cursor: pointer; +} +.bg-state-success.active, .bg-state-success:hover { + --bg-color: 80, 205, 137; + background-color: #50CD89 !important; +} + +.bg-light-info { + background-color: #F1FAFF !important; +} +.bg-light-info.hoverable:hover { + background-color: #d2efff !important; +} + +.bg-info { + --bg-color: 0, 158, 247; +} +.bg-info.hoverable:hover { + background-color: #0095E8 !important; +} + +.bg-hover-light-info { + cursor: pointer; +} +.bg-hover-light-info:hover { + background-color: #F1FAFF !important; +} + +.bg-state-light-info { + cursor: pointer; +} +.bg-state-light-info.active, .bg-state-light-info:hover { + background-color: #F1FAFF !important; +} + +.bg-hover-info { + cursor: pointer; +} +.bg-hover-info:hover { + --bg-color: 0, 158, 247; + background-color: #009EF7 !important; +} + +.bg-active-info.active { + --bg-color: 0, 158, 247; + background-color: #009EF7 !important; +} + +.bg-state-info { + cursor: pointer; +} +.bg-state-info.active, .bg-state-info:hover { + --bg-color: 0, 158, 247; + background-color: #009EF7 !important; +} + +.bg-light-warning { + background-color: #FFF8DD !important; +} +.bg-light-warning.hoverable:hover { + background-color: #fff2be !important; +} + +.bg-warning { + --bg-color: 255, 199, 0; +} +.bg-warning.hoverable:hover { + background-color: #F1BC00 !important; +} + +.bg-hover-light-warning { + cursor: pointer; +} +.bg-hover-light-warning:hover { + background-color: #FFF8DD !important; +} + +.bg-state-light-warning { + cursor: pointer; +} +.bg-state-light-warning.active, .bg-state-light-warning:hover { + background-color: #FFF8DD !important; +} + +.bg-hover-warning { + cursor: pointer; +} +.bg-hover-warning:hover { + --bg-color: 255, 199, 0; + background-color: #FFC700 !important; +} + +.bg-active-warning.active { + --bg-color: 255, 199, 0; + background-color: #FFC700 !important; +} + +.bg-state-warning { + cursor: pointer; +} +.bg-state-warning.active, .bg-state-warning:hover { + --bg-color: 255, 199, 0; + background-color: #FFC700 !important; +} + +.bg-light-danger { + background-color: #FFF5F8 !important; +} +.bg-light-danger.hoverable:hover { + background-color: #ffd6e3 !important; +} + +.bg-danger { + --bg-color: 241, 65, 108; +} +.bg-danger.hoverable:hover { + background-color: #D9214E !important; +} + +.bg-hover-light-danger { + cursor: pointer; +} +.bg-hover-light-danger:hover { + background-color: #FFF5F8 !important; +} + +.bg-state-light-danger { + cursor: pointer; +} +.bg-state-light-danger.active, .bg-state-light-danger:hover { + background-color: #FFF5F8 !important; +} + +.bg-hover-danger { + cursor: pointer; +} +.bg-hover-danger:hover { + --bg-color: 241, 65, 108; + background-color: #F1416C !important; +} + +.bg-active-danger.active { + --bg-color: 241, 65, 108; + background-color: #F1416C !important; +} + +.bg-state-danger { + cursor: pointer; +} +.bg-state-danger.active, .bg-state-danger:hover { + --bg-color: 241, 65, 108; + background-color: #F1416C !important; +} + +.bg-light-dark { + background-color: #EFF2F5 !important; +} +.bg-light-dark.hoverable:hover { + background-color: #dce3e9 !important; +} + +.bg-dark { + --bg-color: 24, 28, 50; +} +.bg-dark.hoverable:hover { + background-color: #131628 !important; +} + +.bg-hover-light-dark { + cursor: pointer; +} +.bg-hover-light-dark:hover { + background-color: #EFF2F5 !important; +} + +.bg-state-light-dark { + cursor: pointer; +} +.bg-state-light-dark.active, .bg-state-light-dark:hover { + background-color: #EFF2F5 !important; +} + +.bg-hover-dark { + cursor: pointer; +} +.bg-hover-dark:hover { + --bg-color: 24, 28, 50; + background-color: #181C32 !important; +} + +.bg-active-dark.active { + --bg-color: 24, 28, 50; + background-color: #181C32 !important; +} + +.bg-state-dark { + cursor: pointer; +} +.bg-state-dark.active, .bg-state-dark:hover { + --bg-color: 24, 28, 50; + background-color: #181C32 !important; +} + +.bg-gray-100 { + background-color: #F5F8FA !important; +} + +.bg-gray-200 { + background-color: #EFF2F5 !important; +} + +.bg-gray-300 { + background-color: #E4E6EF !important; +} + +.bg-gray-400 { + background-color: #B5B5C3 !important; +} + +.bg-gray-500 { + background-color: #A1A5B7 !important; +} + +.bg-gray-600 { + background-color: #7E8299 !important; +} + +.bg-gray-700 { + background-color: #5E6278 !important; +} + +.bg-gray-800 { + background-color: #3F4254 !important; +} + +.bg-gray-900 { + background-color: #181C32 !important; +} + +.bg-opacity-0 { + background-color: rgba(var(--bg-color), 0) !important; +} + +.bg-hover-opacity-0:hover { + background-color: rgba(var(--bg-color), 0) !important; +} + +.bg-active-opacity-0.active { + background-color: rgba(var(--bg-color), 0) !important; +} + +.bg-state-opacity-0 .active, .bg-state-opacity-0:hover { + background-color: rgba(var(--bg-color), 0) !important; +} + +.bg-opacity-5 { + background-color: rgba(var(--bg-color), 0.05) !important; +} + +.bg-hover-opacity-5:hover { + background-color: rgba(var(--bg-color), 0.05) !important; +} + +.bg-active-opacity-5.active { + background-color: rgba(var(--bg-color), 0.05) !important; +} + +.bg-state-opacity-5 .active, .bg-state-opacity-5:hover { + background-color: rgba(var(--bg-color), 0.05) !important; +} + +.bg-opacity-10 { + background-color: rgba(var(--bg-color), 0.1) !important; +} + +.bg-hover-opacity-10:hover { + background-color: rgba(var(--bg-color), 0.1) !important; +} + +.bg-active-opacity-10.active { + background-color: rgba(var(--bg-color), 0.1) !important; +} + +.bg-state-opacity-10 .active, .bg-state-opacity-10:hover { + background-color: rgba(var(--bg-color), 0.1) !important; +} + +.bg-opacity-15 { + background-color: rgba(var(--bg-color), 0.15) !important; +} + +.bg-hover-opacity-15:hover { + background-color: rgba(var(--bg-color), 0.15) !important; +} + +.bg-active-opacity-15.active { + background-color: rgba(var(--bg-color), 0.15) !important; +} + +.bg-state-opacity-15 .active, .bg-state-opacity-15:hover { + background-color: rgba(var(--bg-color), 0.15) !important; +} + +.bg-opacity-20 { + background-color: rgba(var(--bg-color), 0.2) !important; +} + +.bg-hover-opacity-20:hover { + background-color: rgba(var(--bg-color), 0.2) !important; +} + +.bg-active-opacity-20.active { + background-color: rgba(var(--bg-color), 0.2) !important; +} + +.bg-state-opacity-20 .active, .bg-state-opacity-20:hover { + background-color: rgba(var(--bg-color), 0.2) !important; +} + +.bg-opacity-25 { + background-color: rgba(var(--bg-color), 0.25) !important; +} + +.bg-hover-opacity-25:hover { + background-color: rgba(var(--bg-color), 0.25) !important; +} + +.bg-active-opacity-25.active { + background-color: rgba(var(--bg-color), 0.25) !important; +} + +.bg-state-opacity-25 .active, .bg-state-opacity-25:hover { + background-color: rgba(var(--bg-color), 0.25) !important; +} + +.bg-opacity-50 { + background-color: rgba(var(--bg-color), 0.5) !important; +} + +.bg-hover-opacity-50:hover { + background-color: rgba(var(--bg-color), 0.5) !important; +} + +.bg-active-opacity-50.active { + background-color: rgba(var(--bg-color), 0.5) !important; +} + +.bg-state-opacity-50 .active, .bg-state-opacity-50:hover { + background-color: rgba(var(--bg-color), 0.5) !important; +} + +.bg-opacity-75 { + background-color: rgba(var(--bg-color), 0.75) !important; +} + +.bg-hover-opacity-75:hover { + background-color: rgba(var(--bg-color), 0.75) !important; +} + +.bg-active-opacity-75.active { + background-color: rgba(var(--bg-color), 0.75) !important; +} + +.bg-state-opacity-75 .active, .bg-state-opacity-75:hover { + background-color: rgba(var(--bg-color), 0.75) !important; +} + +.bg-opacity-100 { + background-color: rgba(var(--bg-color), 1) !important; +} + +.bg-hover-opacity-100:hover { + background-color: rgba(var(--bg-color), 1) !important; +} + +.bg-active-opacity-100.active { + background-color: rgba(var(--bg-color), 1) !important; +} + +.bg-state-opacity-100 .active, .bg-state-opacity-100:hover { + background-color: rgba(var(--bg-color), 1) !important; +} + +.bg-black { + background-color: #000000 !important; +} + +.bg-body { + --bg-color: 255, 255, 255; + background-color: #ffffff !important; +} + +.bg-lighten { + background-color: rgba(245, 248, 250, 0.5) !important; +} + +.bg-hover-lighten { + cursor: pointer; +} +.bg-hover-lighten:hover { + background-color: rgba(245, 248, 250, 0.5) !important; +} + +.bg-active-lighten.active { + background-color: rgba(245, 248, 250, 0.5) !important; +} + +.bg-state-lighten { + cursor: pointer; +} +.bg-state-lighten.active, .bg-state-lighten:hover { + background-color: rgba(245, 248, 250, 0.5) !important; +} + +.hoverable { + cursor: pointer; + transition: all 0.2s ease; +} +.hoverable:hover { + transition: all 0.2s ease; +} + +.bgi-no-repeat { + background-repeat: no-repeat; +} + +.bgi-position-y-top { + background-position-y: top; +} + +.bgi-position-y-bottom { + background-position-y: bottom; +} + +.bgi-position-y-center { + background-position-y: center; +} + +.bgi-position-x-start { + background-position-x: left; +} + +.bgi-position-x-end { + background-position-x: right; +} + +.bgi-position-x-center { + background-position-x: center; +} + +.bgi-position-top { + background-position: 0 top; +} + +.bgi-position-bottom { + background-position: 0 bottom; +} + +.bgi-position-center { + background-position: center; +} + +.bgi-size-auto { + background-size: auto; +} + +.bgi-size-cover { + background-size: cover; +} + +.bgi-size-contain { + background-size: contain; +} + +.bgi-attachment-fixed { + background-attachment: fixed; +} + +.bgi-attachment-auto { + background-attachment: auto; +} + +@media (min-width: 576px) { + .bgi-size-sm-auto { + background-size: auto; + } + + .bgi-size-sm-cover { + background-size: cover; + } + + .bgi-size-sm-contain { + background-size: contain; + } + + .bgi-attachment-sm-fixed { + background-attachment: fixed; + } + + .bgi-attachment-sm-auto { + background-attachment: auto; + } +} +@media (min-width: 768px) { + .bgi-size-md-auto { + background-size: auto; + } + + .bgi-size-md-cover { + background-size: cover; + } + + .bgi-size-md-contain { + background-size: contain; + } + + .bgi-attachment-md-fixed { + background-attachment: fixed; + } + + .bgi-attachment-md-auto { + background-attachment: auto; + } +} +@media (min-width: 992px) { + .bgi-size-lg-auto { + background-size: auto; + } + + .bgi-size-lg-cover { + background-size: cover; + } + + .bgi-size-lg-contain { + background-size: contain; + } + + .bgi-attachment-lg-fixed { + background-attachment: fixed; + } + + .bgi-attachment-lg-auto { + background-attachment: auto; + } +} +@media (min-width: 1200px) { + .bgi-size-xl-auto { + background-size: auto; + } + + .bgi-size-xl-cover { + background-size: cover; + } + + .bgi-size-xl-contain { + background-size: contain; + } + + .bgi-attachment-xl-fixed { + background-attachment: fixed; + } + + .bgi-attachment-xl-auto { + background-attachment: auto; + } +} +@media (min-width: 1400px) { + .bgi-size-xxl-auto { + background-size: auto; + } + + .bgi-size-xxl-cover { + background-size: cover; + } + + .bgi-size-xxl-contain { + background-size: contain; + } + + .bgi-attachment-xxl-fixed { + background-attachment: fixed; + } + + .bgi-attachment-xxl-auto { + background-attachment: auto; + } +} +.border-active:not(.active):not(:active):not(:hover):not(:focus) { + border-color: transparent !important; +} + +.border-hover:not(:hover):not(:focus):not(.active):not(:active) { + cursor: pointer; + border-color: transparent !important; +} + +.border-gray-100 { + border-color: #F5F8FA !important; +} + +.border-gray-200 { + border-color: #EFF2F5 !important; +} + +.border-gray-300 { + border-color: #E4E6EF !important; +} + +.border-gray-400 { + border-color: #B5B5C3 !important; +} + +.border-gray-500 { + border-color: #A1A5B7 !important; +} + +.border-gray-600 { + border-color: #7E8299 !important; +} + +.border-gray-700 { + border-color: #5E6278 !important; +} + +.border-gray-800 { + border-color: #3F4254 !important; +} + +.border-gray-900 { + border-color: #181C32 !important; +} + +.border-hover-white:hover { + border-color: #ffffff !important; +} + +.border-active-white.active { + border-color: #ffffff !important; +} + +.border-hover-light:hover { + border-color: #F5F8FA !important; +} + +.border-active-light.active { + border-color: #F5F8FA !important; +} + +.border-hover-primary:hover { + border-color: #7239EA !important; +} + +.border-active-primary.active { + border-color: #7239EA !important; +} + +.border-hover-secondary:hover { + border-color: #E4E6EF !important; +} + +.border-active-secondary.active { + border-color: #E4E6EF !important; +} + +.border-hover-success:hover { + border-color: #50CD89 !important; +} + +.border-active-success.active { + border-color: #50CD89 !important; +} + +.border-hover-info:hover { + border-color: #009EF7 !important; +} + +.border-active-info.active { + border-color: #009EF7 !important; +} + +.border-hover-warning:hover { + border-color: #FFC700 !important; +} + +.border-active-warning.active { + border-color: #FFC700 !important; +} + +.border-hover-danger:hover { + border-color: #F1416C !important; +} + +.border-active-danger.active { + border-color: #F1416C !important; +} + +.border-hover-dark:hover { + border-color: #181C32 !important; +} + +.border-active-dark.active { + border-color: #181C32 !important; +} + +.border-hover-transparent:hover { + border-color: transparent !important; +} + +.border-dashed { + border-style: dashed !important; + border-color: #E4E6EF; +} + +.border-top-dashed { + border-top-style: dashed !important; +} + +.border-bottom-dashed { + border-bottom-style: dashed !important; +} + +.border-start-dashed { + border-left-style: dashed !important; +} + +.border-end-dashed { + border-right-style: dashed !important; +} + +.border-dotted { + border-style: dotted !important; +} + +.border-top-dotted { + border-top-style: dotted !important; +} + +.border-bottom-dotted { + border-bottom-style: dotted !important; +} + +.border-start-dotted { + border-left-style: dotted !important; +} + +.border-end-dotted { + border-right-style: dotted !important; +} + +.border-transparent { + border-color: transparent !important; +} + +.rounded-top-0 { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; +} + +.rounded-bottom-0 { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-start-0 { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; +} + +.rounded-end-0 { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +.rounded-circle { + border-radius: 50% !important; +} + +.flex-root { + flex: 1; +} + +.flex-column-auto { + flex: none; +} + +.flex-column-fluid { + flex: 1 0 auto; +} + +.flex-row-auto { + flex: 0 0 auto; +} + +.flex-row-fluid { + flex: 1 auto; + min-width: 0; +} + +.flex-center { + justify-content: center; + align-items: center; +} + +.flex-stack { + justify-content: space-between; + align-items: center; +} + +@media (min-width: 576px) { + .flex-sm-root { + flex: 1; + } + + .flex-sm-column-auto { + flex: none; + } + + .flex-sm-column-fluid { + flex: 1 0 auto; + } + + .flex-sm-row-auto { + flex: 0 0 auto; + } + + .flex-sm-row-fluid { + flex: 1 auto; + min-width: 0; + } + + .flex-sm-center { + justify-content: center; + align-items: center; + } + + .flex-sm-stack { + justify-content: space-between; + align-items: center; + } +} +@media (min-width: 768px) { + .flex-md-root { + flex: 1; + } + + .flex-md-column-auto { + flex: none; + } + + .flex-md-column-fluid { + flex: 1 0 auto; + } + + .flex-md-row-auto { + flex: 0 0 auto; + } + + .flex-md-row-fluid { + flex: 1 auto; + min-width: 0; + } + + .flex-md-center { + justify-content: center; + align-items: center; + } + + .flex-md-stack { + justify-content: space-between; + align-items: center; + } +} +@media (min-width: 992px) { + .flex-lg-root { + flex: 1; + } + + .flex-lg-column-auto { + flex: none; + } + + .flex-lg-column-fluid { + flex: 1 0 auto; + } + + .flex-lg-row-auto { + flex: 0 0 auto; + } + + .flex-lg-row-fluid { + flex: 1 auto; + min-width: 0; + } + + .flex-lg-center { + justify-content: center; + align-items: center; + } + + .flex-lg-stack { + justify-content: space-between; + align-items: center; + } +} +@media (min-width: 1200px) { + .flex-xl-root { + flex: 1; + } + + .flex-xl-column-auto { + flex: none; + } + + .flex-xl-column-fluid { + flex: 1 0 auto; + } + + .flex-xl-row-auto { + flex: 0 0 auto; + } + + .flex-xl-row-fluid { + flex: 1 auto; + min-width: 0; + } + + .flex-xl-center { + justify-content: center; + align-items: center; + } + + .flex-xl-stack { + justify-content: space-between; + align-items: center; + } +} +@media (min-width: 1400px) { + .flex-xxl-root { + flex: 1; + } + + .flex-xxl-column-auto { + flex: none; + } + + .flex-xxl-column-fluid { + flex: 1 0 auto; + } + + .flex-xxl-row-auto { + flex: 0 0 auto; + } + + .flex-xxl-row-fluid { + flex: 1 auto; + min-width: 0; + } + + .flex-xxl-center { + justify-content: center; + align-items: center; + } + + .flex-xxl-stack { + justify-content: space-between; + align-items: center; + } +} +.flex-equal { + flex-grow: 1; + flex-basis: 0; + flex-shrink: 0; +} + +.shadow-xs { + box-shadow: 0 0.1rem 0.75rem 0.25rem rgba(0, 0, 0, 0.05); +} + +.text-white { + color: #ffffff !important; +} + +.text-inverse-white { + color: #7E8299 !important; +} + +.text-hover-white { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-white i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-white:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-hover-white:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-hover-white:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.text-hover-white:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-white { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-white i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-white:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-inverse-white:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-inverse-white:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-hover-inverse-white:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-white { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-white i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-white.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-active-white.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-active-white.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.text-active-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-white { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-white i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-white.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-inverse-white.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-inverse-white.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-active-inverse-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-primary { + color: #7239EA !important; +} + +.text-inverse-primary { + color: #FFFFFF !important; +} + +.text-light-primary { + color: #F8F5FF !important; +} + +.text-hover-primary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-primary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-primary:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA !important; +} +.text-hover-primary:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA !important; +} +.text-hover-primary:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.text-hover-primary:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-primary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-primary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-primary:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-primary:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-primary:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-hover-inverse-primary:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-primary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-primary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-primary.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA !important; +} +.text-active-primary.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA !important; +} +.text-active-primary.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.text-active-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-primary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-primary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-primary.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-primary.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-primary.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-active-inverse-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-secondary { + color: #E4E6EF !important; +} + +.text-inverse-secondary { + color: #3F4254 !important; +} + +.text-hover-secondary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-secondary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-secondary:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-hover-secondary:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-hover-secondary:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.text-hover-secondary:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-secondary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-secondary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-secondary:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-hover-inverse-secondary:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-hover-inverse-secondary:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.text-hover-inverse-secondary:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-secondary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-secondary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-secondary.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-active-secondary.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-active-secondary.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.text-active-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-secondary { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-secondary i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-secondary.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-active-inverse-secondary.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-active-inverse-secondary.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.text-active-inverse-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-light { + color: #F5F8FA !important; +} + +.text-inverse-light { + color: #7E8299 !important; +} + +.text-hover-light { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-light i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-light:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-hover-light:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-hover-light:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.text-hover-light:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-light { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-light i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-light:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-inverse-light:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-inverse-light:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-hover-inverse-light:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-light { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-light i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-light.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-active-light.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-active-light.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.text-active-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-light { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-light i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-light.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-inverse-light.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-inverse-light.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-active-inverse-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-success { + color: #50CD89 !important; +} + +.text-inverse-success { + color: #FFFFFF !important; +} + +.text-light-success { + color: #E8FFF3 !important; +} + +.text-hover-success { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-success i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-success:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #50CD89 !important; +} +.text-hover-success:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #50CD89 !important; +} +.text-hover-success:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.text-hover-success:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-success { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-success i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-success:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-success:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-success:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-hover-inverse-success:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-success { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-success i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-success.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #50CD89 !important; +} +.text-active-success.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #50CD89 !important; +} +.text-active-success.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.text-active-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-success { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-success i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-success.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-success.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-success.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-active-inverse-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-info { + color: #009EF7 !important; +} + +.text-inverse-info { + color: #FFFFFF !important; +} + +.text-light-info { + color: #F1FAFF !important; +} + +.text-hover-info { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-info i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-info:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #009EF7 !important; +} +.text-hover-info:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #009EF7 !important; +} +.text-hover-info:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.text-hover-info:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-info { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-info i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-info:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-info:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-info:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-hover-inverse-info:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-info { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-info i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-info.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #009EF7 !important; +} +.text-active-info.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #009EF7 !important; +} +.text-active-info.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.text-active-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-info { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-info i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-info.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-info.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-info.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-active-inverse-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-warning { + color: #FFC700 !important; +} + +.text-inverse-warning { + color: #FFFFFF !important; +} + +.text-light-warning { + color: #FFF8DD !important; +} + +.text-hover-warning { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-warning i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-warning:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFC700 !important; +} +.text-hover-warning:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFC700 !important; +} +.text-hover-warning:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.text-hover-warning:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-warning { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-warning i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-warning:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-warning:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-warning:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-hover-inverse-warning:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-warning { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-warning i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-warning.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFC700 !important; +} +.text-active-warning.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFC700 !important; +} +.text-active-warning.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.text-active-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-warning { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-warning i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-warning.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-warning.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-warning.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-active-inverse-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-danger { + color: #F1416C !important; +} + +.text-inverse-danger { + color: #FFFFFF !important; +} + +.text-light-danger { + color: #FFF5F8 !important; +} + +.text-hover-danger { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-danger i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-danger:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F1416C !important; +} +.text-hover-danger:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F1416C !important; +} +.text-hover-danger:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.text-hover-danger:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-danger { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-danger i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-danger:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-danger:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-hover-inverse-danger:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-hover-inverse-danger:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-danger { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-danger i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-danger.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F1416C !important; +} +.text-active-danger.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F1416C !important; +} +.text-active-danger.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.text-active-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-danger { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-danger i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-danger.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-danger.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #FFFFFF !important; +} +.text-active-inverse-danger.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.text-active-inverse-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-dark { + color: #181C32 !important; +} + +.text-inverse-dark { + color: #ffffff !important; +} + +.text-light-dark { + color: #EFF2F5 !important; +} + +.text-hover-dark { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-dark i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-dark:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-hover-dark:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-hover-dark:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.text-hover-dark:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-hover-inverse-dark { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-dark i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-inverse-dark:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-hover-inverse-dark:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-hover-inverse-dark:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.text-hover-inverse-dark:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-dark { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-dark i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-dark.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-active-dark.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-active-dark.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.text-active-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-inverse-dark { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-dark i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-inverse-dark.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-active-inverse-dark.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #ffffff !important; +} +.text-active-inverse-dark.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.text-active-inverse-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-muted { + color: #A1A5B7 !important; +} + +.text-hover-muted { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-muted i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-muted:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-hover-muted:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-hover-muted:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.text-hover-muted:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-muted { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-muted i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-muted.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-active-muted.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-active-muted.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.text-active-muted.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-100 { + color: #F5F8FA !important; +} + +.text-hover-gray-100 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-100 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-100:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-hover-gray-100:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-hover-gray-100:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.text-hover-gray-100:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-100 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-100 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-100.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-active-gray-100.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #F5F8FA !important; +} +.text-active-gray-100.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.text-active-gray-100.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-200 { + color: #EFF2F5 !important; +} + +.text-hover-gray-200 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-200 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-200:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #EFF2F5 !important; +} +.text-hover-gray-200:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #EFF2F5 !important; +} +.text-hover-gray-200:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.text-hover-gray-200:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-200 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-200 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-200.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #EFF2F5 !important; +} +.text-active-gray-200.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #EFF2F5 !important; +} +.text-active-gray-200.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.text-active-gray-200.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-300 { + color: #E4E6EF !important; +} + +.text-hover-gray-300 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-300 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-300:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-hover-gray-300:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-hover-gray-300:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.text-hover-gray-300:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-300 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-300 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-300.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-active-gray-300.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #E4E6EF !important; +} +.text-active-gray-300.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.text-active-gray-300.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-400 { + color: #B5B5C3 !important; +} + +.text-hover-gray-400 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-400 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-400:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #B5B5C3 !important; +} +.text-hover-gray-400:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #B5B5C3 !important; +} +.text-hover-gray-400:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.text-hover-gray-400:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-400 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-400 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-400.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #B5B5C3 !important; +} +.text-active-gray-400.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #B5B5C3 !important; +} +.text-active-gray-400.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.text-active-gray-400.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-500 { + color: #A1A5B7 !important; +} + +.text-hover-gray-500 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-500 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-500:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-hover-gray-500:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-hover-gray-500:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.text-hover-gray-500:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-500 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-500 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-500.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-active-gray-500.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #A1A5B7 !important; +} +.text-active-gray-500.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.text-active-gray-500.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-600 { + color: #7E8299 !important; +} + +.text-hover-gray-600 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-600 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-600:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-gray-600:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-hover-gray-600:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-hover-gray-600:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-600 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-600 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-600.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-gray-600.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7E8299 !important; +} +.text-active-gray-600.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.text-active-gray-600.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-700 { + color: #5E6278 !important; +} + +.text-hover-gray-700 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-700 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-700:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #5E6278 !important; +} +.text-hover-gray-700:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #5E6278 !important; +} +.text-hover-gray-700:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.text-hover-gray-700:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-700 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-700 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-700.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #5E6278 !important; +} +.text-active-gray-700.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #5E6278 !important; +} +.text-active-gray-700.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.text-active-gray-700.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-800 { + color: #3F4254 !important; +} + +.text-hover-gray-800 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-800 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-800:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-hover-gray-800:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-hover-gray-800:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.text-hover-gray-800:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-800 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-800 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-800.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-active-gray-800.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #3F4254 !important; +} +.text-active-gray-800.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.text-active-gray-800.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-gray-900 { + color: #181C32 !important; +} + +.text-hover-gray-900 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-900 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-hover-gray-900:hover { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-hover-gray-900:hover i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-hover-gray-900:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.text-hover-gray-900:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.text-active-gray-900 { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-900 i { + transition: color 0.2s ease, background-color 0.2s ease; +} +.text-active-gray-900.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-active-gray-900.active i { + transition: color 0.2s ease, background-color 0.2s ease; + color: #181C32 !important; +} +.text-active-gray-900.active .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.text-active-gray-900.active .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.fw-boldest { + font-weight: 700 !important; +} + +.text-transparent { + color: transparent; +} + +.cursor-pointer { + cursor: pointer; +} + +.cursor-default { + cursor: default; +} + +.cursor-move { + cursor: move; +} + +i { + line-height: 1; + font-size: 1rem; + color: #A1A5B7; +} + +a { + transition: color 0.2s ease, background-color 0.2s ease; +} +a:hover { + transition: color 0.2s ease, background-color 0.2s ease; +} + +.opacity-active-0.active { + opacity: 0 !important; +} + +.opacity-state-0:hover, .opacity-state-0.active { + opacity: 0 !important; +} + +.opacity-active-5.active { + opacity: 0.05 !important; +} + +.opacity-state-5:hover, .opacity-state-5.active { + opacity: 0.05 !important; +} + +.opacity-active-10.active { + opacity: 0.1 !important; +} + +.opacity-state-10:hover, .opacity-state-10.active { + opacity: 0.1 !important; +} + +.opacity-active-15.active { + opacity: 0.15 !important; +} + +.opacity-state-15:hover, .opacity-state-15.active { + opacity: 0.15 !important; +} + +.opacity-active-20.active { + opacity: 0.2 !important; +} + +.opacity-state-20:hover, .opacity-state-20.active { + opacity: 0.2 !important; +} + +.opacity-active-25.active { + opacity: 0.25 !important; +} + +.opacity-state-25:hover, .opacity-state-25.active { + opacity: 0.25 !important; +} + +.opacity-active-50.active { + opacity: 0.5 !important; +} + +.opacity-state-50:hover, .opacity-state-50.active { + opacity: 0.5 !important; +} + +.opacity-active-75.active { + opacity: 0.75 !important; +} + +.opacity-state-75:hover, .opacity-state-75.active { + opacity: 0.75 !important; +} + +.opacity-active-100.active { + opacity: 1 !important; +} + +.opacity-state-100:hover, .opacity-state-100.active { + opacity: 1 !important; +} + +.transform-90 { + transform: rotate(90deg); + transform-origin: right top; +} + +.animation { + animation-duration: 1s; + animation-fill-mode: both; +} + +@keyframes animationSlideInDown { + from { + transform: translate3d(0, -100%, 0); + visibility: visible; + } + to { + transform: translate3d(0, 0, 0); + } +} +.animation-slide-in-down { + animation-name: animationSlideInDown; +} + +@keyframes animationSlideInUp { + from { + transform: translate3d(0, 100%, 0); + visibility: visible; + } + to { + transform: translate3d(0, 0, 0); + } +} +.animation-slide-in-up { + animation-name: animationSlideInUp; +} + +@keyframes animationFadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +.animation-fade-in { + animation-name: animationFadeIn; +} + +@keyframes animationFadeOut { + from { + opacity: 1; + } + to { + opacity: 0; + } +} +.animation-fade-out { + animation-name: animationFadeOut; +} + +.animation-blink { + animation: animationBlink 1s steps(5, start) infinite; +} + +@keyframes animationBlink { + to { + visibility: hidden; + } +} +.nav-line-tabs { + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #EFF2F5; +} +.nav-line-tabs .nav-item { + margin-bottom: -1px; +} +.nav-line-tabs .nav-item .nav-link { + color: #A1A5B7; + border: 0; + border-bottom: 1px solid transparent; + transition: color 0.2s ease, background-color 0.2s ease; + padding: 0.5rem 0; + margin: 0 1rem; +} +.nav-line-tabs .nav-item:first-child .nav-link { + margin-left: 0; +} +.nav-line-tabs .nav-item:last-child .nav-link { + margin-right: 0; +} +.nav-line-tabs .nav-item .nav-link.active, +.nav-line-tabs .nav-item.show .nav-link, +.nav-line-tabs .nav-item .nav-link:hover:not(.disabled) { + background-color: transparent; + border: 0; + border-bottom: 1px solid #7239EA; + transition: color 0.2s ease, background-color 0.2s ease; +} +.nav-line-tabs.nav-line-tabs-2x { + border-bottom-width: 2px; +} +.nav-line-tabs.nav-line-tabs-2x .nav-item { + margin-bottom: -2px; +} +.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link { + border-bottom-width: 2px; +} +.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link.active, +.nav-line-tabs.nav-line-tabs-2x .nav-item.show .nav-link, +.nav-line-tabs.nav-line-tabs-2x .nav-item .nav-link:hover:not(.disabled) { + border-bottom-width: 2px; +} + +.nav-pills .nav-item { + margin-right: 0.5rem; +} +.nav-pills .nav-item:last-child { + margin-right: 0; +} + +.nav-stretch { + align-items: stretch; + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.nav-stretch .nav-item { + display: flex; + align-items: stretch; + padding-top: 0 !important; + padding-bottom: 0 !important; +} +.nav-stretch .nav-link { + display: flex; + align-items: center; +} + +.nav-group { + padding: 0.35rem; + border-radius: 0.475rem; + background-color: #F5F8FA; +} +.nav-group.nav-group-outline { + background-color: transparent; + border: 1px solid #EFF2F5; +} +.nav-group.nav-group-fluid { + display: flex; +} +.nav-group.nav-group-fluid > label, +.nav-group.nav-group-fluid > .btn { + position: relative; + flex-shrink: 0; + flex-grow: 1; + flex-basis: 0; +} +.nav-group.nav-group-fluid > label { + margin-right: 0.1rem; +} +.nav-group.nav-group-fluid > label > .btn { + width: 100%; +} +.nav-group.nav-group-fluid > label:last-child { + margin-right: 0; +} + +.pagination { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin: 0; +} +.pagination.pagination-circle .page-link { + border-radius: 50%; +} +.pagination.pagination-outline .page-link { + border: 1px solid #EFF2F5; +} +.pagination.pagination-outline .page-item:hover .page-link, .pagination.pagination-outline .page-item.active .page-link { + border-color: #F8F5FF; +} + +.page-item { + margin-right: 0.5rem; +} +.page-item:last-child { + margin-right: 0; +} +.page-item .page-link { + display: flex; + justify-content: center; + align-items: center; + border-radius: 0.475rem; + height: 2.5rem; + min-width: 2.5rem; + font-weight: 500; + font-size: 1.075rem; +} +.page-item .page-link i { + font-size: 0.85rem; +} +.page-item .page-link .previous, +.page-item .page-link .next { + display: block; + height: 0.875rem; + width: 0.875rem; +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link, .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link { + background-color: #ffffff; +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link i, .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link i { + color: #5E6278; +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link .svg-icon svg [fill]:not(.permanent):not(g), .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g), .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link .previous, .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link .previous { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); +} +.page-item.next:not(:hover):not(:focus):not(.disabled) .page-link .next, .page-item.previous:not(:hover):not(:focus):not(.disabled) .page-link .next { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); +} +.page-item:focus:not(.disabled) .page-link i { + color: #7239EA; +} +.page-item:focus:not(.disabled) .page-link .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.page-item:focus:not(.disabled) .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.page-item:focus:not(.disabled) .page-link .previous { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); +} +.page-item:focus:not(.disabled) .page-link .next { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); +} +.page-item:hover:not(.disabled) .page-link i { + color: #7239EA; +} +.page-item:hover:not(.disabled) .page-link .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.page-item:hover:not(.disabled) .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.page-item:hover:not(.disabled) .page-link .previous { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); +} +.page-item:hover:not(.disabled) .page-link .next { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); +} +.page-item.active .page-link i { + color: #FFFFFF; +} +.page-item.active .page-link .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.page-item.active .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.page-item.active .page-link .previous { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); +} +.page-item.active .page-link .next { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); +} +.page-item.disabled .page-link i { + color: #B5B5C3; +} +.page-item.disabled .page-link .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.page-item.disabled .page-link .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.page-item.disabled .page-link .previous { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); +} +.page-item.disabled .page-link .next { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); +} + +@media (max-width: 991.98px) { + .page-item { + margin-right: 0.25rem; + } + .page-item:last-child { + margin-right: 0; + } +} +.separator { + display: block; + height: 0; + border-bottom: 1px solid #EFF2F5; +} +.separator.separator-dotted { + border-bottom-style: dotted; + border-bottom-color: #E4E6EF; +} +.separator.separator-dashed { + border-bottom-style: dashed; + border-bottom-color: #E4E6EF; +} + +.carousel.carousel-custom .carousel-indicators { + align-items: center; + position: static; + z-index: auto; + margin: 0; + padding: 0; + list-style: none; +} +.carousel.carousel-custom .carousel-indicators li { + transform: none; + opacity: 1; +} +.carousel.carousel-custom .carousel-indicators li.active { + transform: none; + opacity: 1; +} +.carousel.carousel-custom .carousel-indicators.carousel-indicators-dots li { + border-radius: 0; + background-color: transparent; + height: 13px; + width: 13px; + display: flex; + align-items: center; + justify-content: center; + text-align: center; +} +.carousel.carousel-custom .carousel-indicators.carousel-indicators-dots li:after { + display: inline-block; + content: " "; + border-radius: 50%; + transition: all 0.3s ease; + background-color: #EFF2F5; + height: 9px; + width: 9px; +} +.carousel.carousel-custom .carousel-indicators.carousel-indicators-dots li.active { + background-color: transparent; +} +.carousel.carousel-custom .carousel-indicators.carousel-indicators-dots li.active:after { + transition: all 0.3s ease; + height: 13px; + width: 13px; + background-color: #E4E6EF; +} +.carousel.carousel-custom.carousel-stretch { + height: 100%; + display: flex; + flex-direction: column; +} +.carousel.carousel-custom.carousel-stretch .carousel-inner { + flex-grow: 1; +} +.carousel.carousel-custom.carousel-stretch .carousel-item { + height: 100%; +} +.carousel.carousel-custom.carousel-stretch .carousel-wrapper { + display: flex; + flex-direction: column; + height: 100%; +} + +.menu-group { + display: flex; +} + +.menu, +.menu-wrapper { + display: flex; + padding: 0; + margin: 0; + list-style: none; +} + +.menu-sub { + display: none; + padding: 0; + margin: 0; + list-style: none; + flex-direction: column; +} + +.menu-item { + display: block; + padding: 0; +} +.menu-item .menu-link { + cursor: pointer; + display: flex; + align-items: center; + padding: 0; + flex: 0 0 100%; + padding: 0.65rem 1rem; + transition: none; + outline: none !important; +} +.menu-item .menu-link .menu-icon { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + width: 2rem; + margin-right: 0.5rem; +} +.menu-item .menu-link .menu-icon .svg-icon { + line-height: 1; +} +.menu-item .menu-link .menu-bullet { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; + width: 1.25rem; + margin-right: 0.5rem; +} +.menu-item .menu-link .menu-title { + display: flex; + align-items: center; + flex-grow: 1; +} +.menu-item .menu-link .menu-badge { + flex-shrink: 0; + margin-left: 0.5rem; +} +.menu-item .menu-link .menu-arrow { + display: flex; + align-items: stretch; + position: relative; + overflow: hidden; + flex-shrink: 0; + margin-left: 0.5rem; + width: 0.8rem; + height: 0.8rem; +} +.menu-item .menu-link .menu-arrow:after { + display: block; + width: 100%; + content: " "; + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-item .menu-content { + padding: 0.65rem 1rem; +} + +.menu-item.show .menu-link .menu-arrow:after { + -webkit-backface-visibility: hidden; + transition: transform 0.3s ease; +} + +.menu-center { + justify-content: center; +} + +.menu-item.menu-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; +} +[direction=rtl] .menu-item.menu-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); +} + +.menu-sub-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; +} +.show.menu-dropdown > .menu-sub-dropdown, .menu-sub-dropdown.menu.show, .menu-sub-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; +} +.show.menu-dropdown > .menu-sub-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-dropdown[data-popper-placement=top-end], .menu-sub-dropdown.menu.show[data-popper-placement=top], .menu-sub-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; +} + +.menu-sub-accordion { + display: none; +} +.show:not(.menu-dropdown) > .menu-sub-accordion, .menu-sub-accordion.show { + display: flex; +} + +.menu-inline { + display: flex; +} + +.menu-fit > .menu-item > .menu-content, +.menu-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; +} + +.menu-column { + flex-direction: column; + width: 100%; +} + +.menu-row { + flex-direction: row; +} +.menu-row > .menu-item { + display: flex; + align-items: center; +} +.menu-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; +} +[direction=rtl] .menu-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); +} + +.menu-rounded .menu-link { + border-radius: 0.475rem; +} + +.menu-pill .menu-link { + border-radius: 50px; +} + +.menu-rounded-0 .menu-link { + border-radius: 0 !important; +} + +@media (min-width: 576px) { + .menu-item.menu-sm-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-sm-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-sm-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-sm-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-sm-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-sm-dropdown, .menu-sub-sm-dropdown.menu.show, .menu-sub-sm-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-sm-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-sm-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-sm-dropdown[data-popper-placement=top-end], .menu-sub-sm-dropdown.menu.show[data-popper-placement=top], .menu-sub-sm-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-sm-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-sm-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-sm-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-sm-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-sm-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-sm-accordion, .menu-sub-sm-accordion.show { + display: flex; + } + + .menu-sm-inline { + display: flex; + } + + .menu-sm-fit > .menu-item > .menu-content, +.menu-sm-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-sm-column { + flex-direction: column; + width: 100%; + } + + .menu-sm-row { + flex-direction: row; + } + .menu-sm-row > .menu-item { + display: flex; + align-items: center; + } + .menu-sm-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-sm-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sm-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-sm-pill .menu-link { + border-radius: 50px; + } + + .menu-sm-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (min-width: 768px) { + .menu-item.menu-md-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-md-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-md-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-md-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-md-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-md-dropdown, .menu-sub-md-dropdown.menu.show, .menu-sub-md-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-md-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-md-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-md-dropdown[data-popper-placement=top-end], .menu-sub-md-dropdown.menu.show[data-popper-placement=top], .menu-sub-md-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-md-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-md-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-md-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-md-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-md-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-md-accordion, .menu-sub-md-accordion.show { + display: flex; + } + + .menu-md-inline { + display: flex; + } + + .menu-md-fit > .menu-item > .menu-content, +.menu-md-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-md-column { + flex-direction: column; + width: 100%; + } + + .menu-md-row { + flex-direction: row; + } + .menu-md-row > .menu-item { + display: flex; + align-items: center; + } + .menu-md-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-md-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-md-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-md-pill .menu-link { + border-radius: 50px; + } + + .menu-md-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (min-width: 992px) { + .menu-item.menu-lg-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-lg-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-lg-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-lg-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-lg-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-lg-dropdown, .menu-sub-lg-dropdown.menu.show, .menu-sub-lg-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-lg-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-lg-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-lg-dropdown[data-popper-placement=top-end], .menu-sub-lg-dropdown.menu.show[data-popper-placement=top], .menu-sub-lg-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-lg-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-lg-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-lg-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-lg-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-lg-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-lg-accordion, .menu-sub-lg-accordion.show { + display: flex; + } + + .menu-lg-inline { + display: flex; + } + + .menu-lg-fit > .menu-item > .menu-content, +.menu-lg-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-lg-column { + flex-direction: column; + width: 100%; + } + + .menu-lg-row { + flex-direction: row; + } + .menu-lg-row > .menu-item { + display: flex; + align-items: center; + } + .menu-lg-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-lg-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-lg-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-lg-pill .menu-link { + border-radius: 50px; + } + + .menu-lg-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (min-width: 1200px) { + .menu-item.menu-xl-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-xl-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-xl-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-xl-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-xl-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-xl-dropdown, .menu-sub-xl-dropdown.menu.show, .menu-sub-xl-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-xl-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-xl-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-xl-dropdown[data-popper-placement=top-end], .menu-sub-xl-dropdown.menu.show[data-popper-placement=top], .menu-sub-xl-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-xl-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-xl-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-xl-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-xl-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-xl-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-xl-accordion, .menu-sub-xl-accordion.show { + display: flex; + } + + .menu-xl-inline { + display: flex; + } + + .menu-xl-fit > .menu-item > .menu-content, +.menu-xl-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-xl-column { + flex-direction: column; + width: 100%; + } + + .menu-xl-row { + flex-direction: row; + } + .menu-xl-row > .menu-item { + display: flex; + align-items: center; + } + .menu-xl-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-xl-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-xl-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-xl-pill .menu-link { + border-radius: 50px; + } + + .menu-xl-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (min-width: 1400px) { + .menu-item.menu-xxl-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-xxl-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-xxl-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-xxl-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-xxl-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-xxl-dropdown, .menu-sub-xxl-dropdown.menu.show, .menu-sub-xxl-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-xxl-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-xxl-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-xxl-dropdown[data-popper-placement=top-end], .menu-sub-xxl-dropdown.menu.show[data-popper-placement=top], .menu-sub-xxl-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-xxl-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-xxl-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-xxl-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-xxl-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-xxl-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-xxl-accordion, .menu-sub-xxl-accordion.show { + display: flex; + } + + .menu-xxl-inline { + display: flex; + } + + .menu-xxl-fit > .menu-item > .menu-content, +.menu-xxl-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-xxl-column { + flex-direction: column; + width: 100%; + } + + .menu-xxl-row { + flex-direction: row; + } + .menu-xxl-row > .menu-item { + display: flex; + align-items: center; + } + .menu-xxl-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-xxl-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-xxl-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-xxl-pill .menu-link { + border-radius: 50px; + } + + .menu-xxl-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (max-width: 575.98px) { + .menu-item.menu-sm-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-sm-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-sm-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-sm-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-sm-down-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-sm-down-dropdown, .menu-sub-sm-down-dropdown.menu.show, .menu-sub-sm-down-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-sm-down-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-sm-down-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-sm-down-dropdown[data-popper-placement=top-end], .menu-sub-sm-down-dropdown.menu.show[data-popper-placement=top], .menu-sub-sm-down-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-sm-down-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-sm-down-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-sm-down-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-sm-down-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-sm-down-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-sm-down-accordion, .menu-sub-sm-down-accordion.show { + display: flex; + } + + .menu-sm-down-inline { + display: flex; + } + + .menu-sm-down-fit > .menu-item > .menu-content, +.menu-sm-down-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-sm-down-column { + flex-direction: column; + width: 100%; + } + + .menu-sm-down-row { + flex-direction: row; + } + .menu-sm-down-row > .menu-item { + display: flex; + align-items: center; + } + .menu-sm-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-sm-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sm-down-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-sm-down-pill .menu-link { + border-radius: 50px; + } + + .menu-sm-down-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (max-width: 767.98px) { + .menu-item.menu-md-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-md-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-md-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-md-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-md-down-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-md-down-dropdown, .menu-sub-md-down-dropdown.menu.show, .menu-sub-md-down-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-md-down-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-md-down-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-md-down-dropdown[data-popper-placement=top-end], .menu-sub-md-down-dropdown.menu.show[data-popper-placement=top], .menu-sub-md-down-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-md-down-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-md-down-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-md-down-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-md-down-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-md-down-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-md-down-accordion, .menu-sub-md-down-accordion.show { + display: flex; + } + + .menu-md-down-inline { + display: flex; + } + + .menu-md-down-fit > .menu-item > .menu-content, +.menu-md-down-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-md-down-column { + flex-direction: column; + width: 100%; + } + + .menu-md-down-row { + flex-direction: row; + } + .menu-md-down-row > .menu-item { + display: flex; + align-items: center; + } + .menu-md-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-md-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-md-down-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-md-down-pill .menu-link { + border-radius: 50px; + } + + .menu-md-down-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (max-width: 991.98px) { + .menu-item.menu-lg-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-lg-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-lg-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-lg-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-lg-down-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-lg-down-dropdown, .menu-sub-lg-down-dropdown.menu.show, .menu-sub-lg-down-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-lg-down-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-lg-down-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-lg-down-dropdown[data-popper-placement=top-end], .menu-sub-lg-down-dropdown.menu.show[data-popper-placement=top], .menu-sub-lg-down-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-lg-down-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-lg-down-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-lg-down-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-lg-down-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-lg-down-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-lg-down-accordion, .menu-sub-lg-down-accordion.show { + display: flex; + } + + .menu-lg-down-inline { + display: flex; + } + + .menu-lg-down-fit > .menu-item > .menu-content, +.menu-lg-down-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-lg-down-column { + flex-direction: column; + width: 100%; + } + + .menu-lg-down-row { + flex-direction: row; + } + .menu-lg-down-row > .menu-item { + display: flex; + align-items: center; + } + .menu-lg-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-lg-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-lg-down-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-lg-down-pill .menu-link { + border-radius: 50px; + } + + .menu-lg-down-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (max-width: 1199.98px) { + .menu-item.menu-xl-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-xl-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-xl-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-xl-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-xl-down-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-xl-down-dropdown, .menu-sub-xl-down-dropdown.menu.show, .menu-sub-xl-down-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-xl-down-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-xl-down-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-xl-down-dropdown[data-popper-placement=top-end], .menu-sub-xl-down-dropdown.menu.show[data-popper-placement=top], .menu-sub-xl-down-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-xl-down-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-xl-down-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-xl-down-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-xl-down-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-xl-down-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-xl-down-accordion, .menu-sub-xl-down-accordion.show { + display: flex; + } + + .menu-xl-down-inline { + display: flex; + } + + .menu-xl-down-fit > .menu-item > .menu-content, +.menu-xl-down-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-xl-down-column { + flex-direction: column; + width: 100%; + } + + .menu-xl-down-row { + flex-direction: row; + } + .menu-xl-down-row > .menu-item { + display: flex; + align-items: center; + } + .menu-xl-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-xl-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-xl-down-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-xl-down-pill .menu-link { + border-radius: 50px; + } + + .menu-xl-down-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +@media (max-width: 1399.98px) { + .menu-item.menu-xxl-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, .menu-item.menu-xxl-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-item.menu-xxl-down-accordion.showing:not(.menu-dropdown) > .menu-link .menu-arrow:after, [direction=rtl] .menu-item.menu-xxl-down-accordion.show:not(.hiding):not(.menu-dropdown) > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-sub-xxl-down-dropdown { + display: none; + border-radius: 0.475rem; + background-color: #ffffff; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + z-index: 105; + } + .show.menu-dropdown > .menu-sub-xxl-down-dropdown, .menu-sub-xxl-down-dropdown.menu.show, .menu-sub-xxl-down-dropdown.show[data-popper-placement] { + display: flex; + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-up 0.3s ease 1; + } + .show.menu-dropdown > .menu-sub-xxl-down-dropdown[data-popper-placement=top], .show.menu-dropdown > .menu-sub-xxl-down-dropdown[data-popper-placement=top-start], .show.menu-dropdown > .menu-sub-xxl-down-dropdown[data-popper-placement=top-end], .menu-sub-xxl-down-dropdown.menu.show[data-popper-placement=top], .menu-sub-xxl-down-dropdown.menu.show[data-popper-placement=top-start], .menu-sub-xxl-down-dropdown.menu.show[data-popper-placement=top-end], .menu-sub-xxl-down-dropdown.show[data-popper-placement][data-popper-placement=top], .menu-sub-xxl-down-dropdown.show[data-popper-placement][data-popper-placement=top-start], .menu-sub-xxl-down-dropdown.show[data-popper-placement][data-popper-placement=top-end] { + animation: menu-sub-dropdown-animation-fade-in 0.3s ease 1, menu-sub-dropdown-animation-move-down 0.3s ease 1; + } + + .menu-sub-xxl-down-accordion { + display: none; + } + .show:not(.menu-dropdown) > .menu-sub-xxl-down-accordion, .menu-sub-xxl-down-accordion.show { + display: flex; + } + + .menu-xxl-down-inline { + display: flex; + } + + .menu-xxl-down-fit > .menu-item > .menu-content, +.menu-xxl-down-fit > .menu-item > .menu-link { + padding-left: 0 !important; + padding-right: 0 !important; + } + + .menu-xxl-down-column { + flex-direction: column; + width: 100%; + } + + .menu-xxl-down-row { + flex-direction: row; + } + .menu-xxl-down-row > .menu-item { + display: flex; + align-items: center; + } + .menu-xxl-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(90deg); + transition: transform 0.3s ease; + } + [direction=rtl] .menu-xxl-down-row > .menu-item > .menu-link .menu-arrow:after { + /*rtl:ignore*/ + transform: rotateZ(-90deg); + } + + .menu-xxl-down-rounded .menu-link { + border-radius: 0.475rem; + } + + .menu-xxl-down-pill .menu-link { + border-radius: 50px; + } + + .menu-xxl-down-rounded-0 .menu-link { + border-radius: 0 !important; + } +} +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(1rem + 1rem); +} +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(2rem + 1rem); +} +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(3rem + 1rem); +} +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(4rem + 1rem); +} +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: 1rem; + padding-right: 0; +} +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(2rem); + padding-right: 0; +} +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(3rem); + padding-right: 0; +} +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(4rem); + padding-right: 0; +} + +@keyframes menu-sub-dropdown-animation-fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes menu-sub-dropdown-animation-move-up { + from { + margin-top: 0.75rem; + } + to { + margin-top: 0; + } +} +@keyframes menu-sub-dropdown-animation-move-down { + from { + margin-bottom: 0.75rem; + } + to { + margin-bottom: 0; + } +} +.menu-white .menu-item .menu-link { + color: #ffffff; +} +.menu-white .menu-item .menu-link .menu-title { + color: #ffffff; +} +.menu-white .menu-item .menu-link .menu-icon i { + color: #ffffff; +} +.menu-white .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.menu-white .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-white .menu-item .menu-link .menu-bullet .bullet { + background-color: #ffffff; +} +.menu-white .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-white .menu-item .menu-link { + color: #ffffff; +} +.menu-title-white .menu-item .menu-link .menu-title { + color: #ffffff; +} + +.menu-icon-white .menu-item .menu-link .menu-icon i { + color: #ffffff; +} +.menu-icon-white .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.menu-icon-white .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-white .menu-item .menu-link .menu-bullet .bullet { + background-color: #ffffff; +} + +.menu-arrow-white .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-primary .menu-item .menu-link { + color: #7239EA; +} +.menu-primary .menu-item .menu-link .menu-title { + color: #7239EA; +} +.menu-primary .menu-item .menu-link .menu-icon i { + color: #7239EA; +} +.menu-primary .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-primary .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-primary .menu-item .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-primary .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-primary .menu-item .menu-link { + color: #7239EA; +} +.menu-title-primary .menu-item .menu-link .menu-title { + color: #7239EA; +} + +.menu-icon-primary .menu-item .menu-link .menu-icon i { + color: #7239EA; +} +.menu-icon-primary .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-icon-primary .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-primary .menu-item .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} + +.menu-arrow-primary .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-secondary .menu-item .menu-link { + color: #E4E6EF; +} +.menu-secondary .menu-item .menu-link .menu-title { + color: #E4E6EF; +} +.menu-secondary .menu-item .menu-link .menu-icon i { + color: #E4E6EF; +} +.menu-secondary .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.menu-secondary .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-secondary .menu-item .menu-link .menu-bullet .bullet { + background-color: #E4E6EF; +} +.menu-secondary .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-secondary .menu-item .menu-link { + color: #E4E6EF; +} +.menu-title-secondary .menu-item .menu-link .menu-title { + color: #E4E6EF; +} + +.menu-icon-secondary .menu-item .menu-link .menu-icon i { + color: #E4E6EF; +} +.menu-icon-secondary .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.menu-icon-secondary .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-secondary .menu-item .menu-link .menu-bullet .bullet { + background-color: #E4E6EF; +} + +.menu-arrow-secondary .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-light .menu-item .menu-link { + color: #F5F8FA; +} +.menu-light .menu-item .menu-link .menu-title { + color: #F5F8FA; +} +.menu-light .menu-item .menu-link .menu-icon i { + color: #F5F8FA; +} +.menu-light .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.menu-light .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-light .menu-item .menu-link .menu-bullet .bullet { + background-color: #F5F8FA; +} +.menu-light .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-light .menu-item .menu-link { + color: #F5F8FA; +} +.menu-title-light .menu-item .menu-link .menu-title { + color: #F5F8FA; +} + +.menu-icon-light .menu-item .menu-link .menu-icon i { + color: #F5F8FA; +} +.menu-icon-light .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.menu-icon-light .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-light .menu-item .menu-link .menu-bullet .bullet { + background-color: #F5F8FA; +} + +.menu-arrow-light .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-success .menu-item .menu-link { + color: #50CD89; +} +.menu-success .menu-item .menu-link .menu-title { + color: #50CD89; +} +.menu-success .menu-item .menu-link .menu-icon i { + color: #50CD89; +} +.menu-success .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.menu-success .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-success .menu-item .menu-link .menu-bullet .bullet { + background-color: #50CD89; +} +.menu-success .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%2350CD89'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%2350CD89'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-success .menu-item .menu-link { + color: #50CD89; +} +.menu-title-success .menu-item .menu-link .menu-title { + color: #50CD89; +} + +.menu-icon-success .menu-item .menu-link .menu-icon i { + color: #50CD89; +} +.menu-icon-success .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.menu-icon-success .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-success .menu-item .menu-link .menu-bullet .bullet { + background-color: #50CD89; +} + +.menu-arrow-success .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%2350CD89'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%2350CD89'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-info .menu-item .menu-link { + color: #009EF7; +} +.menu-info .menu-item .menu-link .menu-title { + color: #009EF7; +} +.menu-info .menu-item .menu-link .menu-icon i { + color: #009EF7; +} +.menu-info .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.menu-info .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-info .menu-item .menu-link .menu-bullet .bullet { + background-color: #009EF7; +} +.menu-info .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23009EF7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23009EF7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-info .menu-item .menu-link { + color: #009EF7; +} +.menu-title-info .menu-item .menu-link .menu-title { + color: #009EF7; +} + +.menu-icon-info .menu-item .menu-link .menu-icon i { + color: #009EF7; +} +.menu-icon-info .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.menu-icon-info .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-info .menu-item .menu-link .menu-bullet .bullet { + background-color: #009EF7; +} + +.menu-arrow-info .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23009EF7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23009EF7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-warning .menu-item .menu-link { + color: #FFC700; +} +.menu-warning .menu-item .menu-link .menu-title { + color: #FFC700; +} +.menu-warning .menu-item .menu-link .menu-icon i { + color: #FFC700; +} +.menu-warning .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.menu-warning .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-warning .menu-item .menu-link .menu-bullet .bullet { + background-color: #FFC700; +} +.menu-warning .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFC700'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFC700'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-warning .menu-item .menu-link { + color: #FFC700; +} +.menu-title-warning .menu-item .menu-link .menu-title { + color: #FFC700; +} + +.menu-icon-warning .menu-item .menu-link .menu-icon i { + color: #FFC700; +} +.menu-icon-warning .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.menu-icon-warning .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-warning .menu-item .menu-link .menu-bullet .bullet { + background-color: #FFC700; +} + +.menu-arrow-warning .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFC700'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFC700'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-danger .menu-item .menu-link { + color: #F1416C; +} +.menu-danger .menu-item .menu-link .menu-title { + color: #F1416C; +} +.menu-danger .menu-item .menu-link .menu-icon i { + color: #F1416C; +} +.menu-danger .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.menu-danger .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-danger .menu-item .menu-link .menu-bullet .bullet { + background-color: #F1416C; +} +.menu-danger .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F1416C'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F1416C'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-danger .menu-item .menu-link { + color: #F1416C; +} +.menu-title-danger .menu-item .menu-link .menu-title { + color: #F1416C; +} + +.menu-icon-danger .menu-item .menu-link .menu-icon i { + color: #F1416C; +} +.menu-icon-danger .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.menu-icon-danger .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-danger .menu-item .menu-link .menu-bullet .bullet { + background-color: #F1416C; +} + +.menu-arrow-danger .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F1416C'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F1416C'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-dark .menu-item .menu-link { + color: #181C32; +} +.menu-dark .menu-item .menu-link .menu-title { + color: #181C32; +} +.menu-dark .menu-item .menu-link .menu-icon i { + color: #181C32; +} +.menu-dark .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.menu-dark .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-dark .menu-item .menu-link .menu-bullet .bullet { + background-color: #181C32; +} +.menu-dark .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-dark .menu-item .menu-link { + color: #181C32; +} +.menu-title-dark .menu-item .menu-link .menu-title { + color: #181C32; +} + +.menu-icon-dark .menu-item .menu-link .menu-icon i { + color: #181C32; +} +.menu-icon-dark .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.menu-icon-dark .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-dark .menu-item .menu-link .menu-bullet .bullet { + background-color: #181C32; +} + +.menu-arrow-dark .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-muted .menu-item .menu-link { + color: #A1A5B7; +} +.menu-muted .menu-item .menu-link .menu-title { + color: #A1A5B7; +} +.menu-muted .menu-item .menu-link .menu-icon i { + color: #A1A5B7; +} +.menu-muted .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.menu-muted .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-muted .menu-item .menu-link .menu-bullet .bullet { + background-color: #A1A5B7; +} +.menu-muted .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-muted .menu-item .menu-link { + color: #A1A5B7; +} +.menu-title-muted .menu-item .menu-link .menu-title { + color: #A1A5B7; +} + +.menu-icon-muted .menu-item .menu-link .menu-icon i { + color: #A1A5B7; +} +.menu-icon-muted .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.menu-icon-muted .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-muted .menu-item .menu-link .menu-bullet .bullet { + background-color: #A1A5B7; +} + +.menu-arrow-muted .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-100 .menu-item .menu-link { + color: #F5F8FA; +} +.menu-gray-100 .menu-item .menu-link .menu-title { + color: #F5F8FA; +} +.menu-gray-100 .menu-item .menu-link .menu-icon i { + color: #F5F8FA; +} +.menu-gray-100 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.menu-gray-100 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-100 .menu-item .menu-link .menu-bullet .bullet { + background-color: #F5F8FA; +} +.menu-gray-100 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-100 .menu-item .menu-link { + color: #F5F8FA; +} +.menu-title-gray-100 .menu-item .menu-link .menu-title { + color: #F5F8FA; +} + +.menu-icon-gray-100 .menu-item .menu-link .menu-icon i { + color: #F5F8FA; +} +.menu-icon-gray-100 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.menu-icon-gray-100 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-100 .menu-item .menu-link .menu-bullet .bullet { + background-color: #F5F8FA; +} + +.menu-arrow-gray-100 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23F5F8FA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-200 .menu-item .menu-link { + color: #EFF2F5; +} +.menu-gray-200 .menu-item .menu-link .menu-title { + color: #EFF2F5; +} +.menu-gray-200 .menu-item .menu-link .menu-icon i { + color: #EFF2F5; +} +.menu-gray-200 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.menu-gray-200 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-200 .menu-item .menu-link .menu-bullet .bullet { + background-color: #EFF2F5; +} +.menu-gray-200 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23EFF2F5'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23EFF2F5'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-200 .menu-item .menu-link { + color: #EFF2F5; +} +.menu-title-gray-200 .menu-item .menu-link .menu-title { + color: #EFF2F5; +} + +.menu-icon-gray-200 .menu-item .menu-link .menu-icon i { + color: #EFF2F5; +} +.menu-icon-gray-200 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.menu-icon-gray-200 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-200 .menu-item .menu-link .menu-bullet .bullet { + background-color: #EFF2F5; +} + +.menu-arrow-gray-200 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23EFF2F5'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23EFF2F5'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-300 .menu-item .menu-link { + color: #E4E6EF; +} +.menu-gray-300 .menu-item .menu-link .menu-title { + color: #E4E6EF; +} +.menu-gray-300 .menu-item .menu-link .menu-icon i { + color: #E4E6EF; +} +.menu-gray-300 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.menu-gray-300 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-300 .menu-item .menu-link .menu-bullet .bullet { + background-color: #E4E6EF; +} +.menu-gray-300 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-300 .menu-item .menu-link { + color: #E4E6EF; +} +.menu-title-gray-300 .menu-item .menu-link .menu-title { + color: #E4E6EF; +} + +.menu-icon-gray-300 .menu-item .menu-link .menu-icon i { + color: #E4E6EF; +} +.menu-icon-gray-300 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.menu-icon-gray-300 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-300 .menu-item .menu-link .menu-bullet .bullet { + background-color: #E4E6EF; +} + +.menu-arrow-gray-300 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23E4E6EF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-400 .menu-item .menu-link { + color: #B5B5C3; +} +.menu-gray-400 .menu-item .menu-link .menu-title { + color: #B5B5C3; +} +.menu-gray-400 .menu-item .menu-link .menu-icon i { + color: #B5B5C3; +} +.menu-gray-400 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.menu-gray-400 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-400 .menu-item .menu-link .menu-bullet .bullet { + background-color: #B5B5C3; +} +.menu-gray-400 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-400 .menu-item .menu-link { + color: #B5B5C3; +} +.menu-title-gray-400 .menu-item .menu-link .menu-title { + color: #B5B5C3; +} + +.menu-icon-gray-400 .menu-item .menu-link .menu-icon i { + color: #B5B5C3; +} +.menu-icon-gray-400 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.menu-icon-gray-400 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-400 .menu-item .menu-link .menu-bullet .bullet { + background-color: #B5B5C3; +} + +.menu-arrow-gray-400 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23B5B5C3'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-500 .menu-item .menu-link { + color: #A1A5B7; +} +.menu-gray-500 .menu-item .menu-link .menu-title { + color: #A1A5B7; +} +.menu-gray-500 .menu-item .menu-link .menu-icon i { + color: #A1A5B7; +} +.menu-gray-500 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.menu-gray-500 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-500 .menu-item .menu-link .menu-bullet .bullet { + background-color: #A1A5B7; +} +.menu-gray-500 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-500 .menu-item .menu-link { + color: #A1A5B7; +} +.menu-title-gray-500 .menu-item .menu-link .menu-title { + color: #A1A5B7; +} + +.menu-icon-gray-500 .menu-item .menu-link .menu-icon i { + color: #A1A5B7; +} +.menu-icon-gray-500 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.menu-icon-gray-500 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-500 .menu-item .menu-link .menu-bullet .bullet { + background-color: #A1A5B7; +} + +.menu-arrow-gray-500 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23A1A5B7'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-600 .menu-item .menu-link { + color: #7E8299; +} +.menu-gray-600 .menu-item .menu-link .menu-title { + color: #7E8299; +} +.menu-gray-600 .menu-item .menu-link .menu-icon i { + color: #7E8299; +} +.menu-gray-600 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.menu-gray-600 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-600 .menu-item .menu-link .menu-bullet .bullet { + background-color: #7E8299; +} +.menu-gray-600 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237E8299'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237E8299'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-600 .menu-item .menu-link { + color: #7E8299; +} +.menu-title-gray-600 .menu-item .menu-link .menu-title { + color: #7E8299; +} + +.menu-icon-gray-600 .menu-item .menu-link .menu-icon i { + color: #7E8299; +} +.menu-icon-gray-600 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.menu-icon-gray-600 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-600 .menu-item .menu-link .menu-bullet .bullet { + background-color: #7E8299; +} + +.menu-arrow-gray-600 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237E8299'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237E8299'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-700 .menu-item .menu-link { + color: #5E6278; +} +.menu-gray-700 .menu-item .menu-link .menu-title { + color: #5E6278; +} +.menu-gray-700 .menu-item .menu-link .menu-icon i { + color: #5E6278; +} +.menu-gray-700 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.menu-gray-700 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-700 .menu-item .menu-link .menu-bullet .bullet { + background-color: #5E6278; +} +.menu-gray-700 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-700 .menu-item .menu-link { + color: #5E6278; +} +.menu-title-gray-700 .menu-item .menu-link .menu-title { + color: #5E6278; +} + +.menu-icon-gray-700 .menu-item .menu-link .menu-icon i { + color: #5E6278; +} +.menu-icon-gray-700 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.menu-icon-gray-700 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-700 .menu-item .menu-link .menu-bullet .bullet { + background-color: #5E6278; +} + +.menu-arrow-gray-700 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%235E6278'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-800 .menu-item .menu-link { + color: #3F4254; +} +.menu-gray-800 .menu-item .menu-link .menu-title { + color: #3F4254; +} +.menu-gray-800 .menu-item .menu-link .menu-icon i { + color: #3F4254; +} +.menu-gray-800 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.menu-gray-800 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-800 .menu-item .menu-link .menu-bullet .bullet { + background-color: #3F4254; +} +.menu-gray-800 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%233F4254'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%233F4254'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-800 .menu-item .menu-link { + color: #3F4254; +} +.menu-title-gray-800 .menu-item .menu-link .menu-title { + color: #3F4254; +} + +.menu-icon-gray-800 .menu-item .menu-link .menu-icon i { + color: #3F4254; +} +.menu-icon-gray-800 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.menu-icon-gray-800 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-800 .menu-item .menu-link .menu-bullet .bullet { + background-color: #3F4254; +} + +.menu-arrow-gray-800 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%233F4254'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%233F4254'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-gray-900 .menu-item .menu-link { + color: #181C32; +} +.menu-gray-900 .menu-item .menu-link .menu-title { + color: #181C32; +} +.menu-gray-900 .menu-item .menu-link .menu-icon i { + color: #181C32; +} +.menu-gray-900 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.menu-gray-900 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-gray-900 .menu-item .menu-link .menu-bullet .bullet { + background-color: #181C32; +} +.menu-gray-900 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-title-gray-900 .menu-item .menu-link { + color: #181C32; +} +.menu-title-gray-900 .menu-item .menu-link .menu-title { + color: #181C32; +} + +.menu-icon-gray-900 .menu-item .menu-link .menu-icon i { + color: #181C32; +} +.menu-icon-gray-900 .menu-item .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.menu-icon-gray-900 .menu-item .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-bullet-gray-900 .menu-item .menu-link .menu-bullet .bullet { + background-color: #181C32; +} + +.menu-arrow-gray-900 .menu-item .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23181C32'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-hover-bg .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-bg .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} + +.menu-show-bg .menu-item.here > .menu-link, .menu-show-bg .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} + +.menu-active-bg .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} + +.menu-state-bg .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-bg .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} +.menu-state-bg .menu-item.here > .menu-link, .menu-state-bg .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} +.menu-state-bg .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.8); +} + +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-hover-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-hover-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-show-primary .menu-item.here > .menu-link, .menu-show-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-show-primary .menu-item.here > .menu-link .menu-title, .menu-show-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} +.menu-show-primary .menu-item.here > .menu-link .menu-icon i, .menu-show-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-show-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-show-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-show-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-show-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-show-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-show-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-show-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-show-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-active-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-active-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} +.menu-active-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-active-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-active-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-active-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-active-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-state-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-primary .menu-item.here > .menu-link, .menu-state-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-primary .menu-item.here > .menu-link .menu-title, .menu-state-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} +.menu-state-primary .menu-item.here > .menu-link .menu-icon i, .menu-state-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-state-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-state-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-state-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-state-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-state-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} +.menu-state-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-state-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #FFFFFF; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #FFFFFF; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-hover-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-hover-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-show-bg-primary .menu-item.here > .menu-link, .menu-show-bg-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-title, .menu-show-bg-primary .menu-item.show > .menu-link .menu-title { + color: #FFFFFF; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-icon i, .menu-show-bg-primary .menu-item.show > .menu-link .menu-icon i { + color: #FFFFFF; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-show-bg-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-show-bg-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-show-bg-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-show-bg-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-show-bg-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-active-bg-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-title { + color: #FFFFFF; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-icon i { + color: #FFFFFF; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-active-bg-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-state-bg-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-bg-primary .menu-item.here > .menu-link, .menu-state-bg-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-title, .menu-state-bg-primary .menu-item.show > .menu-link .menu-title { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-icon i, .menu-state-bg-primary .menu-item.show > .menu-link .menu-icon i { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-state-bg-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-state-bg-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-state-bg-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-state-bg-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-state-bg-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-bg-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-title { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-icon i { + color: #FFFFFF; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #FFFFFF; +} +.menu-state-bg-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-show-bg-light-primary .menu-item.here > .menu-link, .menu-show-bg-light-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-title, .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-icon i, .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-show-bg-light-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-show-bg-light-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-hover-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-hover-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-active-bg-light-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-active-bg-light-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-state-bg-light-primary .menu-item.here > .menu-link, .menu-state-bg-light-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-title, .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-icon i, .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-state-bg-light-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-bg-light-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-state-bg-light-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-bg-light-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-bg-light-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-hover-title-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-title-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-hover-title-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-hover-title-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} + +.menu-show-title-primary .menu-item.here > .menu-link, .menu-show-title-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-show-title-primary .menu-item.here > .menu-link .menu-title, .menu-show-title-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} + +.menu-active-title-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-active-title-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} + +.menu-state-title-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-title-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-title-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-title, +.menu-state-title-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-title { + color: #7239EA; +} +.menu-state-title-primary .menu-item.here > .menu-link, .menu-state-title-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-title-primary .menu-item.here > .menu-link .menu-title, .menu-state-title-primary .menu-item.show > .menu-link .menu-title { + color: #7239EA; +} +.menu-state-title-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; + color: #7239EA; +} +.menu-state-title-primary .menu-item .menu-link.active .menu-title { + color: #7239EA; +} + +.menu-hover-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-hover-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-hover-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-hover-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-hover-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-hover-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-hover-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-show-icon-primary .menu-item.here > .menu-link, .menu-show-icon-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-show-icon-primary .menu-item.here > .menu-link .menu-icon i, .menu-show-icon-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-show-icon-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-show-icon-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-show-icon-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-show-icon-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-active-icon-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-active-icon-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-active-icon-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-active-icon-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-state-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon i, +.menu-state-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon i { + color: #7239EA; +} +.menu-state-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), +.menu-state-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-icon-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), +.menu-state-icon-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-icon-primary .menu-item.here > .menu-link, .menu-state-icon-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-icon-primary .menu-item.here > .menu-link .menu-icon i, .menu-state-icon-primary .menu-item.show > .menu-link .menu-icon i { + color: #7239EA; +} +.menu-state-icon-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g), .menu-state-icon-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-icon-primary .menu-item.here > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g), .menu-state-icon-primary .menu-item.show > .menu-link .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.menu-state-icon-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-icon-primary .menu-item .menu-link.active .menu-icon i { + color: #7239EA; +} +.menu-state-icon-primary .menu-item .menu-link.active .menu-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.menu-state-icon-primary .menu-item .menu-link.active .menu-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.menu-hover-bullet-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-bullet-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-hover-bullet-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-hover-bullet-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} + +.menu-show-bullet-primary .menu-item.here > .menu-link, .menu-show-bullet-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-show-bullet-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-show-bullet-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} + +.menu-active-bullet-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-active-bullet-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} + +.menu-state-bullet-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-bullet-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-bullet-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-bullet .bullet, +.menu-state-bullet-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-bullet-primary .menu-item.here > .menu-link, .menu-state-bullet-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-bullet-primary .menu-item.here > .menu-link .menu-bullet .bullet, .menu-state-bullet-primary .menu-item.show > .menu-link .menu-bullet .bullet { + background-color: #7239EA; +} +.menu-state-bullet-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-bullet-primary .menu-item .menu-link.active .menu-bullet .bullet { + background-color: #7239EA; +} + +.menu-hover-arrow-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-hover-arrow-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-hover-arrow-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-hover-arrow-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-show-arrow-primary .menu-item.here > .menu-link, .menu-show-arrow-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-show-arrow-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-show-arrow-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-active-arrow-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-active-arrow-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.menu-state-arrow-primary .menu-item.hover > .menu-link:not(.disabled):not(.active), +.menu-state-arrow-primary .menu-item .menu-link:hover:not(.disabled):not(.active) { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-arrow-primary .menu-item.hover > .menu-link:not(.disabled):not(.active) .menu-arrow:after, +.menu-state-arrow-primary .menu-item .menu-link:hover:not(.disabled):not(.active) .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-arrow-primary .menu-item.here > .menu-link, .menu-state-arrow-primary .menu-item.show > .menu-link { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-arrow-primary .menu-item.here > .menu-link .menu-arrow:after, .menu-state-arrow-primary .menu-item.show > .menu-link .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} +.menu-state-arrow-primary .menu-item .menu-link.active { + transition: color 0.2s ease, background-color 0.2s ease; +} +.menu-state-arrow-primary .menu-item .menu-link.active .menu-arrow:after { + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.06463 4.42111C1.96161 4.22088 1.9809 3.9637 2.12863 3.78597L5.12847 0.177181C5.31402 -0.046034 5.63049 -0.060261 5.83532 0.145404C6.04015 0.351069 6.05578 0.698744 5.87023 0.921959L3.19406 4.14137L5.84414 7.06417C6.03896 7.27904 6.03835 7.62686 5.84278 7.84105C5.64721 8.05524 5.33073 8.05469 5.13591 7.83982L2.14806 4.54449C2.1141 4.50704 2.08629 4.46541 2.06463 4.42111Z'/%3e%3c/svg%3e"); + /*rtl:begin:remove*/ + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 9' fill='%237239EA'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.93537 4.57889C6.03839 4.77912 6.0191 5.0363 5.87137 5.21403L2.87153 8.82282C2.68598 9.04603 2.36951 9.06026 2.16468 8.8546C1.95985 8.64893 1.94422 8.30126 2.12977 8.07804L4.80594 4.85863L2.15586 1.93583C1.96104 1.72096 1.96165 1.37314 2.15722 1.15895C2.35279 0.944757 2.66927 0.945311 2.86409 1.16018L5.85194 4.45551C5.8859 4.49296 5.91371 4.53459 5.93537 4.57889Z'/%3e%3c/svg%3e"); + /*rtl:end:remove*/ +} + +.anchor { + display: flex; + align-items: center; +} +.anchor a { + position: relative; + display: none; + align-items: center; + justify-content: flex-start; + height: 1em; + width: 1.25em; + margin-left: -1.25em; + font-weight: 500; + font-size: 0.8em; + color: #A1A5B7; + transition: all 0.2s ease; +} +.anchor a:before { + content: "#"; +} +.anchor:hover a { + display: flex; +} +.anchor:hover a:hover { + color: #7239EA; + transition: all 0.2s ease; +} + +.card { + border: 0; + box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02); +} +.card .card-header { + display: flex; + justify-content: space-between; + align-items: stretch; + flex-wrap: wrap; + min-height: 70px; + padding: 0 2.25rem; + background-color: transparent; + border-bottom: 1px solid #EFF2F5; +} +.card .card-header .card-title { + display: flex; + align-items: center; + margin: 0.5rem; + margin-left: 0; +} +.card .card-header .card-title.flex-column { + align-items: flex-start; + justify-content: center; +} +.card .card-header .card-title .card-icon { + margin-right: 0.75rem; + line-height: 0; +} +.card .card-header .card-title .card-icon i { + font-size: 1.25rem; + color: #7E8299; + line-height: 0; +} +.card .card-header .card-title .card-icon i:after, .card .card-header .card-title .card-icon i:before { + line-height: 0; +} +.card .card-header .card-title .card-icon .svg-icon svg { + height: 24px; + width: 24px; +} +.card .card-header .card-title .card-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.card .card-header .card-title .card-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.card .card-header .card-title, +.card .card-header .card-title .card-label { + font-weight: 500; + font-size: 1.275rem; + color: #181C32; +} +.card .card-header .card-title .card-label { + margin: 0 0.75rem 0 0; + flex-wrap: wrap; +} +.card .card-header .card-title small, .card .card-header .card-title .small { + color: #A1A5B7; + font-size: 1rem; +} +.card .card-header .card-title h1, .card .card-header .card-title .h1, .card .card-header .card-title h2, .card .card-header .card-title .h2, .card .card-header .card-title h3, .card .card-header .card-title .h3, .card .card-header .card-title h4, .card .card-header .card-title .h4, .card .card-header .card-title h5, .card .card-header .card-title .h5, .card .card-header .card-title h6, .card .card-header .card-title .h6 { + margin-bottom: 0; +} +.card .card-header .card-toolbar { + display: flex; + align-items: center; + margin: 0.5rem 0; + flex-wrap: wrap; +} +.card .card-body { + padding: 2rem 2.25rem; +} +.card .card-footer { + padding: 2rem 2.25rem; + background-color: transparent; + border-top: 1px solid #EFF2F5; +} +.card .card-scroll { + position: relative; + overflow: auto; +} +.card.card-px-0 .card-header, +.card.card-px-0 .card-body, +.card.card-px-0 .card-footer { + padding-left: 0; + padding-right: 0; +} +.card.card-py-0 .card-header, +.card.card-py-0 .card-body, +.card.card-py-0 .card-footer { + padding-top: 0; + padding-bottom: 0; +} +.card.card-p-0 .card-header, +.card.card-p-0 .card-body, +.card.card-p-0 .card-footer { + padding: 0; +} +.card.card-dashed { + box-shadow: none; + border: 1px dashed #E4E6EF; +} +.card.card-dashed > .card-header { + border-bottom: 1px dashed #E4E6EF; +} +.card.card-dashed > .card-footer { + border-top: 1px dashed #E4E6EF; +} +.card.card-bordered { + box-shadow: none; + border: 1px solid #EFF2F5; +} +.card.card-flush > .card-header { + border-bottom: 0; +} +.card.card-flush > .card-footer { + border-top: 0; +} +.card.card-shadow { + box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02); + border: 0; +} + +.card.card-stretch { + height: calc(100% - var(--bs-gutter-y)); +} +.card.card-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); +} +.card.card-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); +} +.card.card-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); +} +.card.card-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); +} +.card .card-header-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; +} +.card .card-header-stretch .card-toolbar { + margin: 0; + align-items: stretch; +} +@media (min-width: 576px) { + .card.card-sm-stretch { + height: calc(100% - var(--bs-gutter-y)); + } + .card.card-sm-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); + } + .card.card-sm-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); + } + .card.card-sm-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); + } + .card.card-sm-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); + } + .card .card-header-sm-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; + } + .card .card-header-sm-stretch .card-toolbar { + margin: 0; + align-items: stretch; + } +} +@media (min-width: 768px) { + .card.card-md-stretch { + height: calc(100% - var(--bs-gutter-y)); + } + .card.card-md-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); + } + .card.card-md-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); + } + .card.card-md-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); + } + .card.card-md-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); + } + .card .card-header-md-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; + } + .card .card-header-md-stretch .card-toolbar { + margin: 0; + align-items: stretch; + } +} +@media (min-width: 992px) { + .card.card-lg-stretch { + height: calc(100% - var(--bs-gutter-y)); + } + .card.card-lg-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); + } + .card.card-lg-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); + } + .card.card-lg-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); + } + .card.card-lg-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); + } + .card .card-header-lg-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; + } + .card .card-header-lg-stretch .card-toolbar { + margin: 0; + align-items: stretch; + } +} +@media (min-width: 1200px) { + .card.card-xl-stretch { + height: calc(100% - var(--bs-gutter-y)); + } + .card.card-xl-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); + } + .card.card-xl-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); + } + .card.card-xl-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); + } + .card.card-xl-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); + } + .card .card-header-xl-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; + } + .card .card-header-xl-stretch .card-toolbar { + margin: 0; + align-items: stretch; + } +} +@media (min-width: 1400px) { + .card.card-xxl-stretch { + height: calc(100% - var(--bs-gutter-y)); + } + .card.card-xxl-stretch-75 { + height: calc(75% - var(--bs-gutter-y)); + } + .card.card-xxl-stretch-50 { + height: calc(50% - var(--bs-gutter-y)); + } + .card.card-xxl-stretch-33 { + height: calc(33.333% - var(--bs-gutter-y)); + } + .card.card-xxl-stretch-25 { + height: calc(25% - var(--bs-gutter-y)); + } + .card .card-header-xxl-stretch { + padding-top: 0 !important; + padding-bottom: 0 !important; + align-items: stretch; + } + .card .card-header-xxl-stretch .card-toolbar { + margin: 0; + align-items: stretch; + } +} + +.card-p { + padding: 2rem 2.25rem !important; +} + +.card-px { + padding-left: 2.25rem !important; + padding-right: 2.25rem !important; +} + +.card-shadow { + box-shadow: 0px 0px 20px 0px rgba(76, 87, 125, 0.02); +} + +.card-py { + padding-top: 2rem !important; + padding-bottom: 2rem !important; +} + +.card-rounded { + border-radius: 0.85rem; +} + +.card-rounded-start { + border-top-left-radius: 0.85rem; + border-bottom-left-radius: 0.85rem; +} + +.card-rounded-end { + border-top-right-radius: 0.85rem; + border-bottom-right-radius: 0.85rem; +} + +.card-rounded-top { + border-top-left-radius: 0.85rem; + border-top-right-radius: 0.85rem; +} + +.card-rounded-bottom { + border-bottom-left-radius: 0.85rem; + border-bottom-right-radius: 0.85rem; +} + +@media (max-width: 767.98px) { + .card > .card-header:not(.flex-nowrap) { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } +} +.breadcrumb { + display: flex; + align-items: center; + background-color: transparent; + padding: 0; + margin: 0; +} +.breadcrumb .breadcrumb-item { + display: flex; + align-items: center; + padding-left: 0; + padding-right: 0.5rem; +} +.breadcrumb .breadcrumb-item:last-child { + padding-right: 0; +} +.breadcrumb .breadcrumb-item:after { + content: "/"; + padding-left: 0.5rem; +} +.breadcrumb .breadcrumb-item:before { + display: none; +} +.breadcrumb .breadcrumb-item:last-child:after { + display: none; +} + +.breadcrumb-line .breadcrumb-item:after { + content: "-"; +} + +.breadcrumb-dot .breadcrumb-item:after { + content: "•"; +} + +.breadcrumb-separatorless .breadcrumb-item:after { + display: none; +} + +.btn { + outline: none !important; +} +.btn:not(.btn-shadow):not(.shadow):not(.shadow-sm):not(.shadow-lg) { + box-shadow: none !important; +} +.btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon) { + border: 0; + padding: calc(0.75rem + 1px) calc(1.5rem + 1px); +} +.btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon).btn-lg, .btn-group-lg > .btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon) { + padding: calc(0.825rem + 1px) calc(1.75rem + 1px); +} +.btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon).btn-sm, .btn-group-sm > .btn:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush):not(.btn-icon) { + padding: calc(0.55rem + 1px) calc(1.25rem + 1px); +} +.btn.btn-link { + border: 0; + border-radius: 0; + padding-left: 0 !important; + padding-right: 0 !important; + text-decoration: none; + font-weight: 500; +} +.btn.btn-outline-dashed { + border: 1px dashed #E4E6EF; +} +.btn.btn-outline-default { + border: 1px solid #E4E6EF; +} +.btn.btn-flush { + appearance: none; + box-shadow: none; + border-radius: 0; + border: none; + cursor: pointer; + background-color: transparent; + outline: none !important; + margin: 0; + padding: 0; +} +.btn.btn-flex { + display: inline-flex; + align-items: center; +} + +.btn i { + display: inline-flex; + font-size: 1rem; + padding-right: 0.35rem; + vertical-align: middle; + line-height: 0; +} +.btn .svg-icon { + flex-shrink: 0; + line-height: 0; + margin-right: 0.5rem; +} +.btn.btn-icon { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0; + height: calc(1.5em + 1.5rem + 2px); + width: calc(1.5em + 1.5rem + 2px); +} +.btn.btn-icon:not(.btn-outline):not(.btn-dashed):not(.border-hover):not(.border-active):not(.btn-flush) { + border: 0; +} +.btn.btn-icon.btn-sm, .btn-group-sm > .btn.btn-icon { + height: calc(1.5em + 1.1rem + 2px); + width: calc(1.5em + 1.1rem + 2px); +} +.btn.btn-icon.btn-lg, .btn-group-lg > .btn.btn-icon { + height: calc(1.5em + 1.65rem + 2px); + width: calc(1.5em + 1.65rem + 2px); +} +.btn.btn-icon.btn-circle { + border-radius: 50%; +} +.btn.btn-icon i, +.btn.btn-icon .svg-icon { + padding: 0; + margin: 0; + line-height: 1; +} + +.btn.btn-hover-rise { + transition: transform 0.3s ease; +} +.btn.btn-hover-rise:hover { + transform: translateY(-10%); + transition: transform 0.3s ease; +} + +.btn.btn-hover-scale { + transition: transform 0.3s ease; +} +.btn.btn-hover-scale:hover { + transform: scale(1.1); + transition: transform 0.3s ease; +} + +.btn.btn-hover-rotate-end { + transition: transform 0.3s ease; +} +.btn.btn-hover-rotate-end:hover { + transform: rotate(4deg); + transition: transform 0.3s ease; +} + +.btn.btn-hover-rotate-start { + transition: transform 0.3s ease; +} +.btn.btn-hover-rotate-start:hover { + transform: rotate(-4deg); + transition: transform 0.3s ease; +} + +.btn.btn-white { + color: #7E8299; + border-color: #ffffff; + background-color: #ffffff; +} +.btn.btn-white i { + color: #7E8299; +} +.btn.btn-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn.btn-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-white.dropdown-toggle:after { + color: #7E8299; +} +.btn-check:checked + .btn.btn-white, .btn-check:active + .btn.btn-white, .btn.btn-white:focus:not(.btn-active), .btn.btn-white:hover:not(.btn-active), .btn.btn-white:active:not(.btn-active), .btn.btn-white.active, .btn.btn-white.show, .show > .btn.btn-white { + color: #7E8299; + border-color: #F5F8FA; + background-color: #F5F8FA !important; +} +.btn-check:checked + .btn.btn-white i, .btn-check:active + .btn.btn-white i, .btn.btn-white:focus:not(.btn-active) i, .btn.btn-white:hover:not(.btn-active) i, .btn.btn-white:active:not(.btn-active) i, .btn.btn-white.active i, .btn.btn-white.show i, .show > .btn.btn-white i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-white .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-white .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-white:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-white:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-white:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-white.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-white.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-white:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-white:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-white:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-white.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-white.dropdown-toggle:after, .btn-check:active + .btn.btn-white.dropdown-toggle:after, .btn.btn-white:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-white:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-white:active:not(.btn-active).dropdown-toggle:after, .btn.btn-white.active.dropdown-toggle:after, .btn.btn-white.show.dropdown-toggle:after, .show > .btn.btn-white.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-bg-white { + border-color: #ffffff; + background-color: #ffffff; +} +.btn-check:checked + .btn.btn-active-white, .btn-check:active + .btn.btn-active-white, .btn.btn-active-white:focus:not(.btn-active), .btn.btn-active-white:hover:not(.btn-active), .btn.btn-active-white:active:not(.btn-active), .btn.btn-active-white.active, .btn.btn-active-white.show, .show > .btn.btn-active-white { + color: #7E8299; + border-color: #ffffff; + background-color: #ffffff !important; +} +.btn-check:checked + .btn.btn-active-white i, .btn-check:active + .btn.btn-active-white i, .btn.btn-active-white:focus:not(.btn-active) i, .btn.btn-active-white:hover:not(.btn-active) i, .btn.btn-active-white:active:not(.btn-active) i, .btn.btn-active-white.active i, .btn.btn-active-white.show i, .show > .btn.btn-active-white i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-white .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-white .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-white:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-white:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-white:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-white.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-white.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-active-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-white:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-white:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-white:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-white.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-white.dropdown-toggle:after, .btn-check:active + .btn.btn-active-white.dropdown-toggle:after, .btn.btn-active-white:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-white:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-white:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-white.active.dropdown-toggle:after, .btn.btn-active-white.show.dropdown-toggle:after, .show > .btn.btn-active-white.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-light { + color: #7E8299; + border-color: #F5F8FA; + background-color: #F5F8FA; +} +.btn.btn-light i { + color: #7E8299; +} +.btn.btn-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn.btn-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light.dropdown-toggle:after { + color: #7E8299; +} +.btn-check:checked + .btn.btn-light, .btn-check:active + .btn.btn-light, .btn.btn-light:focus:not(.btn-active), .btn.btn-light:hover:not(.btn-active), .btn.btn-light:active:not(.btn-active), .btn.btn-light.active, .btn.btn-light.show, .show > .btn.btn-light { + color: #7E8299; + border-color: #E4E6EF; + background-color: #E4E6EF !important; +} +.btn-check:checked + .btn.btn-light i, .btn-check:active + .btn.btn-light i, .btn.btn-light:focus:not(.btn-active) i, .btn.btn-light:hover:not(.btn-active) i, .btn.btn-light:active:not(.btn-active) i, .btn.btn-light.active i, .btn.btn-light.show i, .show > .btn.btn-light i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-light .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light.dropdown-toggle:after, .btn-check:active + .btn.btn-light.dropdown-toggle:after, .btn.btn-light:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light.active.dropdown-toggle:after, .btn.btn-light.show.dropdown-toggle:after, .show > .btn.btn-light.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-bg-light { + border-color: #F5F8FA; + background-color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-light, .btn-check:active + .btn.btn-active-light, .btn.btn-active-light:focus:not(.btn-active), .btn.btn-active-light:hover:not(.btn-active), .btn.btn-active-light:active:not(.btn-active), .btn.btn-active-light.active, .btn.btn-active-light.show, .show > .btn.btn-active-light { + color: #7E8299; + border-color: #F5F8FA; + background-color: #F5F8FA !important; +} +.btn-check:checked + .btn.btn-active-light i, .btn-check:active + .btn.btn-active-light i, .btn.btn-active-light:focus:not(.btn-active) i, .btn.btn-active-light:hover:not(.btn-active) i, .btn.btn-active-light:active:not(.btn-active) i, .btn.btn-active-light.active i, .btn.btn-active-light.show i, .show > .btn.btn-active-light i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-light .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-active-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light.dropdown-toggle:after, .btn.btn-active-light:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light.active.dropdown-toggle:after, .btn.btn-active-light.show.dropdown-toggle:after, .show > .btn.btn-active-light.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-primary { + color: #FFFFFF; + border-color: #7239EA; + background-color: #7239EA; +} +.btn.btn-primary i { + color: #FFFFFF; +} +.btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn.btn-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-primary.dropdown-toggle:after { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-primary, .btn-check:active + .btn.btn-primary, .btn.btn-primary:focus:not(.btn-active), .btn.btn-primary:hover:not(.btn-active), .btn.btn-primary:active:not(.btn-active), .btn.btn-primary.active, .btn.btn-primary.show, .show > .btn.btn-primary { + color: #FFFFFF; + border-color: #5014D0; + background-color: #5014D0 !important; +} +.btn-check:checked + .btn.btn-primary i, .btn-check:active + .btn.btn-primary i, .btn.btn-primary:focus:not(.btn-active) i, .btn.btn-primary:hover:not(.btn-active) i, .btn.btn-primary:active:not(.btn-active) i, .btn.btn-primary.active i, .btn.btn-primary.show i, .show > .btn.btn-primary i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-primary.dropdown-toggle:after, .btn.btn-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-primary.active.dropdown-toggle:after, .btn.btn-primary.show.dropdown-toggle:after, .show > .btn.btn-primary.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-light-primary { + color: #7239EA; + border-color: #F8F5FF; + background-color: #F8F5FF; +} +.btn.btn-light-primary i { + color: #7239EA; +} +.btn.btn-light-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn.btn-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-primary.dropdown-toggle:after { + color: #7239EA; +} +.btn-check:checked + .btn.btn-light-primary, .btn-check:active + .btn.btn-light-primary, .btn.btn-light-primary:focus:not(.btn-active), .btn.btn-light-primary:hover:not(.btn-active), .btn.btn-light-primary:active:not(.btn-active), .btn.btn-light-primary.active, .btn.btn-light-primary.show, .show > .btn.btn-light-primary { + color: #FFFFFF; + border-color: #7239EA; + background-color: #7239EA !important; +} +.btn-check:checked + .btn.btn-light-primary i, .btn-check:active + .btn.btn-light-primary i, .btn.btn-light-primary:focus:not(.btn-active) i, .btn.btn-light-primary:hover:not(.btn-active) i, .btn.btn-light-primary:active:not(.btn-active) i, .btn.btn-light-primary.active i, .btn.btn-light-primary.show i, .show > .btn.btn-light-primary i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-light-primary.dropdown-toggle:after, .btn.btn-light-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-primary.active.dropdown-toggle:after, .btn.btn-light-primary.show.dropdown-toggle:after, .show > .btn.btn-light-primary.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-bg-primary { + border-color: #7239EA; + background-color: #7239EA; +} +.btn-check:checked + .btn.btn-active-primary, .btn-check:active + .btn.btn-active-primary, .btn.btn-active-primary:focus:not(.btn-active), .btn.btn-active-primary:hover:not(.btn-active), .btn.btn-active-primary:active:not(.btn-active), .btn.btn-active-primary.active, .btn.btn-active-primary.show, .show > .btn.btn-active-primary { + color: #FFFFFF; + border-color: #7239EA; + background-color: #7239EA !important; +} +.btn-check:checked + .btn.btn-active-primary i, .btn-check:active + .btn.btn-active-primary i, .btn.btn-active-primary:focus:not(.btn-active) i, .btn.btn-active-primary:hover:not(.btn-active) i, .btn.btn-active-primary:active:not(.btn-active) i, .btn.btn-active-primary.active i, .btn.btn-active-primary.show i, .show > .btn.btn-active-primary i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-primary.dropdown-toggle:after, .btn.btn-active-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-primary.active.dropdown-toggle:after, .btn.btn-active-primary.show.dropdown-toggle:after, .show > .btn.btn-active-primary.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn-check:checked + .btn.btn-active-light-primary, .btn-check:active + .btn.btn-active-light-primary, .btn.btn-active-light-primary:focus:not(.btn-active), .btn.btn-active-light-primary:hover:not(.btn-active), .btn.btn-active-light-primary:active:not(.btn-active), .btn.btn-active-light-primary.active, .btn.btn-active-light-primary.show, .show > .btn.btn-active-light-primary { + color: #7239EA; + border-color: #F8F5FF; + background-color: #F8F5FF !important; +} +.btn-check:checked + .btn.btn-active-light-primary i, .btn-check:active + .btn.btn-active-light-primary i, .btn.btn-active-light-primary:focus:not(.btn-active) i, .btn.btn-active-light-primary:hover:not(.btn-active) i, .btn.btn-active-light-primary:active:not(.btn-active) i, .btn.btn-active-light-primary.active i, .btn.btn-active-light-primary.show i, .show > .btn.btn-active-light-primary i { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-light-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn-check:checked + .btn.btn-active-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-primary.dropdown-toggle:after, .btn.btn-active-light-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-primary.active.dropdown-toggle:after, .btn.btn-active-light-primary.show.dropdown-toggle:after, .show > .btn.btn-active-light-primary.dropdown-toggle:after { + color: #7239EA; +} +.btn.btn-active-light-primary.btn-outline:not(.btn-outline-default) { + border-color: #7239EA !important; +} + +.btn.btn-secondary { + color: #3F4254; + border-color: #E4E6EF; + background-color: #E4E6EF; +} +.btn.btn-secondary i { + color: #3F4254; +} +.btn.btn-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn.btn-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-secondary.dropdown-toggle:after { + color: #3F4254; +} +.btn-check:checked + .btn.btn-secondary, .btn-check:active + .btn.btn-secondary, .btn.btn-secondary:focus:not(.btn-active), .btn.btn-secondary:hover:not(.btn-active), .btn.btn-secondary:active:not(.btn-active), .btn.btn-secondary.active, .btn.btn-secondary.show, .show > .btn.btn-secondary { + color: #3F4254; + border-color: #B5B5C3; + background-color: #B5B5C3 !important; +} +.btn-check:checked + .btn.btn-secondary i, .btn-check:active + .btn.btn-secondary i, .btn.btn-secondary:focus:not(.btn-active) i, .btn.btn-secondary:hover:not(.btn-active) i, .btn.btn-secondary:active:not(.btn-active) i, .btn.btn-secondary.active i, .btn.btn-secondary.show i, .show > .btn.btn-secondary i { + color: #3F4254; +} +.btn-check:checked + .btn.btn-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-secondary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-secondary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-secondary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-secondary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-secondary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn-check:checked + .btn.btn-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-secondary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-secondary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-secondary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-secondary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-secondary.dropdown-toggle:after, .btn-check:active + .btn.btn-secondary.dropdown-toggle:after, .btn.btn-secondary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-secondary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-secondary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-secondary.active.dropdown-toggle:after, .btn.btn-secondary.show.dropdown-toggle:after, .show > .btn.btn-secondary.dropdown-toggle:after { + color: #3F4254; +} + +.btn.btn-bg-secondary { + border-color: #E4E6EF; + background-color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-secondary, .btn-check:active + .btn.btn-active-secondary, .btn.btn-active-secondary:focus:not(.btn-active), .btn.btn-active-secondary:hover:not(.btn-active), .btn.btn-active-secondary:active:not(.btn-active), .btn.btn-active-secondary.active, .btn.btn-active-secondary.show, .show > .btn.btn-active-secondary { + color: #3F4254; + border-color: #E4E6EF; + background-color: #E4E6EF !important; +} +.btn-check:checked + .btn.btn-active-secondary i, .btn-check:active + .btn.btn-active-secondary i, .btn.btn-active-secondary:focus:not(.btn-active) i, .btn.btn-active-secondary:hover:not(.btn-active) i, .btn.btn-active-secondary:active:not(.btn-active) i, .btn.btn-active-secondary.active i, .btn.btn-active-secondary.show i, .show > .btn.btn-active-secondary i { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-secondary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-secondary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-secondary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-secondary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-secondary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn-check:checked + .btn.btn-active-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-secondary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-secondary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-secondary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-secondary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-secondary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-secondary.dropdown-toggle:after, .btn.btn-active-secondary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-secondary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-secondary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-secondary.active.dropdown-toggle:after, .btn.btn-active-secondary.show.dropdown-toggle:after, .show > .btn.btn-active-secondary.dropdown-toggle:after { + color: #3F4254; +} + +.btn.btn-success { + color: #FFFFFF; + border-color: #50CD89; + background-color: #50CD89; +} +.btn.btn-success i { + color: #FFFFFF; +} +.btn.btn-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn.btn-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-success.dropdown-toggle:after { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-success, .btn-check:active + .btn.btn-success, .btn.btn-success:focus:not(.btn-active), .btn.btn-success:hover:not(.btn-active), .btn.btn-success:active:not(.btn-active), .btn.btn-success.active, .btn.btn-success.show, .show > .btn.btn-success { + color: #FFFFFF; + border-color: #47BE7D; + background-color: #47BE7D !important; +} +.btn-check:checked + .btn.btn-success i, .btn-check:active + .btn.btn-success i, .btn.btn-success:focus:not(.btn-active) i, .btn.btn-success:hover:not(.btn-active) i, .btn.btn-success:active:not(.btn-active) i, .btn.btn-success.active i, .btn.btn-success.show i, .show > .btn.btn-success i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-success.dropdown-toggle:after, .btn-check:active + .btn.btn-success.dropdown-toggle:after, .btn.btn-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-success.active.dropdown-toggle:after, .btn.btn-success.show.dropdown-toggle:after, .show > .btn.btn-success.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-light-success { + color: #50CD89; + border-color: #E8FFF3; + background-color: #E8FFF3; +} +.btn.btn-light-success i { + color: #50CD89; +} +.btn.btn-light-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn.btn-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-success.dropdown-toggle:after { + color: #50CD89; +} +.btn-check:checked + .btn.btn-light-success, .btn-check:active + .btn.btn-light-success, .btn.btn-light-success:focus:not(.btn-active), .btn.btn-light-success:hover:not(.btn-active), .btn.btn-light-success:active:not(.btn-active), .btn.btn-light-success.active, .btn.btn-light-success.show, .show > .btn.btn-light-success { + color: #FFFFFF; + border-color: #50CD89; + background-color: #50CD89 !important; +} +.btn-check:checked + .btn.btn-light-success i, .btn-check:active + .btn.btn-light-success i, .btn.btn-light-success:focus:not(.btn-active) i, .btn.btn-light-success:hover:not(.btn-active) i, .btn.btn-light-success:active:not(.btn-active) i, .btn.btn-light-success.active i, .btn.btn-light-success.show i, .show > .btn.btn-light-success i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-success.dropdown-toggle:after, .btn-check:active + .btn.btn-light-success.dropdown-toggle:after, .btn.btn-light-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-success.active.dropdown-toggle:after, .btn.btn-light-success.show.dropdown-toggle:after, .show > .btn.btn-light-success.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-bg-success { + border-color: #50CD89; + background-color: #50CD89; +} +.btn-check:checked + .btn.btn-active-success, .btn-check:active + .btn.btn-active-success, .btn.btn-active-success:focus:not(.btn-active), .btn.btn-active-success:hover:not(.btn-active), .btn.btn-active-success:active:not(.btn-active), .btn.btn-active-success.active, .btn.btn-active-success.show, .show > .btn.btn-active-success { + color: #FFFFFF; + border-color: #50CD89; + background-color: #50CD89 !important; +} +.btn-check:checked + .btn.btn-active-success i, .btn-check:active + .btn.btn-active-success i, .btn.btn-active-success:focus:not(.btn-active) i, .btn.btn-active-success:hover:not(.btn-active) i, .btn.btn-active-success:active:not(.btn-active) i, .btn.btn-active-success.active i, .btn.btn-active-success.show i, .show > .btn.btn-active-success i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-success.dropdown-toggle:after, .btn-check:active + .btn.btn-active-success.dropdown-toggle:after, .btn.btn-active-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-success.active.dropdown-toggle:after, .btn.btn-active-success.show.dropdown-toggle:after, .show > .btn.btn-active-success.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn-check:checked + .btn.btn-active-light-success, .btn-check:active + .btn.btn-active-light-success, .btn.btn-active-light-success:focus:not(.btn-active), .btn.btn-active-light-success:hover:not(.btn-active), .btn.btn-active-light-success:active:not(.btn-active), .btn.btn-active-light-success.active, .btn.btn-active-light-success.show, .show > .btn.btn-active-light-success { + color: #50CD89; + border-color: #E8FFF3; + background-color: #E8FFF3 !important; +} +.btn-check:checked + .btn.btn-active-light-success i, .btn-check:active + .btn.btn-active-light-success i, .btn.btn-active-light-success:focus:not(.btn-active) i, .btn.btn-active-light-success:hover:not(.btn-active) i, .btn.btn-active-light-success:active:not(.btn-active) i, .btn.btn-active-light-success.active i, .btn.btn-active-light-success.show i, .show > .btn.btn-active-light-success i { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-light-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn-check:checked + .btn.btn-active-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-success.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-success.dropdown-toggle:after, .btn.btn-active-light-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-success.active.dropdown-toggle:after, .btn.btn-active-light-success.show.dropdown-toggle:after, .show > .btn.btn-active-light-success.dropdown-toggle:after { + color: #50CD89; +} +.btn.btn-active-light-success.btn-outline:not(.btn-outline-default) { + border-color: #50CD89 !important; +} + +.btn.btn-info { + color: #FFFFFF; + border-color: #009EF7; + background-color: #009EF7; +} +.btn.btn-info i { + color: #FFFFFF; +} +.btn.btn-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn.btn-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-info.dropdown-toggle:after { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-info, .btn-check:active + .btn.btn-info, .btn.btn-info:focus:not(.btn-active), .btn.btn-info:hover:not(.btn-active), .btn.btn-info:active:not(.btn-active), .btn.btn-info.active, .btn.btn-info.show, .show > .btn.btn-info { + color: #FFFFFF; + border-color: #0095E8; + background-color: #0095E8 !important; +} +.btn-check:checked + .btn.btn-info i, .btn-check:active + .btn.btn-info i, .btn.btn-info:focus:not(.btn-active) i, .btn.btn-info:hover:not(.btn-active) i, .btn.btn-info:active:not(.btn-active) i, .btn.btn-info.active i, .btn.btn-info.show i, .show > .btn.btn-info i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-info.dropdown-toggle:after, .btn-check:active + .btn.btn-info.dropdown-toggle:after, .btn.btn-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-info.active.dropdown-toggle:after, .btn.btn-info.show.dropdown-toggle:after, .show > .btn.btn-info.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-light-info { + color: #009EF7; + border-color: #F1FAFF; + background-color: #F1FAFF; +} +.btn.btn-light-info i { + color: #009EF7; +} +.btn.btn-light-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn.btn-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-info.dropdown-toggle:after { + color: #009EF7; +} +.btn-check:checked + .btn.btn-light-info, .btn-check:active + .btn.btn-light-info, .btn.btn-light-info:focus:not(.btn-active), .btn.btn-light-info:hover:not(.btn-active), .btn.btn-light-info:active:not(.btn-active), .btn.btn-light-info.active, .btn.btn-light-info.show, .show > .btn.btn-light-info { + color: #FFFFFF; + border-color: #009EF7; + background-color: #009EF7 !important; +} +.btn-check:checked + .btn.btn-light-info i, .btn-check:active + .btn.btn-light-info i, .btn.btn-light-info:focus:not(.btn-active) i, .btn.btn-light-info:hover:not(.btn-active) i, .btn.btn-light-info:active:not(.btn-active) i, .btn.btn-light-info.active i, .btn.btn-light-info.show i, .show > .btn.btn-light-info i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-info.dropdown-toggle:after, .btn-check:active + .btn.btn-light-info.dropdown-toggle:after, .btn.btn-light-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-info.active.dropdown-toggle:after, .btn.btn-light-info.show.dropdown-toggle:after, .show > .btn.btn-light-info.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-bg-info { + border-color: #009EF7; + background-color: #009EF7; +} +.btn-check:checked + .btn.btn-active-info, .btn-check:active + .btn.btn-active-info, .btn.btn-active-info:focus:not(.btn-active), .btn.btn-active-info:hover:not(.btn-active), .btn.btn-active-info:active:not(.btn-active), .btn.btn-active-info.active, .btn.btn-active-info.show, .show > .btn.btn-active-info { + color: #FFFFFF; + border-color: #009EF7; + background-color: #009EF7 !important; +} +.btn-check:checked + .btn.btn-active-info i, .btn-check:active + .btn.btn-active-info i, .btn.btn-active-info:focus:not(.btn-active) i, .btn.btn-active-info:hover:not(.btn-active) i, .btn.btn-active-info:active:not(.btn-active) i, .btn.btn-active-info.active i, .btn.btn-active-info.show i, .show > .btn.btn-active-info i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-info.dropdown-toggle:after, .btn-check:active + .btn.btn-active-info.dropdown-toggle:after, .btn.btn-active-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-info.active.dropdown-toggle:after, .btn.btn-active-info.show.dropdown-toggle:after, .show > .btn.btn-active-info.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn-check:checked + .btn.btn-active-light-info, .btn-check:active + .btn.btn-active-light-info, .btn.btn-active-light-info:focus:not(.btn-active), .btn.btn-active-light-info:hover:not(.btn-active), .btn.btn-active-light-info:active:not(.btn-active), .btn.btn-active-light-info.active, .btn.btn-active-light-info.show, .show > .btn.btn-active-light-info { + color: #009EF7; + border-color: #F1FAFF; + background-color: #F1FAFF !important; +} +.btn-check:checked + .btn.btn-active-light-info i, .btn-check:active + .btn.btn-active-light-info i, .btn.btn-active-light-info:focus:not(.btn-active) i, .btn.btn-active-light-info:hover:not(.btn-active) i, .btn.btn-active-light-info:active:not(.btn-active) i, .btn.btn-active-light-info.active i, .btn.btn-active-light-info.show i, .show > .btn.btn-active-light-info i { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-light-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn-check:checked + .btn.btn-active-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-info.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-info.dropdown-toggle:after, .btn.btn-active-light-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-info.active.dropdown-toggle:after, .btn.btn-active-light-info.show.dropdown-toggle:after, .show > .btn.btn-active-light-info.dropdown-toggle:after { + color: #009EF7; +} +.btn.btn-active-light-info.btn-outline:not(.btn-outline-default) { + border-color: #009EF7 !important; +} + +.btn.btn-warning { + color: #FFFFFF; + border-color: #FFC700; + background-color: #FFC700; +} +.btn.btn-warning i { + color: #FFFFFF; +} +.btn.btn-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn.btn-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-warning.dropdown-toggle:after { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-warning, .btn-check:active + .btn.btn-warning, .btn.btn-warning:focus:not(.btn-active), .btn.btn-warning:hover:not(.btn-active), .btn.btn-warning:active:not(.btn-active), .btn.btn-warning.active, .btn.btn-warning.show, .show > .btn.btn-warning { + color: #FFFFFF; + border-color: #F1BC00; + background-color: #F1BC00 !important; +} +.btn-check:checked + .btn.btn-warning i, .btn-check:active + .btn.btn-warning i, .btn.btn-warning:focus:not(.btn-active) i, .btn.btn-warning:hover:not(.btn-active) i, .btn.btn-warning:active:not(.btn-active) i, .btn.btn-warning.active i, .btn.btn-warning.show i, .show > .btn.btn-warning i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-warning.dropdown-toggle:after, .btn.btn-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-warning.active.dropdown-toggle:after, .btn.btn-warning.show.dropdown-toggle:after, .show > .btn.btn-warning.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-light-warning { + color: #FFC700; + border-color: #FFF8DD; + background-color: #FFF8DD; +} +.btn.btn-light-warning i { + color: #FFC700; +} +.btn.btn-light-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn.btn-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-warning.dropdown-toggle:after { + color: #FFC700; +} +.btn-check:checked + .btn.btn-light-warning, .btn-check:active + .btn.btn-light-warning, .btn.btn-light-warning:focus:not(.btn-active), .btn.btn-light-warning:hover:not(.btn-active), .btn.btn-light-warning:active:not(.btn-active), .btn.btn-light-warning.active, .btn.btn-light-warning.show, .show > .btn.btn-light-warning { + color: #FFFFFF; + border-color: #FFC700; + background-color: #FFC700 !important; +} +.btn-check:checked + .btn.btn-light-warning i, .btn-check:active + .btn.btn-light-warning i, .btn.btn-light-warning:focus:not(.btn-active) i, .btn.btn-light-warning:hover:not(.btn-active) i, .btn.btn-light-warning:active:not(.btn-active) i, .btn.btn-light-warning.active i, .btn.btn-light-warning.show i, .show > .btn.btn-light-warning i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-light-warning.dropdown-toggle:after, .btn.btn-light-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-warning.active.dropdown-toggle:after, .btn.btn-light-warning.show.dropdown-toggle:after, .show > .btn.btn-light-warning.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-bg-warning { + border-color: #FFC700; + background-color: #FFC700; +} +.btn-check:checked + .btn.btn-active-warning, .btn-check:active + .btn.btn-active-warning, .btn.btn-active-warning:focus:not(.btn-active), .btn.btn-active-warning:hover:not(.btn-active), .btn.btn-active-warning:active:not(.btn-active), .btn.btn-active-warning.active, .btn.btn-active-warning.show, .show > .btn.btn-active-warning { + color: #FFFFFF; + border-color: #FFC700; + background-color: #FFC700 !important; +} +.btn-check:checked + .btn.btn-active-warning i, .btn-check:active + .btn.btn-active-warning i, .btn.btn-active-warning:focus:not(.btn-active) i, .btn.btn-active-warning:hover:not(.btn-active) i, .btn.btn-active-warning:active:not(.btn-active) i, .btn.btn-active-warning.active i, .btn.btn-active-warning.show i, .show > .btn.btn-active-warning i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-active-warning.dropdown-toggle:after, .btn.btn-active-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-warning.active.dropdown-toggle:after, .btn.btn-active-warning.show.dropdown-toggle:after, .show > .btn.btn-active-warning.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn-check:checked + .btn.btn-active-light-warning, .btn-check:active + .btn.btn-active-light-warning, .btn.btn-active-light-warning:focus:not(.btn-active), .btn.btn-active-light-warning:hover:not(.btn-active), .btn.btn-active-light-warning:active:not(.btn-active), .btn.btn-active-light-warning.active, .btn.btn-active-light-warning.show, .show > .btn.btn-active-light-warning { + color: #FFC700; + border-color: #FFF8DD; + background-color: #FFF8DD !important; +} +.btn-check:checked + .btn.btn-active-light-warning i, .btn-check:active + .btn.btn-active-light-warning i, .btn.btn-active-light-warning:focus:not(.btn-active) i, .btn.btn-active-light-warning:hover:not(.btn-active) i, .btn.btn-active-light-warning:active:not(.btn-active) i, .btn.btn-active-light-warning.active i, .btn.btn-active-light-warning.show i, .show > .btn.btn-active-light-warning i { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-light-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn-check:checked + .btn.btn-active-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-warning.dropdown-toggle:after, .btn.btn-active-light-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-warning.active.dropdown-toggle:after, .btn.btn-active-light-warning.show.dropdown-toggle:after, .show > .btn.btn-active-light-warning.dropdown-toggle:after { + color: #FFC700; +} +.btn.btn-active-light-warning.btn-outline:not(.btn-outline-default) { + border-color: #FFC700 !important; +} + +.btn.btn-danger { + color: #FFFFFF; + border-color: #F1416C; + background-color: #F1416C; +} +.btn.btn-danger i { + color: #FFFFFF; +} +.btn.btn-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn.btn-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-danger.dropdown-toggle:after { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-danger, .btn-check:active + .btn.btn-danger, .btn.btn-danger:focus:not(.btn-active), .btn.btn-danger:hover:not(.btn-active), .btn.btn-danger:active:not(.btn-active), .btn.btn-danger.active, .btn.btn-danger.show, .show > .btn.btn-danger { + color: #FFFFFF; + border-color: #D9214E; + background-color: #D9214E !important; +} +.btn-check:checked + .btn.btn-danger i, .btn-check:active + .btn.btn-danger i, .btn.btn-danger:focus:not(.btn-active) i, .btn.btn-danger:hover:not(.btn-active) i, .btn.btn-danger:active:not(.btn-active) i, .btn.btn-danger.active i, .btn.btn-danger.show i, .show > .btn.btn-danger i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-danger.dropdown-toggle:after, .btn.btn-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-danger.active.dropdown-toggle:after, .btn.btn-danger.show.dropdown-toggle:after, .show > .btn.btn-danger.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-light-danger { + color: #F1416C; + border-color: #FFF5F8; + background-color: #FFF5F8; +} +.btn.btn-light-danger i { + color: #F1416C; +} +.btn.btn-light-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn.btn-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-danger.dropdown-toggle:after { + color: #F1416C; +} +.btn-check:checked + .btn.btn-light-danger, .btn-check:active + .btn.btn-light-danger, .btn.btn-light-danger:focus:not(.btn-active), .btn.btn-light-danger:hover:not(.btn-active), .btn.btn-light-danger:active:not(.btn-active), .btn.btn-light-danger.active, .btn.btn-light-danger.show, .show > .btn.btn-light-danger { + color: #FFFFFF; + border-color: #F1416C; + background-color: #F1416C !important; +} +.btn-check:checked + .btn.btn-light-danger i, .btn-check:active + .btn.btn-light-danger i, .btn.btn-light-danger:focus:not(.btn-active) i, .btn.btn-light-danger:hover:not(.btn-active) i, .btn.btn-light-danger:active:not(.btn-active) i, .btn.btn-light-danger.active i, .btn.btn-light-danger.show i, .show > .btn.btn-light-danger i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-light-danger.dropdown-toggle:after, .btn.btn-light-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-danger.active.dropdown-toggle:after, .btn.btn-light-danger.show.dropdown-toggle:after, .show > .btn.btn-light-danger.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn.btn-bg-danger { + border-color: #F1416C; + background-color: #F1416C; +} +.btn-check:checked + .btn.btn-active-danger, .btn-check:active + .btn.btn-active-danger, .btn.btn-active-danger:focus:not(.btn-active), .btn.btn-active-danger:hover:not(.btn-active), .btn.btn-active-danger:active:not(.btn-active), .btn.btn-active-danger.active, .btn.btn-active-danger.show, .show > .btn.btn-active-danger { + color: #FFFFFF; + border-color: #F1416C; + background-color: #F1416C !important; +} +.btn-check:checked + .btn.btn-active-danger i, .btn-check:active + .btn.btn-active-danger i, .btn.btn-active-danger:focus:not(.btn-active) i, .btn.btn-active-danger:hover:not(.btn-active) i, .btn.btn-active-danger:active:not(.btn-active) i, .btn.btn-active-danger.active i, .btn.btn-active-danger.show i, .show > .btn.btn-active-danger i { + color: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFFFFF; +} +.btn-check:checked + .btn.btn-active-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-active-danger.dropdown-toggle:after, .btn.btn-active-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-danger.active.dropdown-toggle:after, .btn.btn-active-danger.show.dropdown-toggle:after, .show > .btn.btn-active-danger.dropdown-toggle:after { + color: #FFFFFF; +} + +.btn-check:checked + .btn.btn-active-light-danger, .btn-check:active + .btn.btn-active-light-danger, .btn.btn-active-light-danger:focus:not(.btn-active), .btn.btn-active-light-danger:hover:not(.btn-active), .btn.btn-active-light-danger:active:not(.btn-active), .btn.btn-active-light-danger.active, .btn.btn-active-light-danger.show, .show > .btn.btn-active-light-danger { + color: #F1416C; + border-color: #FFF5F8; + background-color: #FFF5F8 !important; +} +.btn-check:checked + .btn.btn-active-light-danger i, .btn-check:active + .btn.btn-active-light-danger i, .btn.btn-active-light-danger:focus:not(.btn-active) i, .btn.btn-active-light-danger:hover:not(.btn-active) i, .btn.btn-active-light-danger:active:not(.btn-active) i, .btn.btn-active-light-danger.active i, .btn.btn-active-light-danger.show i, .show > .btn.btn-active-light-danger i { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-light-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn-check:checked + .btn.btn-active-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-danger.dropdown-toggle:after, .btn.btn-active-light-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-danger.active.dropdown-toggle:after, .btn.btn-active-light-danger.show.dropdown-toggle:after, .show > .btn.btn-active-light-danger.dropdown-toggle:after { + color: #F1416C; +} +.btn.btn-active-light-danger.btn-outline:not(.btn-outline-default) { + border-color: #F1416C !important; +} + +.btn.btn-dark { + color: #ffffff; + border-color: #181C32; + background-color: #181C32; +} +.btn.btn-dark i { + color: #ffffff; +} +.btn.btn-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-dark.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-dark, .btn-check:active + .btn.btn-dark, .btn.btn-dark:focus:not(.btn-active), .btn.btn-dark:hover:not(.btn-active), .btn.btn-dark:active:not(.btn-active), .btn.btn-dark.active, .btn.btn-dark.show, .show > .btn.btn-dark { + color: #ffffff; + border-color: #131628; + background-color: #131628 !important; +} +.btn-check:checked + .btn.btn-dark i, .btn-check:active + .btn.btn-dark i, .btn.btn-dark:focus:not(.btn-active) i, .btn.btn-dark:hover:not(.btn-active) i, .btn.btn-dark:active:not(.btn-active) i, .btn.btn-dark.active i, .btn.btn-dark.show i, .show > .btn.btn-dark i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-dark.dropdown-toggle:after, .btn.btn-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-dark.active.dropdown-toggle:after, .btn.btn-dark.show.dropdown-toggle:after, .show > .btn.btn-dark.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-light-dark { + color: #181C32; + border-color: #EFF2F5; + background-color: #EFF2F5; +} +.btn.btn-light-dark i { + color: #181C32; +} +.btn.btn-light-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn.btn-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-dark.dropdown-toggle:after { + color: #181C32; +} +.btn-check:checked + .btn.btn-light-dark, .btn-check:active + .btn.btn-light-dark, .btn.btn-light-dark:focus:not(.btn-active), .btn.btn-light-dark:hover:not(.btn-active), .btn.btn-light-dark:active:not(.btn-active), .btn.btn-light-dark.active, .btn.btn-light-dark.show, .show > .btn.btn-light-dark { + color: #ffffff; + border-color: #181C32; + background-color: #181C32 !important; +} +.btn-check:checked + .btn.btn-light-dark i, .btn-check:active + .btn.btn-light-dark i, .btn.btn-light-dark:focus:not(.btn-active) i, .btn.btn-light-dark:hover:not(.btn-active) i, .btn.btn-light-dark:active:not(.btn-active) i, .btn.btn-light-dark.active i, .btn.btn-light-dark.show i, .show > .btn.btn-light-dark i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-light-dark.dropdown-toggle:after, .btn.btn-light-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-dark.active.dropdown-toggle:after, .btn.btn-light-dark.show.dropdown-toggle:after, .show > .btn.btn-light-dark.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-bg-dark { + border-color: #181C32; + background-color: #181C32; +} +.btn-check:checked + .btn.btn-active-dark, .btn-check:active + .btn.btn-active-dark, .btn.btn-active-dark:focus:not(.btn-active), .btn.btn-active-dark:hover:not(.btn-active), .btn.btn-active-dark:active:not(.btn-active), .btn.btn-active-dark.active, .btn.btn-active-dark.show, .show > .btn.btn-active-dark { + color: #ffffff; + border-color: #181C32; + background-color: #181C32 !important; +} +.btn-check:checked + .btn.btn-active-dark i, .btn-check:active + .btn.btn-active-dark i, .btn.btn-active-dark:focus:not(.btn-active) i, .btn.btn-active-dark:hover:not(.btn-active) i, .btn.btn-active-dark:active:not(.btn-active) i, .btn.btn-active-dark.active i, .btn.btn-active-dark.show i, .show > .btn.btn-active-dark i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-active-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-active-dark.dropdown-toggle:after, .btn.btn-active-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-dark.active.dropdown-toggle:after, .btn.btn-active-dark.show.dropdown-toggle:after, .show > .btn.btn-active-dark.dropdown-toggle:after { + color: #ffffff; +} + +.btn-check:checked + .btn.btn-active-light-dark, .btn-check:active + .btn.btn-active-light-dark, .btn.btn-active-light-dark:focus:not(.btn-active), .btn.btn-active-light-dark:hover:not(.btn-active), .btn.btn-active-light-dark:active:not(.btn-active), .btn.btn-active-light-dark.active, .btn.btn-active-light-dark.show, .show > .btn.btn-active-light-dark { + color: #181C32; + border-color: #EFF2F5; + background-color: #EFF2F5 !important; +} +.btn-check:checked + .btn.btn-active-light-dark i, .btn-check:active + .btn.btn-active-light-dark i, .btn.btn-active-light-dark:focus:not(.btn-active) i, .btn.btn-active-light-dark:hover:not(.btn-active) i, .btn.btn-active-light-dark:active:not(.btn-active) i, .btn.btn-active-light-dark.active i, .btn.btn-active-light-dark.show i, .show > .btn.btn-active-light-dark i { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-light-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-light-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn-check:checked + .btn.btn-active-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-light-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-light-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-light-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-active-light-dark.dropdown-toggle:after, .btn.btn-active-light-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-light-dark.active.dropdown-toggle:after, .btn.btn-active-light-dark.show.dropdown-toggle:after, .show > .btn.btn-active-light-dark.dropdown-toggle:after { + color: #181C32; +} +.btn.btn-active-light-dark.btn-outline:not(.btn-outline-default) { + border-color: #181C32 !important; +} + +.btn.btn-color-white { + color: #ffffff; +} +.btn.btn-color-white i { + color: #ffffff; +} +.btn.btn-color-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-color-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-white.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-color-white, .btn-check:active + .btn.btn-active-color-white, .btn.btn-active-color-white:focus:not(.btn-active), .btn.btn-active-color-white:hover:not(.btn-active), .btn.btn-active-color-white:active:not(.btn-active), .btn.btn-active-color-white.active, .btn.btn-active-color-white.show, .show > .btn.btn-active-color-white { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-color-white i, .btn-check:active + .btn.btn-active-color-white i, .btn.btn-active-color-white:focus:not(.btn-active) i, .btn.btn-active-color-white:hover:not(.btn-active) i, .btn.btn-active-color-white:active:not(.btn-active) i, .btn.btn-active-color-white.active i, .btn.btn-active-color-white.show i, .show > .btn.btn-active-color-white i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-color-white .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-white .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-white:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-white:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-white:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-white.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-white.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-active-color-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-white:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-white:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-white:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-white.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-white.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-white.dropdown-toggle:after, .btn.btn-active-color-white:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-white:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-white:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-white.active.dropdown-toggle:after, .btn.btn-active-color-white.show.dropdown-toggle:after, .show > .btn.btn-active-color-white.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-icon-white i { + color: #ffffff; +} +.btn.btn-icon-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-icon-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-white.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-icon-white i, .btn-check:active + .btn.btn-active-icon-white i, .btn.btn-active-icon-white:focus:not(.btn-active) i, .btn.btn-active-icon-white:hover:not(.btn-active) i, .btn.btn-active-icon-white:active:not(.btn-active) i, .btn.btn-active-icon-white.active i, .btn.btn-active-icon-white.show i, .show > .btn.btn-active-icon-white i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-icon-white .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-white .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-white.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-white.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-white .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-active-icon-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-white .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-white:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-white.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-white.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-white .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-white.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-white.dropdown-toggle:after, .btn.btn-active-icon-white:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-white:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-white:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-white.active.dropdown-toggle:after, .btn.btn-active-icon-white.show.dropdown-toggle:after, .show > .btn.btn-active-icon-white.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-text-white { + color: #ffffff; +} +.btn-check:checked + .btn.btn-active-text-white, .btn-check:active + .btn.btn-active-text-white, .btn.btn-active-text-white:focus:not(.btn-active), .btn.btn-active-text-white:hover:not(.btn-active), .btn.btn-active-text-white:active:not(.btn-active), .btn.btn-active-text-white.active, .btn.btn-active-text-white.show, .show > .btn.btn-active-text-white { + color: #ffffff; +} + +.btn.btn-color-primary { + color: #7239EA; +} +.btn.btn-color-primary i { + color: #7239EA; +} +.btn.btn-color-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn.btn-color-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-primary.dropdown-toggle:after { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-color-primary, .btn-check:active + .btn.btn-active-color-primary, .btn.btn-active-color-primary:focus:not(.btn-active), .btn.btn-active-color-primary:hover:not(.btn-active), .btn.btn-active-color-primary:active:not(.btn-active), .btn.btn-active-color-primary.active, .btn.btn-active-color-primary.show, .show > .btn.btn-active-color-primary { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-color-primary i, .btn-check:active + .btn.btn-active-color-primary i, .btn.btn-active-color-primary:focus:not(.btn-active) i, .btn.btn-active-color-primary:hover:not(.btn-active) i, .btn.btn-active-color-primary:active:not(.btn-active) i, .btn.btn-active-color-primary.active i, .btn.btn-active-color-primary.show i, .show > .btn.btn-active-color-primary i { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn-check:checked + .btn.btn-active-color-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-primary.dropdown-toggle:after, .btn.btn-active-color-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-primary.active.dropdown-toggle:after, .btn.btn-active-color-primary.show.dropdown-toggle:after, .show > .btn.btn-active-color-primary.dropdown-toggle:after { + color: #7239EA; +} + +.btn.btn-icon-primary i { + color: #7239EA; +} +.btn.btn-icon-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn.btn-icon-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-primary.dropdown-toggle:after { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-icon-primary i, .btn-check:active + .btn.btn-active-icon-primary i, .btn.btn-active-icon-primary:focus:not(.btn-active) i, .btn.btn-active-icon-primary:hover:not(.btn-active) i, .btn.btn-active-icon-primary:active:not(.btn-active) i, .btn.btn-active-icon-primary.active i, .btn.btn-active-icon-primary.show i, .show > .btn.btn-active-icon-primary i { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-icon-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-primary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-primary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn-check:checked + .btn.btn-active-icon-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-primary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-primary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-primary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-primary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-primary.dropdown-toggle:after, .btn.btn-active-icon-primary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-primary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-primary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-primary.active.dropdown-toggle:after, .btn.btn-active-icon-primary.show.dropdown-toggle:after, .show > .btn.btn-active-icon-primary.dropdown-toggle:after { + color: #7239EA; +} + +.btn.btn-text-primary { + color: #7239EA; +} +.btn-check:checked + .btn.btn-active-text-primary, .btn-check:active + .btn.btn-active-text-primary, .btn.btn-active-text-primary:focus:not(.btn-active), .btn.btn-active-text-primary:hover:not(.btn-active), .btn.btn-active-text-primary:active:not(.btn-active), .btn.btn-active-text-primary.active, .btn.btn-active-text-primary.show, .show > .btn.btn-active-text-primary { + color: #7239EA; +} + +.btn.btn-color-secondary { + color: #E4E6EF; +} +.btn.btn-color-secondary i { + color: #E4E6EF; +} +.btn.btn-color-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn.btn-color-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-secondary.dropdown-toggle:after { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-secondary, .btn-check:active + .btn.btn-active-color-secondary, .btn.btn-active-color-secondary:focus:not(.btn-active), .btn.btn-active-color-secondary:hover:not(.btn-active), .btn.btn-active-color-secondary:active:not(.btn-active), .btn.btn-active-color-secondary.active, .btn.btn-active-color-secondary.show, .show > .btn.btn-active-color-secondary { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-secondary i, .btn-check:active + .btn.btn-active-color-secondary i, .btn.btn-active-color-secondary:focus:not(.btn-active) i, .btn.btn-active-color-secondary:hover:not(.btn-active) i, .btn.btn-active-color-secondary:active:not(.btn-active) i, .btn.btn-active-color-secondary.active i, .btn.btn-active-color-secondary.show i, .show > .btn.btn-active-color-secondary i { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-secondary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-secondary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-secondary.dropdown-toggle:after, .btn.btn-active-color-secondary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-secondary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-secondary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-secondary.active.dropdown-toggle:after, .btn.btn-active-color-secondary.show.dropdown-toggle:after, .show > .btn.btn-active-color-secondary.dropdown-toggle:after { + color: #E4E6EF; +} + +.btn.btn-icon-secondary i { + color: #E4E6EF; +} +.btn.btn-icon-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn.btn-icon-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-secondary.dropdown-toggle:after { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-secondary i, .btn-check:active + .btn.btn-active-icon-secondary i, .btn.btn-active-icon-secondary:focus:not(.btn-active) i, .btn.btn-active-icon-secondary:hover:not(.btn-active) i, .btn.btn-active-icon-secondary:active:not(.btn-active) i, .btn.btn-active-icon-secondary.active i, .btn.btn-active-icon-secondary.show i, .show > .btn.btn-active-icon-secondary i { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-secondary .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-secondary .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-secondary.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-secondary .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-secondary.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-secondary.dropdown-toggle:after, .btn.btn-active-icon-secondary:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-secondary:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-secondary:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-secondary.active.dropdown-toggle:after, .btn.btn-active-icon-secondary.show.dropdown-toggle:after, .show > .btn.btn-active-icon-secondary.dropdown-toggle:after { + color: #E4E6EF; +} + +.btn.btn-text-secondary { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-text-secondary, .btn-check:active + .btn.btn-active-text-secondary, .btn.btn-active-text-secondary:focus:not(.btn-active), .btn.btn-active-text-secondary:hover:not(.btn-active), .btn.btn-active-text-secondary:active:not(.btn-active), .btn.btn-active-text-secondary.active, .btn.btn-active-text-secondary.show, .show > .btn.btn-active-text-secondary { + color: #E4E6EF; +} + +.btn.btn-color-light { + color: #F5F8FA; +} +.btn.btn-color-light i { + color: #F5F8FA; +} +.btn.btn-color-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn.btn-color-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-light.dropdown-toggle:after { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-light, .btn-check:active + .btn.btn-active-color-light, .btn.btn-active-color-light:focus:not(.btn-active), .btn.btn-active-color-light:hover:not(.btn-active), .btn.btn-active-color-light:active:not(.btn-active), .btn.btn-active-color-light.active, .btn.btn-active-color-light.show, .show > .btn.btn-active-color-light { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-light i, .btn-check:active + .btn.btn-active-color-light i, .btn.btn-active-color-light:focus:not(.btn-active) i, .btn.btn-active-color-light:hover:not(.btn-active) i, .btn.btn-active-color-light:active:not(.btn-active) i, .btn.btn-active-color-light.active i, .btn.btn-active-color-light.show i, .show > .btn.btn-active-color-light i { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-light .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-light .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-light:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-light:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-light:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-light.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-light.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-light:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-light:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-light:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-light.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-light.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-light.dropdown-toggle:after, .btn.btn-active-color-light:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-light:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-light:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-light.active.dropdown-toggle:after, .btn.btn-active-color-light.show.dropdown-toggle:after, .show > .btn.btn-active-color-light.dropdown-toggle:after { + color: #F5F8FA; +} + +.btn.btn-icon-light i { + color: #F5F8FA; +} +.btn.btn-icon-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn.btn-icon-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-light.dropdown-toggle:after { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-light i, .btn-check:active + .btn.btn-active-icon-light i, .btn.btn-active-icon-light:focus:not(.btn-active) i, .btn.btn-active-icon-light:hover:not(.btn-active) i, .btn.btn-active-icon-light:active:not(.btn-active) i, .btn.btn-active-icon-light.active i, .btn.btn-active-icon-light.show i, .show > .btn.btn-active-icon-light i { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-light .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-light .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-light.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-light.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-light .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-light .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-light:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-light.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-light.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-light .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-light.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-light.dropdown-toggle:after, .btn.btn-active-icon-light:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-light:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-light:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-light.active.dropdown-toggle:after, .btn.btn-active-icon-light.show.dropdown-toggle:after, .show > .btn.btn-active-icon-light.dropdown-toggle:after { + color: #F5F8FA; +} + +.btn.btn-text-light { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-text-light, .btn-check:active + .btn.btn-active-text-light, .btn.btn-active-text-light:focus:not(.btn-active), .btn.btn-active-text-light:hover:not(.btn-active), .btn.btn-active-text-light:active:not(.btn-active), .btn.btn-active-text-light.active, .btn.btn-active-text-light.show, .show > .btn.btn-active-text-light { + color: #F5F8FA; +} + +.btn.btn-color-success { + color: #50CD89; +} +.btn.btn-color-success i { + color: #50CD89; +} +.btn.btn-color-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn.btn-color-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-success.dropdown-toggle:after { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-color-success, .btn-check:active + .btn.btn-active-color-success, .btn.btn-active-color-success:focus:not(.btn-active), .btn.btn-active-color-success:hover:not(.btn-active), .btn.btn-active-color-success:active:not(.btn-active), .btn.btn-active-color-success.active, .btn.btn-active-color-success.show, .show > .btn.btn-active-color-success { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-color-success i, .btn-check:active + .btn.btn-active-color-success i, .btn.btn-active-color-success:focus:not(.btn-active) i, .btn.btn-active-color-success:hover:not(.btn-active) i, .btn.btn-active-color-success:active:not(.btn-active) i, .btn.btn-active-color-success.active i, .btn.btn-active-color-success.show i, .show > .btn.btn-active-color-success i { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-color-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn-check:checked + .btn.btn-active-color-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-success.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-success.dropdown-toggle:after, .btn.btn-active-color-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-success.active.dropdown-toggle:after, .btn.btn-active-color-success.show.dropdown-toggle:after, .show > .btn.btn-active-color-success.dropdown-toggle:after { + color: #50CD89; +} + +.btn.btn-icon-success i { + color: #50CD89; +} +.btn.btn-icon-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn.btn-icon-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-success.dropdown-toggle:after { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-icon-success i, .btn-check:active + .btn.btn-active-icon-success i, .btn.btn-active-icon-success:focus:not(.btn-active) i, .btn.btn-active-icon-success:hover:not(.btn-active) i, .btn.btn-active-icon-success:active:not(.btn-active) i, .btn.btn-active-icon-success.active i, .btn.btn-active-icon-success.show i, .show > .btn.btn-active-icon-success i { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-icon-success .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-success .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-success.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-success.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-success .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.btn-check:checked + .btn.btn-active-icon-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-success .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-success:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-success.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-success.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-success .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-success.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-success.dropdown-toggle:after, .btn.btn-active-icon-success:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-success:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-success:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-success.active.dropdown-toggle:after, .btn.btn-active-icon-success.show.dropdown-toggle:after, .show > .btn.btn-active-icon-success.dropdown-toggle:after { + color: #50CD89; +} + +.btn.btn-text-success { + color: #50CD89; +} +.btn-check:checked + .btn.btn-active-text-success, .btn-check:active + .btn.btn-active-text-success, .btn.btn-active-text-success:focus:not(.btn-active), .btn.btn-active-text-success:hover:not(.btn-active), .btn.btn-active-text-success:active:not(.btn-active), .btn.btn-active-text-success.active, .btn.btn-active-text-success.show, .show > .btn.btn-active-text-success { + color: #50CD89; +} + +.btn.btn-color-info { + color: #009EF7; +} +.btn.btn-color-info i { + color: #009EF7; +} +.btn.btn-color-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn.btn-color-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-info.dropdown-toggle:after { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-color-info, .btn-check:active + .btn.btn-active-color-info, .btn.btn-active-color-info:focus:not(.btn-active), .btn.btn-active-color-info:hover:not(.btn-active), .btn.btn-active-color-info:active:not(.btn-active), .btn.btn-active-color-info.active, .btn.btn-active-color-info.show, .show > .btn.btn-active-color-info { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-color-info i, .btn-check:active + .btn.btn-active-color-info i, .btn.btn-active-color-info:focus:not(.btn-active) i, .btn.btn-active-color-info:hover:not(.btn-active) i, .btn.btn-active-color-info:active:not(.btn-active) i, .btn.btn-active-color-info.active i, .btn.btn-active-color-info.show i, .show > .btn.btn-active-color-info i { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-color-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn-check:checked + .btn.btn-active-color-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-info.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-info.dropdown-toggle:after, .btn.btn-active-color-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-info.active.dropdown-toggle:after, .btn.btn-active-color-info.show.dropdown-toggle:after, .show > .btn.btn-active-color-info.dropdown-toggle:after { + color: #009EF7; +} + +.btn.btn-icon-info i { + color: #009EF7; +} +.btn.btn-icon-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn.btn-icon-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-info.dropdown-toggle:after { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-icon-info i, .btn-check:active + .btn.btn-active-icon-info i, .btn.btn-active-icon-info:focus:not(.btn-active) i, .btn.btn-active-icon-info:hover:not(.btn-active) i, .btn.btn-active-icon-info:active:not(.btn-active) i, .btn.btn-active-icon-info.active i, .btn.btn-active-icon-info.show i, .show > .btn.btn-active-icon-info i { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-icon-info .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-info .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-info.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-info.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-info .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.btn-check:checked + .btn.btn-active-icon-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-info .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-info:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-info.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-info.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-info .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-info.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-info.dropdown-toggle:after, .btn.btn-active-icon-info:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-info:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-info:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-info.active.dropdown-toggle:after, .btn.btn-active-icon-info.show.dropdown-toggle:after, .show > .btn.btn-active-icon-info.dropdown-toggle:after { + color: #009EF7; +} + +.btn.btn-text-info { + color: #009EF7; +} +.btn-check:checked + .btn.btn-active-text-info, .btn-check:active + .btn.btn-active-text-info, .btn.btn-active-text-info:focus:not(.btn-active), .btn.btn-active-text-info:hover:not(.btn-active), .btn.btn-active-text-info:active:not(.btn-active), .btn.btn-active-text-info.active, .btn.btn-active-text-info.show, .show > .btn.btn-active-text-info { + color: #009EF7; +} + +.btn.btn-color-warning { + color: #FFC700; +} +.btn.btn-color-warning i { + color: #FFC700; +} +.btn.btn-color-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn.btn-color-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-warning.dropdown-toggle:after { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-color-warning, .btn-check:active + .btn.btn-active-color-warning, .btn.btn-active-color-warning:focus:not(.btn-active), .btn.btn-active-color-warning:hover:not(.btn-active), .btn.btn-active-color-warning:active:not(.btn-active), .btn.btn-active-color-warning.active, .btn.btn-active-color-warning.show, .show > .btn.btn-active-color-warning { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-color-warning i, .btn-check:active + .btn.btn-active-color-warning i, .btn.btn-active-color-warning:focus:not(.btn-active) i, .btn.btn-active-color-warning:hover:not(.btn-active) i, .btn.btn-active-color-warning:active:not(.btn-active) i, .btn.btn-active-color-warning.active i, .btn.btn-active-color-warning.show i, .show > .btn.btn-active-color-warning i { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-color-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn-check:checked + .btn.btn-active-color-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-warning.dropdown-toggle:after, .btn.btn-active-color-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-warning.active.dropdown-toggle:after, .btn.btn-active-color-warning.show.dropdown-toggle:after, .show > .btn.btn-active-color-warning.dropdown-toggle:after { + color: #FFC700; +} + +.btn.btn-icon-warning i { + color: #FFC700; +} +.btn.btn-icon-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn.btn-icon-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-warning.dropdown-toggle:after { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-icon-warning i, .btn-check:active + .btn.btn-active-icon-warning i, .btn.btn-active-icon-warning:focus:not(.btn-active) i, .btn.btn-active-icon-warning:hover:not(.btn-active) i, .btn.btn-active-icon-warning:active:not(.btn-active) i, .btn.btn-active-icon-warning.active i, .btn.btn-active-icon-warning.show i, .show > .btn.btn-active-icon-warning i { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-icon-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-warning .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-warning .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.btn-check:checked + .btn.btn-active-icon-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-warning .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-warning.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-warning .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-warning.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-warning.dropdown-toggle:after, .btn.btn-active-icon-warning:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-warning:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-warning:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-warning.active.dropdown-toggle:after, .btn.btn-active-icon-warning.show.dropdown-toggle:after, .show > .btn.btn-active-icon-warning.dropdown-toggle:after { + color: #FFC700; +} + +.btn.btn-text-warning { + color: #FFC700; +} +.btn-check:checked + .btn.btn-active-text-warning, .btn-check:active + .btn.btn-active-text-warning, .btn.btn-active-text-warning:focus:not(.btn-active), .btn.btn-active-text-warning:hover:not(.btn-active), .btn.btn-active-text-warning:active:not(.btn-active), .btn.btn-active-text-warning.active, .btn.btn-active-text-warning.show, .show > .btn.btn-active-text-warning { + color: #FFC700; +} + +.btn.btn-color-danger { + color: #F1416C; +} +.btn.btn-color-danger i { + color: #F1416C; +} +.btn.btn-color-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn.btn-color-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-danger.dropdown-toggle:after { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-color-danger, .btn-check:active + .btn.btn-active-color-danger, .btn.btn-active-color-danger:focus:not(.btn-active), .btn.btn-active-color-danger:hover:not(.btn-active), .btn.btn-active-color-danger:active:not(.btn-active), .btn.btn-active-color-danger.active, .btn.btn-active-color-danger.show, .show > .btn.btn-active-color-danger { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-color-danger i, .btn-check:active + .btn.btn-active-color-danger i, .btn.btn-active-color-danger:focus:not(.btn-active) i, .btn.btn-active-color-danger:hover:not(.btn-active) i, .btn.btn-active-color-danger:active:not(.btn-active) i, .btn.btn-active-color-danger.active i, .btn.btn-active-color-danger.show i, .show > .btn.btn-active-color-danger i { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-color-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn-check:checked + .btn.btn-active-color-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-danger.dropdown-toggle:after, .btn.btn-active-color-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-danger.active.dropdown-toggle:after, .btn.btn-active-color-danger.show.dropdown-toggle:after, .show > .btn.btn-active-color-danger.dropdown-toggle:after { + color: #F1416C; +} + +.btn.btn-icon-danger i { + color: #F1416C; +} +.btn.btn-icon-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn.btn-icon-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-danger.dropdown-toggle:after { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-icon-danger i, .btn-check:active + .btn.btn-active-icon-danger i, .btn.btn-active-icon-danger:focus:not(.btn-active) i, .btn.btn-active-icon-danger:hover:not(.btn-active) i, .btn.btn-active-icon-danger:active:not(.btn-active) i, .btn.btn-active-icon-danger.active i, .btn.btn-active-icon-danger.show i, .show > .btn.btn-active-icon-danger i { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-icon-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-danger .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-danger .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.btn-check:checked + .btn.btn-active-icon-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-danger .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-danger.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-danger .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-danger.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-danger.dropdown-toggle:after, .btn.btn-active-icon-danger:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-danger:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-danger:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-danger.active.dropdown-toggle:after, .btn.btn-active-icon-danger.show.dropdown-toggle:after, .show > .btn.btn-active-icon-danger.dropdown-toggle:after { + color: #F1416C; +} + +.btn.btn-text-danger { + color: #F1416C; +} +.btn-check:checked + .btn.btn-active-text-danger, .btn-check:active + .btn.btn-active-text-danger, .btn.btn-active-text-danger:focus:not(.btn-active), .btn.btn-active-text-danger:hover:not(.btn-active), .btn.btn-active-text-danger:active:not(.btn-active), .btn.btn-active-text-danger.active, .btn.btn-active-text-danger.show, .show > .btn.btn-active-text-danger { + color: #F1416C; +} + +.btn.btn-color-dark { + color: #181C32; +} +.btn.btn-color-dark i { + color: #181C32; +} +.btn.btn-color-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn.btn-color-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-dark.dropdown-toggle:after { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-dark, .btn-check:active + .btn.btn-active-color-dark, .btn.btn-active-color-dark:focus:not(.btn-active), .btn.btn-active-color-dark:hover:not(.btn-active), .btn.btn-active-color-dark:active:not(.btn-active), .btn.btn-active-color-dark.active, .btn.btn-active-color-dark.show, .show > .btn.btn-active-color-dark { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-dark i, .btn-check:active + .btn.btn-active-color-dark i, .btn.btn-active-color-dark:focus:not(.btn-active) i, .btn.btn-active-color-dark:hover:not(.btn-active) i, .btn.btn-active-color-dark:active:not(.btn-active) i, .btn.btn-active-color-dark.active i, .btn.btn-active-color-dark.show i, .show > .btn.btn-active-color-dark i { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn-check:checked + .btn.btn-active-color-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-dark.dropdown-toggle:after, .btn.btn-active-color-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-dark.active.dropdown-toggle:after, .btn.btn-active-color-dark.show.dropdown-toggle:after, .show > .btn.btn-active-color-dark.dropdown-toggle:after { + color: #181C32; +} + +.btn.btn-icon-dark i { + color: #181C32; +} +.btn.btn-icon-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn.btn-icon-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-dark.dropdown-toggle:after { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-dark i, .btn-check:active + .btn.btn-active-icon-dark i, .btn.btn-active-icon-dark:focus:not(.btn-active) i, .btn.btn-active-icon-dark:hover:not(.btn-active) i, .btn.btn-active-icon-dark:active:not(.btn-active) i, .btn.btn-active-icon-dark.active i, .btn.btn-active-icon-dark.show i, .show > .btn.btn-active-icon-dark i { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-dark .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-dark .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-dark .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-dark.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-dark .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-dark.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-dark.dropdown-toggle:after, .btn.btn-active-icon-dark:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-dark:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-dark:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-dark.active.dropdown-toggle:after, .btn.btn-active-icon-dark.show.dropdown-toggle:after, .show > .btn.btn-active-icon-dark.dropdown-toggle:after { + color: #181C32; +} + +.btn.btn-text-dark { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-text-dark, .btn-check:active + .btn.btn-active-text-dark, .btn.btn-active-text-dark:focus:not(.btn-active), .btn.btn-active-text-dark:hover:not(.btn-active), .btn.btn-active-text-dark:active:not(.btn-active), .btn.btn-active-text-dark.active, .btn.btn-active-text-dark.show, .show > .btn.btn-active-text-dark { + color: #181C32; +} + +.btn.btn-color-muted { + color: #A1A5B7; +} +.btn.btn-color-muted i { + color: #A1A5B7; +} +.btn.btn-color-muted .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn.btn-color-muted .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-muted.dropdown-toggle:after { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-muted, .btn-check:active + .btn.btn-active-color-muted, .btn.btn-active-color-muted:focus:not(.btn-active), .btn.btn-active-color-muted:hover:not(.btn-active), .btn.btn-active-color-muted:active:not(.btn-active), .btn.btn-active-color-muted.active, .btn.btn-active-color-muted.show, .show > .btn.btn-active-color-muted { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-muted i, .btn-check:active + .btn.btn-active-color-muted i, .btn.btn-active-color-muted:focus:not(.btn-active) i, .btn.btn-active-color-muted:hover:not(.btn-active) i, .btn.btn-active-color-muted:active:not(.btn-active) i, .btn.btn-active-color-muted.active i, .btn.btn-active-color-muted.show i, .show > .btn.btn-active-color-muted i { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-muted .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-muted .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-muted.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-muted.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-muted .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-muted .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-muted .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-muted:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-muted.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-muted.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-muted .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-muted.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-muted.dropdown-toggle:after, .btn.btn-active-color-muted:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-muted:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-muted:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-muted.active.dropdown-toggle:after, .btn.btn-active-color-muted.show.dropdown-toggle:after, .show > .btn.btn-active-color-muted.dropdown-toggle:after { + color: #A1A5B7; +} + +.btn.btn-icon-muted i { + color: #A1A5B7; +} +.btn.btn-icon-muted .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn.btn-icon-muted .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-muted.dropdown-toggle:after { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-muted i, .btn-check:active + .btn.btn-active-icon-muted i, .btn.btn-active-icon-muted:focus:not(.btn-active) i, .btn.btn-active-icon-muted:hover:not(.btn-active) i, .btn.btn-active-icon-muted:active:not(.btn-active) i, .btn.btn-active-icon-muted.active i, .btn.btn-active-icon-muted.show i, .show > .btn.btn-active-icon-muted i { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-muted .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-muted .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-muted .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-muted .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-muted .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-muted.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-muted .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-muted.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-muted.dropdown-toggle:after, .btn.btn-active-icon-muted:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-muted:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-muted:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-muted.active.dropdown-toggle:after, .btn.btn-active-icon-muted.show.dropdown-toggle:after, .show > .btn.btn-active-icon-muted.dropdown-toggle:after { + color: #A1A5B7; +} + +.btn.btn-text-muted { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-text-muted, .btn-check:active + .btn.btn-active-text-muted, .btn.btn-active-text-muted:focus:not(.btn-active), .btn.btn-active-text-muted:hover:not(.btn-active), .btn.btn-active-text-muted:active:not(.btn-active), .btn.btn-active-text-muted.active, .btn.btn-active-text-muted.show, .show > .btn.btn-active-text-muted { + color: #A1A5B7; +} + +.btn.btn-color-gray-100 { + color: #F5F8FA; +} +.btn.btn-color-gray-100 i { + color: #F5F8FA; +} +.btn.btn-color-gray-100 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn.btn-color-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-100.dropdown-toggle:after { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-gray-100, .btn-check:active + .btn.btn-active-color-gray-100, .btn.btn-active-color-gray-100:focus:not(.btn-active), .btn.btn-active-color-gray-100:hover:not(.btn-active), .btn.btn-active-color-gray-100:active:not(.btn-active), .btn.btn-active-color-gray-100.active, .btn.btn-active-color-gray-100.show, .show > .btn.btn-active-color-gray-100 { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-gray-100 i, .btn-check:active + .btn.btn-active-color-gray-100 i, .btn.btn-active-color-gray-100:focus:not(.btn-active) i, .btn.btn-active-color-gray-100:hover:not(.btn-active) i, .btn.btn-active-color-gray-100:active:not(.btn-active) i, .btn.btn-active-color-gray-100.active i, .btn.btn-active-color-gray-100.show i, .show > .btn.btn-active-color-gray-100 i { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-gray-100 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-100 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-100 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-color-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-100.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-100.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-100.dropdown-toggle:after, .btn.btn-active-color-gray-100:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-100:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-100:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-100.active.dropdown-toggle:after, .btn.btn-active-color-gray-100.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-100.dropdown-toggle:after { + color: #F5F8FA; +} + +.btn.btn-icon-gray-100 i { + color: #F5F8FA; +} +.btn.btn-icon-gray-100 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn.btn-icon-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-100.dropdown-toggle:after { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-gray-100 i, .btn-check:active + .btn.btn-active-icon-gray-100 i, .btn.btn-active-icon-gray-100:focus:not(.btn-active) i, .btn.btn-active-icon-gray-100:hover:not(.btn-active) i, .btn.btn-active-icon-gray-100:active:not(.btn-active) i, .btn.btn-active-icon-gray-100.active i, .btn.btn-active-icon-gray-100.show i, .show > .btn.btn-active-icon-gray-100 i { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-gray-100 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-100 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-100 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-icon-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-100.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-100 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-100.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-100.dropdown-toggle:after, .btn.btn-active-icon-gray-100:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-100:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-100:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-100.active.dropdown-toggle:after, .btn.btn-active-icon-gray-100.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-100.dropdown-toggle:after { + color: #F5F8FA; +} + +.btn.btn-text-gray-100 { + color: #F5F8FA; +} +.btn-check:checked + .btn.btn-active-text-gray-100, .btn-check:active + .btn.btn-active-text-gray-100, .btn.btn-active-text-gray-100:focus:not(.btn-active), .btn.btn-active-text-gray-100:hover:not(.btn-active), .btn.btn-active-text-gray-100:active:not(.btn-active), .btn.btn-active-text-gray-100.active, .btn.btn-active-text-gray-100.show, .show > .btn.btn-active-text-gray-100 { + color: #F5F8FA; +} + +.btn.btn-color-gray-200 { + color: #EFF2F5; +} +.btn.btn-color-gray-200 i { + color: #EFF2F5; +} +.btn.btn-color-gray-200 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.btn.btn-color-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-200.dropdown-toggle:after { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-color-gray-200, .btn-check:active + .btn.btn-active-color-gray-200, .btn.btn-active-color-gray-200:focus:not(.btn-active), .btn.btn-active-color-gray-200:hover:not(.btn-active), .btn.btn-active-color-gray-200:active:not(.btn-active), .btn.btn-active-color-gray-200.active, .btn.btn-active-color-gray-200.show, .show > .btn.btn-active-color-gray-200 { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-color-gray-200 i, .btn-check:active + .btn.btn-active-color-gray-200 i, .btn.btn-active-color-gray-200:focus:not(.btn-active) i, .btn.btn-active-color-gray-200:hover:not(.btn-active) i, .btn.btn-active-color-gray-200:active:not(.btn-active) i, .btn.btn-active-color-gray-200.active i, .btn.btn-active-color-gray-200.show i, .show > .btn.btn-active-color-gray-200 i { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-color-gray-200 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-200 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-200 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-color-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-200.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-200.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-200.dropdown-toggle:after, .btn.btn-active-color-gray-200:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-200:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-200:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-200.active.dropdown-toggle:after, .btn.btn-active-color-gray-200.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-200.dropdown-toggle:after { + color: #EFF2F5; +} + +.btn.btn-icon-gray-200 i { + color: #EFF2F5; +} +.btn.btn-icon-gray-200 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.btn.btn-icon-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-200.dropdown-toggle:after { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-icon-gray-200 i, .btn-check:active + .btn.btn-active-icon-gray-200 i, .btn.btn-active-icon-gray-200:focus:not(.btn-active) i, .btn.btn-active-icon-gray-200:hover:not(.btn-active) i, .btn.btn-active-icon-gray-200:active:not(.btn-active) i, .btn.btn-active-icon-gray-200.active i, .btn.btn-active-icon-gray-200.show i, .show > .btn.btn-active-icon-gray-200 i { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-icon-gray-200 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-200 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-200 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-icon-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-200.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-200 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-200.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-200.dropdown-toggle:after, .btn.btn-active-icon-gray-200:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-200:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-200:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-200.active.dropdown-toggle:after, .btn.btn-active-icon-gray-200.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-200.dropdown-toggle:after { + color: #EFF2F5; +} + +.btn.btn-text-gray-200 { + color: #EFF2F5; +} +.btn-check:checked + .btn.btn-active-text-gray-200, .btn-check:active + .btn.btn-active-text-gray-200, .btn.btn-active-text-gray-200:focus:not(.btn-active), .btn.btn-active-text-gray-200:hover:not(.btn-active), .btn.btn-active-text-gray-200:active:not(.btn-active), .btn.btn-active-text-gray-200.active, .btn.btn-active-text-gray-200.show, .show > .btn.btn-active-text-gray-200 { + color: #EFF2F5; +} + +.btn.btn-color-gray-300 { + color: #E4E6EF; +} +.btn.btn-color-gray-300 i { + color: #E4E6EF; +} +.btn.btn-color-gray-300 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn.btn-color-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-300.dropdown-toggle:after { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-gray-300, .btn-check:active + .btn.btn-active-color-gray-300, .btn.btn-active-color-gray-300:focus:not(.btn-active), .btn.btn-active-color-gray-300:hover:not(.btn-active), .btn.btn-active-color-gray-300:active:not(.btn-active), .btn.btn-active-color-gray-300.active, .btn.btn-active-color-gray-300.show, .show > .btn.btn-active-color-gray-300 { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-gray-300 i, .btn-check:active + .btn.btn-active-color-gray-300 i, .btn.btn-active-color-gray-300:focus:not(.btn-active) i, .btn.btn-active-color-gray-300:hover:not(.btn-active) i, .btn.btn-active-color-gray-300:active:not(.btn-active) i, .btn.btn-active-color-gray-300.active i, .btn.btn-active-color-gray-300.show i, .show > .btn.btn-active-color-gray-300 i { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-gray-300 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-300 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-300 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-color-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-300.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-300.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-300.dropdown-toggle:after, .btn.btn-active-color-gray-300:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-300:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-300:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-300.active.dropdown-toggle:after, .btn.btn-active-color-gray-300.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-300.dropdown-toggle:after { + color: #E4E6EF; +} + +.btn.btn-icon-gray-300 i { + color: #E4E6EF; +} +.btn.btn-icon-gray-300 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn.btn-icon-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-300.dropdown-toggle:after { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-gray-300 i, .btn-check:active + .btn.btn-active-icon-gray-300 i, .btn.btn-active-icon-gray-300:focus:not(.btn-active) i, .btn.btn-active-icon-gray-300:hover:not(.btn-active) i, .btn.btn-active-icon-gray-300:active:not(.btn-active) i, .btn.btn-active-icon-gray-300.active i, .btn.btn-active-icon-gray-300.show i, .show > .btn.btn-active-icon-gray-300 i { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-gray-300 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-300 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-300 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-icon-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-300.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-300 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-300.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-300.dropdown-toggle:after, .btn.btn-active-icon-gray-300:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-300:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-300:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-300.active.dropdown-toggle:after, .btn.btn-active-icon-gray-300.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-300.dropdown-toggle:after { + color: #E4E6EF; +} + +.btn.btn-text-gray-300 { + color: #E4E6EF; +} +.btn-check:checked + .btn.btn-active-text-gray-300, .btn-check:active + .btn.btn-active-text-gray-300, .btn.btn-active-text-gray-300:focus:not(.btn-active), .btn.btn-active-text-gray-300:hover:not(.btn-active), .btn.btn-active-text-gray-300:active:not(.btn-active), .btn.btn-active-text-gray-300.active, .btn.btn-active-text-gray-300.show, .show > .btn.btn-active-text-gray-300 { + color: #E4E6EF; +} + +.btn.btn-color-gray-400 { + color: #B5B5C3; +} +.btn.btn-color-gray-400 i { + color: #B5B5C3; +} +.btn.btn-color-gray-400 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.btn.btn-color-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-400.dropdown-toggle:after { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-color-gray-400, .btn-check:active + .btn.btn-active-color-gray-400, .btn.btn-active-color-gray-400:focus:not(.btn-active), .btn.btn-active-color-gray-400:hover:not(.btn-active), .btn.btn-active-color-gray-400:active:not(.btn-active), .btn.btn-active-color-gray-400.active, .btn.btn-active-color-gray-400.show, .show > .btn.btn-active-color-gray-400 { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-color-gray-400 i, .btn-check:active + .btn.btn-active-color-gray-400 i, .btn.btn-active-color-gray-400:focus:not(.btn-active) i, .btn.btn-active-color-gray-400:hover:not(.btn-active) i, .btn.btn-active-color-gray-400:active:not(.btn-active) i, .btn.btn-active-color-gray-400.active i, .btn.btn-active-color-gray-400.show i, .show > .btn.btn-active-color-gray-400 i { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-color-gray-400 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-400 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-400 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-color-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-400.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-400.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-400.dropdown-toggle:after, .btn.btn-active-color-gray-400:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-400:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-400:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-400.active.dropdown-toggle:after, .btn.btn-active-color-gray-400.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-400.dropdown-toggle:after { + color: #B5B5C3; +} + +.btn.btn-icon-gray-400 i { + color: #B5B5C3; +} +.btn.btn-icon-gray-400 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.btn.btn-icon-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-400.dropdown-toggle:after { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-icon-gray-400 i, .btn-check:active + .btn.btn-active-icon-gray-400 i, .btn.btn-active-icon-gray-400:focus:not(.btn-active) i, .btn.btn-active-icon-gray-400:hover:not(.btn-active) i, .btn.btn-active-icon-gray-400:active:not(.btn-active) i, .btn.btn-active-icon-gray-400.active i, .btn.btn-active-icon-gray-400.show i, .show > .btn.btn-active-icon-gray-400 i { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-icon-gray-400 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-400 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-400 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-icon-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-400.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-400 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-400.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-400.dropdown-toggle:after, .btn.btn-active-icon-gray-400:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-400:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-400:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-400.active.dropdown-toggle:after, .btn.btn-active-icon-gray-400.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-400.dropdown-toggle:after { + color: #B5B5C3; +} + +.btn.btn-text-gray-400 { + color: #B5B5C3; +} +.btn-check:checked + .btn.btn-active-text-gray-400, .btn-check:active + .btn.btn-active-text-gray-400, .btn.btn-active-text-gray-400:focus:not(.btn-active), .btn.btn-active-text-gray-400:hover:not(.btn-active), .btn.btn-active-text-gray-400:active:not(.btn-active), .btn.btn-active-text-gray-400.active, .btn.btn-active-text-gray-400.show, .show > .btn.btn-active-text-gray-400 { + color: #B5B5C3; +} + +.btn.btn-color-gray-500 { + color: #A1A5B7; +} +.btn.btn-color-gray-500 i { + color: #A1A5B7; +} +.btn.btn-color-gray-500 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn.btn-color-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-500.dropdown-toggle:after { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-gray-500, .btn-check:active + .btn.btn-active-color-gray-500, .btn.btn-active-color-gray-500:focus:not(.btn-active), .btn.btn-active-color-gray-500:hover:not(.btn-active), .btn.btn-active-color-gray-500:active:not(.btn-active), .btn.btn-active-color-gray-500.active, .btn.btn-active-color-gray-500.show, .show > .btn.btn-active-color-gray-500 { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-gray-500 i, .btn-check:active + .btn.btn-active-color-gray-500 i, .btn.btn-active-color-gray-500:focus:not(.btn-active) i, .btn.btn-active-color-gray-500:hover:not(.btn-active) i, .btn.btn-active-color-gray-500:active:not(.btn-active) i, .btn.btn-active-color-gray-500.active i, .btn.btn-active-color-gray-500.show i, .show > .btn.btn-active-color-gray-500 i { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-gray-500 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-500 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-500 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-color-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-500.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-500.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-500.dropdown-toggle:after, .btn.btn-active-color-gray-500:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-500:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-500:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-500.active.dropdown-toggle:after, .btn.btn-active-color-gray-500.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-500.dropdown-toggle:after { + color: #A1A5B7; +} + +.btn.btn-icon-gray-500 i { + color: #A1A5B7; +} +.btn.btn-icon-gray-500 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn.btn-icon-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-500.dropdown-toggle:after { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-gray-500 i, .btn-check:active + .btn.btn-active-icon-gray-500 i, .btn.btn-active-icon-gray-500:focus:not(.btn-active) i, .btn.btn-active-icon-gray-500:hover:not(.btn-active) i, .btn.btn-active-icon-gray-500:active:not(.btn-active) i, .btn.btn-active-icon-gray-500.active i, .btn.btn-active-icon-gray-500.show i, .show > .btn.btn-active-icon-gray-500 i { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-gray-500 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-500 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-500 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-icon-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-500.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-500 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-500.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-500.dropdown-toggle:after, .btn.btn-active-icon-gray-500:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-500:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-500:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-500.active.dropdown-toggle:after, .btn.btn-active-icon-gray-500.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-500.dropdown-toggle:after { + color: #A1A5B7; +} + +.btn.btn-text-gray-500 { + color: #A1A5B7; +} +.btn-check:checked + .btn.btn-active-text-gray-500, .btn-check:active + .btn.btn-active-text-gray-500, .btn.btn-active-text-gray-500:focus:not(.btn-active), .btn.btn-active-text-gray-500:hover:not(.btn-active), .btn.btn-active-text-gray-500:active:not(.btn-active), .btn.btn-active-text-gray-500.active, .btn.btn-active-text-gray-500.show, .show > .btn.btn-active-text-gray-500 { + color: #A1A5B7; +} + +.btn.btn-color-gray-600 { + color: #7E8299; +} +.btn.btn-color-gray-600 i { + color: #7E8299; +} +.btn.btn-color-gray-600 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn.btn-color-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-600.dropdown-toggle:after { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-color-gray-600, .btn-check:active + .btn.btn-active-color-gray-600, .btn.btn-active-color-gray-600:focus:not(.btn-active), .btn.btn-active-color-gray-600:hover:not(.btn-active), .btn.btn-active-color-gray-600:active:not(.btn-active), .btn.btn-active-color-gray-600.active, .btn.btn-active-color-gray-600.show, .show > .btn.btn-active-color-gray-600 { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-color-gray-600 i, .btn-check:active + .btn.btn-active-color-gray-600 i, .btn.btn-active-color-gray-600:focus:not(.btn-active) i, .btn.btn-active-color-gray-600:hover:not(.btn-active) i, .btn.btn-active-color-gray-600:active:not(.btn-active) i, .btn.btn-active-color-gray-600.active i, .btn.btn-active-color-gray-600.show i, .show > .btn.btn-active-color-gray-600 i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-color-gray-600 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-600 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-600 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-active-color-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-600.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-600.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-600.dropdown-toggle:after, .btn.btn-active-color-gray-600:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-600:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-600:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-600.active.dropdown-toggle:after, .btn.btn-active-color-gray-600.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-600.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-icon-gray-600 i { + color: #7E8299; +} +.btn.btn-icon-gray-600 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn.btn-icon-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-600.dropdown-toggle:after { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-icon-gray-600 i, .btn-check:active + .btn.btn-active-icon-gray-600 i, .btn.btn-active-icon-gray-600:focus:not(.btn-active) i, .btn.btn-active-icon-gray-600:hover:not(.btn-active) i, .btn.btn-active-icon-gray-600:active:not(.btn-active) i, .btn.btn-active-icon-gray-600.active i, .btn.btn-active-icon-gray-600.show i, .show > .btn.btn-active-icon-gray-600 i { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-icon-gray-600 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-600 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-600 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn-check:checked + .btn.btn-active-icon-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-600.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-600 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-600.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-600.dropdown-toggle:after, .btn.btn-active-icon-gray-600:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-600:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-600:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-600.active.dropdown-toggle:after, .btn.btn-active-icon-gray-600.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-600.dropdown-toggle:after { + color: #7E8299; +} + +.btn.btn-text-gray-600 { + color: #7E8299; +} +.btn-check:checked + .btn.btn-active-text-gray-600, .btn-check:active + .btn.btn-active-text-gray-600, .btn.btn-active-text-gray-600:focus:not(.btn-active), .btn.btn-active-text-gray-600:hover:not(.btn-active), .btn.btn-active-text-gray-600:active:not(.btn-active), .btn.btn-active-text-gray-600.active, .btn.btn-active-text-gray-600.show, .show > .btn.btn-active-text-gray-600 { + color: #7E8299; +} + +.btn.btn-color-gray-700 { + color: #5E6278; +} +.btn.btn-color-gray-700 i { + color: #5E6278; +} +.btn.btn-color-gray-700 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.btn.btn-color-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-700.dropdown-toggle:after { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-color-gray-700, .btn-check:active + .btn.btn-active-color-gray-700, .btn.btn-active-color-gray-700:focus:not(.btn-active), .btn.btn-active-color-gray-700:hover:not(.btn-active), .btn.btn-active-color-gray-700:active:not(.btn-active), .btn.btn-active-color-gray-700.active, .btn.btn-active-color-gray-700.show, .show > .btn.btn-active-color-gray-700 { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-color-gray-700 i, .btn-check:active + .btn.btn-active-color-gray-700 i, .btn.btn-active-color-gray-700:focus:not(.btn-active) i, .btn.btn-active-color-gray-700:hover:not(.btn-active) i, .btn.btn-active-color-gray-700:active:not(.btn-active) i, .btn.btn-active-color-gray-700.active i, .btn.btn-active-color-gray-700.show i, .show > .btn.btn-active-color-gray-700 i { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-color-gray-700 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-700 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-700 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.btn-check:checked + .btn.btn-active-color-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-700.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-700.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-700.dropdown-toggle:after, .btn.btn-active-color-gray-700:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-700:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-700:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-700.active.dropdown-toggle:after, .btn.btn-active-color-gray-700.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-700.dropdown-toggle:after { + color: #5E6278; +} + +.btn.btn-icon-gray-700 i { + color: #5E6278; +} +.btn.btn-icon-gray-700 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.btn.btn-icon-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-700.dropdown-toggle:after { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-icon-gray-700 i, .btn-check:active + .btn.btn-active-icon-gray-700 i, .btn.btn-active-icon-gray-700:focus:not(.btn-active) i, .btn.btn-active-icon-gray-700:hover:not(.btn-active) i, .btn.btn-active-icon-gray-700:active:not(.btn-active) i, .btn.btn-active-icon-gray-700.active i, .btn.btn-active-icon-gray-700.show i, .show > .btn.btn-active-icon-gray-700 i { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-icon-gray-700 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-700 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-700 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.btn-check:checked + .btn.btn-active-icon-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-700.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-700 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-700.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-700.dropdown-toggle:after, .btn.btn-active-icon-gray-700:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-700:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-700:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-700.active.dropdown-toggle:after, .btn.btn-active-icon-gray-700.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-700.dropdown-toggle:after { + color: #5E6278; +} + +.btn.btn-text-gray-700 { + color: #5E6278; +} +.btn-check:checked + .btn.btn-active-text-gray-700, .btn-check:active + .btn.btn-active-text-gray-700, .btn.btn-active-text-gray-700:focus:not(.btn-active), .btn.btn-active-text-gray-700:hover:not(.btn-active), .btn.btn-active-text-gray-700:active:not(.btn-active), .btn.btn-active-text-gray-700.active, .btn.btn-active-text-gray-700.show, .show > .btn.btn-active-text-gray-700 { + color: #5E6278; +} + +.btn.btn-color-gray-800 { + color: #3F4254; +} +.btn.btn-color-gray-800 i { + color: #3F4254; +} +.btn.btn-color-gray-800 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn.btn-color-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-800.dropdown-toggle:after { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-color-gray-800, .btn-check:active + .btn.btn-active-color-gray-800, .btn.btn-active-color-gray-800:focus:not(.btn-active), .btn.btn-active-color-gray-800:hover:not(.btn-active), .btn.btn-active-color-gray-800:active:not(.btn-active), .btn.btn-active-color-gray-800.active, .btn.btn-active-color-gray-800.show, .show > .btn.btn-active-color-gray-800 { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-color-gray-800 i, .btn-check:active + .btn.btn-active-color-gray-800 i, .btn.btn-active-color-gray-800:focus:not(.btn-active) i, .btn.btn-active-color-gray-800:hover:not(.btn-active) i, .btn.btn-active-color-gray-800:active:not(.btn-active) i, .btn.btn-active-color-gray-800.active i, .btn.btn-active-color-gray-800.show i, .show > .btn.btn-active-color-gray-800 i { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-color-gray-800 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-800 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-800 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn-check:checked + .btn.btn-active-color-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-800.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-800.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-800.dropdown-toggle:after, .btn.btn-active-color-gray-800:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-800:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-800:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-800.active.dropdown-toggle:after, .btn.btn-active-color-gray-800.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-800.dropdown-toggle:after { + color: #3F4254; +} + +.btn.btn-icon-gray-800 i { + color: #3F4254; +} +.btn.btn-icon-gray-800 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn.btn-icon-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-800.dropdown-toggle:after { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-icon-gray-800 i, .btn-check:active + .btn.btn-active-icon-gray-800 i, .btn.btn-active-icon-gray-800:focus:not(.btn-active) i, .btn.btn-active-icon-gray-800:hover:not(.btn-active) i, .btn.btn-active-icon-gray-800:active:not(.btn-active) i, .btn.btn-active-icon-gray-800.active i, .btn.btn-active-icon-gray-800.show i, .show > .btn.btn-active-icon-gray-800 i { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-icon-gray-800 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-800 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-800 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.btn-check:checked + .btn.btn-active-icon-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-800.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-800 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-800.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-800.dropdown-toggle:after, .btn.btn-active-icon-gray-800:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-800:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-800:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-800.active.dropdown-toggle:after, .btn.btn-active-icon-gray-800.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-800.dropdown-toggle:after { + color: #3F4254; +} + +.btn.btn-text-gray-800 { + color: #3F4254; +} +.btn-check:checked + .btn.btn-active-text-gray-800, .btn-check:active + .btn.btn-active-text-gray-800, .btn.btn-active-text-gray-800:focus:not(.btn-active), .btn.btn-active-text-gray-800:hover:not(.btn-active), .btn.btn-active-text-gray-800:active:not(.btn-active), .btn.btn-active-text-gray-800.active, .btn.btn-active-text-gray-800.show, .show > .btn.btn-active-text-gray-800 { + color: #3F4254; +} + +.btn.btn-color-gray-900 { + color: #181C32; +} +.btn.btn-color-gray-900 i { + color: #181C32; +} +.btn.btn-color-gray-900 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn.btn-color-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-color-gray-900.dropdown-toggle:after { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-gray-900, .btn-check:active + .btn.btn-active-color-gray-900, .btn.btn-active-color-gray-900:focus:not(.btn-active), .btn.btn-active-color-gray-900:hover:not(.btn-active), .btn.btn-active-color-gray-900:active:not(.btn-active), .btn.btn-active-color-gray-900.active, .btn.btn-active-color-gray-900.show, .show > .btn.btn-active-color-gray-900 { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-gray-900 i, .btn-check:active + .btn.btn-active-color-gray-900 i, .btn.btn-active-color-gray-900:focus:not(.btn-active) i, .btn.btn-active-color-gray-900:hover:not(.btn-active) i, .btn.btn-active-color-gray-900:active:not(.btn-active) i, .btn.btn-active-color-gray-900.active i, .btn.btn-active-color-gray-900.show i, .show > .btn.btn-active-color-gray-900 i { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-color-gray-900 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-900 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-900 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn-check:checked + .btn.btn-active-color-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-color-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-color-gray-900.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-color-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-color-gray-900.dropdown-toggle:after, .btn-check:active + .btn.btn-active-color-gray-900.dropdown-toggle:after, .btn.btn-active-color-gray-900:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-900:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-900:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-color-gray-900.active.dropdown-toggle:after, .btn.btn-active-color-gray-900.show.dropdown-toggle:after, .show > .btn.btn-active-color-gray-900.dropdown-toggle:after { + color: #181C32; +} + +.btn.btn-icon-gray-900 i { + color: #181C32; +} +.btn.btn-icon-gray-900 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn.btn-icon-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-icon-gray-900.dropdown-toggle:after { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-gray-900 i, .btn-check:active + .btn.btn-active-icon-gray-900 i, .btn.btn-active-icon-gray-900:focus:not(.btn-active) i, .btn.btn-active-icon-gray-900:hover:not(.btn-active) i, .btn.btn-active-icon-gray-900:active:not(.btn-active) i, .btn.btn-active-icon-gray-900.active i, .btn.btn-active-icon-gray-900.show i, .show > .btn.btn-active-icon-gray-900 i { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-gray-900 .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-900 .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-900 .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.btn-check:checked + .btn.btn-active-icon-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-active-icon-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-active-icon-gray-900.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-active-icon-gray-900 .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-active-icon-gray-900.dropdown-toggle:after, .btn-check:active + .btn.btn-active-icon-gray-900.dropdown-toggle:after, .btn.btn-active-icon-gray-900:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-900:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-900:active:not(.btn-active).dropdown-toggle:after, .btn.btn-active-icon-gray-900.active.dropdown-toggle:after, .btn.btn-active-icon-gray-900.show.dropdown-toggle:after, .show > .btn.btn-active-icon-gray-900.dropdown-toggle:after { + color: #181C32; +} + +.btn.btn-text-gray-900 { + color: #181C32; +} +.btn-check:checked + .btn.btn-active-text-gray-900, .btn-check:active + .btn.btn-active-text-gray-900, .btn.btn-active-text-gray-900:focus:not(.btn-active), .btn.btn-active-text-gray-900:hover:not(.btn-active), .btn.btn-active-text-gray-900:active:not(.btn-active), .btn.btn-active-text-gray-900.active, .btn.btn-active-text-gray-900.show, .show > .btn.btn-active-text-gray-900 { + color: #181C32; +} + +.btn.btn-facebook { + color: #ffffff; + border-color: #3b5998; + background-color: #3b5998; +} +.btn.btn-facebook i { + color: #ffffff; +} +.btn.btn-facebook .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-facebook .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-facebook.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-facebook, .btn-check:active + .btn.btn-facebook, .btn.btn-facebook:focus:not(.btn-active), .btn.btn-facebook:hover:not(.btn-active), .btn.btn-facebook:active:not(.btn-active), .btn.btn-facebook.active, .btn.btn-facebook.show, .show > .btn.btn-facebook { + border-color: #30497c; + background-color: #30497c !important; +} + +.btn.btn-light-facebook { + color: #3b5998; + border-color: rgba(59, 89, 152, 0.1); + background-color: rgba(59, 89, 152, 0.1); +} +.btn.btn-light-facebook i { + color: #3b5998; +} +.btn.btn-light-facebook .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3b5998; +} +.btn.btn-light-facebook .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-facebook.dropdown-toggle:after { + color: #3b5998; +} +.btn-check:checked + .btn.btn-light-facebook, .btn-check:active + .btn.btn-light-facebook, .btn.btn-light-facebook:focus:not(.btn-active), .btn.btn-light-facebook:hover:not(.btn-active), .btn.btn-light-facebook:active:not(.btn-active), .btn.btn-light-facebook.active, .btn.btn-light-facebook.show, .show > .btn.btn-light-facebook { + color: #ffffff; + border-color: #3b5998; + background-color: #3b5998 !important; +} +.btn-check:checked + .btn.btn-light-facebook i, .btn-check:active + .btn.btn-light-facebook i, .btn.btn-light-facebook:focus:not(.btn-active) i, .btn.btn-light-facebook:hover:not(.btn-active) i, .btn.btn-light-facebook:active:not(.btn-active) i, .btn.btn-light-facebook.active i, .btn.btn-light-facebook.show i, .show > .btn.btn-light-facebook i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-facebook .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-facebook .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-facebook:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-facebook:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-facebook:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-facebook.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-facebook.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-facebook .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-facebook .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-facebook .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-facebook:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-facebook:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-facebook:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-facebook.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-facebook.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-facebook .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-facebook.dropdown-toggle:after, .btn-check:active + .btn.btn-light-facebook.dropdown-toggle:after, .btn.btn-light-facebook:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-facebook:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-facebook:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-facebook.active.dropdown-toggle:after, .btn.btn-light-facebook.show.dropdown-toggle:after, .show > .btn.btn-light-facebook.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-google { + color: #ffffff; + border-color: #dd4b39; + background-color: #dd4b39; +} +.btn.btn-google i { + color: #ffffff; +} +.btn.btn-google .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-google .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-google.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-google, .btn-check:active + .btn.btn-google, .btn.btn-google:focus:not(.btn-active), .btn.btn-google:hover:not(.btn-active), .btn.btn-google:active:not(.btn-active), .btn.btn-google.active, .btn.btn-google.show, .show > .btn.btn-google { + border-color: #cd3623; + background-color: #cd3623 !important; +} + +.btn.btn-light-google { + color: #dd4b39; + border-color: rgba(221, 75, 57, 0.1); + background-color: rgba(221, 75, 57, 0.1); +} +.btn.btn-light-google i { + color: #dd4b39; +} +.btn.btn-light-google .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #dd4b39; +} +.btn.btn-light-google .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-google.dropdown-toggle:after { + color: #dd4b39; +} +.btn-check:checked + .btn.btn-light-google, .btn-check:active + .btn.btn-light-google, .btn.btn-light-google:focus:not(.btn-active), .btn.btn-light-google:hover:not(.btn-active), .btn.btn-light-google:active:not(.btn-active), .btn.btn-light-google.active, .btn.btn-light-google.show, .show > .btn.btn-light-google { + color: #ffffff; + border-color: #dd4b39; + background-color: #dd4b39 !important; +} +.btn-check:checked + .btn.btn-light-google i, .btn-check:active + .btn.btn-light-google i, .btn.btn-light-google:focus:not(.btn-active) i, .btn.btn-light-google:hover:not(.btn-active) i, .btn.btn-light-google:active:not(.btn-active) i, .btn.btn-light-google.active i, .btn.btn-light-google.show i, .show > .btn.btn-light-google i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-google .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-google .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-google:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-google:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-google:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-google.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-google.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-google .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-google .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-google .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-google:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-google:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-google:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-google.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-google.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-google .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-google.dropdown-toggle:after, .btn-check:active + .btn.btn-light-google.dropdown-toggle:after, .btn.btn-light-google:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-google:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-google:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-google.active.dropdown-toggle:after, .btn.btn-light-google.show.dropdown-toggle:after, .show > .btn.btn-light-google.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-twitter { + color: #ffffff; + border-color: #1da1f2; + background-color: #1da1f2; +} +.btn.btn-twitter i { + color: #ffffff; +} +.btn.btn-twitter .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-twitter .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-twitter.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-twitter, .btn-check:active + .btn.btn-twitter, .btn.btn-twitter:focus:not(.btn-active), .btn.btn-twitter:hover:not(.btn-active), .btn.btn-twitter:active:not(.btn-active), .btn.btn-twitter.active, .btn.btn-twitter.show, .show > .btn.btn-twitter { + border-color: #0d8ddc; + background-color: #0d8ddc !important; +} + +.btn.btn-light-twitter { + color: #1da1f2; + border-color: rgba(29, 161, 242, 0.1); + background-color: rgba(29, 161, 242, 0.1); +} +.btn.btn-light-twitter i { + color: #1da1f2; +} +.btn.btn-light-twitter .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #1da1f2; +} +.btn.btn-light-twitter .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-twitter.dropdown-toggle:after { + color: #1da1f2; +} +.btn-check:checked + .btn.btn-light-twitter, .btn-check:active + .btn.btn-light-twitter, .btn.btn-light-twitter:focus:not(.btn-active), .btn.btn-light-twitter:hover:not(.btn-active), .btn.btn-light-twitter:active:not(.btn-active), .btn.btn-light-twitter.active, .btn.btn-light-twitter.show, .show > .btn.btn-light-twitter { + color: #ffffff; + border-color: #1da1f2; + background-color: #1da1f2 !important; +} +.btn-check:checked + .btn.btn-light-twitter i, .btn-check:active + .btn.btn-light-twitter i, .btn.btn-light-twitter:focus:not(.btn-active) i, .btn.btn-light-twitter:hover:not(.btn-active) i, .btn.btn-light-twitter:active:not(.btn-active) i, .btn.btn-light-twitter.active i, .btn.btn-light-twitter.show i, .show > .btn.btn-light-twitter i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-twitter .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-twitter .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-twitter:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-twitter:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-twitter:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-twitter.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-twitter.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-twitter .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-twitter .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-twitter .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-twitter:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-twitter:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-twitter:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-twitter.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-twitter.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-twitter .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-twitter.dropdown-toggle:after, .btn-check:active + .btn.btn-light-twitter.dropdown-toggle:after, .btn.btn-light-twitter:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-twitter:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-twitter:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-twitter.active.dropdown-toggle:after, .btn.btn-light-twitter.show.dropdown-toggle:after, .show > .btn.btn-light-twitter.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-instagram { + color: #ffffff; + border-color: #e1306c; + background-color: #e1306c; +} +.btn.btn-instagram i { + color: #ffffff; +} +.btn.btn-instagram .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-instagram .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-instagram.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-instagram, .btn-check:active + .btn.btn-instagram, .btn.btn-instagram:focus:not(.btn-active), .btn.btn-instagram:hover:not(.btn-active), .btn.btn-instagram:active:not(.btn-active), .btn.btn-instagram.active, .btn.btn-instagram.show, .show > .btn.btn-instagram { + border-color: #cd1e59; + background-color: #cd1e59 !important; +} + +.btn.btn-light-instagram { + color: #e1306c; + border-color: rgba(225, 48, 108, 0.1); + background-color: rgba(225, 48, 108, 0.1); +} +.btn.btn-light-instagram i { + color: #e1306c; +} +.btn.btn-light-instagram .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #e1306c; +} +.btn.btn-light-instagram .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-instagram.dropdown-toggle:after { + color: #e1306c; +} +.btn-check:checked + .btn.btn-light-instagram, .btn-check:active + .btn.btn-light-instagram, .btn.btn-light-instagram:focus:not(.btn-active), .btn.btn-light-instagram:hover:not(.btn-active), .btn.btn-light-instagram:active:not(.btn-active), .btn.btn-light-instagram.active, .btn.btn-light-instagram.show, .show > .btn.btn-light-instagram { + color: #ffffff; + border-color: #e1306c; + background-color: #e1306c !important; +} +.btn-check:checked + .btn.btn-light-instagram i, .btn-check:active + .btn.btn-light-instagram i, .btn.btn-light-instagram:focus:not(.btn-active) i, .btn.btn-light-instagram:hover:not(.btn-active) i, .btn.btn-light-instagram:active:not(.btn-active) i, .btn.btn-light-instagram.active i, .btn.btn-light-instagram.show i, .show > .btn.btn-light-instagram i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-instagram .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-instagram .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-instagram:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-instagram:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-instagram:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-instagram.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-instagram.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-instagram .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-instagram .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-instagram .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-instagram:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-instagram:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-instagram:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-instagram.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-instagram.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-instagram .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-instagram.dropdown-toggle:after, .btn-check:active + .btn.btn-light-instagram.dropdown-toggle:after, .btn.btn-light-instagram:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-instagram:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-instagram:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-instagram.active.dropdown-toggle:after, .btn.btn-light-instagram.show.dropdown-toggle:after, .show > .btn.btn-light-instagram.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-youtube { + color: #ffffff; + border-color: #ff0000; + background-color: #ff0000; +} +.btn.btn-youtube i { + color: #ffffff; +} +.btn.btn-youtube .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-youtube .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-youtube.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-youtube, .btn-check:active + .btn.btn-youtube, .btn.btn-youtube:focus:not(.btn-active), .btn.btn-youtube:hover:not(.btn-active), .btn.btn-youtube:active:not(.btn-active), .btn.btn-youtube.active, .btn.btn-youtube.show, .show > .btn.btn-youtube { + border-color: #d90000; + background-color: #d90000 !important; +} + +.btn.btn-light-youtube { + color: #ff0000; + border-color: rgba(255, 0, 0, 0.1); + background-color: rgba(255, 0, 0, 0.1); +} +.btn.btn-light-youtube i { + color: #ff0000; +} +.btn.btn-light-youtube .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ff0000; +} +.btn.btn-light-youtube .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-youtube.dropdown-toggle:after { + color: #ff0000; +} +.btn-check:checked + .btn.btn-light-youtube, .btn-check:active + .btn.btn-light-youtube, .btn.btn-light-youtube:focus:not(.btn-active), .btn.btn-light-youtube:hover:not(.btn-active), .btn.btn-light-youtube:active:not(.btn-active), .btn.btn-light-youtube.active, .btn.btn-light-youtube.show, .show > .btn.btn-light-youtube { + color: #ffffff; + border-color: #ff0000; + background-color: #ff0000 !important; +} +.btn-check:checked + .btn.btn-light-youtube i, .btn-check:active + .btn.btn-light-youtube i, .btn.btn-light-youtube:focus:not(.btn-active) i, .btn.btn-light-youtube:hover:not(.btn-active) i, .btn.btn-light-youtube:active:not(.btn-active) i, .btn.btn-light-youtube.active i, .btn.btn-light-youtube.show i, .show > .btn.btn-light-youtube i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-youtube .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-youtube .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-youtube:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-youtube:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-youtube:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-youtube.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-youtube.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-youtube .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-youtube .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-youtube .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-youtube:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-youtube:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-youtube:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-youtube.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-youtube.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-youtube .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-youtube.dropdown-toggle:after, .btn-check:active + .btn.btn-light-youtube.dropdown-toggle:after, .btn.btn-light-youtube:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-youtube:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-youtube:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-youtube.active.dropdown-toggle:after, .btn.btn-light-youtube.show.dropdown-toggle:after, .show > .btn.btn-light-youtube.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-linkedin { + color: #ffffff; + border-color: #0077b5; + background-color: #0077b5; +} +.btn.btn-linkedin i { + color: #ffffff; +} +.btn.btn-linkedin .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn.btn-linkedin .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-linkedin.dropdown-toggle:after { + color: #ffffff; +} +.btn-check:checked + .btn.btn-linkedin, .btn-check:active + .btn.btn-linkedin, .btn.btn-linkedin:focus:not(.btn-active), .btn.btn-linkedin:hover:not(.btn-active), .btn.btn-linkedin:active:not(.btn-active), .btn.btn-linkedin.active, .btn.btn-linkedin.show, .show > .btn.btn-linkedin { + border-color: #005e8f; + background-color: #005e8f !important; +} + +.btn.btn-light-linkedin { + color: #0077b5; + border-color: rgba(0, 119, 181, 0.1); + background-color: rgba(0, 119, 181, 0.1); +} +.btn.btn-light-linkedin i { + color: #0077b5; +} +.btn.btn-light-linkedin .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #0077b5; +} +.btn.btn-light-linkedin .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-light-linkedin.dropdown-toggle:after { + color: #0077b5; +} +.btn-check:checked + .btn.btn-light-linkedin, .btn-check:active + .btn.btn-light-linkedin, .btn.btn-light-linkedin:focus:not(.btn-active), .btn.btn-light-linkedin:hover:not(.btn-active), .btn.btn-light-linkedin:active:not(.btn-active), .btn.btn-light-linkedin.active, .btn.btn-light-linkedin.show, .show > .btn.btn-light-linkedin { + color: #ffffff; + border-color: #0077b5; + background-color: #0077b5 !important; +} +.btn-check:checked + .btn.btn-light-linkedin i, .btn-check:active + .btn.btn-light-linkedin i, .btn.btn-light-linkedin:focus:not(.btn-active) i, .btn.btn-light-linkedin:hover:not(.btn-active) i, .btn.btn-light-linkedin:active:not(.btn-active) i, .btn.btn-light-linkedin.active i, .btn.btn-light-linkedin.show i, .show > .btn.btn-light-linkedin i { + color: #ffffff; +} +.btn-check:checked + .btn.btn-light-linkedin .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-linkedin .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-linkedin.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-light-linkedin.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-light-linkedin .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .btn.btn-light-linkedin .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-light-linkedin .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-linkedin:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-linkedin.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-light-linkedin.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-light-linkedin .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-light-linkedin.dropdown-toggle:after, .btn-check:active + .btn.btn-light-linkedin.dropdown-toggle:after, .btn.btn-light-linkedin:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-light-linkedin:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-light-linkedin:active:not(.btn-active).dropdown-toggle:after, .btn.btn-light-linkedin.active.dropdown-toggle:after, .btn.btn-light-linkedin.show.dropdown-toggle:after, .show > .btn.btn-light-linkedin.dropdown-toggle:after { + color: #ffffff; +} + +.btn.btn-outline.btn-outline-dashed { + border-width: 1px; + border-style: dashed; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed, .btn-check:active + .btn.btn-outline.btn-outline-dashed, .btn.btn-outline.btn-outline-dashed:focus:not(.btn-active), .btn.btn-outline.btn-outline-dashed:hover:not(.btn-active), .btn.btn-outline.btn-outline-dashed:active:not(.btn-active), .btn.btn-outline.btn-outline-dashed.active, .btn.btn-outline.btn-outline-dashed.show, .show > .btn.btn-outline.btn-outline-dashed { + border-color: #7239EA; +} + +.btn.btn-outline.btn-outline-dashed.btn-outline-default { + border-width: 1px; + border-style: dashed; + color: #7E8299; + border-color: #E4E6EF; +} +.btn.btn-outline.btn-outline-dashed.btn-outline-default i { + color: #7E8299; +} +.btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn.btn-outline.btn-outline-dashed.btn-outline-default.dropdown-toggle:after { + color: #7E8299; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed.btn-outline-default, .btn-check:active + .btn.btn-outline.btn-outline-dashed.btn-outline-default, .btn.btn-outline.btn-outline-dashed.btn-outline-default:focus:not(.btn-active), .btn.btn-outline.btn-outline-dashed.btn-outline-default:hover:not(.btn-active), .btn.btn-outline.btn-outline-dashed.btn-outline-default:active:not(.btn-active), .btn.btn-outline.btn-outline-dashed.btn-outline-default.active, .btn.btn-outline.btn-outline-dashed.btn-outline-default.show, .show > .btn.btn-outline.btn-outline-dashed.btn-outline-default { + color: #7239EA; + border-color: #7239EA; + background-color: #F8F5FF !important; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed.btn-outline-default i, .btn-check:active + .btn.btn-outline.btn-outline-dashed.btn-outline-default i, .btn.btn-outline.btn-outline-dashed.btn-outline-default:focus:not(.btn-active) i, .btn.btn-outline.btn-outline-dashed.btn-outline-default:hover:not(.btn-active) i, .btn.btn-outline.btn-outline-dashed.btn-outline-default:active:not(.btn-active) i, .btn.btn-outline.btn-outline-dashed.btn-outline-default.active i, .btn.btn-outline.btn-outline-dashed.btn-outline-default.show i, .show > .btn.btn-outline.btn-outline-dashed.btn-outline-default i { + color: #7239EA; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default.active .svg-icon svg [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn.btn-outline.btn-outline-dashed.btn-outline-default.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .btn.btn-outline.btn-outline-dashed.btn-outline-default .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .btn.btn-outline.btn-outline-dashed.btn-outline-default.dropdown-toggle:after, .btn-check:active + .btn.btn-outline.btn-outline-dashed.btn-outline-default.dropdown-toggle:after, .btn.btn-outline.btn-outline-dashed.btn-outline-default:focus:not(.btn-active).dropdown-toggle:after, .btn.btn-outline.btn-outline-dashed.btn-outline-default:hover:not(.btn-active).dropdown-toggle:after, .btn.btn-outline.btn-outline-dashed.btn-outline-default:active:not(.btn-active).dropdown-toggle:after, .btn.btn-outline.btn-outline-dashed.btn-outline-default.active.dropdown-toggle:after, .btn.btn-outline.btn-outline-dashed.btn-outline-default.show.dropdown-toggle:after, .show > .btn.btn-outline.btn-outline-dashed.btn-outline-default.dropdown-toggle:after { + color: #7239EA; +} + +code:not([class*=language-]) { + font-weight: 400; + color: #b93993; + line-height: inherit; + font-size: inherit; + background-color: #F1F3F8; + padding: 0.1rem 0.4rem; + margin: 0 0.5rem; + box-shadow: 0px 3px 9px rgba(0, 0, 0, 0.08); + border-radius: 0.3rem; +} + +.form-control { + box-shadow: none !important; +} +.dropdown.show > .form-control { + color: #181C32; + background-color: #ffffff; + border-color: #B5B5C3; +} +.form-control[readonly] { + background-color: #ffffff; +} +.form-control.form-control-solid { + background-color: #F5F8FA; + border-color: #F5F8FA; + color: #5E6278; + transition: color 0.2s ease, background-color 0.2s ease; +} +.form-control.form-control-solid::placeholder { + color: #A1A5B7; +} +.form-control.form-control-solid::-moz-placeholder { + color: #A1A5B7; + opacity: 1; +} +.dropdown.show > .form-control.form-control-solid, .form-control.form-control-solid:active, .form-control.form-control-solid.active, .form-control.form-control-solid:focus, .form-control.form-control-solid.focus { + background-color: #eef3f7; + border-color: #eef3f7; + color: #5E6278; + transition: color 0.2s ease, background-color 0.2s ease; +} +.form-control.form-control-white { + background-color: #ffffff; + border-color: #ffffff; +} +.dropdown.show > .form-control.form-control-white, .form-control.form-control-white:active, .form-control.form-control-white.active, .form-control.form-control-white:focus, .form-control.form-control-white.focus { + background-color: #ffffff; + border-color: #ffffff; +} +.form-control.form-control-flush { + border: 0; + background-color: transparent; + outline: none !important; + box-shadow: none; + border-radius: 0; +} + +.placeholder-gray-500::placeholder { + color: #A1A5B7; +} +.placeholder-gray-500::-moz-placeholder { + color: #A1A5B7; + opacity: 1; +} + +.placeholder-white::placeholder { + color: #ffffff; +} +.placeholder-white::-moz-placeholder { + color: #ffffff; + opacity: 1; +} + +.resize-none { + resize: none; +} + +.form-select { + box-shadow: none !important; +} +.form-select.form-select-solid { + background-color: #F5F8FA; + border-color: #F5F8FA; + color: #5E6278; + transition: color 0.2s ease, background-color 0.2s ease; +} +.form-select.form-select-solid::placeholder { + color: #A1A5B7; +} +.form-select.form-select-solid::-moz-placeholder { + color: #A1A5B7; + opacity: 1; +} +.dropdown.show > .form-select.form-select-solid, .form-select.form-select-solid:active, .form-select.form-select-solid.active, .form-select.form-select-solid:focus, .form-select.form-select-solid.focus { + background-color: #eef3f7; + border-color: #eef3f7 !important; + color: #5E6278; + transition: color 0.2s ease, background-color 0.2s ease; +} +.form-select.form-select-white { + background-color: #ffffff; + border-color: #ffffff; + color: #181C32; +} +.form-select.form-select-white::placeholder { + color: #A1A5B7; +} +.form-select.form-select-white::-moz-placeholder { + color: #A1A5B7; + opacity: 1; +} +.dropdown.show > .form-select.form-select-white, .form-select.form-select-white:active, .form-select.form-select-white.active, .form-select.form-select-white:focus, .form-select.form-select-white.focus { + background-color: #ffffff; + border-color: #ffffff !important; + color: #181C32; +} + +.form-check .form-check-label { + cursor: pointer; +} +.form-check .form-check-input { + cursor: pointer; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.form-check.form-check-custom { + display: flex; + align-items: center; + padding-left: 0; + margin: 0; +} +.form-check.form-check-custom .form-check-input { + margin: 0; + float: none; + flex-shrink: 0; +} +.form-check.form-check-custom .form-check-label { + margin-left: 0.55rem; +} +.form-check:not(.form-switch) .form-check-input[type=checkbox] { + background-size: 60% 60%; +} +.form-check.form-check-solid .form-check-input { + border: 0; + background-color: #EFF2F5; +} +.form-check.form-check-solid .form-check-input:active, .form-check.form-check-solid .form-check-input:focus { + filter: none; + background-color: #EFF2F5; +} +.form-check.form-check-solid .form-check-input:checked { + background-color: #7239EA; +} +.form-check.form-check-success .form-check-input:checked { + background-color: #50CD89; +} +.form-check.form-check-danger .form-check-input:checked { + background-color: #F1416C; +} +.form-check.form-check-warning .form-check-input:checked { + background-color: #FFC700; +} + +.form-check.form-check-custom.form-check-sm .form-check-input { + height: 1.5rem; + width: 1.5rem; +} +.form-check.form-check-custom.form-check-lg .form-check-input { + height: 2.25rem; + width: 2.25rem; +} + +.form-switch.form-check-solid .form-check-input { + height: 2.25rem; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23ffffff'/%3e%3c/svg%3e"); + border-radius: 3.25rem; +} +.form-switch.form-check-solid .form-check-input:checked { + filter: none; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23FFFFFF'/%3e%3c/svg%3e"); +} +.form-switch.form-check-solid.form-switch-sm .form-check-input { + height: 1.5rem; + width: 2.5rem; +} +.form-switch.form-check-solid.form-switch-lg .form-check-input { + height: 2.75rem; + width: 3.75rem; +} + +.input-group.input-group-solid { + background-color: #F5F8FA; + border-color: #F5F8FA; + border-radius: 0.475rem; +} +.input-group.input-group-solid.input-group-sm { + border-radius: 0.475rem; +} +.input-group.input-group-solid.input-group-lg { + border-radius: 0.475rem; +} +.input-group.input-group-solid .input-group-text { + background-color: transparent; + border-color: transparent; +} +.input-group.input-group-solid .input-group-text + .form-control { + border-left-color: #E4E6EF; +} +.input-group.input-group-solid .form-control { + background-color: transparent; + border-color: transparent; +} +.input-group.input-group-solid .form-control + .input-group-text { + border-left-color: #E4E6EF; +} + +.required:after { + content: "*"; + position: relative; + font-size: inherit; + color: #F1416C; + padding-left: 0.25rem; + font-weight: bold; +} + +.modal .modal-header { + align-items: center; + justify-content: space-between; + border-top-left-radius: 0.475rem; + border-top-right-radius: 0.475rem; +} +.modal .modal-header h1, .modal .modal-header .h1, .modal .modal-header h2, .modal .modal-header .h2, .modal .modal-header h3, .modal .modal-header .h3, .modal .modal-header h4, .modal .modal-header .h4, .modal .modal-header h5, .modal .modal-header .h5, .modal .modal-header h6, .modal .modal-header .h6 { + margin-bottom: 0; +} +.modal .modal-dialog { + outline: none !important; +} + +.modal.modal-sticky.modal-sticky-bottom-end { + padding: 0 !important; + max-width: 500px; + height: auto; + position: fixed; + left: auto; + top: auto; + bottom: 25px; + right: 25px; + margin: 0; + box-shadow: 0px 0px 60px -15px rgba(0, 0, 0, 0.2); + border-radius: 0.475rem; +} +.modal.modal-sticky.modal-sticky-bottom-end .modal-dialog { + position: static; + max-width: 500px; + width: auto; + margin: 0; + border-radius: 0.475rem; +} +.modal.modal-sticky.modal-sticky-bottom-end .modal-dialog .modal-content { + border: 0; + border-radius: 0.475rem; +} +.modal.modal-sticky.modal-sticky-bottom-end.modal-sticky-lg { + max-width: 600px; +} +.modal.modal-sticky.modal-sticky-bottom-end.modal-sticky-lg .modal-dialog { + max-width: 600px; +} +@media (max-width: 767.98px) { + .modal.modal-sticky.modal-sticky-bottom-end { + bottom: 10px; + right: 10px; + left: 10px; + width: auto; + } +} + +.progress-vertical { + display: flex; + align-items: stretch; + justify-content: space-between; +} +.progress-vertical .progress { + height: 100%; + border-radius: 0.475rem; + display: flex; + align-items: flex-end; + margin-right: 1rem; +} +.progress-vertical .progress:last-child { + margin-right: 0; +} +.progress-vertical .progress .progress-bar { + width: 8px; + border-radius: 0.475rem; +} + +.table { + width: 100%; +} +.table > :not(:first-child) { + border-color: transparent; + border-width: 0; + border-style: none; +} +.table > :not(:last-child) > :last-child > * { + border-bottom-color: inherit; +} +.table tr, .table th, .table td { + border-color: inherit; + border-width: inherit; + border-style: inherit; + text-transform: inherit; + font-weight: inherit; + font-size: inherit; + color: inherit; + height: inherit; + min-height: inherit; +} +.table tr:first-child, .table th:first-child, .table td:first-child { + padding-left: 0; +} +.table tr:last-child, .table th:last-child, .table td:last-child { + padding-right: 0; +} +.table tfoot tr:last-child, +.table tbody tr:last-child { + border-bottom: 0 !important; +} +.table tfoot tr:last-child th, .table tfoot tr:last-child td, +.table tbody tr:last-child th, +.table tbody tr:last-child td { + border-bottom: 0 !important; +} +.table tfoot th, .table tfoot td { + border-top: inherit; +} +.table.table-rounded { + border-radius: 0.475rem; + border-spacing: 0; + border-collapse: separate; +} +.table.table-flush tr, .table.table-flush th, .table.table-flush td { + padding: inherit; +} +.table.table-row-bordered tr { + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: #EFF2F5; +} +.table.table-row-bordered tfoot th, .table.table-row-bordered tfoot td { + border-top-width: 1px !important; +} +.table.table-row-dashed tr { + border-bottom-width: 1px; + border-bottom-style: dashed; + border-bottom-color: #EFF2F5; +} +.table.table-row-dashed tfoot th, .table.table-row-dashed tfoot td { + border-top-width: 1px !important; +} +.table.table-row-gray-100 tr { + border-bottom-color: #F5F8FA; +} +.table.table-row-gray-200 tr { + border-bottom-color: #EFF2F5; +} +.table.table-row-gray-300 tr { + border-bottom-color: #E4E6EF; +} +.table.table-row-gray-400 tr { + border-bottom-color: #B5B5C3; +} +.table.table-row-gray-500 tr { + border-bottom-color: #A1A5B7; +} +.table.table-row-gray-600 tr { + border-bottom-color: #7E8299; +} +.table.table-row-gray-700 tr { + border-bottom-color: #5E6278; +} +.table.table-row-gray-800 tr { + border-bottom-color: #3F4254; +} +.table.table-row-gray-900 tr { + border-bottom-color: #181C32; +} + +.table.g-0 th, .table.g-0 td { + padding: 0rem; +} + +.table.gy-0 th, .table.gy-0 td { + padding-top: 0rem; + padding-bottom: 0rem; +} + +.table.gx-0 th, .table.gx-0 td { + padding-left: 0rem; + padding-right: 0rem; +} + +.table.gs-0 th:first-child, .table.gs-0 td:first-child { + padding-left: 0rem; +} +.table.gs-0 th:last-child, .table.gs-0 td:last-child { + padding-right: 0rem; +} + +.table.g-1 th, .table.g-1 td { + padding: 0.25rem; +} + +.table.gy-1 th, .table.gy-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} + +.table.gx-1 th, .table.gx-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; +} + +.table.gs-1 th:first-child, .table.gs-1 td:first-child { + padding-left: 0.25rem; +} +.table.gs-1 th:last-child, .table.gs-1 td:last-child { + padding-right: 0.25rem; +} + +.table.g-2 th, .table.g-2 td { + padding: 0.5rem; +} + +.table.gy-2 th, .table.gy-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} + +.table.gx-2 th, .table.gx-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; +} + +.table.gs-2 th:first-child, .table.gs-2 td:first-child { + padding-left: 0.5rem; +} +.table.gs-2 th:last-child, .table.gs-2 td:last-child { + padding-right: 0.5rem; +} + +.table.g-3 th, .table.g-3 td { + padding: 0.75rem; +} + +.table.gy-3 th, .table.gy-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.table.gx-3 th, .table.gx-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; +} + +.table.gs-3 th:first-child, .table.gs-3 td:first-child { + padding-left: 0.75rem; +} +.table.gs-3 th:last-child, .table.gs-3 td:last-child { + padding-right: 0.75rem; +} + +.table.g-4 th, .table.g-4 td { + padding: 1rem; +} + +.table.gy-4 th, .table.gy-4 td { + padding-top: 1rem; + padding-bottom: 1rem; +} + +.table.gx-4 th, .table.gx-4 td { + padding-left: 1rem; + padding-right: 1rem; +} + +.table.gs-4 th:first-child, .table.gs-4 td:first-child { + padding-left: 1rem; +} +.table.gs-4 th:last-child, .table.gs-4 td:last-child { + padding-right: 1rem; +} + +.table.g-5 th, .table.g-5 td { + padding: 1.25rem; +} + +.table.gy-5 th, .table.gy-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; +} + +.table.gx-5 th, .table.gx-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; +} + +.table.gs-5 th:first-child, .table.gs-5 td:first-child { + padding-left: 1.25rem; +} +.table.gs-5 th:last-child, .table.gs-5 td:last-child { + padding-right: 1.25rem; +} + +.table.g-6 th, .table.g-6 td { + padding: 1.5rem; +} + +.table.gy-6 th, .table.gy-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} + +.table.gx-6 th, .table.gx-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; +} + +.table.gs-6 th:first-child, .table.gs-6 td:first-child { + padding-left: 1.5rem; +} +.table.gs-6 th:last-child, .table.gs-6 td:last-child { + padding-right: 1.5rem; +} + +.table.g-7 th, .table.g-7 td { + padding: 1.75rem; +} + +.table.gy-7 th, .table.gy-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; +} + +.table.gx-7 th, .table.gx-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; +} + +.table.gs-7 th:first-child, .table.gs-7 td:first-child { + padding-left: 1.75rem; +} +.table.gs-7 th:last-child, .table.gs-7 td:last-child { + padding-right: 1.75rem; +} + +.table.g-8 th, .table.g-8 td { + padding: 2rem; +} + +.table.gy-8 th, .table.gy-8 td { + padding-top: 2rem; + padding-bottom: 2rem; +} + +.table.gx-8 th, .table.gx-8 td { + padding-left: 2rem; + padding-right: 2rem; +} + +.table.gs-8 th:first-child, .table.gs-8 td:first-child { + padding-left: 2rem; +} +.table.gs-8 th:last-child, .table.gs-8 td:last-child { + padding-right: 2rem; +} + +.table.g-9 th, .table.g-9 td { + padding: 2.25rem; +} + +.table.gy-9 th, .table.gy-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; +} + +.table.gx-9 th, .table.gx-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; +} + +.table.gs-9 th:first-child, .table.gs-9 td:first-child { + padding-left: 2.25rem; +} +.table.gs-9 th:last-child, .table.gs-9 td:last-child { + padding-right: 2.25rem; +} + +.table.g-10 th, .table.g-10 td { + padding: 2.5rem; +} + +.table.gy-10 th, .table.gy-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; +} + +.table.gx-10 th, .table.gx-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; +} + +.table.gs-10 th:first-child, .table.gs-10 td:first-child { + padding-left: 2.5rem; +} +.table.gs-10 th:last-child, .table.gs-10 td:last-child { + padding-right: 2.5rem; +} + +@media (min-width: 576px) { + .table.g-sm-0 th, .table.g-sm-0 td { + padding: 0rem; + } + + .table.gy-sm-0 th, .table.gy-sm-0 td { + padding-top: 0rem; + padding-bottom: 0rem; + } + + .table.gx-sm-0 th, .table.gx-sm-0 td { + padding-left: 0rem; + padding-right: 0rem; + } + + .table.gs-sm-0 th:first-child, .table.gs-sm-0 td:first-child { + padding-left: 0rem; + } + .table.gs-sm-0 th:last-child, .table.gs-sm-0 td:last-child { + padding-right: 0rem; + } + + .table.g-sm-1 th, .table.g-sm-1 td { + padding: 0.25rem; + } + + .table.gy-sm-1 th, .table.gy-sm-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .table.gx-sm-1 th, .table.gx-sm-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + + .table.gs-sm-1 th:first-child, .table.gs-sm-1 td:first-child { + padding-left: 0.25rem; + } + .table.gs-sm-1 th:last-child, .table.gs-sm-1 td:last-child { + padding-right: 0.25rem; + } + + .table.g-sm-2 th, .table.g-sm-2 td { + padding: 0.5rem; + } + + .table.gy-sm-2 th, .table.gy-sm-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .table.gx-sm-2 th, .table.gx-sm-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .table.gs-sm-2 th:first-child, .table.gs-sm-2 td:first-child { + padding-left: 0.5rem; + } + .table.gs-sm-2 th:last-child, .table.gs-sm-2 td:last-child { + padding-right: 0.5rem; + } + + .table.g-sm-3 th, .table.g-sm-3 td { + padding: 0.75rem; + } + + .table.gy-sm-3 th, .table.gy-sm-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .table.gx-sm-3 th, .table.gx-sm-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .table.gs-sm-3 th:first-child, .table.gs-sm-3 td:first-child { + padding-left: 0.75rem; + } + .table.gs-sm-3 th:last-child, .table.gs-sm-3 td:last-child { + padding-right: 0.75rem; + } + + .table.g-sm-4 th, .table.g-sm-4 td { + padding: 1rem; + } + + .table.gy-sm-4 th, .table.gy-sm-4 td { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .table.gx-sm-4 th, .table.gx-sm-4 td { + padding-left: 1rem; + padding-right: 1rem; + } + + .table.gs-sm-4 th:first-child, .table.gs-sm-4 td:first-child { + padding-left: 1rem; + } + .table.gs-sm-4 th:last-child, .table.gs-sm-4 td:last-child { + padding-right: 1rem; + } + + .table.g-sm-5 th, .table.g-sm-5 td { + padding: 1.25rem; + } + + .table.gy-sm-5 th, .table.gy-sm-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; + } + + .table.gx-sm-5 th, .table.gx-sm-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .table.gs-sm-5 th:first-child, .table.gs-sm-5 td:first-child { + padding-left: 1.25rem; + } + .table.gs-sm-5 th:last-child, .table.gs-sm-5 td:last-child { + padding-right: 1.25rem; + } + + .table.g-sm-6 th, .table.g-sm-6 td { + padding: 1.5rem; + } + + .table.gy-sm-6 th, .table.gy-sm-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + + .table.gx-sm-6 th, .table.gx-sm-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .table.gs-sm-6 th:first-child, .table.gs-sm-6 td:first-child { + padding-left: 1.5rem; + } + .table.gs-sm-6 th:last-child, .table.gs-sm-6 td:last-child { + padding-right: 1.5rem; + } + + .table.g-sm-7 th, .table.g-sm-7 td { + padding: 1.75rem; + } + + .table.gy-sm-7 th, .table.gy-sm-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; + } + + .table.gx-sm-7 th, .table.gx-sm-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; + } + + .table.gs-sm-7 th:first-child, .table.gs-sm-7 td:first-child { + padding-left: 1.75rem; + } + .table.gs-sm-7 th:last-child, .table.gs-sm-7 td:last-child { + padding-right: 1.75rem; + } + + .table.g-sm-8 th, .table.g-sm-8 td { + padding: 2rem; + } + + .table.gy-sm-8 th, .table.gy-sm-8 td { + padding-top: 2rem; + padding-bottom: 2rem; + } + + .table.gx-sm-8 th, .table.gx-sm-8 td { + padding-left: 2rem; + padding-right: 2rem; + } + + .table.gs-sm-8 th:first-child, .table.gs-sm-8 td:first-child { + padding-left: 2rem; + } + .table.gs-sm-8 th:last-child, .table.gs-sm-8 td:last-child { + padding-right: 2rem; + } + + .table.g-sm-9 th, .table.g-sm-9 td { + padding: 2.25rem; + } + + .table.gy-sm-9 th, .table.gy-sm-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; + } + + .table.gx-sm-9 th, .table.gx-sm-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; + } + + .table.gs-sm-9 th:first-child, .table.gs-sm-9 td:first-child { + padding-left: 2.25rem; + } + .table.gs-sm-9 th:last-child, .table.gs-sm-9 td:last-child { + padding-right: 2.25rem; + } + + .table.g-sm-10 th, .table.g-sm-10 td { + padding: 2.5rem; + } + + .table.gy-sm-10 th, .table.gy-sm-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .table.gx-sm-10 th, .table.gx-sm-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .table.gs-sm-10 th:first-child, .table.gs-sm-10 td:first-child { + padding-left: 2.5rem; + } + .table.gs-sm-10 th:last-child, .table.gs-sm-10 td:last-child { + padding-right: 2.5rem; + } +} +@media (min-width: 768px) { + .table.g-md-0 th, .table.g-md-0 td { + padding: 0rem; + } + + .table.gy-md-0 th, .table.gy-md-0 td { + padding-top: 0rem; + padding-bottom: 0rem; + } + + .table.gx-md-0 th, .table.gx-md-0 td { + padding-left: 0rem; + padding-right: 0rem; + } + + .table.gs-md-0 th:first-child, .table.gs-md-0 td:first-child { + padding-left: 0rem; + } + .table.gs-md-0 th:last-child, .table.gs-md-0 td:last-child { + padding-right: 0rem; + } + + .table.g-md-1 th, .table.g-md-1 td { + padding: 0.25rem; + } + + .table.gy-md-1 th, .table.gy-md-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .table.gx-md-1 th, .table.gx-md-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + + .table.gs-md-1 th:first-child, .table.gs-md-1 td:first-child { + padding-left: 0.25rem; + } + .table.gs-md-1 th:last-child, .table.gs-md-1 td:last-child { + padding-right: 0.25rem; + } + + .table.g-md-2 th, .table.g-md-2 td { + padding: 0.5rem; + } + + .table.gy-md-2 th, .table.gy-md-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .table.gx-md-2 th, .table.gx-md-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .table.gs-md-2 th:first-child, .table.gs-md-2 td:first-child { + padding-left: 0.5rem; + } + .table.gs-md-2 th:last-child, .table.gs-md-2 td:last-child { + padding-right: 0.5rem; + } + + .table.g-md-3 th, .table.g-md-3 td { + padding: 0.75rem; + } + + .table.gy-md-3 th, .table.gy-md-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .table.gx-md-3 th, .table.gx-md-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .table.gs-md-3 th:first-child, .table.gs-md-3 td:first-child { + padding-left: 0.75rem; + } + .table.gs-md-3 th:last-child, .table.gs-md-3 td:last-child { + padding-right: 0.75rem; + } + + .table.g-md-4 th, .table.g-md-4 td { + padding: 1rem; + } + + .table.gy-md-4 th, .table.gy-md-4 td { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .table.gx-md-4 th, .table.gx-md-4 td { + padding-left: 1rem; + padding-right: 1rem; + } + + .table.gs-md-4 th:first-child, .table.gs-md-4 td:first-child { + padding-left: 1rem; + } + .table.gs-md-4 th:last-child, .table.gs-md-4 td:last-child { + padding-right: 1rem; + } + + .table.g-md-5 th, .table.g-md-5 td { + padding: 1.25rem; + } + + .table.gy-md-5 th, .table.gy-md-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; + } + + .table.gx-md-5 th, .table.gx-md-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .table.gs-md-5 th:first-child, .table.gs-md-5 td:first-child { + padding-left: 1.25rem; + } + .table.gs-md-5 th:last-child, .table.gs-md-5 td:last-child { + padding-right: 1.25rem; + } + + .table.g-md-6 th, .table.g-md-6 td { + padding: 1.5rem; + } + + .table.gy-md-6 th, .table.gy-md-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + + .table.gx-md-6 th, .table.gx-md-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .table.gs-md-6 th:first-child, .table.gs-md-6 td:first-child { + padding-left: 1.5rem; + } + .table.gs-md-6 th:last-child, .table.gs-md-6 td:last-child { + padding-right: 1.5rem; + } + + .table.g-md-7 th, .table.g-md-7 td { + padding: 1.75rem; + } + + .table.gy-md-7 th, .table.gy-md-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; + } + + .table.gx-md-7 th, .table.gx-md-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; + } + + .table.gs-md-7 th:first-child, .table.gs-md-7 td:first-child { + padding-left: 1.75rem; + } + .table.gs-md-7 th:last-child, .table.gs-md-7 td:last-child { + padding-right: 1.75rem; + } + + .table.g-md-8 th, .table.g-md-8 td { + padding: 2rem; + } + + .table.gy-md-8 th, .table.gy-md-8 td { + padding-top: 2rem; + padding-bottom: 2rem; + } + + .table.gx-md-8 th, .table.gx-md-8 td { + padding-left: 2rem; + padding-right: 2rem; + } + + .table.gs-md-8 th:first-child, .table.gs-md-8 td:first-child { + padding-left: 2rem; + } + .table.gs-md-8 th:last-child, .table.gs-md-8 td:last-child { + padding-right: 2rem; + } + + .table.g-md-9 th, .table.g-md-9 td { + padding: 2.25rem; + } + + .table.gy-md-9 th, .table.gy-md-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; + } + + .table.gx-md-9 th, .table.gx-md-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; + } + + .table.gs-md-9 th:first-child, .table.gs-md-9 td:first-child { + padding-left: 2.25rem; + } + .table.gs-md-9 th:last-child, .table.gs-md-9 td:last-child { + padding-right: 2.25rem; + } + + .table.g-md-10 th, .table.g-md-10 td { + padding: 2.5rem; + } + + .table.gy-md-10 th, .table.gy-md-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .table.gx-md-10 th, .table.gx-md-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .table.gs-md-10 th:first-child, .table.gs-md-10 td:first-child { + padding-left: 2.5rem; + } + .table.gs-md-10 th:last-child, .table.gs-md-10 td:last-child { + padding-right: 2.5rem; + } +} +@media (min-width: 992px) { + .table.g-lg-0 th, .table.g-lg-0 td { + padding: 0rem; + } + + .table.gy-lg-0 th, .table.gy-lg-0 td { + padding-top: 0rem; + padding-bottom: 0rem; + } + + .table.gx-lg-0 th, .table.gx-lg-0 td { + padding-left: 0rem; + padding-right: 0rem; + } + + .table.gs-lg-0 th:first-child, .table.gs-lg-0 td:first-child { + padding-left: 0rem; + } + .table.gs-lg-0 th:last-child, .table.gs-lg-0 td:last-child { + padding-right: 0rem; + } + + .table.g-lg-1 th, .table.g-lg-1 td { + padding: 0.25rem; + } + + .table.gy-lg-1 th, .table.gy-lg-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .table.gx-lg-1 th, .table.gx-lg-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + + .table.gs-lg-1 th:first-child, .table.gs-lg-1 td:first-child { + padding-left: 0.25rem; + } + .table.gs-lg-1 th:last-child, .table.gs-lg-1 td:last-child { + padding-right: 0.25rem; + } + + .table.g-lg-2 th, .table.g-lg-2 td { + padding: 0.5rem; + } + + .table.gy-lg-2 th, .table.gy-lg-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .table.gx-lg-2 th, .table.gx-lg-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .table.gs-lg-2 th:first-child, .table.gs-lg-2 td:first-child { + padding-left: 0.5rem; + } + .table.gs-lg-2 th:last-child, .table.gs-lg-2 td:last-child { + padding-right: 0.5rem; + } + + .table.g-lg-3 th, .table.g-lg-3 td { + padding: 0.75rem; + } + + .table.gy-lg-3 th, .table.gy-lg-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .table.gx-lg-3 th, .table.gx-lg-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .table.gs-lg-3 th:first-child, .table.gs-lg-3 td:first-child { + padding-left: 0.75rem; + } + .table.gs-lg-3 th:last-child, .table.gs-lg-3 td:last-child { + padding-right: 0.75rem; + } + + .table.g-lg-4 th, .table.g-lg-4 td { + padding: 1rem; + } + + .table.gy-lg-4 th, .table.gy-lg-4 td { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .table.gx-lg-4 th, .table.gx-lg-4 td { + padding-left: 1rem; + padding-right: 1rem; + } + + .table.gs-lg-4 th:first-child, .table.gs-lg-4 td:first-child { + padding-left: 1rem; + } + .table.gs-lg-4 th:last-child, .table.gs-lg-4 td:last-child { + padding-right: 1rem; + } + + .table.g-lg-5 th, .table.g-lg-5 td { + padding: 1.25rem; + } + + .table.gy-lg-5 th, .table.gy-lg-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; + } + + .table.gx-lg-5 th, .table.gx-lg-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .table.gs-lg-5 th:first-child, .table.gs-lg-5 td:first-child { + padding-left: 1.25rem; + } + .table.gs-lg-5 th:last-child, .table.gs-lg-5 td:last-child { + padding-right: 1.25rem; + } + + .table.g-lg-6 th, .table.g-lg-6 td { + padding: 1.5rem; + } + + .table.gy-lg-6 th, .table.gy-lg-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + + .table.gx-lg-6 th, .table.gx-lg-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .table.gs-lg-6 th:first-child, .table.gs-lg-6 td:first-child { + padding-left: 1.5rem; + } + .table.gs-lg-6 th:last-child, .table.gs-lg-6 td:last-child { + padding-right: 1.5rem; + } + + .table.g-lg-7 th, .table.g-lg-7 td { + padding: 1.75rem; + } + + .table.gy-lg-7 th, .table.gy-lg-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; + } + + .table.gx-lg-7 th, .table.gx-lg-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; + } + + .table.gs-lg-7 th:first-child, .table.gs-lg-7 td:first-child { + padding-left: 1.75rem; + } + .table.gs-lg-7 th:last-child, .table.gs-lg-7 td:last-child { + padding-right: 1.75rem; + } + + .table.g-lg-8 th, .table.g-lg-8 td { + padding: 2rem; + } + + .table.gy-lg-8 th, .table.gy-lg-8 td { + padding-top: 2rem; + padding-bottom: 2rem; + } + + .table.gx-lg-8 th, .table.gx-lg-8 td { + padding-left: 2rem; + padding-right: 2rem; + } + + .table.gs-lg-8 th:first-child, .table.gs-lg-8 td:first-child { + padding-left: 2rem; + } + .table.gs-lg-8 th:last-child, .table.gs-lg-8 td:last-child { + padding-right: 2rem; + } + + .table.g-lg-9 th, .table.g-lg-9 td { + padding: 2.25rem; + } + + .table.gy-lg-9 th, .table.gy-lg-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; + } + + .table.gx-lg-9 th, .table.gx-lg-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; + } + + .table.gs-lg-9 th:first-child, .table.gs-lg-9 td:first-child { + padding-left: 2.25rem; + } + .table.gs-lg-9 th:last-child, .table.gs-lg-9 td:last-child { + padding-right: 2.25rem; + } + + .table.g-lg-10 th, .table.g-lg-10 td { + padding: 2.5rem; + } + + .table.gy-lg-10 th, .table.gy-lg-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .table.gx-lg-10 th, .table.gx-lg-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .table.gs-lg-10 th:first-child, .table.gs-lg-10 td:first-child { + padding-left: 2.5rem; + } + .table.gs-lg-10 th:last-child, .table.gs-lg-10 td:last-child { + padding-right: 2.5rem; + } +} +@media (min-width: 1200px) { + .table.g-xl-0 th, .table.g-xl-0 td { + padding: 0rem; + } + + .table.gy-xl-0 th, .table.gy-xl-0 td { + padding-top: 0rem; + padding-bottom: 0rem; + } + + .table.gx-xl-0 th, .table.gx-xl-0 td { + padding-left: 0rem; + padding-right: 0rem; + } + + .table.gs-xl-0 th:first-child, .table.gs-xl-0 td:first-child { + padding-left: 0rem; + } + .table.gs-xl-0 th:last-child, .table.gs-xl-0 td:last-child { + padding-right: 0rem; + } + + .table.g-xl-1 th, .table.g-xl-1 td { + padding: 0.25rem; + } + + .table.gy-xl-1 th, .table.gy-xl-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .table.gx-xl-1 th, .table.gx-xl-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + + .table.gs-xl-1 th:first-child, .table.gs-xl-1 td:first-child { + padding-left: 0.25rem; + } + .table.gs-xl-1 th:last-child, .table.gs-xl-1 td:last-child { + padding-right: 0.25rem; + } + + .table.g-xl-2 th, .table.g-xl-2 td { + padding: 0.5rem; + } + + .table.gy-xl-2 th, .table.gy-xl-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .table.gx-xl-2 th, .table.gx-xl-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .table.gs-xl-2 th:first-child, .table.gs-xl-2 td:first-child { + padding-left: 0.5rem; + } + .table.gs-xl-2 th:last-child, .table.gs-xl-2 td:last-child { + padding-right: 0.5rem; + } + + .table.g-xl-3 th, .table.g-xl-3 td { + padding: 0.75rem; + } + + .table.gy-xl-3 th, .table.gy-xl-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .table.gx-xl-3 th, .table.gx-xl-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .table.gs-xl-3 th:first-child, .table.gs-xl-3 td:first-child { + padding-left: 0.75rem; + } + .table.gs-xl-3 th:last-child, .table.gs-xl-3 td:last-child { + padding-right: 0.75rem; + } + + .table.g-xl-4 th, .table.g-xl-4 td { + padding: 1rem; + } + + .table.gy-xl-4 th, .table.gy-xl-4 td { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .table.gx-xl-4 th, .table.gx-xl-4 td { + padding-left: 1rem; + padding-right: 1rem; + } + + .table.gs-xl-4 th:first-child, .table.gs-xl-4 td:first-child { + padding-left: 1rem; + } + .table.gs-xl-4 th:last-child, .table.gs-xl-4 td:last-child { + padding-right: 1rem; + } + + .table.g-xl-5 th, .table.g-xl-5 td { + padding: 1.25rem; + } + + .table.gy-xl-5 th, .table.gy-xl-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; + } + + .table.gx-xl-5 th, .table.gx-xl-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .table.gs-xl-5 th:first-child, .table.gs-xl-5 td:first-child { + padding-left: 1.25rem; + } + .table.gs-xl-5 th:last-child, .table.gs-xl-5 td:last-child { + padding-right: 1.25rem; + } + + .table.g-xl-6 th, .table.g-xl-6 td { + padding: 1.5rem; + } + + .table.gy-xl-6 th, .table.gy-xl-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + + .table.gx-xl-6 th, .table.gx-xl-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .table.gs-xl-6 th:first-child, .table.gs-xl-6 td:first-child { + padding-left: 1.5rem; + } + .table.gs-xl-6 th:last-child, .table.gs-xl-6 td:last-child { + padding-right: 1.5rem; + } + + .table.g-xl-7 th, .table.g-xl-7 td { + padding: 1.75rem; + } + + .table.gy-xl-7 th, .table.gy-xl-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; + } + + .table.gx-xl-7 th, .table.gx-xl-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; + } + + .table.gs-xl-7 th:first-child, .table.gs-xl-7 td:first-child { + padding-left: 1.75rem; + } + .table.gs-xl-7 th:last-child, .table.gs-xl-7 td:last-child { + padding-right: 1.75rem; + } + + .table.g-xl-8 th, .table.g-xl-8 td { + padding: 2rem; + } + + .table.gy-xl-8 th, .table.gy-xl-8 td { + padding-top: 2rem; + padding-bottom: 2rem; + } + + .table.gx-xl-8 th, .table.gx-xl-8 td { + padding-left: 2rem; + padding-right: 2rem; + } + + .table.gs-xl-8 th:first-child, .table.gs-xl-8 td:first-child { + padding-left: 2rem; + } + .table.gs-xl-8 th:last-child, .table.gs-xl-8 td:last-child { + padding-right: 2rem; + } + + .table.g-xl-9 th, .table.g-xl-9 td { + padding: 2.25rem; + } + + .table.gy-xl-9 th, .table.gy-xl-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; + } + + .table.gx-xl-9 th, .table.gx-xl-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; + } + + .table.gs-xl-9 th:first-child, .table.gs-xl-9 td:first-child { + padding-left: 2.25rem; + } + .table.gs-xl-9 th:last-child, .table.gs-xl-9 td:last-child { + padding-right: 2.25rem; + } + + .table.g-xl-10 th, .table.g-xl-10 td { + padding: 2.5rem; + } + + .table.gy-xl-10 th, .table.gy-xl-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .table.gx-xl-10 th, .table.gx-xl-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .table.gs-xl-10 th:first-child, .table.gs-xl-10 td:first-child { + padding-left: 2.5rem; + } + .table.gs-xl-10 th:last-child, .table.gs-xl-10 td:last-child { + padding-right: 2.5rem; + } +} +@media (min-width: 1400px) { + .table.g-xxl-0 th, .table.g-xxl-0 td { + padding: 0rem; + } + + .table.gy-xxl-0 th, .table.gy-xxl-0 td { + padding-top: 0rem; + padding-bottom: 0rem; + } + + .table.gx-xxl-0 th, .table.gx-xxl-0 td { + padding-left: 0rem; + padding-right: 0rem; + } + + .table.gs-xxl-0 th:first-child, .table.gs-xxl-0 td:first-child { + padding-left: 0rem; + } + .table.gs-xxl-0 th:last-child, .table.gs-xxl-0 td:last-child { + padding-right: 0rem; + } + + .table.g-xxl-1 th, .table.g-xxl-1 td { + padding: 0.25rem; + } + + .table.gy-xxl-1 th, .table.gy-xxl-1 td { + padding-top: 0.25rem; + padding-bottom: 0.25rem; + } + + .table.gx-xxl-1 th, .table.gx-xxl-1 td { + padding-left: 0.25rem; + padding-right: 0.25rem; + } + + .table.gs-xxl-1 th:first-child, .table.gs-xxl-1 td:first-child { + padding-left: 0.25rem; + } + .table.gs-xxl-1 th:last-child, .table.gs-xxl-1 td:last-child { + padding-right: 0.25rem; + } + + .table.g-xxl-2 th, .table.g-xxl-2 td { + padding: 0.5rem; + } + + .table.gy-xxl-2 th, .table.gy-xxl-2 td { + padding-top: 0.5rem; + padding-bottom: 0.5rem; + } + + .table.gx-xxl-2 th, .table.gx-xxl-2 td { + padding-left: 0.5rem; + padding-right: 0.5rem; + } + + .table.gs-xxl-2 th:first-child, .table.gs-xxl-2 td:first-child { + padding-left: 0.5rem; + } + .table.gs-xxl-2 th:last-child, .table.gs-xxl-2 td:last-child { + padding-right: 0.5rem; + } + + .table.g-xxl-3 th, .table.g-xxl-3 td { + padding: 0.75rem; + } + + .table.gy-xxl-3 th, .table.gy-xxl-3 td { + padding-top: 0.75rem; + padding-bottom: 0.75rem; + } + + .table.gx-xxl-3 th, .table.gx-xxl-3 td { + padding-left: 0.75rem; + padding-right: 0.75rem; + } + + .table.gs-xxl-3 th:first-child, .table.gs-xxl-3 td:first-child { + padding-left: 0.75rem; + } + .table.gs-xxl-3 th:last-child, .table.gs-xxl-3 td:last-child { + padding-right: 0.75rem; + } + + .table.g-xxl-4 th, .table.g-xxl-4 td { + padding: 1rem; + } + + .table.gy-xxl-4 th, .table.gy-xxl-4 td { + padding-top: 1rem; + padding-bottom: 1rem; + } + + .table.gx-xxl-4 th, .table.gx-xxl-4 td { + padding-left: 1rem; + padding-right: 1rem; + } + + .table.gs-xxl-4 th:first-child, .table.gs-xxl-4 td:first-child { + padding-left: 1rem; + } + .table.gs-xxl-4 th:last-child, .table.gs-xxl-4 td:last-child { + padding-right: 1rem; + } + + .table.g-xxl-5 th, .table.g-xxl-5 td { + padding: 1.25rem; + } + + .table.gy-xxl-5 th, .table.gy-xxl-5 td { + padding-top: 1.25rem; + padding-bottom: 1.25rem; + } + + .table.gx-xxl-5 th, .table.gx-xxl-5 td { + padding-left: 1.25rem; + padding-right: 1.25rem; + } + + .table.gs-xxl-5 th:first-child, .table.gs-xxl-5 td:first-child { + padding-left: 1.25rem; + } + .table.gs-xxl-5 th:last-child, .table.gs-xxl-5 td:last-child { + padding-right: 1.25rem; + } + + .table.g-xxl-6 th, .table.g-xxl-6 td { + padding: 1.5rem; + } + + .table.gy-xxl-6 th, .table.gy-xxl-6 td { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + } + + .table.gx-xxl-6 th, .table.gx-xxl-6 td { + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + .table.gs-xxl-6 th:first-child, .table.gs-xxl-6 td:first-child { + padding-left: 1.5rem; + } + .table.gs-xxl-6 th:last-child, .table.gs-xxl-6 td:last-child { + padding-right: 1.5rem; + } + + .table.g-xxl-7 th, .table.g-xxl-7 td { + padding: 1.75rem; + } + + .table.gy-xxl-7 th, .table.gy-xxl-7 td { + padding-top: 1.75rem; + padding-bottom: 1.75rem; + } + + .table.gx-xxl-7 th, .table.gx-xxl-7 td { + padding-left: 1.75rem; + padding-right: 1.75rem; + } + + .table.gs-xxl-7 th:first-child, .table.gs-xxl-7 td:first-child { + padding-left: 1.75rem; + } + .table.gs-xxl-7 th:last-child, .table.gs-xxl-7 td:last-child { + padding-right: 1.75rem; + } + + .table.g-xxl-8 th, .table.g-xxl-8 td { + padding: 2rem; + } + + .table.gy-xxl-8 th, .table.gy-xxl-8 td { + padding-top: 2rem; + padding-bottom: 2rem; + } + + .table.gx-xxl-8 th, .table.gx-xxl-8 td { + padding-left: 2rem; + padding-right: 2rem; + } + + .table.gs-xxl-8 th:first-child, .table.gs-xxl-8 td:first-child { + padding-left: 2rem; + } + .table.gs-xxl-8 th:last-child, .table.gs-xxl-8 td:last-child { + padding-right: 2rem; + } + + .table.g-xxl-9 th, .table.g-xxl-9 td { + padding: 2.25rem; + } + + .table.gy-xxl-9 th, .table.gy-xxl-9 td { + padding-top: 2.25rem; + padding-bottom: 2.25rem; + } + + .table.gx-xxl-9 th, .table.gx-xxl-9 td { + padding-left: 2.25rem; + padding-right: 2.25rem; + } + + .table.gs-xxl-9 th:first-child, .table.gs-xxl-9 td:first-child { + padding-left: 2.25rem; + } + .table.gs-xxl-9 th:last-child, .table.gs-xxl-9 td:last-child { + padding-right: 2.25rem; + } + + .table.g-xxl-10 th, .table.g-xxl-10 td { + padding: 2.5rem; + } + + .table.gy-xxl-10 th, .table.gy-xxl-10 td { + padding-top: 2.5rem; + padding-bottom: 2.5rem; + } + + .table.gx-xxl-10 th, .table.gx-xxl-10 td { + padding-left: 2.5rem; + padding-right: 2.5rem; + } + + .table.gs-xxl-10 th:first-child, .table.gs-xxl-10 td:first-child { + padding-left: 2.5rem; + } + .table.gs-xxl-10 th:last-child, .table.gs-xxl-10 td:last-child { + padding-right: 2.5rem; + } +} +.popover .popover-header { + font-size: 1rem; + font-weight: 500; + border-bottom: 1px solid #F5F8FA; +} +.popover .popover-dismiss { + position: absolute; + top: 0.85rem; + right: 0.85rem; + height: 1.5rem; + width: 1.5rem; +} +.popover .popover-dismiss i { + color: #A1A5B7; +} +.popover .popover-dismiss:hover i { + color: #7239EA; +} +.popover .popover-dismiss + .popover-header { + padding-right: 2.75rem; +} + +.popover-dark { + background-color: #181C32; + border: 0; +} +.popover-dark .popover-header { + background-color: #181C32; + color: #EFF2F5; + border-bottom-color: #3F4254; +} +.popover-dark .popover-body { + color: #B5B5C3; +} +.popover-dark.bs-popover-top > .popover-arrow::before, .popover-dark.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before { + border-top-color: #F5F8FA; +} +.popover-dark.bs-popover-top > .popover-arrow::after, .popover-dark.bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after { + border-top-color: #181C32; +} +.popover-dark.bs-popover-end > .popover-arrow::before, .popover-dark.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before { + border-right-color: #F5F8FA; +} +.popover-dark.bs-popover-end > .popover-arrow::after, .popover-dark.bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after { + border-right-color: #181C32; +} +.popover-dark.bs-popover-bottom > .popover-arrow::before, .popover-dark.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before { + border-bottom-color: #F5F8FA; +} +.popover-dark.bs-popover-bottom > .popover-arrow::after, .popover-dark.bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after { + border-bottom-color: #181C32; +} +.popover-dark.bs-popover-bottom .popover-header::before, .popover-dark.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before { + border-bottom-color: #181C32; +} +.popover-dark.bs-popover-start > .popover-arrow::before, .popover-dark.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before { + border-left-color: #F5F8FA; +} +.popover-dark.bs-popover-start > .popover-arrow::after, .popover-dark.bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after { + border-left-color: #181C32; +} + +.tooltip .tooltip-inner { + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); +} +.tooltip.tooltop-auto-width .tooltip-inner { + white-space: nowrap; + max-width: none; +} +.tooltip.tooltip-dark .tooltip-inner { + color: #ffffff; + background-color: #181C32; +} +.tooltip.tooltip-dark.bs-tooltip-top .tooltip-arrow::before, .tooltip.tooltip-dark.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before { + border-top-color: #181C32; +} +.tooltip.tooltip-dark.bs-tooltip-end .tooltip-arrow::before, .tooltip.tooltip-dark.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before { + border-right-color: #181C32; +} +.tooltip.tooltip-dark.bs-tooltip-bottom .tooltip-arrow::before, .tooltip.tooltip-dark.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before { + border-bottom-color: #181C32; +} +.tooltip.tooltip-dark.bs-tooltip-start .tooltip-arrow::before, .tooltip.tooltip-dark.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before { + border-left-color: #181C32; +} + +.accordion .accordion-header { + cursor: pointer; +} +.accordion.accordion-icon-toggle .accordion-icon { + display: flex; + flex-shrink: 0; + transition: all 0.2s ease; + transform: rotate(90deg); + align-items: center; + justify-content: center; +} +.accordion.accordion-icon-toggle .accordion-icon i { + color: #7239EA; +} +.accordion.accordion-icon-toggle .accordion-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.accordion.accordion-icon-toggle .accordion-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.accordion.accordion-icon-toggle .collapsed .accordion-icon { + transition: all 0.2s ease; + transform: rotate(0); +} +.accordion.accordion-icon-toggle .collapsed .accordion-icon i { + color: #A1A5B7; +} +.accordion.accordion-icon-toggle .collapsed .accordion-icon .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.accordion.accordion-icon-toggle .collapsed .accordion-icon .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.accordion.accordion-borderless .accordion-item { + border: 0; +} +.accordion.accordion-flush .accordion-item { + background-color: transparent; + border: 0; + border-radius: none; + padding-left: 0; + padding-right: 0; +} + +.feedback { + display: none; +} + +.feedback-popup { + display: flex; + justify-content: center; + margin: 0 auto; + position: fixed; + z-index: 1000; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + background-color: #ffffff; + border-radius: 0.475rem; + padding: 1rem 1.25rem; +} + +.feedback-top-center { + display: flex; + transition: top 0.6s ease; + left: 50%; + transform: translateX(-50%); + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.feedback-top-center.feedback-shown { + top: 0px; + transition: top 0.6s ease; +} + +.image-input { + position: relative; + display: inline-block; + border-radius: 0.475rem; + background-repeat: no-repeat; + background-size: cover; +} +.image-input:not(.image-input-empty) { + background-image: none !important; +} +.image-input .image-input-wrapper { + width: 120px; + height: 120px; + border-radius: 0.475rem; + background-repeat: no-repeat; + background-size: cover; +} +.image-input [data-kt-image-input-action=change] { + cursor: pointer; + position: absolute; + right: -10px; + top: -10px; +} +.image-input [data-kt-image-input-action=change] input { + width: 0 !important; + height: 0 !important; + overflow: hidden; + opacity: 0; +} +.image-input [data-kt-image-input-action=cancel], +.image-input [data-kt-image-input-action=remove] { + position: absolute; + right: -10px; + bottom: -5px; +} +.image-input [data-kt-image-input-action=cancel] { + display: none; +} +.image-input.image-input-changed [data-kt-image-input-action=cancel] { + display: flex; +} +.image-input.image-input-changed [data-kt-image-input-action=remove] { + display: none; +} +.image-input.image-input-empty [data-kt-image-input-action=remove], +.image-input.image-input-empty [data-kt-image-input-action=cancel] { + display: none; +} +.image-input.image-input-circle { + border-radius: 50%; +} +.image-input.image-input-circle .image-input-wrapper { + border-radius: 50%; +} +.image-input.image-input-circle [data-kt-image-input-action=change] { + right: 5px; + top: 5px; +} +.image-input.image-input-circle [data-kt-image-input-action=cancel], +.image-input.image-input-circle [data-kt-image-input-action=remove] { + right: 5px; + bottom: 5px; +} +.image-input.image-input-outline .image-input-wrapper { + border: 3px solid #ffffff; + box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075); +} + +.symbol { + display: inline-block; + flex-shrink: 0; + position: relative; + border-radius: 0.475rem; +} +.symbol .symbol-label { + display: flex; + align-items: center; + justify-content: center; + font-weight: 500; + color: #3F4254; + background-color: #F5F8FA; + background-repeat: no-repeat; + background-position: center center; + background-size: cover; + border-radius: 0.475rem; +} +.symbol .symbol-badge { + position: absolute; + border: 2px solid #ffffff; + border-radius: 100%; + top: 0; + left: 50%; + transform: translateX(-50%) translateY(-50%) !important; +} +.symbol > img { + width: 100%; + flex-shrink: 0; + display: inline-block; + border-radius: 0.475rem; +} +.symbol.symbol-square, +.symbol.symbol-square > img, +.symbol.symbol-square .symbol-label { + border-radius: 0 !important; +} +.symbol.symbol-circle, +.symbol.symbol-circle > img, +.symbol.symbol-circle .symbol-label { + border-radius: 50%; +} +.symbol > img { + width: 50px; + height: 50px; +} +.symbol .symbol-label { + width: 50px; + height: 50px; +} +.symbol.symbol-fixed .symbol-label { + width: 50px; + height: 50px; +} +.symbol.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; +} +.symbol.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; +} +.symbol.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; +} +.symbol.symbol-20px > img { + width: 20px; + height: 20px; +} +.symbol.symbol-20px .symbol-label { + width: 20px; + height: 20px; +} +.symbol.symbol-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; +} +.symbol.symbol-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; +} +.symbol.symbol-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; +} +.symbol.symbol-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; +} +.symbol.symbol-25px > img { + width: 25px; + height: 25px; +} +.symbol.symbol-25px .symbol-label { + width: 25px; + height: 25px; +} +.symbol.symbol-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; +} +.symbol.symbol-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; +} +.symbol.symbol-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; +} +.symbol.symbol-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; +} +.symbol.symbol-30px > img { + width: 30px; + height: 30px; +} +.symbol.symbol-30px .symbol-label { + width: 30px; + height: 30px; +} +.symbol.symbol-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; +} +.symbol.symbol-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; +} +.symbol.symbol-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; +} +.symbol.symbol-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; +} +.symbol.symbol-35px > img { + width: 35px; + height: 35px; +} +.symbol.symbol-35px .symbol-label { + width: 35px; + height: 35px; +} +.symbol.symbol-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; +} +.symbol.symbol-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; +} +.symbol.symbol-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; +} +.symbol.symbol-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; +} +.symbol.symbol-40px > img { + width: 40px; + height: 40px; +} +.symbol.symbol-40px .symbol-label { + width: 40px; + height: 40px; +} +.symbol.symbol-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; +} +.symbol.symbol-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; +} +.symbol.symbol-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; +} +.symbol.symbol-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; +} +.symbol.symbol-45px > img { + width: 45px; + height: 45px; +} +.symbol.symbol-45px .symbol-label { + width: 45px; + height: 45px; +} +.symbol.symbol-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; +} +.symbol.symbol-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; +} +.symbol.symbol-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; +} +.symbol.symbol-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; +} +.symbol.symbol-50px > img { + width: 50px; + height: 50px; +} +.symbol.symbol-50px .symbol-label { + width: 50px; + height: 50px; +} +.symbol.symbol-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; +} +.symbol.symbol-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; +} +.symbol.symbol-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; +} +.symbol.symbol-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; +} +.symbol.symbol-55px > img { + width: 55px; + height: 55px; +} +.symbol.symbol-55px .symbol-label { + width: 55px; + height: 55px; +} +.symbol.symbol-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; +} +.symbol.symbol-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; +} +.symbol.symbol-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; +} +.symbol.symbol-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; +} +.symbol.symbol-60px > img { + width: 60px; + height: 60px; +} +.symbol.symbol-60px .symbol-label { + width: 60px; + height: 60px; +} +.symbol.symbol-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; +} +.symbol.symbol-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; +} +.symbol.symbol-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; +} +.symbol.symbol-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; +} +.symbol.symbol-65px > img { + width: 65px; + height: 65px; +} +.symbol.symbol-65px .symbol-label { + width: 65px; + height: 65px; +} +.symbol.symbol-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; +} +.symbol.symbol-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; +} +.symbol.symbol-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; +} +.symbol.symbol-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; +} +.symbol.symbol-70px > img { + width: 70px; + height: 70px; +} +.symbol.symbol-70px .symbol-label { + width: 70px; + height: 70px; +} +.symbol.symbol-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; +} +.symbol.symbol-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; +} +.symbol.symbol-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; +} +.symbol.symbol-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; +} +.symbol.symbol-75px > img { + width: 75px; + height: 75px; +} +.symbol.symbol-75px .symbol-label { + width: 75px; + height: 75px; +} +.symbol.symbol-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; +} +.symbol.symbol-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; +} +.symbol.symbol-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; +} +.symbol.symbol-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; +} +.symbol.symbol-100px > img { + width: 100px; + height: 100px; +} +.symbol.symbol-100px .symbol-label { + width: 100px; + height: 100px; +} +.symbol.symbol-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; +} +.symbol.symbol-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; +} +.symbol.symbol-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; +} +.symbol.symbol-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; +} +.symbol.symbol-125px > img { + width: 125px; + height: 125px; +} +.symbol.symbol-125px .symbol-label { + width: 125px; + height: 125px; +} +.symbol.symbol-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; +} +.symbol.symbol-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; +} +.symbol.symbol-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; +} +.symbol.symbol-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; +} +.symbol.symbol-150px > img { + width: 150px; + height: 150px; +} +.symbol.symbol-150px .symbol-label { + width: 150px; + height: 150px; +} +.symbol.symbol-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; +} +.symbol.symbol-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; +} +.symbol.symbol-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; +} +.symbol.symbol-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; +} +.symbol.symbol-160px > img { + width: 160px; + height: 160px; +} +.symbol.symbol-160px .symbol-label { + width: 160px; + height: 160px; +} +.symbol.symbol-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; +} +.symbol.symbol-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; +} +.symbol.symbol-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; +} +.symbol.symbol-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; +} +.symbol.symbol-175px > img { + width: 175px; + height: 175px; +} +.symbol.symbol-175px .symbol-label { + width: 175px; + height: 175px; +} +.symbol.symbol-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; +} +.symbol.symbol-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; +} +.symbol.symbol-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; +} +.symbol.symbol-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; +} +.symbol.symbol-200px > img { + width: 200px; + height: 200px; +} +.symbol.symbol-200px .symbol-label { + width: 200px; + height: 200px; +} +.symbol.symbol-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; +} +.symbol.symbol-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; +} +.symbol.symbol-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; +} +.symbol.symbol-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; +} +@media (min-width: 576px) { + .symbol.symbol-sm-20px > img { + width: 20px; + height: 20px; + } + .symbol.symbol-sm-20px .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-sm-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-sm-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; + } + .symbol.symbol-sm-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; + } + .symbol.symbol-sm-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; + } + .symbol.symbol-sm-25px > img { + width: 25px; + height: 25px; + } + .symbol.symbol-sm-25px .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-sm-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-sm-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; + } + .symbol.symbol-sm-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; + } + .symbol.symbol-sm-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; + } + .symbol.symbol-sm-30px > img { + width: 30px; + height: 30px; + } + .symbol.symbol-sm-30px .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-sm-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-sm-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; + } + .symbol.symbol-sm-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; + } + .symbol.symbol-sm-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; + } + .symbol.symbol-sm-35px > img { + width: 35px; + height: 35px; + } + .symbol.symbol-sm-35px .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-sm-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-sm-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; + } + .symbol.symbol-sm-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; + } + .symbol.symbol-sm-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; + } + .symbol.symbol-sm-40px > img { + width: 40px; + height: 40px; + } + .symbol.symbol-sm-40px .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-sm-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-sm-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; + } + .symbol.symbol-sm-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; + } + .symbol.symbol-sm-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; + } + .symbol.symbol-sm-45px > img { + width: 45px; + height: 45px; + } + .symbol.symbol-sm-45px .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-sm-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-sm-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; + } + .symbol.symbol-sm-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; + } + .symbol.symbol-sm-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; + } + .symbol.symbol-sm-50px > img { + width: 50px; + height: 50px; + } + .symbol.symbol-sm-50px .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-sm-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-sm-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; + } + .symbol.symbol-sm-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; + } + .symbol.symbol-sm-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; + } + .symbol.symbol-sm-55px > img { + width: 55px; + height: 55px; + } + .symbol.symbol-sm-55px .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-sm-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-sm-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; + } + .symbol.symbol-sm-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; + } + .symbol.symbol-sm-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; + } + .symbol.symbol-sm-60px > img { + width: 60px; + height: 60px; + } + .symbol.symbol-sm-60px .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-sm-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-sm-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; + } + .symbol.symbol-sm-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; + } + .symbol.symbol-sm-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; + } + .symbol.symbol-sm-65px > img { + width: 65px; + height: 65px; + } + .symbol.symbol-sm-65px .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-sm-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-sm-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; + } + .symbol.symbol-sm-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; + } + .symbol.symbol-sm-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; + } + .symbol.symbol-sm-70px > img { + width: 70px; + height: 70px; + } + .symbol.symbol-sm-70px .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-sm-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-sm-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; + } + .symbol.symbol-sm-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; + } + .symbol.symbol-sm-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; + } + .symbol.symbol-sm-75px > img { + width: 75px; + height: 75px; + } + .symbol.symbol-sm-75px .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-sm-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-sm-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; + } + .symbol.symbol-sm-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; + } + .symbol.symbol-sm-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; + } + .symbol.symbol-sm-100px > img { + width: 100px; + height: 100px; + } + .symbol.symbol-sm-100px .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-sm-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-sm-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; + } + .symbol.symbol-sm-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; + } + .symbol.symbol-sm-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; + } + .symbol.symbol-sm-125px > img { + width: 125px; + height: 125px; + } + .symbol.symbol-sm-125px .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-sm-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-sm-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; + } + .symbol.symbol-sm-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; + } + .symbol.symbol-sm-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; + } + .symbol.symbol-sm-150px > img { + width: 150px; + height: 150px; + } + .symbol.symbol-sm-150px .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-sm-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-sm-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; + } + .symbol.symbol-sm-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; + } + .symbol.symbol-sm-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; + } + .symbol.symbol-sm-160px > img { + width: 160px; + height: 160px; + } + .symbol.symbol-sm-160px .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-sm-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-sm-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; + } + .symbol.symbol-sm-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; + } + .symbol.symbol-sm-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; + } + .symbol.symbol-sm-175px > img { + width: 175px; + height: 175px; + } + .symbol.symbol-sm-175px .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-sm-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-sm-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; + } + .symbol.symbol-sm-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; + } + .symbol.symbol-sm-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; + } + .symbol.symbol-sm-200px > img { + width: 200px; + height: 200px; + } + .symbol.symbol-sm-200px .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-sm-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-sm-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; + } + .symbol.symbol-sm-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; + } + .symbol.symbol-sm-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; + } +} +@media (min-width: 768px) { + .symbol.symbol-md-20px > img { + width: 20px; + height: 20px; + } + .symbol.symbol-md-20px .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-md-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-md-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; + } + .symbol.symbol-md-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; + } + .symbol.symbol-md-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; + } + .symbol.symbol-md-25px > img { + width: 25px; + height: 25px; + } + .symbol.symbol-md-25px .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-md-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-md-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; + } + .symbol.symbol-md-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; + } + .symbol.symbol-md-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; + } + .symbol.symbol-md-30px > img { + width: 30px; + height: 30px; + } + .symbol.symbol-md-30px .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-md-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-md-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; + } + .symbol.symbol-md-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; + } + .symbol.symbol-md-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; + } + .symbol.symbol-md-35px > img { + width: 35px; + height: 35px; + } + .symbol.symbol-md-35px .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-md-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-md-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; + } + .symbol.symbol-md-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; + } + .symbol.symbol-md-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; + } + .symbol.symbol-md-40px > img { + width: 40px; + height: 40px; + } + .symbol.symbol-md-40px .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-md-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-md-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; + } + .symbol.symbol-md-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; + } + .symbol.symbol-md-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; + } + .symbol.symbol-md-45px > img { + width: 45px; + height: 45px; + } + .symbol.symbol-md-45px .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-md-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-md-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; + } + .symbol.symbol-md-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; + } + .symbol.symbol-md-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; + } + .symbol.symbol-md-50px > img { + width: 50px; + height: 50px; + } + .symbol.symbol-md-50px .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-md-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-md-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; + } + .symbol.symbol-md-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; + } + .symbol.symbol-md-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; + } + .symbol.symbol-md-55px > img { + width: 55px; + height: 55px; + } + .symbol.symbol-md-55px .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-md-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-md-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; + } + .symbol.symbol-md-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; + } + .symbol.symbol-md-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; + } + .symbol.symbol-md-60px > img { + width: 60px; + height: 60px; + } + .symbol.symbol-md-60px .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-md-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-md-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; + } + .symbol.symbol-md-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; + } + .symbol.symbol-md-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; + } + .symbol.symbol-md-65px > img { + width: 65px; + height: 65px; + } + .symbol.symbol-md-65px .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-md-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-md-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; + } + .symbol.symbol-md-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; + } + .symbol.symbol-md-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; + } + .symbol.symbol-md-70px > img { + width: 70px; + height: 70px; + } + .symbol.symbol-md-70px .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-md-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-md-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; + } + .symbol.symbol-md-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; + } + .symbol.symbol-md-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; + } + .symbol.symbol-md-75px > img { + width: 75px; + height: 75px; + } + .symbol.symbol-md-75px .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-md-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-md-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; + } + .symbol.symbol-md-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; + } + .symbol.symbol-md-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; + } + .symbol.symbol-md-100px > img { + width: 100px; + height: 100px; + } + .symbol.symbol-md-100px .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-md-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-md-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; + } + .symbol.symbol-md-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; + } + .symbol.symbol-md-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; + } + .symbol.symbol-md-125px > img { + width: 125px; + height: 125px; + } + .symbol.symbol-md-125px .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-md-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-md-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; + } + .symbol.symbol-md-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; + } + .symbol.symbol-md-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; + } + .symbol.symbol-md-150px > img { + width: 150px; + height: 150px; + } + .symbol.symbol-md-150px .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-md-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-md-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; + } + .symbol.symbol-md-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; + } + .symbol.symbol-md-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; + } + .symbol.symbol-md-160px > img { + width: 160px; + height: 160px; + } + .symbol.symbol-md-160px .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-md-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-md-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; + } + .symbol.symbol-md-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; + } + .symbol.symbol-md-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; + } + .symbol.symbol-md-175px > img { + width: 175px; + height: 175px; + } + .symbol.symbol-md-175px .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-md-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-md-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; + } + .symbol.symbol-md-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; + } + .symbol.symbol-md-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; + } + .symbol.symbol-md-200px > img { + width: 200px; + height: 200px; + } + .symbol.symbol-md-200px .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-md-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-md-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; + } + .symbol.symbol-md-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; + } + .symbol.symbol-md-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; + } +} +@media (min-width: 992px) { + .symbol.symbol-lg-20px > img { + width: 20px; + height: 20px; + } + .symbol.symbol-lg-20px .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-lg-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-lg-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; + } + .symbol.symbol-lg-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; + } + .symbol.symbol-lg-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; + } + .symbol.symbol-lg-25px > img { + width: 25px; + height: 25px; + } + .symbol.symbol-lg-25px .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-lg-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-lg-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; + } + .symbol.symbol-lg-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; + } + .symbol.symbol-lg-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; + } + .symbol.symbol-lg-30px > img { + width: 30px; + height: 30px; + } + .symbol.symbol-lg-30px .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-lg-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-lg-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; + } + .symbol.symbol-lg-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; + } + .symbol.symbol-lg-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; + } + .symbol.symbol-lg-35px > img { + width: 35px; + height: 35px; + } + .symbol.symbol-lg-35px .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-lg-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-lg-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; + } + .symbol.symbol-lg-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; + } + .symbol.symbol-lg-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; + } + .symbol.symbol-lg-40px > img { + width: 40px; + height: 40px; + } + .symbol.symbol-lg-40px .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-lg-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-lg-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; + } + .symbol.symbol-lg-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; + } + .symbol.symbol-lg-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; + } + .symbol.symbol-lg-45px > img { + width: 45px; + height: 45px; + } + .symbol.symbol-lg-45px .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-lg-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-lg-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; + } + .symbol.symbol-lg-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; + } + .symbol.symbol-lg-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; + } + .symbol.symbol-lg-50px > img { + width: 50px; + height: 50px; + } + .symbol.symbol-lg-50px .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-lg-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-lg-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; + } + .symbol.symbol-lg-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; + } + .symbol.symbol-lg-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; + } + .symbol.symbol-lg-55px > img { + width: 55px; + height: 55px; + } + .symbol.symbol-lg-55px .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-lg-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-lg-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; + } + .symbol.symbol-lg-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; + } + .symbol.symbol-lg-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; + } + .symbol.symbol-lg-60px > img { + width: 60px; + height: 60px; + } + .symbol.symbol-lg-60px .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-lg-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-lg-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; + } + .symbol.symbol-lg-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; + } + .symbol.symbol-lg-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; + } + .symbol.symbol-lg-65px > img { + width: 65px; + height: 65px; + } + .symbol.symbol-lg-65px .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-lg-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-lg-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; + } + .symbol.symbol-lg-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; + } + .symbol.symbol-lg-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; + } + .symbol.symbol-lg-70px > img { + width: 70px; + height: 70px; + } + .symbol.symbol-lg-70px .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-lg-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-lg-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; + } + .symbol.symbol-lg-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; + } + .symbol.symbol-lg-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; + } + .symbol.symbol-lg-75px > img { + width: 75px; + height: 75px; + } + .symbol.symbol-lg-75px .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-lg-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-lg-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; + } + .symbol.symbol-lg-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; + } + .symbol.symbol-lg-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; + } + .symbol.symbol-lg-100px > img { + width: 100px; + height: 100px; + } + .symbol.symbol-lg-100px .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-lg-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-lg-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; + } + .symbol.symbol-lg-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; + } + .symbol.symbol-lg-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; + } + .symbol.symbol-lg-125px > img { + width: 125px; + height: 125px; + } + .symbol.symbol-lg-125px .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-lg-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-lg-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; + } + .symbol.symbol-lg-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; + } + .symbol.symbol-lg-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; + } + .symbol.symbol-lg-150px > img { + width: 150px; + height: 150px; + } + .symbol.symbol-lg-150px .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-lg-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-lg-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; + } + .symbol.symbol-lg-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; + } + .symbol.symbol-lg-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; + } + .symbol.symbol-lg-160px > img { + width: 160px; + height: 160px; + } + .symbol.symbol-lg-160px .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-lg-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-lg-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; + } + .symbol.symbol-lg-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; + } + .symbol.symbol-lg-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; + } + .symbol.symbol-lg-175px > img { + width: 175px; + height: 175px; + } + .symbol.symbol-lg-175px .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-lg-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-lg-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; + } + .symbol.symbol-lg-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; + } + .symbol.symbol-lg-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; + } + .symbol.symbol-lg-200px > img { + width: 200px; + height: 200px; + } + .symbol.symbol-lg-200px .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-lg-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-lg-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; + } + .symbol.symbol-lg-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; + } + .symbol.symbol-lg-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; + } +} +@media (min-width: 1200px) { + .symbol.symbol-xl-20px > img { + width: 20px; + height: 20px; + } + .symbol.symbol-xl-20px .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-xl-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-xl-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; + } + .symbol.symbol-xl-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; + } + .symbol.symbol-xl-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; + } + .symbol.symbol-xl-25px > img { + width: 25px; + height: 25px; + } + .symbol.symbol-xl-25px .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-xl-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-xl-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; + } + .symbol.symbol-xl-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; + } + .symbol.symbol-xl-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; + } + .symbol.symbol-xl-30px > img { + width: 30px; + height: 30px; + } + .symbol.symbol-xl-30px .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-xl-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-xl-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; + } + .symbol.symbol-xl-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; + } + .symbol.symbol-xl-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; + } + .symbol.symbol-xl-35px > img { + width: 35px; + height: 35px; + } + .symbol.symbol-xl-35px .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-xl-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-xl-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; + } + .symbol.symbol-xl-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; + } + .symbol.symbol-xl-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; + } + .symbol.symbol-xl-40px > img { + width: 40px; + height: 40px; + } + .symbol.symbol-xl-40px .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-xl-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-xl-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; + } + .symbol.symbol-xl-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; + } + .symbol.symbol-xl-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; + } + .symbol.symbol-xl-45px > img { + width: 45px; + height: 45px; + } + .symbol.symbol-xl-45px .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-xl-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-xl-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; + } + .symbol.symbol-xl-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; + } + .symbol.symbol-xl-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; + } + .symbol.symbol-xl-50px > img { + width: 50px; + height: 50px; + } + .symbol.symbol-xl-50px .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-xl-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-xl-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; + } + .symbol.symbol-xl-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; + } + .symbol.symbol-xl-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; + } + .symbol.symbol-xl-55px > img { + width: 55px; + height: 55px; + } + .symbol.symbol-xl-55px .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-xl-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-xl-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; + } + .symbol.symbol-xl-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; + } + .symbol.symbol-xl-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; + } + .symbol.symbol-xl-60px > img { + width: 60px; + height: 60px; + } + .symbol.symbol-xl-60px .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-xl-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-xl-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; + } + .symbol.symbol-xl-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; + } + .symbol.symbol-xl-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; + } + .symbol.symbol-xl-65px > img { + width: 65px; + height: 65px; + } + .symbol.symbol-xl-65px .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-xl-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-xl-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; + } + .symbol.symbol-xl-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; + } + .symbol.symbol-xl-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; + } + .symbol.symbol-xl-70px > img { + width: 70px; + height: 70px; + } + .symbol.symbol-xl-70px .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-xl-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-xl-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; + } + .symbol.symbol-xl-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; + } + .symbol.symbol-xl-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; + } + .symbol.symbol-xl-75px > img { + width: 75px; + height: 75px; + } + .symbol.symbol-xl-75px .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-xl-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-xl-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; + } + .symbol.symbol-xl-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; + } + .symbol.symbol-xl-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; + } + .symbol.symbol-xl-100px > img { + width: 100px; + height: 100px; + } + .symbol.symbol-xl-100px .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-xl-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-xl-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; + } + .symbol.symbol-xl-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; + } + .symbol.symbol-xl-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; + } + .symbol.symbol-xl-125px > img { + width: 125px; + height: 125px; + } + .symbol.symbol-xl-125px .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-xl-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-xl-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; + } + .symbol.symbol-xl-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; + } + .symbol.symbol-xl-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; + } + .symbol.symbol-xl-150px > img { + width: 150px; + height: 150px; + } + .symbol.symbol-xl-150px .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-xl-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-xl-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; + } + .symbol.symbol-xl-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; + } + .symbol.symbol-xl-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; + } + .symbol.symbol-xl-160px > img { + width: 160px; + height: 160px; + } + .symbol.symbol-xl-160px .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-xl-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-xl-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; + } + .symbol.symbol-xl-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; + } + .symbol.symbol-xl-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; + } + .symbol.symbol-xl-175px > img { + width: 175px; + height: 175px; + } + .symbol.symbol-xl-175px .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-xl-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-xl-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; + } + .symbol.symbol-xl-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; + } + .symbol.symbol-xl-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; + } + .symbol.symbol-xl-200px > img { + width: 200px; + height: 200px; + } + .symbol.symbol-xl-200px .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-xl-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-xl-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; + } + .symbol.symbol-xl-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; + } + .symbol.symbol-xl-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; + } +} +@media (min-width: 1400px) { + .symbol.symbol-xxl-20px > img { + width: 20px; + height: 20px; + } + .symbol.symbol-xxl-20px .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-xxl-20px.symbol-fixed .symbol-label { + width: 20px; + height: 20px; + } + .symbol.symbol-xxl-20px.symbol-fixed > img { + width: 20px; + height: 20px; + max-width: auto; + } + .symbol.symbol-xxl-20px.symbol-2by3 .symbol-label { + height: 20px; + width: 30px; + } + .symbol.symbol-xxl-20px.symbol-2by3 > img { + height: 20px; + width: 30px; + max-width: auto; + } + .symbol.symbol-xxl-25px > img { + width: 25px; + height: 25px; + } + .symbol.symbol-xxl-25px .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-xxl-25px.symbol-fixed .symbol-label { + width: 25px; + height: 25px; + } + .symbol.symbol-xxl-25px.symbol-fixed > img { + width: 25px; + height: 25px; + max-width: auto; + } + .symbol.symbol-xxl-25px.symbol-2by3 .symbol-label { + height: 25px; + width: 37.5px; + } + .symbol.symbol-xxl-25px.symbol-2by3 > img { + height: 25px; + width: 37.5px; + max-width: auto; + } + .symbol.symbol-xxl-30px > img { + width: 30px; + height: 30px; + } + .symbol.symbol-xxl-30px .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-xxl-30px.symbol-fixed .symbol-label { + width: 30px; + height: 30px; + } + .symbol.symbol-xxl-30px.symbol-fixed > img { + width: 30px; + height: 30px; + max-width: auto; + } + .symbol.symbol-xxl-30px.symbol-2by3 .symbol-label { + height: 30px; + width: 45px; + } + .symbol.symbol-xxl-30px.symbol-2by3 > img { + height: 30px; + width: 45px; + max-width: auto; + } + .symbol.symbol-xxl-35px > img { + width: 35px; + height: 35px; + } + .symbol.symbol-xxl-35px .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-xxl-35px.symbol-fixed .symbol-label { + width: 35px; + height: 35px; + } + .symbol.symbol-xxl-35px.symbol-fixed > img { + width: 35px; + height: 35px; + max-width: auto; + } + .symbol.symbol-xxl-35px.symbol-2by3 .symbol-label { + height: 35px; + width: 52.5px; + } + .symbol.symbol-xxl-35px.symbol-2by3 > img { + height: 35px; + width: 52.5px; + max-width: auto; + } + .symbol.symbol-xxl-40px > img { + width: 40px; + height: 40px; + } + .symbol.symbol-xxl-40px .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-xxl-40px.symbol-fixed .symbol-label { + width: 40px; + height: 40px; + } + .symbol.symbol-xxl-40px.symbol-fixed > img { + width: 40px; + height: 40px; + max-width: auto; + } + .symbol.symbol-xxl-40px.symbol-2by3 .symbol-label { + height: 40px; + width: 60px; + } + .symbol.symbol-xxl-40px.symbol-2by3 > img { + height: 40px; + width: 60px; + max-width: auto; + } + .symbol.symbol-xxl-45px > img { + width: 45px; + height: 45px; + } + .symbol.symbol-xxl-45px .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-xxl-45px.symbol-fixed .symbol-label { + width: 45px; + height: 45px; + } + .symbol.symbol-xxl-45px.symbol-fixed > img { + width: 45px; + height: 45px; + max-width: auto; + } + .symbol.symbol-xxl-45px.symbol-2by3 .symbol-label { + height: 45px; + width: 67.5px; + } + .symbol.symbol-xxl-45px.symbol-2by3 > img { + height: 45px; + width: 67.5px; + max-width: auto; + } + .symbol.symbol-xxl-50px > img { + width: 50px; + height: 50px; + } + .symbol.symbol-xxl-50px .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-xxl-50px.symbol-fixed .symbol-label { + width: 50px; + height: 50px; + } + .symbol.symbol-xxl-50px.symbol-fixed > img { + width: 50px; + height: 50px; + max-width: auto; + } + .symbol.symbol-xxl-50px.symbol-2by3 .symbol-label { + height: 50px; + width: 75px; + } + .symbol.symbol-xxl-50px.symbol-2by3 > img { + height: 50px; + width: 75px; + max-width: auto; + } + .symbol.symbol-xxl-55px > img { + width: 55px; + height: 55px; + } + .symbol.symbol-xxl-55px .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-xxl-55px.symbol-fixed .symbol-label { + width: 55px; + height: 55px; + } + .symbol.symbol-xxl-55px.symbol-fixed > img { + width: 55px; + height: 55px; + max-width: auto; + } + .symbol.symbol-xxl-55px.symbol-2by3 .symbol-label { + height: 55px; + width: 82.5px; + } + .symbol.symbol-xxl-55px.symbol-2by3 > img { + height: 55px; + width: 82.5px; + max-width: auto; + } + .symbol.symbol-xxl-60px > img { + width: 60px; + height: 60px; + } + .symbol.symbol-xxl-60px .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-xxl-60px.symbol-fixed .symbol-label { + width: 60px; + height: 60px; + } + .symbol.symbol-xxl-60px.symbol-fixed > img { + width: 60px; + height: 60px; + max-width: auto; + } + .symbol.symbol-xxl-60px.symbol-2by3 .symbol-label { + height: 60px; + width: 90px; + } + .symbol.symbol-xxl-60px.symbol-2by3 > img { + height: 60px; + width: 90px; + max-width: auto; + } + .symbol.symbol-xxl-65px > img { + width: 65px; + height: 65px; + } + .symbol.symbol-xxl-65px .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-xxl-65px.symbol-fixed .symbol-label { + width: 65px; + height: 65px; + } + .symbol.symbol-xxl-65px.symbol-fixed > img { + width: 65px; + height: 65px; + max-width: auto; + } + .symbol.symbol-xxl-65px.symbol-2by3 .symbol-label { + height: 65px; + width: 97.5px; + } + .symbol.symbol-xxl-65px.symbol-2by3 > img { + height: 65px; + width: 97.5px; + max-width: auto; + } + .symbol.symbol-xxl-70px > img { + width: 70px; + height: 70px; + } + .symbol.symbol-xxl-70px .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-xxl-70px.symbol-fixed .symbol-label { + width: 70px; + height: 70px; + } + .symbol.symbol-xxl-70px.symbol-fixed > img { + width: 70px; + height: 70px; + max-width: auto; + } + .symbol.symbol-xxl-70px.symbol-2by3 .symbol-label { + height: 70px; + width: 105px; + } + .symbol.symbol-xxl-70px.symbol-2by3 > img { + height: 70px; + width: 105px; + max-width: auto; + } + .symbol.symbol-xxl-75px > img { + width: 75px; + height: 75px; + } + .symbol.symbol-xxl-75px .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-xxl-75px.symbol-fixed .symbol-label { + width: 75px; + height: 75px; + } + .symbol.symbol-xxl-75px.symbol-fixed > img { + width: 75px; + height: 75px; + max-width: auto; + } + .symbol.symbol-xxl-75px.symbol-2by3 .symbol-label { + height: 75px; + width: 112.5px; + } + .symbol.symbol-xxl-75px.symbol-2by3 > img { + height: 75px; + width: 112.5px; + max-width: auto; + } + .symbol.symbol-xxl-100px > img { + width: 100px; + height: 100px; + } + .symbol.symbol-xxl-100px .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-xxl-100px.symbol-fixed .symbol-label { + width: 100px; + height: 100px; + } + .symbol.symbol-xxl-100px.symbol-fixed > img { + width: 100px; + height: 100px; + max-width: auto; + } + .symbol.symbol-xxl-100px.symbol-2by3 .symbol-label { + height: 100px; + width: 150px; + } + .symbol.symbol-xxl-100px.symbol-2by3 > img { + height: 100px; + width: 150px; + max-width: auto; + } + .symbol.symbol-xxl-125px > img { + width: 125px; + height: 125px; + } + .symbol.symbol-xxl-125px .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-xxl-125px.symbol-fixed .symbol-label { + width: 125px; + height: 125px; + } + .symbol.symbol-xxl-125px.symbol-fixed > img { + width: 125px; + height: 125px; + max-width: auto; + } + .symbol.symbol-xxl-125px.symbol-2by3 .symbol-label { + height: 125px; + width: 187.5px; + } + .symbol.symbol-xxl-125px.symbol-2by3 > img { + height: 125px; + width: 187.5px; + max-width: auto; + } + .symbol.symbol-xxl-150px > img { + width: 150px; + height: 150px; + } + .symbol.symbol-xxl-150px .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-xxl-150px.symbol-fixed .symbol-label { + width: 150px; + height: 150px; + } + .symbol.symbol-xxl-150px.symbol-fixed > img { + width: 150px; + height: 150px; + max-width: auto; + } + .symbol.symbol-xxl-150px.symbol-2by3 .symbol-label { + height: 150px; + width: 225px; + } + .symbol.symbol-xxl-150px.symbol-2by3 > img { + height: 150px; + width: 225px; + max-width: auto; + } + .symbol.symbol-xxl-160px > img { + width: 160px; + height: 160px; + } + .symbol.symbol-xxl-160px .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-xxl-160px.symbol-fixed .symbol-label { + width: 160px; + height: 160px; + } + .symbol.symbol-xxl-160px.symbol-fixed > img { + width: 160px; + height: 160px; + max-width: auto; + } + .symbol.symbol-xxl-160px.symbol-2by3 .symbol-label { + height: 160px; + width: 240px; + } + .symbol.symbol-xxl-160px.symbol-2by3 > img { + height: 160px; + width: 240px; + max-width: auto; + } + .symbol.symbol-xxl-175px > img { + width: 175px; + height: 175px; + } + .symbol.symbol-xxl-175px .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-xxl-175px.symbol-fixed .symbol-label { + width: 175px; + height: 175px; + } + .symbol.symbol-xxl-175px.symbol-fixed > img { + width: 175px; + height: 175px; + max-width: auto; + } + .symbol.symbol-xxl-175px.symbol-2by3 .symbol-label { + height: 175px; + width: 262.5px; + } + .symbol.symbol-xxl-175px.symbol-2by3 > img { + height: 175px; + width: 262.5px; + max-width: auto; + } + .symbol.symbol-xxl-200px > img { + width: 200px; + height: 200px; + } + .symbol.symbol-xxl-200px .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-xxl-200px.symbol-fixed .symbol-label { + width: 200px; + height: 200px; + } + .symbol.symbol-xxl-200px.symbol-fixed > img { + width: 200px; + height: 200px; + max-width: auto; + } + .symbol.symbol-xxl-200px.symbol-2by3 .symbol-label { + height: 200px; + width: 300px; + } + .symbol.symbol-xxl-200px.symbol-2by3 > img { + height: 200px; + width: 300px; + max-width: auto; + } +} + +.symbol-group { + display: flex; + flex-wrap: wrap; + align-items: center; + margin-left: 10px; +} +.symbol-group .symbol { + position: relative; + z-index: 0; + margin-left: -10px; + border: 2px solid #ffffff; + transition: all 0.3s ease; +} +.symbol-group .symbol:hover { + transition: all 0.3s ease; + z-index: 1; +} +.symbol-group.symbol-hover .symbol { + cursor: pointer; +} + +.pulse { + position: relative; +} +.pulse.pulse-white .pulse-ring { + border-color: #ffffff; +} +.pulse.pulse-light .pulse-ring { + border-color: #F5F8FA; +} +.pulse.pulse-primary .pulse-ring { + border-color: #7239EA; +} +.pulse.pulse-secondary .pulse-ring { + border-color: #E4E6EF; +} +.pulse.pulse-success .pulse-ring { + border-color: #50CD89; +} +.pulse.pulse-info .pulse-ring { + border-color: #009EF7; +} +.pulse.pulse-warning .pulse-ring { + border-color: #FFC700; +} +.pulse.pulse-danger .pulse-ring { + border-color: #F1416C; +} +.pulse.pulse-dark .pulse-ring { + border-color: #181C32; +} + +.pulse-ring { + display: block; + border-radius: 40px; + height: 40px; + width: 40px; + position: absolute; + animation: animation-pulse 3.5s ease-out; + animation-iteration-count: infinite; + opacity: 0; + border-width: 3px; + border-style: solid; + border-color: #A1A5B7; +} + +@keyframes animation-pulse { + 0% { + -webkit-transform: scale(0.1, 0.1); + opacity: 0; + } + 60% { + -webkit-transform: scale(0.1, 0.1); + opacity: 0; + } + 65% { + opacity: 1; + } + 100% { + -webkit-transform: scale(1.2, 1.2); + opacity: 0; + } +} +.page-loading * { + transition: none !important; +} + +.page-loader { + background: #ffffff; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 1000; + display: none; +} +.page-loading .page-loader { + display: flex; + justify-content: center; + align-items: center; +} + +.scrolltop { + display: none; + justify-content: center; + align-items: center; + width: 36px; + height: 36px; + position: fixed; + bottom: 40px; + right: 20px; + cursor: pointer; + z-index: 100; + background-color: #7239EA; + box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075); + opacity: 0; + transition: color 0.2s ease, background-color 0.2s ease; + border-radius: 0.475rem; +} +.scrolltop .svg-icon svg { + height: 24px; + width: 24px; +} +.scrolltop .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.scrolltop .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.scrolltop > i { + font-size: 1.3rem; + color: #ffffff; +} +.scrolltop:hover > i { + color: #ffffff; +} +.scrolltop:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.scrolltop:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +[data-kt-scrolltop=on] .scrolltop { + opacity: 0.3; + animation: animation-scrolltop 0.4s ease-out 1; + display: flex; +} +[data-kt-scrolltop=on] .scrolltop:hover { + transition: color 0.2s ease, background-color 0.2s ease; + opacity: 1; +} +@media (max-width: 991.98px) { + .scrolltop { + bottom: 30px; + right: 15px; + width: 30px; + height: 30px; + } +} + +@keyframes animation-scrolltop { + from { + margin-bottom: -15px; + } + to { + margin-bottom: 0; + } +} +.svg-icon { + line-height: 1; +} +.svg-icon svg { + height: 1.15rem; + width: 1.15rem; +} +.svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-white svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.svg-icon.svg-icon-white svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-primary svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7239EA; +} +.svg-icon.svg-icon-primary svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-secondary svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.svg-icon.svg-icon-secondary svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-light svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.svg-icon.svg-icon-light svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-success svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.svg-icon.svg-icon-success svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-info svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #009EF7; +} +.svg-icon.svg-icon-info svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-warning svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFC700; +} +.svg-icon.svg-icon-warning svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-danger svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.svg-icon.svg-icon-danger svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-dark svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.svg-icon.svg-icon-dark svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-muted svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.svg-icon.svg-icon-muted svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-100 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F5F8FA; +} +.svg-icon.svg-icon-gray-100 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-200 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #EFF2F5; +} +.svg-icon.svg-icon-gray-200 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-300 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #E4E6EF; +} +.svg-icon.svg-icon-gray-300 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-400 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.svg-icon.svg-icon-gray-400 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-500 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A1A5B7; +} +.svg-icon.svg-icon-gray-500 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-600 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #7E8299; +} +.svg-icon.svg-icon-gray-600 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-700 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #5E6278; +} +.svg-icon.svg-icon-gray-700 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-800 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #3F4254; +} +.svg-icon.svg-icon-gray-800 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-gray-900 svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #181C32; +} +.svg-icon.svg-icon-gray-900 svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.svg-icon.svg-icon-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; +} +.svg-icon.svg-icon-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; +} +.svg-icon.svg-icon-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; +} +.svg-icon.svg-icon-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; +} +.svg-icon.svg-icon-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; +} +.svg-icon.svg-icon-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; +} +.svg-icon.svg-icon-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; +} +.svg-icon.svg-icon-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; +} +.svg-icon.svg-icon-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; +} +.svg-icon.svg-icon-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; +} +.svg-icon.svg-icon-base svg { + height: 1rem !important; + width: 1rem !important; +} +.svg-icon.svg-icon-fluid svg { + height: 100% !important; + width: 100% !important; +} +.svg-icon.svg-icon-2x svg { + height: 2rem !important; + width: 2rem !important; +} +.svg-icon.svg-icon-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; +} +.svg-icon.svg-icon-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; +} +.svg-icon.svg-icon-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; +} +.svg-icon.svg-icon-3x svg { + height: 3rem !important; + width: 3rem !important; +} +.svg-icon.svg-icon-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; +} +.svg-icon.svg-icon-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; +} +.svg-icon.svg-icon-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; +} +.svg-icon.svg-icon-4x svg { + height: 4rem !important; + width: 4rem !important; +} +.svg-icon.svg-icon-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; +} +.svg-icon.svg-icon-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; +} +.svg-icon.svg-icon-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; +} +.svg-icon.svg-icon-5x svg { + height: 5rem !important; + width: 5rem !important; +} +.svg-icon.svg-icon-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; +} +.svg-icon.svg-icon-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; +} +.svg-icon.svg-icon-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; +} +@media (min-width: 576px) { + .svg-icon.svg-icon-sm-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; + } + .svg-icon.svg-icon-sm-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; + } + .svg-icon.svg-icon-sm-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; + } + .svg-icon.svg-icon-sm-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; + } + .svg-icon.svg-icon-sm-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; + } + .svg-icon.svg-icon-sm-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; + } + .svg-icon.svg-icon-sm-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; + } + .svg-icon.svg-icon-sm-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; + } + .svg-icon.svg-icon-sm-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; + } + .svg-icon.svg-icon-sm-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; + } + .svg-icon.svg-icon-sm-base svg { + height: 1rem !important; + width: 1rem !important; + } + .svg-icon.svg-icon-sm-fluid svg { + height: 100% !important; + width: 100% !important; + } + .svg-icon.svg-icon-sm-2x svg { + height: 2rem !important; + width: 2rem !important; + } + .svg-icon.svg-icon-sm-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; + } + .svg-icon.svg-icon-sm-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; + } + .svg-icon.svg-icon-sm-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; + } + .svg-icon.svg-icon-sm-3x svg { + height: 3rem !important; + width: 3rem !important; + } + .svg-icon.svg-icon-sm-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; + } + .svg-icon.svg-icon-sm-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; + } + .svg-icon.svg-icon-sm-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; + } + .svg-icon.svg-icon-sm-4x svg { + height: 4rem !important; + width: 4rem !important; + } + .svg-icon.svg-icon-sm-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; + } + .svg-icon.svg-icon-sm-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; + } + .svg-icon.svg-icon-sm-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; + } + .svg-icon.svg-icon-sm-5x svg { + height: 5rem !important; + width: 5rem !important; + } + .svg-icon.svg-icon-sm-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; + } + .svg-icon.svg-icon-sm-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; + } + .svg-icon.svg-icon-sm-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; + } +} +@media (min-width: 768px) { + .svg-icon.svg-icon-md-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; + } + .svg-icon.svg-icon-md-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; + } + .svg-icon.svg-icon-md-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; + } + .svg-icon.svg-icon-md-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; + } + .svg-icon.svg-icon-md-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; + } + .svg-icon.svg-icon-md-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; + } + .svg-icon.svg-icon-md-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; + } + .svg-icon.svg-icon-md-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; + } + .svg-icon.svg-icon-md-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; + } + .svg-icon.svg-icon-md-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; + } + .svg-icon.svg-icon-md-base svg { + height: 1rem !important; + width: 1rem !important; + } + .svg-icon.svg-icon-md-fluid svg { + height: 100% !important; + width: 100% !important; + } + .svg-icon.svg-icon-md-2x svg { + height: 2rem !important; + width: 2rem !important; + } + .svg-icon.svg-icon-md-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; + } + .svg-icon.svg-icon-md-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; + } + .svg-icon.svg-icon-md-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; + } + .svg-icon.svg-icon-md-3x svg { + height: 3rem !important; + width: 3rem !important; + } + .svg-icon.svg-icon-md-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; + } + .svg-icon.svg-icon-md-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; + } + .svg-icon.svg-icon-md-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; + } + .svg-icon.svg-icon-md-4x svg { + height: 4rem !important; + width: 4rem !important; + } + .svg-icon.svg-icon-md-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; + } + .svg-icon.svg-icon-md-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; + } + .svg-icon.svg-icon-md-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; + } + .svg-icon.svg-icon-md-5x svg { + height: 5rem !important; + width: 5rem !important; + } + .svg-icon.svg-icon-md-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; + } + .svg-icon.svg-icon-md-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; + } + .svg-icon.svg-icon-md-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; + } +} +@media (min-width: 992px) { + .svg-icon.svg-icon-lg-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; + } + .svg-icon.svg-icon-lg-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; + } + .svg-icon.svg-icon-lg-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; + } + .svg-icon.svg-icon-lg-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; + } + .svg-icon.svg-icon-lg-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; + } + .svg-icon.svg-icon-lg-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; + } + .svg-icon.svg-icon-lg-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; + } + .svg-icon.svg-icon-lg-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; + } + .svg-icon.svg-icon-lg-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; + } + .svg-icon.svg-icon-lg-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; + } + .svg-icon.svg-icon-lg-base svg { + height: 1rem !important; + width: 1rem !important; + } + .svg-icon.svg-icon-lg-fluid svg { + height: 100% !important; + width: 100% !important; + } + .svg-icon.svg-icon-lg-2x svg { + height: 2rem !important; + width: 2rem !important; + } + .svg-icon.svg-icon-lg-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; + } + .svg-icon.svg-icon-lg-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; + } + .svg-icon.svg-icon-lg-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; + } + .svg-icon.svg-icon-lg-3x svg { + height: 3rem !important; + width: 3rem !important; + } + .svg-icon.svg-icon-lg-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; + } + .svg-icon.svg-icon-lg-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; + } + .svg-icon.svg-icon-lg-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; + } + .svg-icon.svg-icon-lg-4x svg { + height: 4rem !important; + width: 4rem !important; + } + .svg-icon.svg-icon-lg-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; + } + .svg-icon.svg-icon-lg-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; + } + .svg-icon.svg-icon-lg-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; + } + .svg-icon.svg-icon-lg-5x svg { + height: 5rem !important; + width: 5rem !important; + } + .svg-icon.svg-icon-lg-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; + } + .svg-icon.svg-icon-lg-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; + } + .svg-icon.svg-icon-lg-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; + } +} +@media (min-width: 1200px) { + .svg-icon.svg-icon-xl-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; + } + .svg-icon.svg-icon-xl-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; + } + .svg-icon.svg-icon-xl-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; + } + .svg-icon.svg-icon-xl-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; + } + .svg-icon.svg-icon-xl-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; + } + .svg-icon.svg-icon-xl-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; + } + .svg-icon.svg-icon-xl-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; + } + .svg-icon.svg-icon-xl-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; + } + .svg-icon.svg-icon-xl-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; + } + .svg-icon.svg-icon-xl-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; + } + .svg-icon.svg-icon-xl-base svg { + height: 1rem !important; + width: 1rem !important; + } + .svg-icon.svg-icon-xl-fluid svg { + height: 100% !important; + width: 100% !important; + } + .svg-icon.svg-icon-xl-2x svg { + height: 2rem !important; + width: 2rem !important; + } + .svg-icon.svg-icon-xl-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; + } + .svg-icon.svg-icon-xl-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; + } + .svg-icon.svg-icon-xl-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; + } + .svg-icon.svg-icon-xl-3x svg { + height: 3rem !important; + width: 3rem !important; + } + .svg-icon.svg-icon-xl-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; + } + .svg-icon.svg-icon-xl-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; + } + .svg-icon.svg-icon-xl-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; + } + .svg-icon.svg-icon-xl-4x svg { + height: 4rem !important; + width: 4rem !important; + } + .svg-icon.svg-icon-xl-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; + } + .svg-icon.svg-icon-xl-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; + } + .svg-icon.svg-icon-xl-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; + } + .svg-icon.svg-icon-xl-5x svg { + height: 5rem !important; + width: 5rem !important; + } + .svg-icon.svg-icon-xl-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; + } + .svg-icon.svg-icon-xl-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; + } + .svg-icon.svg-icon-xl-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; + } +} +@media (min-width: 1400px) { + .svg-icon.svg-icon-xxl-1 svg { + height: 1.75rem !important; + width: 1.75rem !important; + } + .svg-icon.svg-icon-xxl-2 svg { + height: 1.5rem !important; + width: 1.5rem !important; + } + .svg-icon.svg-icon-xxl-3 svg { + height: 1.35rem !important; + width: 1.35rem !important; + } + .svg-icon.svg-icon-xxl-4 svg { + height: 1.25rem !important; + width: 1.25rem !important; + } + .svg-icon.svg-icon-xxl-5 svg { + height: 1.15rem !important; + width: 1.15rem !important; + } + .svg-icon.svg-icon-xxl-6 svg { + height: 1.075rem !important; + width: 1.075rem !important; + } + .svg-icon.svg-icon-xxl-7 svg { + height: 0.95rem !important; + width: 0.95rem !important; + } + .svg-icon.svg-icon-xxl-8 svg { + height: 0.85rem !important; + width: 0.85rem !important; + } + .svg-icon.svg-icon-xxl-9 svg { + height: 0.75rem !important; + width: 0.75rem !important; + } + .svg-icon.svg-icon-xxl-10 svg { + height: 0.5rem !important; + width: 0.5rem !important; + } + .svg-icon.svg-icon-xxl-base svg { + height: 1rem !important; + width: 1rem !important; + } + .svg-icon.svg-icon-xxl-fluid svg { + height: 100% !important; + width: 100% !important; + } + .svg-icon.svg-icon-xxl-2x svg { + height: 2rem !important; + width: 2rem !important; + } + .svg-icon.svg-icon-xxl-2qx svg { + height: 2.25rem !important; + width: 2.25rem !important; + } + .svg-icon.svg-icon-xxl-2hx svg { + height: 2.5rem !important; + width: 2.5rem !important; + } + .svg-icon.svg-icon-xxl-2tx svg { + height: 2.75rem !important; + width: 2.75rem !important; + } + .svg-icon.svg-icon-xxl-3x svg { + height: 3rem !important; + width: 3rem !important; + } + .svg-icon.svg-icon-xxl-3qx svg { + height: 3.25rem !important; + width: 3.25rem !important; + } + .svg-icon.svg-icon-xxl-3hx svg { + height: 3.5rem !important; + width: 3.5rem !important; + } + .svg-icon.svg-icon-xxl-3tx svg { + height: 3.75rem !important; + width: 3.75rem !important; + } + .svg-icon.svg-icon-xxl-4x svg { + height: 4rem !important; + width: 4rem !important; + } + .svg-icon.svg-icon-xxl-4qx svg { + height: 4.25rem !important; + width: 4.25rem !important; + } + .svg-icon.svg-icon-xxl-4hx svg { + height: 4.5rem !important; + width: 4.5rem !important; + } + .svg-icon.svg-icon-xxl-4tx svg { + height: 4.75rem !important; + width: 4.75rem !important; + } + .svg-icon.svg-icon-xxl-5x svg { + height: 5rem !important; + width: 5rem !important; + } + .svg-icon.svg-icon-xxl-5qx svg { + height: 5.25rem !important; + width: 5.25rem !important; + } + .svg-icon.svg-icon-xxl-5hx svg { + height: 5.5rem !important; + width: 5.5rem !important; + } + .svg-icon.svg-icon-xxl-5tx svg { + height: 5.75rem !important; + width: 5.75rem !important; + } +} + +.timeline .timeline-item { + position: relative; + padding: 0; + margin: 0; + display: flex; + align-items: flex-start; +} +.timeline .timeline-item:last-child .timeline-line { + bottom: 100%; +} +.timeline .timeline-line { + display: block; + content: " "; + justify-content: center; + position: absolute; + z-index: 0; + left: 0; + top: 0; + bottom: 0; + transform: translate(50%); + border-left-width: 1px; + border-left-style: dashed; + border-left-color: #E4E6EF; +} +.timeline .timeline-icon { + z-index: 1; + flex-shrink: 0; + margin-right: 1rem; +} +.timeline .timeline-content { + width: 100%; + overflow: auto; + margin-bottom: 1.5rem; +} +.timeline.timeline-center .timeline-item { + align-items: center; +} +.timeline.timeline-center .timeline-item:first-child .timeline-line { + top: 50%; +} +.timeline.timeline-center .timeline-item:last-child .timeline-line { + bottom: 50%; +} + +.overlay { + position: relative; +} +.overlay .overlay-layer { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + display: flex; + justify-content: center; + align-items: center; + background-color: rgba(0, 0, 0, 0.05); + transition: all 0.3s ease; + opacity: 0; +} +.overlay.overlay-show .overlay-layer, .overlay.overlay-block .overlay-layer, .overlay:hover .overlay-layer { + transition: all 0.3s ease; + opacity: 1; +} +.overlay.overlay-block { + cursor: wait; +} + +.bullet { + display: inline-block; + background-color: #B5B5C3; + border-radius: 6px; + width: 8px; + height: 4px; + flex-shrink: 0; +} + +.bullet-dot { + width: 4px; + height: 4px; + border-radius: 100% !important; +} + +.bullet-vertical { + width: 4px; + height: 8px; +} + +.bullet-line { + width: 5px; + height: 1px; + border-radius: none; +} + +.drawer { + display: flex !important; + overflow: auto; + z-index: 110; + position: fixed; + top: 0; + bottom: 0; + background-color: #ffffff; + transition: transform 0.3s ease-in-out; +} +.drawer.drawer-start { + left: 0; + transform: translateX(-100%); +} +.drawer.drawer-end { + right: 0; + transform: translateX(100%); +} +.drawer.drawer-on { + transform: none; + box-shadow: 0px 1px 9px -3px rgba(0, 0, 0, 0.05); + transition: transform 0.3s ease-in-out; +} + +.drawer-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + overflow: hidden; + z-index: 109; + background-color: rgba(0, 0, 0, 0.2); + animation: animation-drawer-fade-in 0.3s ease-in-out 1; +} + +[data-kt-drawer=true] { + display: none; +} + +@keyframes animation-drawer-fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@media (max-width: 991.98px) { + body[data-kt-drawer=on] { + overflow: hidden; + } +} +.badge.badge-circle, .badge.badge-square { + display: inline-flex; + align-items: center; + justify-content: center; + height: 1.75rem; + min-width: 1.75rem; + padding: 0 0.1rem; +} +.badge.badge-circle { + border-radius: 50%; + padding: 0; + min-width: unset; + width: 1.75rem; +} +.badge.badge-sm { + min-width: 1.5rem; + font-size: 0.85rem; +} +.badge.badge-sm.badge-circle { + width: 1.5rem; + height: 1.5rem; +} +.badge.badge-lg { + min-width: 2rem; + font-size: 1rem; +} +.badge.badge-lg.badge-circle { + width: 2rem; + height: 2rem; +} + +.badge-white { + color: #7E8299; + background-color: #ffffff; +} + +.badge-light-white { + color: #ffffff; +} + +.badge-light { + color: #7E8299; + background-color: #F5F8FA; +} + +.badge-light-light { + color: #F5F8FA; +} + +.badge-primary { + color: #FFFFFF; + background-color: #7239EA; +} + +.badge-light-primary { + color: #7239EA; + background-color: #F8F5FF; +} + +.badge-secondary { + color: #3F4254; + background-color: #E4E6EF; +} + +.badge-light-secondary { + color: #E4E6EF; +} + +.badge-success { + color: #FFFFFF; + background-color: #50CD89; +} + +.badge-light-success { + color: #50CD89; + background-color: #E8FFF3; +} + +.badge-info { + color: #FFFFFF; + background-color: #009EF7; +} + +.badge-light-info { + color: #009EF7; + background-color: #F1FAFF; +} + +.badge-warning { + color: #FFFFFF; + background-color: #FFC700; +} + +.badge-light-warning { + color: #FFC700; + background-color: #FFF8DD; +} + +.badge-danger { + color: #FFFFFF; + background-color: #F1416C; +} + +.badge-light-danger { + color: #F1416C; + background-color: #FFF5F8; +} + +.badge-dark { + color: #ffffff; + background-color: #181C32; +} + +.badge-light-dark { + color: #181C32; + background-color: #EFF2F5; +} + +.indicator-progress { + display: none; +} +[data-kt-indicator=on] > .indicator-progress { + display: inline-block; +} + +[data-kt-indicator=on] > .indicator-label { + display: none; +} + +.rotate { + display: inline-flex; + align-items: center; +} + +.rotate-90 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-90, .active > .rotate-90 { + transform: rotateZ(90deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-90, [direction=rtl] .active > .rotate-90 { + transform: rotateZ(-90deg); +} + +.rotate-n90 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-n90, .active > .rotate-n90 { + transform: rotateZ(-90deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-n90, [direction=rtl] .active > .rotate-n90 { + transform: rotateZ(90deg); +} + +.rotate-180 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-180, .active > .rotate-180 { + transform: rotateZ(180deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-180, [direction=rtl] .active > .rotate-180 { + transform: rotateZ(-180deg); +} + +.rotate-n180 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-n180, .active > .rotate-n180 { + transform: rotateZ(-180deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-n180, [direction=rtl] .active > .rotate-n180 { + transform: rotateZ(180deg); +} + +.rotate-270 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-270, .active > .rotate-270 { + transform: rotateZ(270deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-270, [direction=rtl] .active > .rotate-270 { + transform: rotateZ(-270deg); +} + +.rotate-n270 { + transition: transform 0.3s ease; + -webkit-backface-visibility: hidden; +} +.collapsible:not(.collapsed) > .rotate-n270, .active > .rotate-n270 { + transform: rotateZ(-270deg); + transition: transform 0.3s ease; +} +[direction=rtl] .collapsible:not(.collapsed) > .rotate-n270, [direction=rtl] .active > .rotate-n270 { + transform: rotateZ(270deg); +} + +@media (min-width: 992px) { + span, +ol, +ul, +pre, +div { + scrollbar-width: thin; + scrollbar-color: #EFF2F5 transparent; + } + span::-webkit-scrollbar, +ol::-webkit-scrollbar, +ul::-webkit-scrollbar, +pre::-webkit-scrollbar, +div::-webkit-scrollbar { + width: 0.4rem; + height: 0.4rem; + } + span::-webkit-scrollbar-thumb, +ol::-webkit-scrollbar-thumb, +ul::-webkit-scrollbar-thumb, +pre::-webkit-scrollbar-thumb, +div::-webkit-scrollbar-thumb { + background-color: #EFF2F5; + } + span:hover, +ol:hover, +ul:hover, +pre:hover, +div:hover { + scrollbar-color: #e9edf1 transparent; + } + span:hover::-webkit-scrollbar-thumb, +ol:hover::-webkit-scrollbar-thumb, +ul:hover::-webkit-scrollbar-thumb, +pre:hover::-webkit-scrollbar-thumb, +div:hover::-webkit-scrollbar-thumb { + background-color: #e9edf1; + } +} +.scroll { + overflow: scroll; + position: relative; +} +@media (max-width: 991.98px) { + .scroll { + overflow: auto; + } +} + +.scroll-x { + overflow-x: scroll; + position: relative; +} +@media (max-width: 991.98px) { + .scroll-x { + overflow-x: auto; + } +} + +.scroll-y { + overflow-y: scroll; + position: relative; +} +@media (max-width: 991.98px) { + .scroll-y { + overflow-y: auto; + } +} + +.hover-scroll { + position: relative; +} +@media (min-width: 992px) { + .hover-scroll { + overflow: hidden; + border-right: 0.4rem solid transparent; + border-bottom: 0.4rem solid transparent; + margin-right: -0.4rem; + margin-bottom: -0.4rem; + } + .hover-scroll:hover { + overflow: scroll; + border-right: 0; + border-bottom: 0; + } + @-moz-document url-prefix() { + .hover-scroll { + overflow: scroll; + position: relative; + border-right: 0; + border-bottom: 0; + } + } +} +@media (max-width: 991.98px) { + .hover-scroll { + overflow: auto; + } +} + +.hover-scroll-y { + position: relative; +} +@media (min-width: 992px) { + .hover-scroll-y { + overflow-y: hidden; + border-right: 0.4rem solid transparent; + margin-right: -0.4rem; + } + .hover-scroll-y:hover { + overflow-y: scroll; + border-right: 0; + } + @-moz-document url-prefix() { + .hover-scroll-y { + overflow-y: scroll; + position: relative; + border-right: 0; + } + } +} +@media (max-width: 991.98px) { + .hover-scroll-y { + overflow-y: auto; + } +} + +.hover-scroll-x { + position: relative; +} +@media (min-width: 992px) { + .hover-scroll-x { + overflow-x: hidden; + border-bottom: 0.4rem solid transparent; + } + .hover-scroll-x:hover { + overflow-x: scroll; + border-bottom: 0; + } + @-moz-document url-prefix() { + .hover-scroll-x { + overflow-x: scroll; + position: relative; + border-bottom: 0; + } + } +} +@media (max-width: 991.98px) { + .hover-scroll-x { + overflow-x: auto; + } +} + +.hover-scroll-overlay-y { + overflow-y: hidden; + position: relative; + --scrollbar-space: 0.25rem; +} +.hover-scroll-overlay-y::-webkit-scrollbar { + width: calc(0.4rem + var(--scrollbar-space)); +} +.hover-scroll-overlay-y::-webkit-scrollbar-thumb { + background-clip: content-box; + border-right: var(--scrollbar-space) solid transparent; +} +.hover-scroll-overlay-y:hover { + overflow-y: overlay; +} +@-moz-document url-prefix() { + .hover-scroll-overlay-y { + overflow-y: scroll; + position: relative; + } +} + +.scroll-ps { + padding-left: 0.4rem !important; +} + +.scroll-ms { + margin-left: 0.4rem !important; +} + +.scroll-pe { + padding-right: 0.4rem !important; +} + +.scroll-me { + margin-right: 0.4rem !important; +} + +.scroll-px { + padding-left: 0.4rem !important; + padding-right: 0.4rem !important; +} + +.scroll-mx { + margin-left: 0.4rem !important; + margin-right: 0.4rem !important; +} + +.rating { + display: flex; + align-items: center; +} + +.rating-input { + position: absolute !important; + left: -9999px !important; +} +.rating-input[disabled] { + display: none; +} + +.rating-label { + padding: 0; + margin: 0; +} +.rating-label > i { + line-height: 1; + color: #B5B5C3; +} +.rating-label > .svg-icon { + line-height: 1; +} +.rating-label > .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.rating-label > .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +label.rating-label { + cursor: pointer; +} + +div.rating-label.checked > i, +label.rating-label > i { + color: #FFAD0F; +} +div.rating-label.checked > .svg-icon svg [fill]:not(.permanent):not(g), +label.rating-label > .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFAD0F; +} +div.rating-label.checked > .svg-icon svg:hover [fill]:not(.permanent):not(g), +label.rating-label > .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.rating-input:checked ~ .rating-label > i { + color: #B5B5C3; +} + +.rating-input:checked ~ .rating-label > .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +.rating-input:checked ~ .rating-label > .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.rating:hover label.rating-label > i { + color: #FFAD0F; +} + +.rating:hover label.rating-label > .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #FFAD0F; +} +.rating:hover label.rating-label > .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +label.rating-label:hover ~ .rating-label > i { + color: #B5B5C3; +} + +label.rating-label:hover ~ .rating-label > .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #B5B5C3; +} +label.rating-label:hover ~ .rating-label > .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.stepper [data-kt-stepper-element=info], +.stepper [data-kt-stepper-element=content] { + display: none; +} +.stepper [data-kt-stepper-element=info].current, +.stepper [data-kt-stepper-element=content].current { + display: flex; +} +.stepper .stepper-item[data-kt-stepper-action=step] { + cursor: pointer; +} +.stepper [data-kt-stepper-action=previous] { + display: none; +} +.stepper [data-kt-stepper-action=next] { + display: inline-block; +} +.stepper [data-kt-stepper-action=submit] { + display: none; +} +.stepper.first [data-kt-stepper-action=previous] { + display: none; +} +.stepper.first [data-kt-stepper-action=next] { + display: inline-block; +} +.stepper.first [data-kt-stepper-action=submit] { + display: none; +} +.stepper.between [data-kt-stepper-action=previous] { + display: inline-block; +} +.stepper.between [data-kt-stepper-action=next] { + display: inline-block; +} +.stepper.between [data-kt-stepper-action=submit] { + display: none; +} +.stepper.last [data-kt-stepper-action=previous] { + display: inline-block; +} +.stepper.last [data-kt-stepper-action=next] { + display: none; +} +.stepper.last [data-kt-stepper-action=submit] { + display: inline-block; +} +.stepper.last [data-kt-stepper-action=submit].btn-flex { + display: flex; +} + +.stepper.stepper-pills .stepper-nav { + display: flex; +} +.stepper.stepper-pills .stepper-item { + display: flex; + align-items: center; + transition: color 0.2s ease, background-color 0.2s ease; +} +.stepper.stepper-pills .stepper-item .stepper-icon { + display: flex; + align-items: center; + justify-content: center; + transition: color 0.2s ease, background-color 0.2s ease; + width: 40px; + height: 40px; + border-radius: 0.475rem; + background-color: #F8F5FF; + margin-right: 1.5rem; +} +.stepper.stepper-pills .stepper-item .stepper-icon .stepper-check { + display: none; + font-size: 1rem; +} +.stepper.stepper-pills .stepper-item .stepper-icon .stepper-number { + font-weight: 600; + color: #7239EA !important; + font-size: 1.25rem; +} +.stepper.stepper-pills .stepper-item .stepper-label { + display: flex; + flex-direction: column; + justify-content: center; +} +.stepper.stepper-pills .stepper-item .stepper-label .stepper-title { + color: #3F4254; + font-weight: 600; + font-size: 1.25rem; + margin-bottom: 0.3rem; +} +.stepper.stepper-pills .stepper-item .stepper-label .stepper-desc { + color: #A1A5B7; +} +.stepper.stepper-pills .stepper-item.current { + transition: color 0.2s ease, background-color 0.2s ease; +} +.stepper.stepper-pills .stepper-item.current .stepper-icon { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #7239EA; +} +.stepper.stepper-pills .stepper-item.current .stepper-icon .stepper-check { + color: #7239EA; + display: none; +} +.stepper.stepper-pills .stepper-item.current .stepper-icon .stepper-number { + color: #ffffff !important; + font-size: 1.35rem; +} +.stepper.stepper-pills .stepper-item.current .stepper-label .stepper-title { + color: #7E8299; +} +.stepper.stepper-pills .stepper-item.current .stepper-label .stepper-desc { + color: #B5B5C3; +} +.stepper.stepper-pills .stepper-item.current:last-child .stepper-icon, .stepper.stepper-pills .stepper-item.completed .stepper-icon { + transition: color 0.2s ease, background-color 0.2s ease; + background-color: #F8F5FF; +} +.stepper.stepper-pills .stepper-item.current:last-child .stepper-icon .stepper-check, .stepper.stepper-pills .stepper-item.completed .stepper-icon .stepper-check { + color: #7239EA !important; + display: inline-block; +} +.stepper.stepper-pills .stepper-item.current:last-child .stepper-icon .stepper-number, .stepper.stepper-pills .stepper-item.completed .stepper-icon .stepper-number { + display: none; +} +.stepper.stepper-pills .stepper-item.current:last-child .stepper-label .stepper-title, .stepper.stepper-pills .stepper-item.completed .stepper-label .stepper-title { + color: #A1A5B7; +} +.stepper.stepper-pills .stepper-item.current:last-child .stepper-label .stepper-desc, .stepper.stepper-pills .stepper-item.completed .stepper-label .stepper-desc { + color: #B5B5C3; +} +.stepper.stepper-pills.stepper-column .stepper-nav { + flex-direction: column; +} +.stepper.stepper-pills.stepper-column .stepper-item { + position: relative; + padding: 0; + margin: 0; + padding-bottom: 2.5rem; +} +.stepper.stepper-pills.stepper-column .stepper-icon { + z-index: 1; +} +.stepper.stepper-pills.stepper-column .stepper-line { + display: block; + content: " "; + justify-content: center; + position: absolute; + z-index: 0; + left: 0; + top: 0; + bottom: 0; + width: 40px; + transform: translate(50%); + border-left-width: 1px; + border-left-style: dashed; + border-left-color: #E4E6EF; +} +.stepper.stepper-pills.stepper-column .stepper-item:first-child .stepper-line { + top: 50%; +} +.stepper.stepper-pills.stepper-column .stepper-item:last-child .stepper-line { + bottom: 50%; +} + +.toggle.collapsible:not(.collapsed) .toggle-off, .toggle.active .toggle-off { + display: none; +} +.toggle.collapsible.collapsed .toggle-on, .toggle:not(.collapsible):not(.active) .toggle-on { + display: none; +} + +.xehagon { + clip-path: polygon(45% 1.3397459622%, 46.5797985667% 0.6030737921%, 48.2635182233% 0.1519224699%, 50% 0%, 51.7364817767% 0.1519224699%, 53.4202014333% 0.6030737921%, 55% 1.3397459622%, 89.6410161514% 21.3397459622%, 91.0688922482% 22.3395555688%, 92.3014605826% 23.5721239031%, 93.3012701892% 25%, 94.0379423592% 26.5797985667%, 94.4890936815% 28.2635182233%, 94.6410161514% 30%, 94.6410161514% 70%, 94.4890936815% 71.7364817767%, 94.0379423592% 73.4202014333%, 93.3012701892% 75%, 92.3014605826% 76.4278760969%, 91.0688922482% 77.6604444312%, 89.6410161514% 78.6602540378%, 55% 98.6602540378%, 53.4202014333% 99.3969262079%, 51.7364817767% 99.8480775301%, 50% 100%, 48.2635182233% 99.8480775301%, 46.5797985667% 99.3969262079%, 45% 98.6602540378%, 10.3589838486% 78.6602540378%, 8.9311077518% 77.6604444312%, 7.6985394174% 76.4278760969%, 6.6987298108% 75%, 5.9620576408% 73.4202014333%, 5.5109063185% 71.7364817767%, 5.3589838486% 70%, 5.3589838486% 30%, 5.5109063185% 28.2635182233%, 5.9620576408% 26.5797985667%, 6.6987298108% 25%, 7.6985394174% 23.5721239031%, 8.9311077518% 22.3395555688%, 10.3589838486% 21.3397459622%); +} + +.octagon { + clip-path: polygon(46.1731656763% 0.7612046749%, 47.411809549% 0.3407417371%, 48.6947380778% 0.0855513863%, 50% 0%, 51.3052619222% 0.0855513863%, 52.588190451% 0.3407417371%, 53.8268343237% 0.7612046749%, 82.1111055711% 12.4769334274%, 83.2842712475% 13.0554747147%, 84.3718855375% 13.7821953496%, 85.3553390593% 14.6446609407%, 86.2178046504% 15.6281144625%, 86.9445252853% 16.7157287525%, 87.5230665726% 17.8888944289%, 99.2387953251% 46.1731656763%, 99.6592582629% 47.411809549%, 99.9144486137% 48.6947380778%, 100% 50%, 99.9144486137% 51.3052619222%, 99.6592582629% 52.588190451%, 99.2387953251% 53.8268343237%, 87.5230665726% 82.1111055711%, 86.9445252853% 83.2842712475%, 86.2178046504% 84.3718855375%, 85.3553390593% 85.3553390593%, 84.3718855375% 86.2178046504%, 83.2842712475% 86.9445252853%, 82.1111055711% 87.5230665726%, 53.8268343237% 99.2387953251%, 52.588190451% 99.6592582629%, 51.3052619222% 99.9144486137%, 50% 100%, 48.6947380778% 99.9144486137%, 47.411809549% 99.6592582629%, 46.1731656763% 99.2387953251%, 17.8888944289% 87.5230665726%, 16.7157287525% 86.9445252853%, 15.6281144625% 86.2178046504%, 14.6446609407% 85.3553390593%, 13.7821953496% 84.3718855375%, 13.0554747147% 83.2842712475%, 12.4769334274% 82.1111055711%, 0.7612046749% 53.8268343237%, 0.3407417371% 52.588190451%, 0.0855513863% 51.3052619222%, 0% 50%, 0.0855513863% 48.6947380778%, 0.3407417371% 47.411809549%, 0.7612046749% 46.1731656763%, 12.4769334274% 17.8888944289%, 13.0554747147% 16.7157287525%, 13.7821953496% 15.6281144625%, 14.6446609407% 14.6446609407%, 15.6281144625% 13.7821953496%, 16.7157287525% 13.0554747147%, 17.8888944289% 12.4769334274%); +} + +.ribbon { + position: relative; +} +.ribbon .ribbon-label { + display: flex; + justify-content: center; + align-items: center; + padding: 5px 10px; + position: absolute; + z-index: 1; + background-color: #7239EA; + box-shadow: 0px -1px 5px 0px rgba(0, 0, 0, 0.1); + color: #FFFFFF; + top: 50%; + right: 0; + transform: translateX(5px) translateY(-50%); +} +.ribbon .ribbon-label > .ribbon-inner { + z-index: -1; + position: absolute; + padding: 0; + width: 100%; + height: 100%; + top: 0; + left: 0; +} +.ribbon .ribbon-label:after { + border-color: #310d7d; +} +.ribbon-vertical .ribbon-label { + padding: 5px 10px; + min-width: 36px; + min-height: 46px; + text-align: center; +} +.ribbon.ribbon-top .ribbon-label { + top: 0; + transform: translateX(-15px) translateY(-4px); + border-bottom-right-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} +.ribbon.ribbon-bottom .ribbon-label { + border-top-right-radius: 0.475rem; + border-top-left-radius: 0.475rem; +} +.ribbon.ribbon-start .ribbon-label { + top: 50%; + left: 0; + right: auto; + transform: translateX(-5px) translateY(-50%); + border-top-right-radius: 0.475rem; + border-bottom-right-radius: 0.475rem; +} +.ribbon.ribbon-end .ribbon-label { + border-top-left-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} + +.ribbon.ribbon-clip.ribbon-start .ribbon-label { + left: -5px; +} +.ribbon.ribbon-clip.ribbon-start .ribbon-label .ribbon-inner { + border-top-right-radius: 0.475rem; + border-bottom-right-radius: 0.475rem; +} +.ribbon.ribbon-clip.ribbon-start .ribbon-label .ribbon-inner:before, .ribbon.ribbon-clip.ribbon-start .ribbon-label .ribbon-inner:after { + content: ""; + position: absolute; + border-style: solid; + border-color: transparent !important; + bottom: -10px; +} +.ribbon.ribbon-clip.ribbon-start .ribbon-label .ribbon-inner:before { + border-width: 0 10px 10px 0; + border-right-color: #181C32 !important; + left: 0; +} +.ribbon.ribbon-clip.ribbon-end .ribbon-label { + right: -5px; +} +.ribbon.ribbon-clip.ribbon-end .ribbon-label .ribbon-inner { + border-top-left-radius: 0.475rem; + border-bottom-left-radius: 0.475rem; +} +.ribbon.ribbon-clip.ribbon-end .ribbon-label .ribbon-inner:before, .ribbon.ribbon-clip.ribbon-end .ribbon-label .ribbon-inner:after { + content: ""; + position: absolute; + border-style: solid; + border-color: transparent !important; + bottom: -10px; +} +.ribbon.ribbon-clip.ribbon-end .ribbon-label .ribbon-inner:before { + border-width: 0 0 10px 10px; + border-left-color: #181C32 !important; + right: 0; +} + +.ribbon.ribbon-triangle { + position: absolute; + z-index: 1; + display: flex; + align-items: flex-start; + justify-content: flex-start; +} +.ribbon.ribbon-triangle.ribbon-top-start { + top: 0; + left: 0; + width: 4rem; + height: 4rem; + border-bottom: solid 2rem transparent !important; + border-left: solid 2rem red; + border-right: solid 2rem transparent !important; + border-top: solid 2rem red; +} +.ribbon.ribbon-triangle.ribbon-top-end { + top: 0; + right: 0; + width: 4rem; + height: 4rem; + border-bottom: solid 2rem transparent !important; + border-left: solid 2rem transparent !important; + border-right: solid 2rem red; + border-top: solid 2rem red; +} +.ribbon.ribbon-triangle.ribbon-bottom-start { + bottom: 0; + left: 0; + width: 4rem; + height: 4rem; + border-bottom: solid 2rem red; + border-left: solid 2rem red; + border-right: solid 2rem transparent !important; + border-top: solid 2rem transparent !important; +} +.ribbon.ribbon-triangle.ribbon-bottom-end { + bottom: 0; + right: 0; + width: 4rem; + height: 4rem; + border-bottom: solid 2rem red; + border-right: solid 2rem red; + border-left: solid 2rem transparent !important; + border-top: solid 2rem transparent !important; +} + +.blockui { + position: relative; +} +.blockui .blockui-overlay { + transition: all 0.3s ease; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + display: flex; + justify-content: center; + align-items: center; + background-color: rgba(0, 0, 0, 0.05); +} +.blockui .blockui-overlay .spinner-border { + height: 1.35rem; + width: 1.35rem; +} +.blockui .blockui-message { + display: flex; + align-items: center; + border-radius: 0.475rem; + box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.1); + background-color: #ffffff; + color: #7E8299; + font-weight: 500; + margin: 0 !important; + width: auto; + padding: 0.85rem 1.75rem !important; +} +.blockui .blockui-message .spinner-border { + margin-right: 0.65rem; +} + +.explore-btn-toggle { + color: #7E8299; + background-color: #ffffff; +} +.explore-btn-toggle:hover, .explore-btn-toggle:focus, .explore-btn-toggle:active { + color: #ffffff; + background-color: #00B2FF; +} + +.explore-btn-dismiss { + border: 0; +} +.explore-btn-dismiss:hover i { + color: #00B2FF; +} +.explore-btn-dismiss:hover .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #00B2FF; +} +.explore-btn-dismiss:hover .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.explore-btn-primary { + border: 0; + color: #ffffff; + background-color: #00B2FF; +} +.explore-btn-primary:hover { + color: #ffffff; + background-color: #0098DA; +} + +.explore-btn-secondary { + border: 0; + color: #7E8299; + background-color: #F5F8FA; +} +.explore-btn-secondary:hover { + color: #3F4254; + background-color: #EFF2F5; +} + +.explore-btn-outline { + border: 1px dashed #E4E6EF !important; +} +.explore-btn-outline:hover, .explore-btn-outline.active { + border: 1px dashed #50CD89 !important; + background-color: #E8FFF3; +} + +.explore-link { + color: #00B2FF; +} +.explore-link:hover { + color: #0098DA; +} + +.explore-link-hover:hover { + color: #00B2FF !important; +} + +.explore-icon-success { + color: #50CD89; +} +.explore-icon-success svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #50CD89; +} +.explore-icon-success svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.explore-icon-danger { + color: #F1416C; +} +.explore-icon-danger svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #F1416C; +} +.explore-icon-danger svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} + +.explore-label-free { + color: #ffffff; + background-color: #FFC700; +} + +.explore-label-pro { + color: #ffffff; + background-color: #50CD89; +} + +.stepper.stepper-links .stepper-nav { + display: flex; + margin: 0 auto; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} +.stepper.stepper-links .stepper-nav .stepper-item { + position: relative; + flex-shrink: 0; + margin: 1rem 1.5rem; +} +.stepper.stepper-links .stepper-nav .stepper-item:after { + content: " "; + position: absolute; + top: 2.3rem; + left: 0; + height: 2px; + width: 100%; + background-color: transparent; + transition: color 0.2s ease, background-color 0.2s ease; +} +.stepper.stepper-links .stepper-nav .stepper-item .stepper-title { + color: #181C32; + font-weight: 600; + font-size: 1.25rem; +} +.stepper.stepper-links .stepper-nav .stepper-item.current { + transition: color 0.2s ease, background-color 0.2s ease; +} +.stepper.stepper-links .stepper-nav .stepper-item.current .stepper-title { + color: #7239EA; +} +.stepper.stepper-links .stepper-nav .stepper-item.current:after { + background-color: #7239EA; +} +.stepper.stepper-links .stepper-nav .stepper-item.completed .stepper-title { + color: #B5B5C3; +} + +.timeline-label { + position: relative; +} +.timeline-label:before { + content: ""; + position: absolute; + left: 51px; + width: 3px; + top: 0; + bottom: 0; + background-color: #EFF2F5; +} +.timeline-label .timeline-item { + display: flex; + align-items: flex-start; + position: relative; + margin-bottom: 1.7rem; +} +.timeline-label .timeline-item:last-child { + margin-bottom: 0; +} +.timeline-label .timeline-label { + width: 50px; + flex-shrink: 0; + position: relative; + color: #3F4254; +} +.timeline-label .timeline-badge { + flex-shrink: 0; + background: #ffffff; + width: 1rem; + height: 1rem; + border-radius: 100%; + display: flex; + justify-content: center; + align-items: center; + z-index: 1; + position: relative; + margin-top: 1px; + margin-left: -0.5rem; + padding: 3px !important; + border: 6px solid #ffffff !important; +} +.timeline-label .timeline-badge span { + display: block; + border-radius: 100%; + width: 6px; + height: 6px; + background-color: #EFF2F5; +} +.timeline-label .timeline-content { + flex-grow: 1; +} + +.item-border-hover { + border: 1px solid #fff; + border-radius: 6px; +} +.item-border-hover:hover { + border: 1px solid #EFF2F5; + cursor: pointer; + transition: color 0.2s ease, background-color 0.2s ease; + background-color: rgba(245, 248, 250, 0.3); +} +.item-border-hover:hover .label { + background-color: #00A3FF !important; + transition: color 0.2s ease, background-color 0.2s ease; + color: #fff; +} +.item-border-hover .label { + display: flex; + justify-content: center; + align-items: center; + border-radius: 6px; +} + +.noUi-target.noUi-target-success .noUi-connects { + background: #E8FFF3; +} +.noUi-target.noUi-target-success .noUi-connects .noUi-connect { + background: #50CD89; +} +.noUi-target.noUi-target-success .noUi-handle { + border: 1px solid #50CD89; + box-shadow: 0 3px 6px -3px rgba(80, 205, 137, 0.7); + background: #50CD89; +} + +html { + font-family: sans-serif; + text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +html, +body { + height: 100%; + margin: 0px; + padding: 0px; + font-size: 13px !important; + font-weight: 400; + font-family: Poppins, Helvetica, "sans-serif"; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +@media (max-width: 991.98px) { + html, +body { + font-size: 13px !important; + } +} +@media (max-width: 767.98px) { + html, +body { + font-size: 12px !important; + } +} +html a:hover, +html a:active, +html a:focus, +body a:hover, +body a:active, +body a:focus { + text-decoration: none !important; +} + +body { + display: flex; + flex-direction: column; + color: #181C32; +} + +router-outlet { + display: none; +} + +canvas { + user-select: none; +} + +@media print { + .print-content-only { + padding: 0 !important; + background: none !important; + } + .print-content-only .wrapper, +.print-content-only .page, +.print-content-only .page-title, +.print-content-only .content, +.print-content-only .container, +.print-content-only .container-xxl, +.print-content-only .container-fluid, +.print-content-only .container-sm, +.print-content-only .container-md, +.print-content-only .container-lg, +.print-content-only .container-xl { + background: none !important; + padding: 0 !important; + margin: 0 !important; + } + .print-content-only .aside, +.print-content-only .sidebar, +.print-content-only .scrolltop, +.print-content-only .header, +.print-content-only .footer, +.print-content-only .toolbar, +.print-content-only .drawer, +.print-content-only .btn { + display: none !important; + } +} +body { + background-color: #F5F8FA; +} + +.text-page-bg { + color: #F5F8FA; +} + +@media (min-width: 992px) { + .container, +.container-xxl, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + padding: 0 30px; + } + + .wrapper { + transition: padding-left 0.3s ease, margin-right 0.3s ease; + } + .aside-secondary-enabled.aside-fixed .wrapper { + transition: padding-left 0.3s ease; + padding-left: 425px; + } + .aside-secondary-enabled.aside-fixed[data-kt-aside-minimize=on] .wrapper { + transition: padding-left 0.3s ease; + padding-left: 100px; + } + .aside-secondary-disabled.aside-fixed .wrapper { + transition: padding-left 0.3s ease; + padding-left: 100px; + } + .header-fixed[data-kt-sticky-header=on] .wrapper { + padding-top: 100px; + } +} +@media (max-width: 991.98px) { + .container, +.container-xxl, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl { + max-width: none; + padding: 0 15px; + } + + .header-tablet-and-mobile-fixed[data-kt-sticky-header=on] .wrapper { + padding-top: 55px; + } +} +@media (min-width: 992px) { + .header { + display: flex; + justify-content: space-between; + align-items: stretch; + position: relative; + z-index: 2; + height: 100px; + transition: left 0.3s ease; + } + .header-fixed[data-kt-sticky-header=on] .header { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 97; + background-color: #ffffff; + box-shadow: 0px 10px 30px 0px rgba(82, 63, 105, 0.08); + height: 65px; + padding: 0; + } + .aside-fixed.aside-secondary-enabled[data-kt-sticky-header=on] .header { + left: 425px; + transition: left 0.3s ease; + } + .aside-fixed.aside-secondary-disabled[data-kt-sticky-header=on] .header { + left: 100px; + transition: left 0.3s ease; + } + .aside-fixed.aside-secondary-enabled[data-kt-sticky-header=on][data-kt-aside-minimize=on] .header { + left: 100px; + transition: left 0.3s ease; + } +} +@media (max-width: 991.98px) { + .header { + display: flex; + justify-content: space-between; + align-items: stretch; + height: 60px; + position: relative; + z-index: 3; + } + .header-tablet-and-mobile-fixed[data-kt-sticky-header=on] .header { + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 97; + height: 55px; + min-height: 55px; + background-color: #ffffff; + box-shadow: 0px 10px 30px 0px rgba(82, 63, 105, 0.08); + } + .header .page-title { + display: none !important; + } +} +.aside { + display: flex; + box-shadow: 0px 0px 80px 50px rgba(206, 213, 225, 0.12); +} +.aside .btn-custom i { + color: #A2A7B4; +} +.aside .btn-custom .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #A2A7B4; +} +.aside .btn-custom .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.aside .btn-custom.dropdown-toggle:after { + color: #A2A7B4; +} +.btn-check:checked + .aside .btn-custom, .btn-check:active + .aside .btn-custom, .aside .btn-custom:focus:not(.btn-active), .aside .btn-custom:hover:not(.btn-active), .aside .btn-custom:active:not(.btn-active), .aside .btn-custom.active, .aside .btn-custom.show, .show > .aside .btn-custom { + color: #ffffff; + border-color: #0B1632; + background-color: #0B1632 !important; +} +.btn-check:checked + .aside .btn-custom i, .btn-check:active + .aside .btn-custom i, .aside .btn-custom:focus:not(.btn-active) i, .aside .btn-custom:hover:not(.btn-active) i, .aside .btn-custom:active:not(.btn-active) i, .aside .btn-custom.active i, .aside .btn-custom.show i, .show > .aside .btn-custom i { + color: #ffffff; +} +.btn-check:checked + .aside .btn-custom .svg-icon svg [fill]:not(.permanent):not(g), .btn-check:active + .aside .btn-custom .svg-icon svg [fill]:not(.permanent):not(g), .aside .btn-custom:focus:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .aside .btn-custom:hover:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .aside .btn-custom:active:not(.btn-active) .svg-icon svg [fill]:not(.permanent):not(g), .aside .btn-custom.active .svg-icon svg [fill]:not(.permanent):not(g), .aside .btn-custom.show .svg-icon svg [fill]:not(.permanent):not(g), .show > .aside .btn-custom .svg-icon svg [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; + fill: #ffffff; +} +.btn-check:checked + .aside .btn-custom .svg-icon svg:hover [fill]:not(.permanent):not(g), .btn-check:active + .aside .btn-custom .svg-icon svg:hover [fill]:not(.permanent):not(g), .aside .btn-custom:focus:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .aside .btn-custom:hover:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .aside .btn-custom:active:not(.btn-active) .svg-icon svg:hover [fill]:not(.permanent):not(g), .aside .btn-custom.active .svg-icon svg:hover [fill]:not(.permanent):not(g), .aside .btn-custom.show .svg-icon svg:hover [fill]:not(.permanent):not(g), .show > .aside .btn-custom .svg-icon svg:hover [fill]:not(.permanent):not(g) { + transition: fill 0.3s ease; +} +.btn-check:checked + .aside .btn-custom.dropdown-toggle:after, .btn-check:active + .aside .btn-custom.dropdown-toggle:after, .aside .btn-custom:focus:not(.btn-active).dropdown-toggle:after, .aside .btn-custom:hover:not(.btn-active).dropdown-toggle:after, .aside .btn-custom:active:not(.btn-active).dropdown-toggle:after, .aside .btn-custom.active.dropdown-toggle:after, .aside .btn-custom.show.dropdown-toggle:after, .show > .aside .btn-custom.dropdown-toggle:after { + color: #ffffff; +} +.aside .aside-primary { + flex-shrink: 0; + background-color: #192440; +} +.aside-secondary-enabled .aside .aside-primary { + border-right: 1px solid transparent; +} +.aside-secondary-enabled:not([data-kt-aside-minimize=on]) .aside .aside-primary { + border-right-color: #EFF2F5; +} +.aside .aside-secondary { + overflow: hidden; + background-color: #ffffff; +} +.aside .aside-secondary .aside-workspace { + width: 325px; + flex-shrink: 0; +} + +@media (min-width: 992px) { + .aside { + transition: width 0.3s ease; + } + .aside .aside-primary { + width: 100px; + } + .aside .aside-secondary .aside-workspace { + width: 325px; + flex-shrink: 0; + } + .aside-fixed .aside { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 98; + } + .aside-static .aside { + position: relative; + z-index: 1; + } + .aside-secondary-enabled .aside { + width: 425px; + } + .aside-secondary-disabled .aside { + width: 100px; + } + .aside-secondary-disabled .aside .aside-primary { + border-right: 0; + } + [data-kt-aside-minimize=on] .aside { + width: 100px; + transition: width 0.3s ease; + } +} +@media (max-width: 991.98px) { + .aside { + display: none; + width: 300px; + } + .aside .aside-primary { + width: 70px; + } + .aside .aside-secondary .aside-workspace { + width: 230px; + flex-shrink: 0; + } + .aside-secondary-enabled .aside { + width: 300px; + } + .aside-secondary-disabled .aside { + width: 70px; + } + .aside-secondary-disabled .aside .aside-primary { + border-right: 0; + } +} +@media (min-width: 992px) { + .content { + padding: 0; + } +} +@media (max-width: 991.98px) { + .content { + padding: 15px 0; + } +} +@media print { + .print-content-only { + padding: 0 !important; + background: none !important; + } + .print-content-only .docs-wrapper, +.print-content-only .docs-page, +.print-content-only .docs-page-title .docs-content, +.print-content-only .container, +.print-content-only .container-fluid, +.print-content-only .container-sm, +.print-content-only .container-md, +.print-content-only .container-lg, +.print-content-only .container-xl, +.print-content-only .container-xxl { + background: none !important; + padding: 0 !important; + margin: 0 !important; + } + .print-content-only .docs-aside, .print-content-only docs- .scrolltop, +.print-content-only .docs-header, +.print-content-only .drawer, +.print-content-only .btn { + display: none !important; + } +} +.docs-wrapper { + background-color: #F5F8FA; +} + +@media (min-width: 992px) { + .container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl, +.container-xxl { + padding: 0 30px; + } + + .docs-wrapper { + padding-left: 265px; + } +} +@media (max-width: 991.98px) { + .container, +.container-fluid, +.container-sm, +.container-md, +.container-lg, +.container-xl, +.container-xxl { + max-width: none; + padding: 0 15px; + } +} +@media (min-width: 992px) { + .docs-header { + display: flex; + justify-content: space-between; + align-items: center; + } +} +@media (max-width: 991.98px) { + .docs-header { + display: flex; + justify-content: space-between; + align-items: center; + } + .docs-header .docs-page-title[data-kt-swapper=true] { + display: none !important; + } +} +.docs-aside { + display: flex; + flex-direction: column; + box-shadow: 0 0 28px 0 rgba(82, 63, 105, 0.025); + background-color: #ffffff; + padding: 0; +} + +@media (min-width: 992px) { + .docs-aside { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 101; + overflow: hidden; + width: 265px; + } + .docs-aside .docs-aside-logo { + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 25px; + } + .docs-aside .docs-aside-menu { + width: 265px; + } +} +@media (max-width: 991.98px) { + .docs-aside { + display: none; + } + .docs-aside .docs-aside-logo { + display: none; + } +} +.docs-aside-menu .menu .menu-item .menu-link, +.docs-aside-menu .menu .menu-item .menu-content { + padding-left: 25px; + padding-right: 25px; +} +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(0.75rem + 25px); +} +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(1.5rem + 25px); +} +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(2.25rem + 25px); +} +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(3rem + 25px); +} +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: 0.75rem; + padding-right: 0; +} +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(1.5rem); + padding-right: 0; +} +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(2.25rem); + padding-right: 0; +} +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-content, +.menu-fit .docs-aside-menu .menu .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-sub:not([data-popper-placement]) > .menu-item > .menu-link { + padding-left: calc(3rem); + padding-right: 0; +} +.docs-aside-menu .menu-item { + padding: 0; +} +.docs-aside-menu .menu-item .menu-link { + font-weight: 500; + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.docs-aside-menu .menu-item .menu-icon { + justify-content: flex-start; +} + +.card.card-docs { + background-color: #ffffff; + border: 0; +} \ No newline at end of file diff --git a/assets/js/custom/account/settings/close-account.js b/assets/js/custom/account/settings/close-account.js new file mode 100644 index 0000000..d2151bf --- /dev/null +++ b/assets/js/custom/account/settings/close-account.js @@ -0,0 +1,111 @@ +"use strict"; + +// Class definition +var KTAccountClose = function () { + // Private variables + var form; + var validation; + var submitButton; + + // Private functions + var initValidation = function () { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validation = FormValidation.formValidation( + form, + { + fields: { + close: { + validators: { + notEmpty: { + message: 'Please check the box to close your account' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + submitButton: new FormValidation.plugins.SubmitButton(), + //defaultSubmit: new FormValidation.plugins.DefaultSubmit(), // Uncomment this line to enable normal button submit after form validation + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + } + + var handleForm = function () { + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + validation.validate().then(function (status) { + if (status == 'Valid') { + + swal.fire({ + text: "Are you sure you would like to close your account?", + icon: "warning", + buttonsStyling: false, + showDenyButton: true, + confirmButtonText: "Yes", + denyButtonText: 'No', + customClass: { + confirmButton: "btn btn-light-primary", + denyButton: "btn btn-danger" + } + }).then((result) => { + if (result.isConfirmed) { + Swal.fire({ + text: 'Your account has been closed.', + icon: 'success', + confirmButtonText: "Ok", + buttonsStyling: false, + customClass: { + confirmButton: "btn btn-light-primary" + } + }) + } else if (result.isDenied) { + Swal.fire({ + text: 'Account not closed.', + icon: 'info', + confirmButtonText: "Ok", + buttonsStyling: false, + customClass: { + confirmButton: "btn btn-light-primary" + } + }) + } + }); + + } else { + swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-light-primary" + } + }); + } + }); + }); + } + + // Public methods + return { + init: function () { + form = document.querySelector('#kt_account_close_form'); + submitButton = document.querySelector('#kt_account_close_submit'); + + initValidation(); + handleForm(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTAccountClose.init(); +}); diff --git a/assets/js/custom/account/settings/overview.js b/assets/js/custom/account/settings/overview.js new file mode 100644 index 0000000..9c47829 --- /dev/null +++ b/assets/js/custom/account/settings/overview.js @@ -0,0 +1,21 @@ +"use strict"; + +// Class definition +var KTAccountSettingsOverview = function () { + // Private functions + var initSettings = function() { + + } + + // Public methods + return { + init: function () { + initSettings(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTAccountSettingsOverview.init(); +}); diff --git a/assets/js/custom/account/settings/profile-details.js b/assets/js/custom/account/settings/profile-details.js new file mode 100644 index 0000000..9516fec --- /dev/null +++ b/assets/js/custom/account/settings/profile-details.js @@ -0,0 +1,150 @@ +"use strict"; + +// Class definition +var KTAccountSettingsProfileDetails = function () { + // Private variables + var form; + var submitButton; + var validation; + + // Private functions + var initValidation = function () { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validation = FormValidation.formValidation( + form, + { + fields: { + fname: { + validators: { + notEmpty: { + message: 'First name is required' + } + } + }, + lname: { + validators: { + notEmpty: { + message: 'Last name is required' + } + } + }, + company: { + validators: { + notEmpty: { + message: 'Company name is required' + } + } + }, + phone: { + validators: { + notEmpty: { + message: 'Contact phone number is required' + } + } + }, + country: { + validators: { + notEmpty: { + message: 'Please select a country' + } + } + }, + timezone: { + validators: { + notEmpty: { + message: 'Please select a timezone' + } + } + }, + 'communication[]': { + validators: { + notEmpty: { + message: 'Please select at least one communication method' + } + } + }, + language: { + validators: { + notEmpty: { + message: 'Please select a language' + } + } + }, + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + submitButton: new FormValidation.plugins.SubmitButton(), + //defaultSubmit: new FormValidation.plugins.DefaultSubmit(), // Uncomment this line to enable normal button submit after form validation + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Select2 validation integration + $(form.querySelector('[name="country"]')).on('change', function() { + // Revalidate the color field when an option is chosen + validation.revalidateField('country'); + }); + + $(form.querySelector('[name="language"]')).on('change', function() { + // Revalidate the color field when an option is chosen + validation.revalidateField('language'); + }); + + $(form.querySelector('[name="timezone"]')).on('change', function() { + // Revalidate the color field when an option is chosen + validation.revalidateField('timezone'); + }); + } + + var handleForm = function () { + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + validation.validate().then(function (status) { + if (status == 'Valid') { + + swal.fire({ + text: "Thank you! You've updated your basic info", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-light-primary" + } + }); + + } else { + swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-light-primary" + } + }); + } + }); + }); + } + + // Public methods + return { + init: function () { + form = document.getElementById('kt_account_profile_details_form'); + submitButton = form.querySelector('#kt_account_profile_details_submit'); + + initValidation(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTAccountSettingsProfileDetails.init(); +}); diff --git a/assets/js/custom/account/settings/signin-methods.js b/assets/js/custom/account/settings/signin-methods.js new file mode 100644 index 0000000..6324dfa --- /dev/null +++ b/assets/js/custom/account/settings/signin-methods.js @@ -0,0 +1,212 @@ +"use strict"; + +// Class definition +var KTAccountSettingsSigninMethods = function () { + // Private functions + var initSettings = function () { + + // UI elements + var signInMainEl = document.getElementById('kt_signin_email'); + var signInEditEl = document.getElementById('kt_signin_email_edit'); + var passwordMainEl = document.getElementById('kt_signin_password'); + var passwordEditEl = document.getElementById('kt_signin_password_edit'); + + // button elements + var signInChangeEmail = document.getElementById('kt_signin_email_button'); + var signInCancelEmail = document.getElementById('kt_signin_cancel'); + var passwordChange = document.getElementById('kt_signin_password_button'); + var passwordCancel = document.getElementById('kt_password_cancel'); + + // toggle UI + signInChangeEmail.querySelector('button').addEventListener('click', function () { + toggleChangeEmail(); + }); + + signInCancelEmail.addEventListener('click', function () { + toggleChangeEmail(); + }); + + passwordChange.querySelector('button').addEventListener('click', function () { + toggleChangePassword(); + }); + + passwordCancel.addEventListener('click', function () { + toggleChangePassword(); + }); + + var toggleChangeEmail = function () { + signInMainEl.classList.toggle('d-none'); + signInChangeEmail.classList.toggle('d-none'); + signInEditEl.classList.toggle('d-none'); + } + + var toggleChangePassword = function () { + passwordMainEl.classList.toggle('d-none'); + passwordChange.classList.toggle('d-none'); + passwordEditEl.classList.toggle('d-none'); + } + } + + var handleChangeEmail = function (e) { + var validation; + + // form elements + var signInForm = document.getElementById('kt_signin_change_email'); + + validation = FormValidation.formValidation( + signInForm, + { + fields: { + emailaddress: { + validators: { + notEmpty: { + message: 'Email is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + }, + + confirmemailpassword: { + validators: { + notEmpty: { + message: 'Password is required' + } + } + } + }, + + plugins: { //Learn more: https://formvalidation.io/guide/plugins + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row' + }) + } + } + ); + + signInForm.querySelector('#kt_signin_submit').addEventListener('click', function (e) { + e.preventDefault(); + console.log('click'); + + validation.validate().then(function (status) { + if (status == 'Valid') { + swal.fire({ + text: "Sent password reset. Please check your email", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn font-weight-bold btn-light-primary" + } + }); + } else { + swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn font-weight-bold btn-light-primary" + } + }); + } + }); + }); + } + + var handleChangePassword = function (e) { + var validation; + + // form elements + var passwordForm = document.getElementById('kt_signin_change_password'); + + validation = FormValidation.formValidation( + passwordForm, + { + fields: { + currentpassword: { + validators: { + notEmpty: { + message: 'Current Password is required' + } + } + }, + + newpassword: { + validators: { + notEmpty: { + message: 'New Password is required' + } + } + }, + + confirmpassword: { + validators: { + notEmpty: { + message: 'Confirm Password is required' + }, + identical: { + compare: function() { + return passwordForm.querySelector('[name="newpassword"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + }, + + plugins: { //Learn more: https://formvalidation.io/guide/plugins + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row' + }) + } + } + ); + + passwordForm.querySelector('#kt_password_submit').addEventListener('click', function (e) { + e.preventDefault(); + console.log('click'); + + validation.validate().then(function (status) { + if (status == 'Valid') { + swal.fire({ + text: "Sent password reset. Please check your email", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn font-weight-bold btn-light-primary" + } + }); + } else { + swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn font-weight-bold btn-light-primary" + } + }); + } + }); + }); + } + + // Public methods + return { + init: function () { + initSettings(); + handleChangeEmail(); + handleChangePassword(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTAccountSettingsSigninMethods.init(); +}); diff --git a/assets/js/custom/apps/calendar/calendar.js b/assets/js/custom/apps/calendar/calendar.js new file mode 100644 index 0000000..071de4b --- /dev/null +++ b/assets/js/custom/apps/calendar/calendar.js @@ -0,0 +1,894 @@ +"use strict"; + +// Class definition +var KTAppCalendar = function () { + // Shared variables + // Calendar variables + var calendar; + var data = { + id: '', + eventName: '', + eventDescription: '', + eventLocation: '', + startDate: '', + endDate: '', + allDay: false + }; + var popover; + var popoverState = false; + + // Add event variables + var eventName; + var eventDescription; + var eventLocation; + var startDatepicker; + var startFlatpickr; + var endDatepicker; + var endFlatpickr; + var startTimepicker; + var startTimeFlatpickr; + var endTimepicker + var endTimeFlatpickr; + var modal; + var modalTitle; + var form; + var validator; + var addButton; + var submitButton; + var cancelButton; + var closeButton; + + // View event variables + var viewEventName; + var viewAllDay; + var viewEventDescription; + var viewEventLocation; + var viewStartDate; + var viewEndDate; + var viewModal; + var viewEditButton; + var viewDeleteButton; + + + // Private functions + var initCalendarApp = function () { + // Define variables + var calendarEl = document.getElementById('kt_calendar_app'); + var todayDate = moment().startOf('day'); + var YM = todayDate.format('YYYY-MM'); + var YESTERDAY = todayDate.clone().subtract(1, 'day').format('YYYY-MM-DD'); + var TODAY = todayDate.format('YYYY-MM-DD'); + var TOMORROW = todayDate.clone().add(1, 'day').format('YYYY-MM-DD'); + + // Init calendar --- more info: https://fullcalendar.io/docs/initialize-globals + calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay' + }, + initialDate: TODAY, + navLinks: true, // can click day/week names to navigate views + selectable: true, + selectMirror: true, + + // Select dates action --- more info: https://fullcalendar.io/docs/select-callback + select: function (arg) { + hidePopovers(); + formatArgs(arg); + handleNewEvent(); + }, + + // Click event --- more info: https://fullcalendar.io/docs/eventClick + eventClick: function (arg) { + hidePopovers(); + + formatArgs({ + id: arg.event.id, + title: arg.event.title, + description: arg.event.extendedProps.description, + location: arg.event.extendedProps.location, + startStr: arg.event.startStr, + endStr: arg.event.endStr, + allDay: arg.event.allDay + }); + handleViewEvent(); + }, + + // MouseEnter event --- more info: https://fullcalendar.io/docs/eventMouseEnter + eventMouseEnter: function (arg) { + formatArgs({ + id: arg.event.id, + title: arg.event.title, + description: arg.event.extendedProps.description, + location: arg.event.extendedProps.location, + startStr: arg.event.startStr, + endStr: arg.event.endStr, + allDay: arg.event.allDay + }); + + // Show popover preview + initPopovers(arg.el); + }, + + editable: true, + dayMaxEvents: true, // allow "more" link when too many events + events: [ + { + id: uid(), + title: 'All Day Event', + start: YM + '-01', + end: YM + '-02', + description: 'Toto lorem ipsum dolor sit incid idunt ut', + className: "fc-event-danger fc-event-solid-warning", + location: 'Federation Square' + }, + { + id: uid(), + title: 'Reporting', + start: YM + '-14T13:30:00', + description: 'Lorem ipsum dolor incid idunt ut labore', + end: YM + '-14T14:30:00', + className: "fc-event-success", + location: 'Meeting Room 7.03' + }, + { + id: uid(), + title: 'Company Trip', + start: YM + '-02', + description: 'Lorem ipsum dolor sit tempor incid', + end: YM + '-03', + className: "fc-event-primary", + location: 'Seoul, Korea' + + }, + { + id: uid(), + title: 'ICT Expo 2021 - Product Release', + start: YM + '-03', + description: 'Lorem ipsum dolor sit tempor inci', + end: YM + '-05', + className: "fc-event-light fc-event-solid-primary", + location: 'Melbourne Exhibition Hall' + }, + { + id: uid(), + title: 'Dinner', + start: YM + '-12', + description: 'Lorem ipsum dolor sit amet, conse ctetur', + end: YM + '-13', + location: 'Squire\'s Loft' + }, + { + id: uid(), + title: 'Repeating Event', + start: YM + '-09T16:00:00', + end: YM + '-09T17:00:00', + description: 'Lorem ipsum dolor sit ncididunt ut labore', + className: "fc-event-danger", + location: 'General Area' + }, + { + id: uid(), + title: 'Repeating Event', + description: 'Lorem ipsum dolor sit amet, labore', + start: YM + '-16T16:00:00', + end: YM + '-16T17:00:00', + location: 'General Area' + }, + { + id: uid(), + title: 'Conference', + start: YESTERDAY, + end: TOMORROW, + description: 'Lorem ipsum dolor eius mod tempor labore', + className: "fc-event-primary", + location: 'Conference Hall A' + }, + { + id: uid(), + title: 'Meeting', + start: TODAY + 'T10:30:00', + end: TODAY + 'T12:30:00', + description: 'Lorem ipsum dolor eiu idunt ut labore', + location: 'Meeting Room 11.06' + }, + { + id: uid(), + title: 'Lunch', + start: TODAY + 'T12:00:00', + end: TODAY + 'T14:00:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, ut labore', + location: 'Cafeteria' + }, + { + id: uid(), + title: 'Meeting', + start: TODAY + 'T14:30:00', + end: TODAY + 'T15:30:00', + className: "fc-event-warning", + description: 'Lorem ipsum conse ctetur adipi scing', + location: 'Meeting Room 11.10' + }, + { + id: uid(), + title: 'Happy Hour', + start: TODAY + 'T17:30:00', + end: TODAY + 'T21:30:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, conse ctetur', + location: 'The English Pub' + }, + { + id: uid(), + title: 'Dinner', + start: TOMORROW + 'T18:00:00', + end: TOMORROW + 'T21:00:00', + className: "fc-event-solid-danger fc-event-light", + description: 'Lorem ipsum dolor sit ctetur adipi scing', + location: 'New York Steakhouse' + }, + { + id: uid(), + title: 'Birthday Party', + start: TOMORROW + 'T12:00:00', + end: TOMORROW + 'T14:00:00', + className: "fc-event-primary", + description: 'Lorem ipsum dolor sit amet, scing', + location: 'The English Pub' + }, + { + id: uid(), + title: 'Site visit', + start: YM + '-28', + end: YM + '-29', + className: "fc-event-solid-info fc-event-light", + description: 'Lorem ipsum dolor sit amet, labore', + location: '271, Spring Street' + } + ], + + // Reset popovers when changing calendar views --- more info: https://fullcalendar.io/docs/datesSet + datesSet: function(){ + hidePopovers(); + } + }); + + calendar.render(); + } + + // Initialize popovers --- more info: https://getbootstrap.com/docs/4.0/components/popovers/ + const initPopovers = (element) => { + hidePopovers(); + + // Generate popover content + const startDate = data.allDay ? moment(data.startDate).format('Do MMM, YYYY') : moment(data.startDate).format('Do MMM, YYYY - h:mm a'); + const endDate = data.allDay ? moment(data.endDate).format('Do MMM, YYYY') : moment(data.endDate).format('Do MMM, YYYY - h:mm a'); + const popoverHtml = '
' + data.eventName + '
Start: ' + startDate + '
End: ' + endDate + '
View More
'; + + // Popover options + var options = { + container: 'body', + trigger: 'manual', + boundary: 'window', + placement: 'auto', + dismiss: true, + html: true, + title: 'Event Summary', + content: popoverHtml, + } + + // Initialize popover + popover = KTApp.initBootstrapPopover(element, options); + + // Show popover + popover.show(); + + // Update popover state + popoverState = true; + + // Open view event modal + handleViewButton(); + } + + // Hide active popovers + const hidePopovers = () => { + if (popoverState) { + popover.dispose(); + popoverState = false; + } + } + + // Init validator + const initValidator = () => { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'calendar_event_name': { + validators: { + notEmpty: { + message: 'Event name is required' + } + } + }, + 'calendar_event_start_date': { + validators: { + notEmpty: { + message: 'Start date is required' + } + } + }, + 'calendar_event_end_date': { + validators: { + notEmpty: { + message: 'End date is required' + } + } + } + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + } + + // Initialize datepickers --- more info: https://flatpickr.js.org/ + const initDatepickers = () => { + startFlatpickr = flatpickr(startDatepicker, { + enableTime: false, + dateFormat: "Y-m-d", + }); + + endFlatpickr = flatpickr(endDatepicker, { + enableTime: false, + dateFormat: "Y-m-d", + }); + + startTimeFlatpickr = flatpickr(startTimepicker, { + enableTime: true, + noCalendar: true, + dateFormat: "H:i", + }); + + endTimeFlatpickr = flatpickr(endTimepicker, { + enableTime: true, + noCalendar: true, + dateFormat: "H:i", + }); + } + + // Handle add button + const handleAddButton = () => { + addButton.addEventListener('click', e => { + hidePopovers(); + + // Reset form data + data = { + id: '', + eventName: '', + eventDescription: '', + startDate: new Date(), + endDate: new Date(), + allDay: false + }; + handleNewEvent(); + }); + } + + // Handle add new event + const handleNewEvent = () => { + // Update modal title + modalTitle.innerText = "Add a New Event"; + + modal.show(); + + // Select datepicker wrapper elements + const datepickerWrappers = form.querySelectorAll('[data-kt-calendar="datepicker"]'); + + // Handle all day toggle + const allDayToggle = form.querySelector('#kt_calendar_datepicker_allday'); + allDayToggle.addEventListener('click', e => { + if (e.target.checked) { + datepickerWrappers.forEach(dw => { + dw.classList.add('d-none'); + }); + } else { + endFlatpickr.setDate(data.startDate, true, 'Y-m-d'); + datepickerWrappers.forEach(dw => { + dw.classList.remove('d-none'); + }); + } + }); + + populateForm(data); + + // Handle submit form + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable submit button whilst loading + submitButton.disabled = true; + + // Simulate form submission + setTimeout(function () { + // Simulate form submission + submitButton.removeAttribute('data-kt-indicator'); + + // Show popup confirmation + Swal.fire({ + text: "New event added to calendar!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + + // Enable submit button after loading + submitButton.disabled = false; + + // Detect if is all day event + let allDayEvent = false; + if (allDayToggle.checked) { allDayEvent = true; } + if (startTimeFlatpickr.selectedDates.length === 0) { allDayEvent = true; } + + // Merge date & time + var startDateTime = moment(startFlatpickr.selectedDates[0]).format(); + var endDateTime = moment(endFlatpickr.selectedDates[endFlatpickr.selectedDates.length - 1]).format(); + if (!allDayEvent) { + const startDate = moment(startFlatpickr.selectedDates[0]).format('YYYY-MM-DD'); + const endDate = startDate; + const startTime = moment(startTimeFlatpickr.selectedDates[0]).format('HH:mm:ss'); + const endTime = moment(endTimeFlatpickr.selectedDates[0]).format('HH:mm:ss'); + + startDateTime = startDate + 'T' + startTime; + endDateTime = endDate + 'T' + endTime; + } + + // Add new event to calendar + calendar.addEvent({ + id: uid(), + title: eventName.value, + description: eventDescription.value, + location: eventLocation.value, + start: startDateTime, + end: endDateTime, + allDay: allDayEvent + }); + calendar.render(); + + // Reset form for demo purposes only + form.reset(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + // Handle edit event + const handleEditEvent = () => { + // Update modal title + modalTitle.innerText = "Edit an Event"; + + modal.show(); + + // Select datepicker wrapper elements + const datepickerWrappers = form.querySelectorAll('[data-kt-calendar="datepicker"]'); + + // Handle all day toggle + const allDayToggle = form.querySelector('#kt_calendar_datepicker_allday'); + allDayToggle.addEventListener('click', e => { + if (e.target.checked) { + datepickerWrappers.forEach(dw => { + dw.classList.add('d-none'); + }); + } else { + endFlatpickr.setDate(data.startDate, true, 'Y-m-d'); + datepickerWrappers.forEach(dw => { + dw.classList.remove('d-none'); + }); + } + }); + + populateForm(data); + + // Handle submit form + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable submit button whilst loading + submitButton.disabled = true; + + // Simulate form submission + setTimeout(function () { + // Simulate form submission + submitButton.removeAttribute('data-kt-indicator'); + + // Show popup confirmation + Swal.fire({ + text: "New event added to calendar!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + + // Enable submit button after loading + submitButton.disabled = false; + + // Remove old event + calendar.getEventById(data.id).remove(); + + // Detect if is all day event + let allDayEvent = false; + if (allDayToggle.checked) { allDayEvent = true; } + if (startTimeFlatpickr.selectedDates.length === 0) { allDayEvent = true; } + + // Merge date & time + var startDateTime = moment(startFlatpickr.selectedDates[0]).format(); + var endDateTime = moment(endFlatpickr.selectedDates[endFlatpickr.selectedDates.length - 1]).format(); + if (!allDayEvent) { + const startDate = moment(startFlatpickr.selectedDates[0]).format('YYYY-MM-DD'); + const endDate = startDate; + const startTime = moment(startTimeFlatpickr.selectedDates[0]).format('HH:mm:ss'); + const endTime = moment(endTimeFlatpickr.selectedDates[0]).format('HH:mm:ss'); + + startDateTime = startDate + 'T' + startTime; + endDateTime = endDate + 'T' + endTime; + } + + // Add new event to calendar + calendar.addEvent({ + id: uid(), + title: eventName.value, + description: eventDescription.value, + location: eventLocation.value, + start: startDateTime, + end: endDateTime, + allDay: allDayEvent + }); + calendar.render(); + + // Reset form for demo purposes only + form.reset(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + // Handle view event + const handleViewEvent = () => { + viewModal.show(); + + // Detect all day event + var eventNameMod; + var startDateMod; + var endDateMod; + + // Generate labels + if (data.allDay) { + eventNameMod = 'All Day'; + startDateMod = moment(data.startDate).format('Do MMM, YYYY'); + endDateMod = moment(data.endDate).format('Do MMM, YYYY'); + } else { + eventNameMod = ''; + startDateMod = moment(data.startDate).format('Do MMM, YYYY - h:mm a'); + endDateMod = moment(data.endDate).format('Do MMM, YYYY - h:mm a'); + } + + // Populate view data + viewEventName.innerText = data.eventName; + viewAllDay.innerText = eventNameMod; + viewEventDescription.innerText = data.eventDescription ? data.eventDescription : '--'; + viewEventLocation.innerText = data.eventLocation ? data.eventLocation : '--'; + viewStartDate.innerText = startDateMod; + viewEndDate.innerText = endDateMod; + } + + // Handle delete event + const handleDeleteEvent = () => { + viewDeleteButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to delete this event?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + calendar.getEventById(data.id).remove(); + + viewModal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your event was not deleted!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + // Handle edit button + const handleEditButton = () => { + viewEditButton.addEventListener('click', e => { + e.preventDefault(); + + viewModal.hide(); + handleEditEvent(); + }); + } + + // Handle cancel button + const handleCancelButton = () => { + // Edit event modal cancel button + cancelButton.addEventListener('click', function (e) { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + // Handle close button + const handleCloseButton = () => { + // Edit event modal close button + closeButton.addEventListener('click', function (e) { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + // Handle view button + const handleViewButton = () => { + const viewButton = document.querySelector('#kt_calendar_event_view_button'); + viewButton.addEventListener('click', e => { + e.preventDefault(); + + hidePopovers(); + handleViewEvent(); + }); + } + + // Helper functions + + // Reset form validator on modal close + const resetFormValidator = (element) => { + // Target modal hidden event --- For more info: https://getbootstrap.com/docs/5.0/components/modal/#events + element.addEventListener('hidden.bs.modal', e => { + if (validator) { + // Reset form validator. For more info: https://formvalidation.io/guide/api/reset-form + validator.resetForm(true); + } + }); + } + + // Populate form + const populateForm = () => { + eventName.value = data.eventName ? data.eventName : ''; + eventDescription.value = data.eventDescription ? data.eventDescription : ''; + eventLocation.value = data.eventLocation ? data.eventLocation : ''; + startFlatpickr.setDate(data.startDate, true, 'Y-m-d'); + + // Handle null end dates + const endDate = data.endDate ? data.endDate : moment(data.startDate).format(); + endFlatpickr.setDate(endDate, true, 'Y-m-d'); + + const allDayToggle = form.querySelector('#kt_calendar_datepicker_allday'); + const datepickerWrappers = form.querySelectorAll('[data-kt-calendar="datepicker"]'); + if (data.allDay) { + allDayToggle.checked = true; + datepickerWrappers.forEach(dw => { + dw.classList.add('d-none'); + }); + } else { + startTimeFlatpickr.setDate(data.startDate, true, 'Y-m-d H:i'); + endTimeFlatpickr.setDate(data.endDate, true, 'Y-m-d H:i'); + endFlatpickr.setDate(data.startDate, true, 'Y-m-d'); + allDayToggle.checked = false; + datepickerWrappers.forEach(dw => { + dw.classList.remove('d-none'); + }); + } + } + + // Format FullCalendar reponses + const formatArgs = (res) => { + data.id = res.id; + data.eventName = res.title; + data.eventDescription = res.description; + data.eventLocation = res.location; + data.startDate = res.startStr; + data.endDate = res.endStr; + data.allDay = res.allDay; + } + + // Generate unique IDs for events + const uid = () => { + return Date.now().toString() + Math.floor(Math.random() * 1000).toString(); + } + + return { + // Public Functions + init: function () { + // Define variables + // Add event modal + const element = document.getElementById('kt_modal_add_event'); + form = element.querySelector('#kt_modal_add_event_form'); + eventName = form.querySelector('[name="calendar_event_name"]'); + eventDescription = form.querySelector('[name="calendar_event_description"]'); + eventLocation = form.querySelector('[name="calendar_event_location"]'); + startDatepicker = form.querySelector('#kt_calendar_datepicker_start_date'); + endDatepicker = form.querySelector('#kt_calendar_datepicker_end_date'); + startTimepicker = form.querySelector('#kt_calendar_datepicker_start_time'); + endTimepicker = form.querySelector('#kt_calendar_datepicker_end_time'); + addButton = document.querySelector('[data-kt-calendar="add"]'); + submitButton = form.querySelector('#kt_modal_add_event_submit'); + cancelButton = form.querySelector('#kt_modal_add_event_cancel'); + closeButton = element.querySelector('#kt_modal_add_event_close'); + modalTitle = form.querySelector('[data-kt-calendar="title"]'); + modal = new bootstrap.Modal(element); + + // View event modal + const viewElement = document.getElementById('kt_modal_view_event'); + viewModal = new bootstrap.Modal(viewElement); + viewEventName = viewElement.querySelector('[data-kt-calendar="event_name"]'); + viewAllDay = viewElement.querySelector('[data-kt-calendar="all_day"]'); + viewEventDescription = viewElement.querySelector('[data-kt-calendar="event_description"]'); + viewEventLocation = viewElement.querySelector('[data-kt-calendar="event_location"]'); + viewStartDate = viewElement.querySelector('[data-kt-calendar="event_start_date"]'); + viewEndDate = viewElement.querySelector('[data-kt-calendar="event_end_date"]'); + viewEditButton = viewElement.querySelector('#kt_modal_view_event_edit'); + viewDeleteButton = viewElement.querySelector('#kt_modal_view_event_delete'); + + initCalendarApp(); + initValidator(); + initDatepickers(); + handleEditButton(); + handleAddButton(); + handleDeleteEvent(); + handleCancelButton(); + handleCloseButton(); + resetFormValidator(element); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTAppCalendar.init(); +}); diff --git a/assets/js/custom/apps/chat/chat.js b/assets/js/custom/apps/chat/chat.js new file mode 100644 index 0000000..f591103 --- /dev/null +++ b/assets/js/custom/apps/chat/chat.js @@ -0,0 +1,72 @@ +"use strict"; + +// Class definition +var KTAppChat = function () { + // Private functions + var handeSend = function (element) { + if (!element) { + return; + } + + // Handle send + KTUtil.on(element, '[data-kt-element="input"]', 'keydown', function(e) { + if (e.keyCode == 13) { + handeMessaging(element); + e.preventDefault(); + + return false; + } + }); + + KTUtil.on(element, '[data-kt-element="send"]', 'click', function(e) { + handeMessaging(element); + }); + } + + var handeMessaging = function(element) { + var messages = element.querySelector('[data-kt-element="messages"]'); + var input = element.querySelector('[data-kt-element="input"]'); + + if (input.value.length === 0 ) { + return; + } + + var messageOutTemplate = messages.querySelector('[data-kt-element="template-out"]'); + var messageInTemplate = messages.querySelector('[data-kt-element="template-in"]'); + var message; + + // Show example outgoing message + message = messageOutTemplate.cloneNode(true); + message.classList.remove('d-none'); + message.querySelector('[data-kt-element="message-text"]').innerText = input.value; + input.value = ''; + messages.appendChild(message); + messages.scrollTop = messages.scrollHeight; + + + setTimeout(function() { + // Show example incoming message + message = messageInTemplate.cloneNode(true); + message.classList.remove('d-none'); + message.querySelector('[data-kt-element="message-text"]').innerText = 'Thank you for your awesome support!'; + messages.appendChild(message); + messages.scrollTop = messages.scrollHeight; + }, 2000); + } + + // Public methods + return { + init: function(element) { + handeSend(element); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + // Init inline chat messenger + KTAppChat.init(document.querySelector('#kt_chat_messenger')); + + // Init drawer chat messenger + KTAppChat.init(document.querySelector('#kt_drawer_chat_messenger')); +}); diff --git a/assets/js/custom/apps/file-manager/list.js b/assets/js/custom/apps/file-manager/list.js new file mode 100644 index 0000000..586d576 --- /dev/null +++ b/assets/js/custom/apps/file-manager/list.js @@ -0,0 +1,939 @@ +"use strict"; + +// Class definition +var KTFileManagerList = function () { + // Define shared variables + var datatable; + var table + + // Define template element variables + var uploadTemplate; + var renameTemplate; + var actionTemplate; + var checkboxTemplate; + + + // Private functions + const initTemplates = () => { + uploadTemplate = document.querySelector('[data-kt-filemanager-template="upload"]'); + renameTemplate = document.querySelector('[data-kt-filemanager-template="rename"]'); + actionTemplate = document.querySelector('[data-kt-filemanager-template="action"]'); + checkboxTemplate = document.querySelector('[data-kt-filemanager-template="checkbox"]'); + } + + const initDatatable = () => { + // Set date data order + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach(row => { + const dateRow = row.querySelectorAll('td'); + const dateCol = dateRow[3]; // select date from 4th column in table + const realDate = moment(dateCol.innerHTML, "DD MMM YYYY, LT").format(); + dateCol.setAttribute('data-order', realDate); + }); + + const foldersListOptions = { + "info": false, + 'order': [], + "scrollY": "700px", + "scrollCollapse": true, + "paging": false, + 'ordering': false, + 'columns': [ + { data: 'checkbox' }, + { data: 'name' }, + { data: 'size' }, + { data: 'date' }, + { data: 'action' }, + ], + 'language': { + emptyTable: `
+ +
No items found.
+
Start creating new folders or uploading a new file!
+
` + } + }; + + const filesListOptions = { + "info": false, + 'order': [], + 'pageLength': 10, + "lengthChange": false, + 'ordering': false, + 'columns': [ + { data: 'checkbox' }, + { data: 'name' }, + { data: 'size' }, + { data: 'date' }, + { data: 'action' }, + ], + 'language': { + emptyTable: `
+ +
No items found.
+
Start creating new folders or uploading a new file!
+
` + }, + conditionalPaging: true + }; + + // Define datatable options to load + var loadOptions; + if (table.getAttribute('data-kt-filemanager-table') === 'folders') { + loadOptions = foldersListOptions; + } else { + loadOptions = filesListOptions; + } + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable(loadOptions); + + // Re-init functions on every table re-draw -- more info: https://datatables.net/reference/event/draw + datatable.on('draw', function () { + initToggleToolbar(); + handleDeleteRows(); + toggleToolbars(); + resetNewFolder(); + KTMenu.createInstances(); + initCopyLink(); + countTotalItems(); + handleRename(); + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + const handleSearchDatatable = () => { + const filterSearch = document.querySelector('[data-kt-filemanager-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + datatable.search(e.target.value).draw(); + }); + } + + // Delete customer + const handleDeleteRows = () => { + // Select all delete buttons + const deleteButtons = table.querySelectorAll('[data-kt-filemanager-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get customer name + const fileName = parent.querySelectorAll('td')[1].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + fileName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + fileName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + // Init toggle toolbar + const initToggleToolbar = () => { + // Toggle selected action toolbar + // Select all checkboxes + var checkboxes = table.querySelectorAll('[type="checkbox"]'); + if (table.getAttribute('data-kt-filemanager-table') === 'folders') { + checkboxes = document.querySelectorAll('#kt_file_manager_list_wrapper [type="checkbox"]'); + } + + // Select elements + const deleteSelected = document.querySelector('[data-kt-filemanager-table-select="delete_selected"]'); + + // Toggle delete selected toolbar + checkboxes.forEach(c => { + // Checkbox on click event + c.addEventListener('click', function () { + console.log(c); + setTimeout(function () { + toggleToolbars(); + }, 50); + }); + }); + + // Deleted selected rows + deleteSelected.addEventListener('click', function () { + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete selected files or folders?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted all selected files or folders!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove all selected customers + checkboxes.forEach(c => { + if (c.checked) { + datatable.row($(c.closest('tbody tr'))).remove().draw(); + } + }); + + // Remove header checked box + const headerCheckbox = table.querySelectorAll('[type="checkbox"]')[0]; + headerCheckbox.checked = false; + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Selected files or folders was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Toggle toolbars + const toggleToolbars = () => { + // Define variables + const toolbarBase = document.querySelector('[data-kt-filemanager-table-toolbar="base"]'); + const toolbarSelected = document.querySelector('[data-kt-filemanager-table-toolbar="selected"]'); + const selectedCount = document.querySelector('[data-kt-filemanager-table-select="selected_count"]'); + + // Select refreshed checkbox DOM elements + const allCheckboxes = table.querySelectorAll('tbody [type="checkbox"]'); + + // Detect checkboxes state & count + let checkedState = false; + let count = 0; + + // Count checked boxes + allCheckboxes.forEach(c => { + if (c.checked) { + checkedState = true; + count++; + } + }); + + // Toggle toolbars + if (checkedState) { + selectedCount.innerHTML = count; + toolbarBase.classList.add('d-none'); + toolbarSelected.classList.remove('d-none'); + } else { + toolbarBase.classList.remove('d-none'); + toolbarSelected.classList.add('d-none'); + } + } + + // Handle new folder + const handleNewFolder = () => { + // Select button + const newFolder = document.getElementById('kt_file_manager_new_folder'); + + // Handle click action + newFolder.addEventListener('click', e => { + e.preventDefault(); + + // Ignore if input already exist + if (table.querySelector('#kt_file_manager_new_folder_row')) { + return; + } + + // Add new blank row to datatable + const tableBody = table.querySelector('tbody'); + const rowElement = uploadTemplate.cloneNode(true); // Clone template markup + tableBody.prepend(rowElement); + + // Define template interactive elements + const rowForm = rowElement.querySelector('#kt_file_manager_add_folder_form'); + const rowButton = rowElement.querySelector('#kt_file_manager_add_folder'); + const cancelButton = rowElement.querySelector('#kt_file_manager_cancel_folder'); + const folderIcon = rowElement.querySelector('.svg-icon-2x'); + const rowInput = rowElement.querySelector('[name="new_folder_name"]'); + + // Define validator + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + rowForm, + { + fields: { + 'new_folder_name': { + validators: { + notEmpty: { + message: 'Folder name is required' + } + } + }, + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Handle add new folder button + rowButton.addEventListener('click', e => { + e.preventDefault(); + + // Activate indicator + rowButton.setAttribute("data-kt-indicator", "on"); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Simulate process for demo only + setTimeout(function () { + // Create folder link + const folderLink = document.createElement('a'); + const folderLinkClasses = ['text-gray-800', 'text-hover-primary']; + folderLink.setAttribute('href', '?page=apps/file-manager/blank'); + folderLink.classList.add(...folderLinkClasses); + folderLink.innerText = rowInput.value; + + const newRow = datatable.row.add({ + 'checkbox': checkboxTemplate.innerHTML, + 'name': folderIcon.outerHTML + folderLink.outerHTML, + "size": '-', + "date": '-', + 'action': actionTemplate.innerHTML + }).node(); + $(newRow).find('td').eq(4).attr('data-kt-filemanager-table', 'action_dropdown'); + $(newRow).find('td').eq(4).addClass('text-end'); // Add custom class to last 'td' element --- more info: https://datatables.net/forums/discussion/22341/row-add-cell-class + + // Re-sort datatable to allow new folder added at the top + var index = datatable.row(0).index(), + rowCount = datatable.data().length - 1, + insertedRow = datatable.row(rowCount).data(), + tempRow; + + for (var i = rowCount; i > index; i--) { + tempRow = datatable.row(i - 1).data(); + datatable.row(i).data(tempRow); + datatable.row(i - 1).data(insertedRow); + } + + toastr.options = { + "closeButton": true, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + toastr.success(rowInput.value + ' was created!'); + + // Disable indicator + rowButton.removeAttribute("data-kt-indicator"); + + // Reset input + rowInput.value = ''; + + datatable.draw(false); + + }, 2000); + } else { + // Disable indicator + rowButton.removeAttribute("data-kt-indicator"); + } + }); + } + }); + + // Handle cancel new folder button + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + // Activate indicator + cancelButton.setAttribute("data-kt-indicator", "on"); + + setTimeout(function () { + // Disable indicator + cancelButton.removeAttribute("data-kt-indicator"); + + // Toggle toastr + toastr.options = { + "closeButton": true, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + toastr.error('Cancelled new folder creation'); + resetNewFolder(); + }, 1000); + }); + }); + } + + // Reset add new folder input + const resetNewFolder = () => { + const newFolderRow = table.querySelector('#kt_file_manager_new_folder_row'); + + if (newFolderRow) { + newFolderRow.parentNode.removeChild(newFolderRow); + } + } + + // Handle rename file or folder + const handleRename = () => { + const renameButton = table.querySelectorAll('[data-kt-filemanager-table="rename"]'); + + renameButton.forEach(button => { + button.addEventListener('click', renameCallback); + }); + } + + // Rename callback + const renameCallback = (e) => { + e.preventDefault(); + + // Define shared value + let nameValue; + + // Stop renaming if there's an input existing + if (table.querySelectorAll('#kt_file_manager_rename_input').length > 0) { + Swal.fire({ + text: "Unsaved input detected. Please save or cancel the current item", + icon: "warning", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-danger" + } + }); + + return; + } + + // Select parent row + const parent = e.target.closest('tr'); + + // Get name column + const nameCol = parent.querySelectorAll('td')[1]; + const colIcon = nameCol.querySelector('.svg-icon'); + nameValue = nameCol.innerText; + + // Set rename input template + const renameInput = renameTemplate.cloneNode(true); + renameInput.querySelector('#kt_file_manager_rename_folder_icon').innerHTML = colIcon.outerHTML; + + // Swap current column content with input template + nameCol.innerHTML = renameInput.innerHTML; + + // Set input value with current file/folder name + parent.querySelector('#kt_file_manager_rename_input').value = nameValue; + + // Rename file / folder validator + var renameValidator = FormValidation.formValidation( + nameCol, + { + fields: { + 'rename_folder_name': { + validators: { + notEmpty: { + message: 'Name is required' + } + } + }, + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Rename input button action + const renameInputButton = document.querySelector('#kt_file_manager_rename_folder'); + renameInputButton.addEventListener('click', e => { + e.preventDefault(); + + // Detect if valid + if (renameValidator) { + renameValidator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Pop up confirmation + Swal.fire({ + text: "Are you sure you want to rename " + nameValue + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, rename it!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have renamed " + nameValue + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Get new file / folder name value + const newValue = document.querySelector('#kt_file_manager_rename_input').value; + + // New column data template + const newData = `
+ ${colIcon.outerHTML} + ${newValue} +
`; + + // Draw datatable with new content -- Add more events here for any server-side events + datatable.cell($(nameCol)).data(newData).draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: nameValue + " was not renamed.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + } + }); + } + }); + + // Cancel rename input + const cancelInputButton = document.querySelector('#kt_file_manager_rename_folder_cancel'); + cancelInputButton.addEventListener('click', e => { + e.preventDefault(); + + // Simulate process for demo only + cancelInputButton.setAttribute("data-kt-indicator", "on"); + + setTimeout(function () { + const revertTemplate = `
+ ${colIcon.outerHTML} + ${nameValue} +
`; + + // Remove spinner + cancelInputButton.removeAttribute("data-kt-indicator"); + + // Draw datatable with new content -- Add more events here for any server-side events + datatable.cell($(nameCol)).data(revertTemplate).draw(); + + // Toggle toastr + toastr.options = { + "closeButton": true, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + toastr.error('Cancelled rename function'); + }, 1000); + }); + } + + // Init dropzone + const initDropzone = () => { + // set the dropzone container id + const id = "#kt_modal_upload_dropzone"; + const dropzone = document.querySelector(id); + + // set the preview element template + var previewNode = dropzone.querySelector(".dropzone-item"); + previewNode.id = ""; + var previewTemplate = previewNode.parentNode.innerHTML; + previewNode.parentNode.removeChild(previewNode); + + var myDropzone = new Dropzone(id, { // Make the whole body a dropzone + url: "path/to/your/server", // Set the url for your upload script location + parallelUploads: 10, + previewTemplate: previewTemplate, + maxFilesize: 1, // Max filesize in MB + autoProcessQueue: false, // Stop auto upload + autoQueue: false, // Make sure the files aren't queued until manually added + previewsContainer: id + " .dropzone-items", // Define the container to display the previews + clickable: id + " .dropzone-select" // Define the element that should be used as click trigger to select files. + }); + + myDropzone.on("addedfile", function (file) { + // Hook each start button + file.previewElement.querySelector(id + " .dropzone-start").onclick = function () { + // myDropzone.enqueueFile(file); -- default dropzone function + + // Process simulation for demo only + const progressBar = file.previewElement.querySelector('.progress-bar'); + progressBar.style.opacity = "1"; + var width = 1; + var timer = setInterval(function () { + if (width >= 100) { + myDropzone.emit("success", file); + myDropzone.emit("complete", file); + clearInterval(timer); + } else { + width++; + progressBar.style.width = width + '%'; + } + }, 20); + }; + + const dropzoneItems = dropzone.querySelectorAll('.dropzone-item'); + dropzoneItems.forEach(dropzoneItem => { + dropzoneItem.style.display = ''; + }); + dropzone.querySelector('.dropzone-upload').style.display = "inline-block"; + dropzone.querySelector('.dropzone-remove-all').style.display = "inline-block"; + }); + + // Hide the total progress bar when nothing's uploading anymore + myDropzone.on("complete", function (file) { + const progressBars = dropzone.querySelectorAll('.dz-complete'); + setTimeout(function () { + progressBars.forEach(progressBar => { + progressBar.querySelector('.progress-bar').style.opacity = "0"; + progressBar.querySelector('.progress').style.opacity = "0"; + progressBar.querySelector('.dropzone-start').style.opacity = "0"; + }); + }, 300); + }); + + // Setup the buttons for all transfers + dropzone.querySelector(".dropzone-upload").addEventListener('click', function () { + // myDropzone.processQueue(); --- default dropzone process + + // Process simulation for demo only + myDropzone.files.forEach(file => { + const progressBar = file.previewElement.querySelector('.progress-bar'); + progressBar.style.opacity = "1"; + var width = 1; + var timer = setInterval(function () { + if (width >= 100) { + myDropzone.emit("success", file); + myDropzone.emit("complete", file); + clearInterval(timer); + } else { + width++; + progressBar.style.width = width + '%'; + } + }, 20); + }); + }); + + // Setup the button for remove all files + dropzone.querySelector(".dropzone-remove-all").addEventListener('click', function () { + Swal.fire({ + text: "Are you sure you would like to remove all files?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, remove it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + dropzone.querySelector('.dropzone-upload').style.display = "none"; + dropzone.querySelector('.dropzone-remove-all').style.display = "none"; + myDropzone.removeAllFiles(true); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your files was not removed!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // On all files completed upload + myDropzone.on("queuecomplete", function (progress) { + const uploadIcons = dropzone.querySelectorAll('.dropzone-upload'); + uploadIcons.forEach(uploadIcon => { + uploadIcon.style.display = "none"; + }); + }); + + // On all files removed + myDropzone.on("removedfile", function (file) { + if (myDropzone.files.length < 1) { + dropzone.querySelector('.dropzone-upload').style.display = "none"; + dropzone.querySelector('.dropzone-remove-all').style.display = "none"; + } + }); + } + + // Init copy link + const initCopyLink = () => { + // Select all copy link elements + const elements = table.querySelectorAll('[data-kt-filemanger-table="copy_link"]'); + + elements.forEach(el => { + // Define elements + const button = el.querySelector('button'); + const generator = el.querySelector('[data-kt-filemanger-table="copy_link_generator"]'); + const result = el.querySelector('[data-kt-filemanger-table="copy_link_result"]'); + const input = el.querySelector('input'); + + // Click action + button.addEventListener('click', e => { + e.preventDefault(); + + // Reset toggle + generator.classList.remove('d-none'); + result.classList.add('d-none'); + + var linkTimeout; + clearTimeout(linkTimeout); + linkTimeout = setTimeout(() => { + generator.classList.add('d-none'); + result.classList.remove('d-none'); + input.select(); + }, 2000); + }); + }); + } + + // Handle move to folder + const handleMoveToFolder = () => { + const element = document.querySelector('#kt_modal_move_to_folder'); + const form = element.querySelector('#kt_modal_move_to_folder_form'); + const saveButton = form.querySelector('#kt_modal_move_to_folder_submit'); + const moveModal = new bootstrap.Modal(element); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'move_to_folder': { + validators: { + notEmpty: { + message: 'Please select a folder.' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + saveButton.addEventListener('click', e => { + e.preventDefault(); + + saveButton.setAttribute("data-kt-indicator", "on"); + + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Simulate process for demo only + setTimeout(function () { + + Swal.fire({ + text: "Are you sure you would like to move to this folder", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, move it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.isConfirmed) { + form.reset(); // Reset form + moveModal.hide(); // Hide modal + + toastr.options = { + "closeButton": true, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + toastr.success('1 item has been moved.'); + + saveButton.removeAttribute("data-kt-indicator"); + } else { + Swal.fire({ + text: "Your action has been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + + saveButton.removeAttribute("data-kt-indicator"); + } + }); + }, 500); + } else { + saveButton.removeAttribute("data-kt-indicator"); + } + }); + } + }); + } + + // Count total number of items + const countTotalItems = () => { + const counter = document.getElementById('kt_file_manager_items_counter'); + + // Count total number of elements in datatable --- more info: https://datatables.net/reference/api/count() + counter.innerText = datatable.rows().count() + ' items'; + } + + // Public methods + return { + init: function () { + table = document.querySelector('#kt_file_manager_list'); + + if (!table) { + return; + } + + initTemplates(); + initDatatable(); + initToggleToolbar(); + handleSearchDatatable(); + handleDeleteRows(); + handleNewFolder(); + initDropzone(); + initCopyLink(); + handleRename(); + handleMoveToFolder(); + countTotalItems(); + KTMenu.createInstances(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFileManagerList.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/file-manager/settings.js b/assets/js/custom/apps/file-manager/settings.js new file mode 100644 index 0000000..936def4 --- /dev/null +++ b/assets/js/custom/apps/file-manager/settings.js @@ -0,0 +1,55 @@ +"use strict"; + +// Class definition +var KTAppFileManagerSettings = function () { + var form; + + // Private functions + var handleForm = function() { + const saveButton = form.querySelector('#kt_file_manager_settings_submit'); + + saveButton.addEventListener('click', e => { + e.preventDefault(); + + saveButton.setAttribute("data-kt-indicator", "on"); + + // Simulate process for demo only + setTimeout(function(){ + toastr.options = { + "closeButton": true, + "debug": false, + "newestOnTop": false, + "progressBar": false, + "positionClass": "toast-top-right", + "preventDuplicates": false, + "showDuration": "300", + "hideDuration": "1000", + "timeOut": "5000", + "extendedTimeOut": "1000", + "showEasing": "swing", + "hideEasing": "linear", + "showMethod": "fadeIn", + "hideMethod": "fadeOut" + }; + + toastr.success('File manager settings have been saved'); + + saveButton.removeAttribute("data-kt-indicator"); + }, 1000); + }); + } + + // Public methods + return { + init: function(element) { + form = document.querySelector('#kt_file_manager_settings'); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTAppFileManagerSettings.init(); +}); diff --git a/assets/js/custom/apps/subscriptions/add/advanced.js b/assets/js/custom/apps/subscriptions/add/advanced.js new file mode 100644 index 0000000..bf2c886 --- /dev/null +++ b/assets/js/custom/apps/subscriptions/add/advanced.js @@ -0,0 +1,126 @@ +"use strict"; + +var KTSubscriptionsAdvanced = function () { + // Shared variables + var table; + var datatable; + + var initCustomFieldsDatatable = function () { + // Define variables + const addButton = document.getElementById('kt_create_new_custom_fields_add'); + + // Duplicate input fields + const fieldName = table.querySelector('tbody tr td:first-child').innerHTML; + const fieldValue = table.querySelector('tbody tr td:nth-child(2)').innerHTML; + const deleteButton = table.querySelector('tbody tr td:last-child').innerHTML; + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + 'ordering': false, + 'paging': false, + "lengthChange": false + }); + + // Define datatable row node + var rowNode; + + // Handle add button + addButton.addEventListener('click', function (e) { + e.preventDefault(); + + rowNode = datatable.row.add([ + fieldName, + fieldValue, + deleteButton + ]).draw().node(); + + // Add custom class to last column -- more info: https://datatables.net/forums/discussion/22341/row-add-cell-class + $(rowNode).find('td').eq(2).addClass('text-end'); + + // Re-calculate index + initCustomFieldRowIndex(); + }); + } + + // Handle row index count + var initCustomFieldRowIndex = function() { + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach((tr, index) => { + // add index number to input names & id + const fieldNameInput = tr.querySelector('td:first-child input'); + const fieldValueInput = tr.querySelector('td:nth-child(2) input'); + const fieldNameLabel = fieldNameInput.getAttribute('id'); + const fieldValueLabel = fieldValueInput.getAttribute('id'); + + fieldNameInput.setAttribute('name', fieldNameLabel + '-' + index); + fieldValueInput.setAttribute('name', fieldValueLabel + '-' + index); + }); + } + + // Delete product + var deleteCustomField = function() { + KTUtil.on(table, '[data-kt-action="field_remove"]', 'click', function(e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete this field ?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted it!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "It was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }) + } + }); + }); + } + + return { + init: function () { + table = document.getElementById('kt_create_new_custom_fields'); + + initCustomFieldsDatatable(); + initCustomFieldRowIndex(); + deleteCustomField(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTSubscriptionsAdvanced.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/subscriptions/add/customer-select.js b/assets/js/custom/apps/subscriptions/add/customer-select.js new file mode 100644 index 0000000..3718907 --- /dev/null +++ b/assets/js/custom/apps/subscriptions/add/customer-select.js @@ -0,0 +1,85 @@ +"use strict"; + +// Class definition +var KTModalCustomerSelect = function() { + // Private variables + var element; + var suggestionsElement; + var resultsElement; + var wrapperElement; + var emptyElement; + var searchObject; + + var modal; + + // Private functions + var processs = function(search) { + var timeout = setTimeout(function() { + var number = KTUtil.getRandomInt(1, 6); + + // Hide recently viewed + suggestionsElement.classList.add('d-none'); + + if (number === 3) { + // Hide results + resultsElement.classList.add('d-none'); + // Show empty message + emptyElement.classList.remove('d-none'); + } else { + // Show results + resultsElement.classList.remove('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Complete search + search.complete(); + }, 1500); + } + + var clear = function(search) { + // Show recently viewed + suggestionsElement.classList.remove('d-none'); + // Hide results + resultsElement.classList.add('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Public methods + return { + init: function() { + // Elements + element = document.querySelector('#kt_modal_customer_search_handler'); + modal = new bootstrap.Modal(document.querySelector('#kt_modal_customer_search')); + + if (!element) { + return; + } + + wrapperElement = element.querySelector('[data-kt-search-element="wrapper"]'); + suggestionsElement = element.querySelector('[data-kt-search-element="suggestions"]'); + resultsElement = element.querySelector('[data-kt-search-element="results"]'); + emptyElement = element.querySelector('[data-kt-search-element="empty"]'); + + // Initialize search handler + searchObject = new KTSearch(element); + + // Search handler + searchObject.on('kt.search.process', processs); + + // Clear handler + searchObject.on('kt.search.clear', clear); + + // Handle select + KTUtil.on(element, '[data-kt-search-element="customer"]', 'click', function() { + modal.hide(); + }); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTModalCustomerSelect.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/subscriptions/add/products.js b/assets/js/custom/apps/subscriptions/add/products.js new file mode 100644 index 0000000..2f33c38 --- /dev/null +++ b/assets/js/custom/apps/subscriptions/add/products.js @@ -0,0 +1,157 @@ +"use strict"; + +var KTSubscriptionsProducts = function () { + // Shared variables + var table; + var datatable; + var modalEl; + var modal; + + var initDatatable = function() { + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + 'ordering': false, + 'paging': false, + "lengthChange": false + }); + } + + // Delete product + var deleteProduct = function() { + KTUtil.on(table, '[data-kt-action="product_remove"]', 'click', function(e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get customer name + const productName = parent.querySelectorAll('td')[0].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + productName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + productName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Modal handlers + var addProduct = function() { + // Select modal buttons + const closeButton = modalEl.querySelector('#kt_modal_add_product_close'); + const cancelButton = modalEl.querySelector('#kt_modal_add_product_cancel'); + const submitButton = modalEl.querySelector('#kt_modal_add_product_submit'); + + // Cancel button action + cancelButton.addEventListener('click', function(e){ + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Add customer button handler + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + // Check all radio buttons + var radio = modalEl.querySelector('input[type="radio"]:checked'); + + // Define datatable row node + var rowNode; + + if (radio && radio.checked === true) { + rowNode = datatable.row.add( [ + radio.getAttribute('data-kt-product-name'), + '1', + radio.getAttribute('data-kt-product-price') + ' / ' + radio.getAttribute('data-kt-product-frequency'), + table.querySelector('tbody tr td:last-child').innerHTML + ]).draw().node(); + + // Add custom class to last column -- more info: https://datatables.net/forums/discussion/22341/row-add-cell-class + $( rowNode ).find('td').eq(3).addClass('text-end'); + } + + modal.hide(); // Remove modal + }); + } + + return { + init: function () { + modalEl = document.getElementById('kt_modal_add_product'); + + // Select modal -- more info on Bootstrap modal: https://getbootstrap.com/docs/5.0/components/modal/ + modal = new bootstrap.Modal(modalEl); + + table = document.querySelector('#kt_subscription_products_table'); + + initDatatable(); + deleteProduct(); + addProduct(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTSubscriptionsProducts.init(); +}); diff --git a/assets/js/custom/apps/subscriptions/list/export.js b/assets/js/custom/apps/subscriptions/list/export.js new file mode 100644 index 0000000..c75d970 --- /dev/null +++ b/assets/js/custom/apps/subscriptions/list/export.js @@ -0,0 +1,189 @@ +"use strict"; + +// Class definition +var KTSubscriptionsExport = function () { + var element; + var submitButton; + var cancelButton; + var closeButton; + var validator; + var form; + var modal; + + // Init form inputs + var handleForm = function () { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'date': { + validators: { + notEmpty: { + message: 'Date range is required' + } + } + }, + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Action buttons + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable submit button whilst loading + submitButton.disabled = true; + + setTimeout(function() { + submitButton.removeAttribute('data-kt-indicator'); + + Swal.fire({ + text: "Customer list has been successfully exported!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + + // Enable submit button after loading + submitButton.disabled = false; + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + + cancelButton.addEventListener('click', function (e) { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + closeButton.addEventListener('click', function(e){ + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + var initForm = function () { + const datepicker = form.querySelector("[name=date]"); + + // Handle datepicker range -- For more info on flatpickr plugin, please visit: https://flatpickr.js.org/ + $(datepicker).flatpickr({ + altInput: true, + altFormat: "F j, Y", + dateFormat: "Y-m-d", + mode: "range" + }); + } + + return { + // Public functions + init: function () { + // Elements + element = document.querySelector('#kt_subscriptions_export_modal'); + modal = new bootstrap.Modal(element); + + form = document.querySelector('#kt_subscriptions_export_form'); + submitButton = form.querySelector('#kt_subscriptions_export_submit'); + cancelButton = form.querySelector('#kt_subscriptions_export_cancel'); + closeButton = element.querySelector('#kt_subscriptions_export_close'); + + handleForm(); + initForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTSubscriptionsExport.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/subscriptions/list/list.js b/assets/js/custom/apps/subscriptions/list/list.js new file mode 100644 index 0000000..2dee53d --- /dev/null +++ b/assets/js/custom/apps/subscriptions/list/list.js @@ -0,0 +1,277 @@ +"use strict"; + +var KTSubscriptionsList = function () { + // Define shared variables + var table; + var datatable; + var toolbarBase; + var toolbarSelected; + var selectedCount; + + // Private functions + var initDatatable = function () { + // Set date data order + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach(row => { + const dateRow = row.querySelectorAll('td'); + const realDate = moment(dateRow[5].innerHTML, "DD MMM YYYY, LT").format(); // select date from 4th column in table + dateRow[5].setAttribute('data-order', realDate); + }); + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + "pageLength": 10, + "lengthChange": false, + 'columnDefs': [ + { orderable: false, targets: 0 }, // Disable ordering on column 0 (checkbox) + { orderable: false, targets: 6 }, // Disable ordering on column 6 (actions) + ] + }); + + // Re-init functions on every table re-draw -- more info: https://datatables.net/reference/event/draw + datatable.on('draw', function () { + initToggleToolbar(); + handleRowDeletion(); + toggleToolbars(); + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + var handleSearch = function () { + const filterSearch = document.querySelector('[data-kt-subscription-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + datatable.search(e.target.value).draw(); + }); + } + + // Filter Datatable + var handleFilter = function () { + // Select filter options + const filterForm = document.querySelector('[data-kt-subscription-table-filter="form"]'); + const filterButton = filterForm.querySelector('[data-kt-subscription-table-filter="filter"]'); + const resetButton = filterForm.querySelector('[data-kt-subscription-table-filter="reset"]'); + const selectOptions = filterForm.querySelectorAll('select'); + + // Filter datatable on submit + filterButton.addEventListener('click', function () { + var filterString = ''; + + // Get filter values + selectOptions.forEach((item, index) => { + if (item.value && item.value !== '') { + if (index !== 0) { + filterString += ' '; + } + + // Build filter value options + filterString += item.value; + } + }); + + // Filter datatable --- official docs reference: https://datatables.net/reference/api/search() + datatable.search(filterString).draw(); + }); + + // Reset datatable + resetButton.addEventListener('click', function () { + // Reset filter form + selectOptions.forEach((item, index) => { + // Reset Select2 dropdown --- official docs reference: https://select2.org/programmatic-control/add-select-clear-items + $(item).val(null).trigger('change'); + }); + + // Filter datatable --- official docs reference: https://datatables.net/reference/api/search() + datatable.search('').draw(); + }); + } + + // Delete subscirption + var handleRowDeletion = function () { + // Select all delete buttons + const deleteButtons = table.querySelectorAll('[data-kt-subscriptions-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get customer name + const customerName = parent.querySelectorAll('td')[1].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + customerName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + customerName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }).then(function () { + // Detect checked checkboxes + toggleToolbars(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + // Init toggle toolbar + var initToggleToolbar = () => { + // Toggle selected action toolbar + // Select all checkboxes + const checkboxes = table.querySelectorAll('[type="checkbox"]'); + + // Select elements + toolbarBase = document.querySelector('[data-kt-subscription-table-toolbar="base"]'); + toolbarSelected = document.querySelector('[data-kt-subscription-table-toolbar="selected"]'); + selectedCount = document.querySelector('[data-kt-subscription-table-select="selected_count"]'); + const deleteSelected = document.querySelector('[data-kt-subscription-table-select="delete_selected"]'); + + // Toggle delete selected toolbar + checkboxes.forEach(c => { + // Checkbox on click event + c.addEventListener('click', function () { + setTimeout(function () { + toggleToolbars(); + }, 50); + }); + }); + + // Deleted selected rows + deleteSelected.addEventListener('click', function () { + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete selected customers?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted all selected customers!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove all selected customers + checkboxes.forEach(c => { + if (c.checked) { + datatable.row($(c.closest('tbody tr'))).remove().draw(); + } + }); + + // Remove header checked box + const headerCheckbox = table.querySelectorAll('[type="checkbox"]')[0]; + headerCheckbox.checked = false; + }).then(function () { + toggleToolbars(); // Detect checked checkboxes + initToggleToolbar(); // Re-init toolbar to recalculate checkboxes + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Selected customers was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Toggle toolbars + const toggleToolbars = () => { + // Select refreshed checkbox DOM elements + const allCheckboxes = table.querySelectorAll('tbody [type="checkbox"]'); + + // Detect checkboxes state & count + let checkedState = false; + let count = 0; + + // Count checked boxes + allCheckboxes.forEach(c => { + if (c.checked) { + checkedState = true; + count++; + } + }); + + // Toggle toolbars + if (checkedState) { + selectedCount.innerHTML = count; + toolbarBase.classList.add('d-none'); + toolbarSelected.classList.remove('d-none'); + } else { + toolbarBase.classList.remove('d-none'); + toolbarSelected.classList.add('d-none'); + } + } + + return { + // Public functions + init: function () { + table = document.getElementById('kt_subscriptions_table'); + + if (!table) { + return; + } + + initDatatable(); + initToggleToolbar(); + handleSearch(); + handleRowDeletion(); + handleFilter(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTSubscriptionsList.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/permissions/add-permission.js b/assets/js/custom/apps/user-management/permissions/add-permission.js new file mode 100644 index 0000000..f9a1368 --- /dev/null +++ b/assets/js/custom/apps/user-management/permissions/add-permission.js @@ -0,0 +1,166 @@ +"use strict"; + +// Class definition +var KTUsersAddPermission = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_permission'); + const form = element.querySelector('#kt_modal_add_permission_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initAddPermission = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'permission_name': { + validators: { + notEmpty: { + message: 'Permission name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-permissions-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-permissions-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-permissions-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initAddPermission(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddPermission.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/permissions/list.js b/assets/js/custom/apps/user-management/permissions/list.js new file mode 100644 index 0000000..02b3fef --- /dev/null +++ b/assets/js/custom/apps/user-management/permissions/list.js @@ -0,0 +1,117 @@ +"use strict"; + +// Class definition +var KTUsersPermissionsList = function () { + // Shared variables + var datatable; + var table; + + // Init add schedule modal + var initPermissionsList = () => { + // Set date data order + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach(row => { + const dateRow = row.querySelectorAll('td'); + const realDate = moment(dateRow[2].innerHTML, "DD MMM YYYY, LT").format(); // select date from 2nd column in table + dateRow[2].setAttribute('data-order', realDate); + }); + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + 'columnDefs': [ + { orderable: false, targets: 1 }, // Disable ordering on column 1 (assigned) + { orderable: false, targets: 3 }, // Disable ordering on column 3 (actions) + ] + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + var handleSearchDatatable = () => { + const filterSearch = document.querySelector('[data-kt-permissions-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + datatable.search(e.target.value).draw(); + }); + } + + // Delete user + var handleDeleteRows = () => { + // Select all delete buttons + const deleteButtons = table.querySelectorAll('[data-kt-permissions-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get permission name + const permissionName = parent.querySelectorAll('td')[0].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + permissionName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + permissionName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + + return { + // Public functions + init: function () { + table = document.querySelector('#kt_permissions_table'); + + if (!table) { + return; + } + + initPermissionsList(); + handleSearchDatatable(); + handleDeleteRows(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersPermissionsList.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/permissions/update-permission.js b/assets/js/custom/apps/user-management/permissions/update-permission.js new file mode 100644 index 0000000..c589428 --- /dev/null +++ b/assets/js/custom/apps/user-management/permissions/update-permission.js @@ -0,0 +1,166 @@ +"use strict"; + +// Class definition +var KTUsersUpdatePermission = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_permission'); + const form = element.querySelector('#kt_modal_update_permission_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdatePermission = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'permission_name': { + validators: { + notEmpty: { + message: 'Permission name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-permissions-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-permissions-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-permissions-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initUpdatePermission(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdatePermission.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/roles/list/add.js b/assets/js/custom/apps/user-management/roles/list/add.js new file mode 100644 index 0000000..7b86b8f --- /dev/null +++ b/assets/js/custom/apps/user-management/roles/list/add.js @@ -0,0 +1,185 @@ +"use strict"; + +// Class definition +var KTUsersAddRole = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_role'); + const form = element.querySelector('#kt_modal_add_role_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initAddRole = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'role_name': { + validators: { + notEmpty: { + message: 'Role name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-roles-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-roles-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-roles-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + + + } + + // Select all handler + const handleSelectAll = () =>{ + // Define variables + const selectAll = form.querySelector('#kt_roles_select_all'); + const allCheckboxes = form.querySelectorAll('[type="checkbox"]'); + + // Handle check state + selectAll.addEventListener('change', e => { + + // Apply check state to all checkboxes + allCheckboxes.forEach(c => { + c.checked = e.target.checked; + }); + }); + } + + return { + // Public functions + init: function () { + initAddRole(); + handleSelectAll(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddRole.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/roles/list/update-role.js b/assets/js/custom/apps/user-management/roles/list/update-role.js new file mode 100644 index 0000000..6b00118 --- /dev/null +++ b/assets/js/custom/apps/user-management/roles/list/update-role.js @@ -0,0 +1,183 @@ +"use strict"; + +// Class definition +var KTUsersUpdatePermissions = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_role'); + const form = element.querySelector('#kt_modal_update_role_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdatePermissions = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'role_name': { + validators: { + notEmpty: { + message: 'Role name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-roles-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-roles-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-roles-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + // Select all handler + const handleSelectAll = () => { + // Define variables + const selectAll = form.querySelector('#kt_roles_select_all'); + const allCheckboxes = form.querySelectorAll('[type="checkbox"]'); + + // Handle check state + selectAll.addEventListener('change', e => { + + // Apply check state to all checkboxes + allCheckboxes.forEach(c => { + c.checked = e.target.checked; + }); + }); + } + + return { + // Public functions + init: function () { + initUpdatePermissions(); + handleSelectAll(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdatePermissions.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/roles/view/update-role.js b/assets/js/custom/apps/user-management/roles/view/update-role.js new file mode 100644 index 0000000..6b00118 --- /dev/null +++ b/assets/js/custom/apps/user-management/roles/view/update-role.js @@ -0,0 +1,183 @@ +"use strict"; + +// Class definition +var KTUsersUpdatePermissions = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_role'); + const form = element.querySelector('#kt_modal_update_role_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdatePermissions = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'role_name': { + validators: { + notEmpty: { + message: 'Role name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-roles-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-roles-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-roles-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + // Select all handler + const handleSelectAll = () => { + // Define variables + const selectAll = form.querySelector('#kt_roles_select_all'); + const allCheckboxes = form.querySelectorAll('[type="checkbox"]'); + + // Handle check state + selectAll.addEventListener('change', e => { + + // Apply check state to all checkboxes + allCheckboxes.forEach(c => { + c.checked = e.target.checked; + }); + }); + } + + return { + // Public functions + init: function () { + initUpdatePermissions(); + handleSelectAll(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdatePermissions.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/roles/view/view.js b/assets/js/custom/apps/user-management/roles/view/view.js new file mode 100644 index 0000000..732b982 --- /dev/null +++ b/assets/js/custom/apps/user-management/roles/view/view.js @@ -0,0 +1,225 @@ +"use strict"; + +// Class definition +var KTUsersViewRole = function () { + // Shared variables + var datatable; + var table; + + // Init add schedule modal + var initViewRole = () => { + // Set date data order + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach(row => { + const dateRow = row.querySelectorAll('td'); + const realDate = moment(dateRow[3].innerHTML, "DD MMM YYYY, LT").format(); // select date from 5th column in table + dateRow[3].setAttribute('data-order', realDate); + }); + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + "pageLength": 5, + "lengthChange": false, + 'columnDefs': [ + { orderable: false, targets: 0 }, // Disable ordering on column 0 (checkbox) + { orderable: false, targets: 4 }, // Disable ordering on column 4 (actions) + ] + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + var handleSearchDatatable = () => { + const filterSearch = document.querySelector('[data-kt-roles-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + datatable.search(e.target.value).draw(); + }); + } + + // Delete user + var handleDeleteRows = () => { + // Select all delete buttons + const deleteButtons = table.querySelectorAll('[data-kt-roles-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get customer name + const userName = parent.querySelectorAll('td')[1].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + userName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + userName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + // Init toggle toolbar + var initToggleToolbar = () => { + // Toggle selected action toolbar + // Select all checkboxes + const checkboxes = table.querySelectorAll('[type="checkbox"]'); + + // Select elements + const deleteSelected = document.querySelector('[data-kt-view-roles-table-select="delete_selected"]'); + + // Toggle delete selected toolbar + checkboxes.forEach(c => { + // Checkbox on click event + c.addEventListener('click', function () { + setTimeout(function () { + toggleToolbars(); + }, 50); + }); + }); + + // Deleted selected rows + deleteSelected.addEventListener('click', function () { + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete selected customers?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted all selected customers!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove all selected customers + checkboxes.forEach(c => { + if (c.checked) { + datatable.row($(c.closest('tbody tr'))).remove().draw(); + } + }); + + // Remove header checked box + const headerCheckbox = table.querySelectorAll('[type="checkbox"]')[0]; + headerCheckbox.checked = false; + }).then(function(){ + toggleToolbars(); // Detect checked checkboxes + initToggleToolbar(); // Re-init toolbar to recalculate checkboxes + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Selected customers was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Toggle toolbars + const toggleToolbars = () => { + // Define variables + const toolbarBase = document.querySelector('[data-kt-view-roles-table-toolbar="base"]'); + const toolbarSelected = document.querySelector('[data-kt-view-roles-table-toolbar="selected"]'); + const selectedCount = document.querySelector('[data-kt-view-roles-table-select="selected_count"]'); + + // Select refreshed checkbox DOM elements + const allCheckboxes = table.querySelectorAll('tbody [type="checkbox"]'); + + // Detect checkboxes state & count + let checkedState = false; + let count = 0; + + // Count checked boxes + allCheckboxes.forEach(c => { + if (c.checked) { + checkedState = true; + count++; + } + }); + + // Toggle toolbars + if (checkedState) { + selectedCount.innerHTML = count; + toolbarBase.classList.add('d-none'); + toolbarSelected.classList.remove('d-none'); + } else { + toolbarBase.classList.remove('d-none'); + toolbarSelected.classList.add('d-none'); + } + } + + return { + // Public functions + init: function () { + table = document.querySelector('#kt_roles_view_table'); + + if (!table) { + return; + } + + initViewRole(); + handleSearchDatatable(); + handleDeleteRows(); + initToggleToolbar(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersViewRole.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/list/add.js b/assets/js/custom/apps/user-management/users/list/add.js new file mode 100644 index 0000000..1b75a8c --- /dev/null +++ b/assets/js/custom/apps/user-management/users/list/add.js @@ -0,0 +1,183 @@ +"use strict"; + +// Class definition +var KTUsersAddUser = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_user'); + const form = element.querySelector('#kt_modal_add_user_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initAddUser = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'user_name': { + validators: { + notEmpty: { + message: 'Full name is required' + } + } + }, + 'user_email': { + validators: { + notEmpty: { + message: 'Valid email address is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', e => { + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + return { + // Public functions + init: function () { + initAddUser(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddUser.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/list/export-users.js b/assets/js/custom/apps/user-management/users/list/export-users.js new file mode 100644 index 0000000..0de7636 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/list/export-users.js @@ -0,0 +1,170 @@ +"use strict"; + +// Class definition +var KTModalExportUsers = function () { + // Shared variables + const element = document.getElementById('kt_modal_export_users'); + const form = element.querySelector('#kt_modal_export_users_form'); + const modal = new bootstrap.Modal(element); + + // Init form inputs + var initForm = function () { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'format': { + validators: { + notEmpty: { + message: 'File format is required' + } + } + }, + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable submit button whilst loading + submitButton.disabled = true; + + setTimeout(function () { + submitButton.removeAttribute('data-kt-indicator'); + + Swal.fire({ + text: "User list has been successfully exported!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + + // Enable submit button after loading + submitButton.disabled = false; + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', function (e) { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', function (e) { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + return { + // Public functions + init: function () { + initForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTModalExportUsers.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/list/table.js b/assets/js/custom/apps/user-management/users/list/table.js new file mode 100644 index 0000000..87e9ce3 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/list/table.js @@ -0,0 +1,315 @@ +"use strict"; + +var KTUsersList = function () { + // Define shared variables + var table = document.getElementById('kt_table_users'); + var datatable; + var toolbarBase; + var toolbarSelected; + var selectedCount; + + // Private functions + var initUserTable = function () { + // Set date data order + const tableRows = table.querySelectorAll('tbody tr'); + + tableRows.forEach(row => { + const dateRow = row.querySelectorAll('td'); + const lastLogin = dateRow[3].innerText.toLowerCase(); // Get last login time + let timeCount = 0; + let timeFormat = 'minutes'; + + // Determine date & time format -- add more formats when necessary + if (lastLogin.includes('yesterday')) { + timeCount = 1; + timeFormat = 'days'; + } else if (lastLogin.includes('mins')) { + timeCount = parseInt(lastLogin.replace(/\D/g, '')); + timeFormat = 'minutes'; + } else if (lastLogin.includes('hours')) { + timeCount = parseInt(lastLogin.replace(/\D/g, '')); + timeFormat = 'hours'; + } else if (lastLogin.includes('days')) { + timeCount = parseInt(lastLogin.replace(/\D/g, '')); + timeFormat = 'days'; + } else if (lastLogin.includes('weeks')) { + timeCount = parseInt(lastLogin.replace(/\D/g, '')); + timeFormat = 'weeks'; + } + + // Subtract date/time from today -- more info on moment datetime subtraction: https://momentjs.com/docs/#/durations/subtract/ + const realDate = moment().subtract(timeCount, timeFormat).format(); + + // Insert real date to last login attribute + dateRow[3].setAttribute('data-order', realDate); + + // Set real date for joined column + const joinedDate = moment(dateRow[5].innerHTML, "DD MMM YYYY, LT").format(); // select date from 5th column in table + dateRow[5].setAttribute('data-order', joinedDate); + }); + + // Init datatable --- more info on datatables: https://datatables.net/manual/ + datatable = $(table).DataTable({ + "info": false, + 'order': [], + "pageLength": 10, + "lengthChange": false, + 'columnDefs': [ + { orderable: false, targets: 0 }, // Disable ordering on column 0 (checkbox) + { orderable: false, targets: 6 }, // Disable ordering on column 6 (actions) + ] + }); + + // Re-init functions on every table re-draw -- more info: https://datatables.net/reference/event/draw + datatable.on('draw', function () { + initToggleToolbar(); + handleDeleteRows(); + toggleToolbars(); + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + var handleSearchDatatable = () => { + const filterSearch = document.querySelector('[data-kt-user-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + datatable.search(e.target.value).draw(); + }); + } + + // Filter Datatable + var handleFilterDatatable = () => { + // Select filter options + const filterForm = document.querySelector('[data-kt-user-table-filter="form"]'); + const filterButton = filterForm.querySelector('[data-kt-user-table-filter="filter"]'); + const selectOptions = filterForm.querySelectorAll('select'); + + // Filter datatable on submit + filterButton.addEventListener('click', function () { + var filterString = ''; + + // Get filter values + selectOptions.forEach((item, index) => { + if (item.value && item.value !== '') { + if (index !== 0) { + filterString += ' '; + } + + // Build filter value options + filterString += item.value; + } + }); + + // Filter datatable --- official docs reference: https://datatables.net/reference/api/search() + datatable.search(filterString).draw(); + }); + } + + // Reset Filter + var handleResetForm = () => { + // Select reset button + const resetButton = document.querySelector('[data-kt-user-table-filter="reset"]'); + + // Reset datatable + resetButton.addEventListener('click', function () { + // Select filter options + const filterForm = document.querySelector('[data-kt-user-table-filter="form"]'); + const selectOptions = filterForm.querySelectorAll('select'); + + // Reset select2 values -- more info: https://select2.org/programmatic-control/add-select-clear-items + selectOptions.forEach(select => { + $(select).val('').trigger('change'); + }); + + // Reset datatable --- official docs reference: https://datatables.net/reference/api/search() + datatable.search('').draw(); + }); + } + + + // Delete subscirption + var handleDeleteRows = () => { + // Select all delete buttons + const deleteButtons = table.querySelectorAll('[data-kt-users-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get user name + const userName = parent.querySelectorAll('td')[1].querySelectorAll('a')[1].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + userName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted " + userName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove current row + datatable.row($(parent)).remove().draw(); + }).then(function () { + // Detect checked checkboxes + toggleToolbars(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + // Init toggle toolbar + var initToggleToolbar = () => { + // Toggle selected action toolbar + // Select all checkboxes + const checkboxes = table.querySelectorAll('[type="checkbox"]'); + + // Select elements + toolbarBase = document.querySelector('[data-kt-user-table-toolbar="base"]'); + toolbarSelected = document.querySelector('[data-kt-user-table-toolbar="selected"]'); + selectedCount = document.querySelector('[data-kt-user-table-select="selected_count"]'); + const deleteSelected = document.querySelector('[data-kt-user-table-select="delete_selected"]'); + + // Toggle delete selected toolbar + checkboxes.forEach(c => { + // Checkbox on click event + c.addEventListener('click', function () { + setTimeout(function () { + toggleToolbars(); + }, 50); + }); + }); + + // Deleted selected rows + deleteSelected.addEventListener('click', function () { + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete selected customers?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have deleted all selected customers!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // Remove all selected customers + checkboxes.forEach(c => { + if (c.checked) { + datatable.row($(c.closest('tbody tr'))).remove().draw(); + } + }); + + // Remove header checked box + const headerCheckbox = table.querySelectorAll('[type="checkbox"]')[0]; + headerCheckbox.checked = false; + }).then(function () { + toggleToolbars(); // Detect checked checkboxes + initToggleToolbar(); // Re-init toolbar to recalculate checkboxes + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Selected customers was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Toggle toolbars + const toggleToolbars = () => { + // Select refreshed checkbox DOM elements + const allCheckboxes = table.querySelectorAll('tbody [type="checkbox"]'); + + // Detect checkboxes state & count + let checkedState = false; + let count = 0; + + // Count checked boxes + allCheckboxes.forEach(c => { + if (c.checked) { + checkedState = true; + count++; + } + }); + + // Toggle toolbars + if (checkedState) { + selectedCount.innerHTML = count; + toolbarBase.classList.add('d-none'); + toolbarSelected.classList.remove('d-none'); + } else { + toolbarBase.classList.remove('d-none'); + toolbarSelected.classList.add('d-none'); + } + } + + return { + // Public functions + init: function () { + if (!table) { + return; + } + + initUserTable(); + initToggleToolbar(); + handleSearchDatatable(); + handleResetForm(); + handleDeleteRows(); + handleFilterDatatable(); + + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersList.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/add-auth-app.js b/assets/js/custom/apps/user-management/users/view/add-auth-app.js new file mode 100644 index 0000000..ca71185 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/add-auth-app.js @@ -0,0 +1,81 @@ +"use strict"; + +// Class definition +var KTUsersAddAuthApp = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_auth_app'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initAddAuthApp = () => { + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + } + + // QR code to text code swapper + var initCodeSwap = () => { + const qrCode = element.querySelector('[ data-kt-add-auth-action="qr-code"]'); + const textCode = element.querySelector('[ data-kt-add-auth-action="text-code"]'); + const qrCodeButton = element.querySelector('[ data-kt-add-auth-action="qr-code-button"]'); + const textCodeButton = element.querySelector('[ data-kt-add-auth-action="text-code-button"]'); + const qrCodeLabel = element.querySelector('[ data-kt-add-auth-action="qr-code-label"]'); + const textCodeLabel = element.querySelector('[ data-kt-add-auth-action="text-code-label"]'); + + const toggleClass = () =>{ + qrCode.classList.toggle('d-none'); + qrCodeButton.classList.toggle('d-none'); + qrCodeLabel.classList.toggle('d-none'); + textCode.classList.toggle('d-none'); + textCodeButton.classList.toggle('d-none'); + textCodeLabel.classList.toggle('d-none'); + } + + // Swap to text code handler + textCodeButton.addEventListener('click', e =>{ + e.preventDefault(); + + toggleClass(); + }); + + qrCodeButton.addEventListener('click', e =>{ + e.preventDefault(); + + toggleClass(); + }); + } + + return { + // Public functions + init: function () { + initAddAuthApp(); + initCodeSwap(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddAuthApp.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/add-one-time-password.js b/assets/js/custom/apps/user-management/users/view/add-one-time-password.js new file mode 100644 index 0000000..af78deb --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/add-one-time-password.js @@ -0,0 +1,173 @@ +"use strict"; + +// Class definition +var KTUsersAddOneTimePassword = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_one_time_password'); + const form = element.querySelector('#kt_modal_add_one_time_password_form'); + const modal = new bootstrap.Modal(element); + + // Init one time password modal + var initAddOneTimePassword = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'otp_mobile_number': { + validators: { + notEmpty: { + message: 'Valid mobile number is required' + } + } + }, + 'otp_confirm_password': { + validators: { + notEmpty: { + message: 'Password confirmation is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to close?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, close it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + modal.hide(); // Hide modal + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initAddOneTimePassword(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddOneTimePassword.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/add-schedule.js b/assets/js/custom/apps/user-management/users/view/add-schedule.js new file mode 100644 index 0000000..7e91b55 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/add-schedule.js @@ -0,0 +1,223 @@ +"use strict"; + +// Class definition +var KTUsersAddSchedule = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_schedule'); + const form = element.querySelector('#kt_modal_add_schedule_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initAddSchedule = () => { + + // Init flatpickr -- for more info: https://flatpickr.js.org/ + $("#kt_modal_add_schedule_datepicker").flatpickr({ + enableTime: true, + dateFormat: "Y-m-d H:i", + }); + + // Init tagify -- for more info: https://yaireo.github.io/tagify/ + const tagifyInput = form.querySelector('#kt_modal_add_schedule_tagify'); + new Tagify(tagifyInput, { + whitelist: ["sean@dellito.com", "brian@exchange.com", "mikaela@pexcom.com", "f.mitcham@kpmg.com.au", "olivia@corpmail.com", "owen.neil@gmail.com", "dam@consilting.com", "emma@intenso.com", "ana.cf@limtel.com", "robert@benko.com", "lucy.m@fentech.com", "ethan@loop.com.au"], + maxTags: 10, + dropdown: { + maxItems: 20, // <- mixumum allowed rendered suggestions + classname: "tagify__inline__suggestions", // <- custom classname for this dropdown, so it could be targeted + enabled: 0, // <- show suggestions on focus + closeOnSelect: false // <- do not hide the suggestions dropdown once an item has been selected + } + }); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'event_datetime': { + validators: { + notEmpty: { + message: 'Event date & time is required' + } + } + }, + 'event_name': { + validators: { + notEmpty: { + message: 'Event name is required' + } + } + }, + 'event_org': { + validators: { + notEmpty: { + message: 'Event organiser is required' + } + } + }, + 'event_invitees': { + validators: { + notEmpty: { + message: 'Event invitees is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Revalidate country field. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="event_invitees"]')).on('change', function () { + // Revalidate the field when an option is chosen + validator.revalidateField('event_invitees'); + }); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function() { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initAddSchedule(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddSchedule.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/add-task.js b/assets/js/custom/apps/user-management/users/view/add-task.js new file mode 100644 index 0000000..2986672 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/add-task.js @@ -0,0 +1,324 @@ +"use strict"; + +// Class definition +var KTUsersAddTask = function () { + // Shared variables + const element = document.getElementById('kt_modal_add_task'); + const form = element.querySelector('#kt_modal_add_task_form'); + const modal = new bootstrap.Modal(element); + + // Init add task modal + var initAddTask = () => { + + // Init flatpickr -- for more info: https://flatpickr.js.org/ + $("#kt_modal_add_task_datepicker").flatpickr({ + dateFormat: "Y-m-d", + }); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'task_duedate': { + validators: { + notEmpty: { + message: 'Task due date is required' + } + } + }, + 'task_name': { + validators: { + notEmpty: { + message: 'Task name is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + } + }); + } + + // Init update task status + var initUpdateTaskStatus = () => { + const allTaskMenus = document.querySelectorAll('[data-kt-menu-id="kt-users-tasks"]'); + + allTaskMenus.forEach(el => { + const resetButton = el.querySelector('[data-kt-users-update-task-status="reset"]'); + const submitButton = el.querySelector('[data-kt-users-update-task-status="submit"]'); + const taskForm = el.querySelector('[data-kt-menu-id="kt-users-tasks-form"]'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + taskForm, + { + fields: { + 'task_status': { + validators: { + notEmpty: { + message: 'Task due date is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Revalidate country field. For more info, plase visit the official plugin site: https://select2.org/ + $(taskForm.querySelector('[name="task_status"]')).on('change', function () { + // Revalidate the field when an option is chosen + validator.revalidateField('task_status'); + }); + + // Reset action handler + resetButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to reset?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, reset it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + taskForm.reset(); // Reset form + el.hide(); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form was not reset!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit action handler + submitButton.addEventListener('click', e => { + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + el.hide(); + } + }); + + //taskForm.submit(); // Submit form + }, 2000); + } else { + // Show popup warning. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function(){ + //el.show(); + }); + } + }); + } + }); + }); + } + + return { + // Public functions + init: function () { + initAddTask(); + initUpdateTaskStatus(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersAddTask.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/update-details.js b/assets/js/custom/apps/user-management/users/view/update-details.js new file mode 100644 index 0000000..17c2c66 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/update-details.js @@ -0,0 +1,132 @@ +"use strict"; + +// Class definition +var KTUsersUpdateDetails = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_details'); + const form = element.querySelector('#kt_modal_update_user_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdateDetails = () => { + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + }); + } + + return { + // Public functions + init: function () { + initUpdateDetails(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdateDetails.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/update-email.js b/assets/js/custom/apps/user-management/users/view/update-email.js new file mode 100644 index 0000000..cd8773c --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/update-email.js @@ -0,0 +1,166 @@ +"use strict"; + +// Class definition +var KTUsersUpdateEmail = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_email'); + const form = element.querySelector('#kt_modal_update_email_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdateEmail = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'profile_email': { + validators: { + notEmpty: { + message: 'Email address is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initUpdateEmail(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdateEmail.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/update-password.js b/assets/js/custom/apps/user-management/users/view/update-password.js new file mode 100644 index 0000000..9110a89 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/update-password.js @@ -0,0 +1,194 @@ +"use strict"; + +// Class definition +var KTUsersUpdatePassword = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_password'); + const form = element.querySelector('#kt_modal_update_password_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdatePassword = () => { + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'current_password': { + validators: { + notEmpty: { + message: 'Current password is required' + } + } + }, + 'new_password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function (input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm_password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function () { + return form.querySelector('[name="new_password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + return { + // Public functions + init: function () { + initUpdatePassword(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdatePassword.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/update-role.js b/assets/js/custom/apps/user-management/users/view/update-role.js new file mode 100644 index 0000000..a7e7589 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/update-role.js @@ -0,0 +1,132 @@ +"use strict"; + +// Class definition +var KTUsersUpdateRole = function () { + // Shared variables + const element = document.getElementById('kt_modal_update_role'); + const form = element.querySelector('#kt_modal_update_role_form'); + const modal = new bootstrap.Modal(element); + + // Init add schedule modal + var initUpdateRole = () => { + + // Close button handler + const closeButton = element.querySelector('[data-kt-users-modal-action="close"]'); + closeButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Cancel button handler + const cancelButton = element.querySelector('[data-kt-users-modal-action="cancel"]'); + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + modal.hide(); // Hide modal + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + + // Submit button handler + const submitButton = element.querySelector('[data-kt-users-modal-action="submit"]'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + modal.hide(); + } + }); + + //form.submit(); // Submit form + }, 2000); + }); + } + + return { + // Public functions + init: function () { + initUpdateRole(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersUpdateRole.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/apps/user-management/users/view/view.js b/assets/js/custom/apps/user-management/users/view/view.js new file mode 100644 index 0000000..7a50ff2 --- /dev/null +++ b/assets/js/custom/apps/user-management/users/view/view.js @@ -0,0 +1,234 @@ +"use strict"; + +// Class definition +var KTUsersViewMain = function () { + + // Init login session button + var initLoginSession = () => { + const button = document.getElementById('kt_modal_sign_out_sesions'); + + button.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like sign out all sessions?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, sign out!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have signed out all sessions!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your sessions are still preserved!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + + // Init sign out single user + var initSignOutUser = () => { + const signOutButtons = document.querySelectorAll('[data-kt-users-sign-out="single_user"]'); + + signOutButtons.forEach(button => { + button.addEventListener('click', e => { + e.preventDefault(); + + const deviceName = button.closest('tr').querySelectorAll('td')[1].innerText; + + Swal.fire({ + text: "Are you sure you would like sign out " + deviceName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, sign out!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have signed out " + deviceName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }).then(function(){ + button.closest('tr').remove(); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: deviceName + "'s session is still preserved!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + }); + + + } + + // Delete two step authentication handler + const initDeleteTwoStep = () => { + const deleteButton = document.getElementById('kt_users_delete_two_step'); + + deleteButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like remove this two-step authentication?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, remove it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + Swal.fire({ + text: "You have removed this two-step authentication!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your two-step authentication is still valid!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }) + } + + // Email preference form handler + const initEmailPreferenceForm = () => { + // Define variables + const form = document.getElementById('kt_users_email_notification_form'); + const submitButton = form.querySelector('#kt_users_email_notification_submit'); + const cancelButton = form.querySelector('#kt_users_email_notification_cancel'); + + // Submit action handler + submitButton.addEventListener('click', e => { + e.preventDefault(); + + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + }); + + cancelButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Are you sure you would like to cancel?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, cancel it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + form.reset(); // Reset form + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Your form has not been cancelled!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }); + } + + + return { + // Public functions + init: function () { + initLoginSession(); + initSignOutUser(); + initDeleteTwoStep(); + initEmailPreferenceForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTUsersViewMain.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/authentication/password-reset/new-password.js b/assets/js/custom/authentication/password-reset/new-password.js new file mode 100644 index 0000000..1af90ca --- /dev/null +++ b/assets/js/custom/authentication/password-reset/new-password.js @@ -0,0 +1,151 @@ +"use strict"; + +// Class Definition +var KTPasswordResetNewPassword = function() { + // Elements + var form; + var submitButton; + var validator; + var passwordMeter; + + var handleForm = function(e) { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function(input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm-password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function() { + return form.querySelector('[name="password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + 'toc': { + validators: { + notEmpty: { + message: 'You must accept the terms and conditions' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger({ + event: { + password: false + } + }), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + validator.revalidateField('password'); + + validator.validate().then(function(status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully reset your password!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.querySelector('[name="password"]').value= ""; + form.querySelector('[name="confirm-password"]').value= ""; + passwordMeter.reset(); // reset password meter + //form.submit(); + } + }); + }, 1500); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + + form.querySelector('input[name="password"]').addEventListener('input', function() { + if (this.value.length > 0) { + validator.updateFieldStatus('password', 'NotValidated'); + } + }); + } + + var validatePassword = function() { + + + return (passwordMeter.getScore() === 100); + } + + // Public Functions + return { + // public functions + init: function() { + form = document.querySelector('#kt_new_password_form'); + submitButton = document.querySelector('#kt_new_password_submit'); + passwordMeter = KTPasswordMeter.getInstance(form.querySelector('[data-kt-password-meter="true"]')); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTPasswordResetNewPassword.init(); +}); diff --git a/assets/js/custom/authentication/password-reset/password-reset.js b/assets/js/custom/authentication/password-reset/password-reset.js new file mode 100644 index 0000000..881f398 --- /dev/null +++ b/assets/js/custom/authentication/password-reset/password-reset.js @@ -0,0 +1,105 @@ +"use strict"; + +// Class Definition +var KTPasswordResetGeneral = function() { + // Elements + var form; + var submitButton; + var validator; + + var handleForm = function(e) { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'email': { + validators: { + notEmpty: { + message: 'Email address is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + // Validate form + validator.validate().then(function (status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully logged in!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.querySelector('[name="email"]').value= ""; + //form.submit(); + } + }); + }, 1500); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + } + + // Public Functions + return { + // public functions + init: function() { + form = document.querySelector('#kt_password_reset_form'); + submitButton = document.querySelector('#kt_password_reset_submit'); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTPasswordResetGeneral.init(); +}); diff --git a/assets/js/custom/authentication/sign-in/general.js b/assets/js/custom/authentication/sign-in/general.js new file mode 100644 index 0000000..23f7768 --- /dev/null +++ b/assets/js/custom/authentication/sign-in/general.js @@ -0,0 +1,116 @@ +"use strict"; + +// Class definition +var KTSigninGeneral = function() { + // Elements + var form; + var submitButton; + var validator; + + // Handle form + var handleForm = function(e) { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'email': { + validators: { + notEmpty: { + message: 'Email address is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + }, + 'password': { + validators: { + notEmpty: { + message: 'The password is required' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + //eleInvalidClass: '', uncomment to disable icons in input + //eleValidClass: '' uncomment to disable icons in input + }) + } + } + ); + + // Handle form submit + submitButton.addEventListener('click', function (e) { + // Prevent button default action + e.preventDefault(); + + // Validate form + validator.validate().then(function (status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully logged in!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.querySelector('[name="email"]').value= ""; + form.querySelector('[name="password"]').value= ""; + //form.submit(); + } + }); + }, 2000); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + } + + // Public functions + return { + // Initialization + init: function() { + form = document.querySelector('#kt_sign_in_form'); + submitButton = document.querySelector('#kt_sign_in_submit'); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTSigninGeneral.init(); +}); diff --git a/assets/js/custom/authentication/sign-in/two-steps.js b/assets/js/custom/authentication/sign-in/two-steps.js new file mode 100644 index 0000000..969fd9a --- /dev/null +++ b/assets/js/custom/authentication/sign-in/two-steps.js @@ -0,0 +1,87 @@ +"use strict"; + +// Class Definition +var KTSigninTwoSteps = function() { + // Elements + var form; + var submitButton; + + // Handle form + var handleForm = function(e) { + // Handle form submit + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + var validated = true; + + var inputs = [].slice.call(form.querySelectorAll('input[maxlength="1"]')); + inputs.map(function (input) { + if (input.value === '' || input.value.length === 0) { + validated = false; + } + }); + + if (validated === true) { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have been successfully verified!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + inputs.map(function (input) { + input.value = ''; + }); + } + }); + }, 1000); + } else { + swal.fire({ + text: "Please enter valid securtiy code and try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-light-primary" + } + }).then(function() { + KTUtil.scrollTop(); + }); + } + }); + } + + // Public functions + return { + // Initialization + init: function() { + form = document.querySelector('#kt_sing_in_two_steps_form'); + submitButton = document.querySelector('#kt_sing_in_two_steps_submit'); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTSigninTwoSteps.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/authentication/sign-up/coming-soon.js b/assets/js/custom/authentication/sign-up/coming-soon.js new file mode 100644 index 0000000..c87ef79 --- /dev/null +++ b/assets/js/custom/authentication/sign-up/coming-soon.js @@ -0,0 +1,149 @@ +"use strict"; + +// Class Definition +var KTSignupComingSoon = function() { + // Elements + var form; + var submitButton; + var validator; + + var counterDays; + var counterHours; + var counterMinutes; + var counterSeconds; + + var handleForm = function(e) { + var validation; + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'email': { + validators: { + notEmpty: { + message: 'Email address is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + // Validate form + validator.validate().then(function (status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully subscribed !", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.querySelector('[name="email"]').value= ""; + //form.submit(); + } + }); + }, 2000); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + } + + var initCounter = function() { + // Set the date we're counting down to + var currentTime = new Date(); + var countDownDate = new Date(currentTime.getTime() + 1000 * 60 * 60 * 24 * 15 + 1000 * 60 * 60 * 10 + 1000 * 60 * 15).getTime(); + + var count = function() { + // Get todays date and time + var now = new Date().getTime(); + + // Find the distance between now an the count down date + var distance = countDownDate - now; + + // Time calculations for days, hours, minutes and seconds + var days = Math.floor(distance / (1000 * 60 * 60 * 24)); + var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); + var seconds = Math.floor((distance % (1000 * 60)) / 1000); + + // Display the result + counterDays.innerHTML = days; + counterHours.innerHTML = hours; + counterMinutes.innerHTML = minutes; + counterSeconds.innerHTML = seconds; + }; + + // Update the count down every 1 second + var x = setInterval(count, 1000); + + // Initial count + count(); + } + + // Public Functions + return { + // public functions + init: function() { + form = document.querySelector('#kt_coming_soon_form'); + submitButton = document.querySelector('#kt_coming_soon_submit'); + counterDays = document.querySelector('#kt_coming_soon_counter_days'); + counterHours = document.querySelector('#kt_coming_soon_counter_hours'); + counterMinutes = document.querySelector('#kt_coming_soon_counter_minutes'); + counterSeconds = document.querySelector('#kt_coming_soon_counter_seconds'); + + handleForm(); + initCounter(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTSignupComingSoon.init(); +}); diff --git a/assets/js/custom/authentication/sign-up/free-trial.js b/assets/js/custom/authentication/sign-up/free-trial.js new file mode 100644 index 0000000..520bda5 --- /dev/null +++ b/assets/js/custom/authentication/sign-up/free-trial.js @@ -0,0 +1,163 @@ +"use strict"; + +// Class Definition +var KTSignupFreeTrial = function() { + // Elements + var form; + var submitButton; + var validator; + var passwordMeter; + + // Handle form + var handleForm = function(e) { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'email': { + validators: { + notEmpty: { + message: 'Email address is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + }, + 'password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function(input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm-password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function() { + return form.querySelector('[name="password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + 'toc': { + validators: { + notEmpty: { + message: 'You must accept the terms and conditions' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger({ + event: { + password: false + } + }), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + validator.revalidateField('password'); + + validator.validate().then(function(status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully registered!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.reset(); // reset form + passwordMeter.reset(); // reset password meter + //form.submit(); + } + }); + }, 1500); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + + form.querySelector('input[name="password"]').addEventListener('input', function() { + if (this.value.length > 0) { + validator.updateFieldStatus('password', 'NotValidated'); + } + }); + } + + // Password input validation + var validatePassword = function() { + return (passwordMeter.getScore() === 100); + } + + // Public functions + return { + // Initialization + init: function() { + form = document.querySelector('#kt_free_trial_form'); + submitButton = document.querySelector('#kt_free_trial_submit'); + passwordMeter = KTPasswordMeter.getInstance(form.querySelector('[data-kt-password-meter="true"]')); + + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTSignupFreeTrial.init(); +}); + + + \ No newline at end of file diff --git a/assets/js/custom/authentication/sign-up/general.js b/assets/js/custom/authentication/sign-up/general.js new file mode 100644 index 0000000..4c3b396 --- /dev/null +++ b/assets/js/custom/authentication/sign-up/general.js @@ -0,0 +1,177 @@ +"use strict"; + +// Class definition +var KTSignupGeneral = function() { + // Elements + var form; + var submitButton; + var validator; + var passwordMeter; + + // Handle form + var handleForm = function(e) { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + validator = FormValidation.formValidation( + form, + { + fields: { + 'first-name': { + validators: { + notEmpty: { + message: 'First Name is required' + } + } + }, + 'last-name': { + validators: { + notEmpty: { + message: 'Last Name is required' + } + } + }, + 'email': { + validators: { + notEmpty: { + message: 'Email address is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + }, + 'password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function(input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm-password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function() { + return form.querySelector('[name="password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + 'toc': { + validators: { + notEmpty: { + message: 'You must accept the terms and conditions' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger({ + event: { + password: false + } + }), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Handle form submit + submitButton.addEventListener('click', function (e) { + e.preventDefault(); + + validator.revalidateField('password'); + + validator.validate().then(function(status) { + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate ajax request + setTimeout(function() { + // Hide loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show message popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "You have successfully reset your password!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + form.reset(); // reset form + passwordMeter.reset(); // reset password meter + //form.submit(); + } + }); + }, 1500); + } else { + // Show error popup. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + } + }); + }); + + // Handle password input + form.querySelector('input[name="password"]').addEventListener('input', function() { + if (this.value.length > 0) { + validator.updateFieldStatus('password', 'NotValidated'); + } + }); + } + + // Password input validation + var validatePassword = function() { + return (passwordMeter.getScore() === 100); + } + + // Public functions + return { + // Initialization + init: function() { + // Elements + form = document.querySelector('#kt_sign_up_form'); + submitButton = document.querySelector('#kt_sign_up_submit'); + passwordMeter = KTPasswordMeter.getInstance(form.querySelector('[data-kt-password-meter="true"]')); + + handleForm (); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTSignupGeneral.init(); +}); diff --git a/assets/js/custom/documentation/base/indicator.js b/assets/js/custom/documentation/base/indicator.js new file mode 100644 index 0000000..2bb6c43 --- /dev/null +++ b/assets/js/custom/documentation/base/indicator.js @@ -0,0 +1,68 @@ +"use strict"; + +// Class definition +var KTBaseIndicatorDemos = function() { + // Private functions + var _example1 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_1"); + + // Handle button click event + button.addEventListener("click", function() { + // Activate indicator + button.setAttribute("data-kt-indicator", "on"); + + // Disable indicator after 3 seconds + setTimeout(function() { + button.removeAttribute("data-kt-indicator"); + }, 3000); + }); + } + + var _example2 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_2"); + + // Handle button click event + button.addEventListener("click", function() { + // Activate indicator + button.setAttribute("data-kt-indicator", "on"); + + // Disable indicator after 3 seconds + setTimeout(function() { + button.removeAttribute("data-kt-indicator"); + }, 3000); + }); + } + + var _example3 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_3"); + + // Handle button click event + button.addEventListener("click", function() { + // Activate indicator + button.setAttribute("data-kt-indicator", "on"); + + // Disable indicator after 3 seconds + setTimeout(function() { + button.removeAttribute("data-kt-indicator"); + }, 3000); + }); + } + + + return { + // Public Functions + init: function(element) { + _example1(); + _example2(); + _example3(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTBaseIndicatorDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/base/rotate.js b/assets/js/custom/documentation/base/rotate.js new file mode 100644 index 0000000..8a6e9be --- /dev/null +++ b/assets/js/custom/documentation/base/rotate.js @@ -0,0 +1,50 @@ +"use strict"; + +// Class definition +var KTBaseRotateDemos = function() { + // Private functions + var _example1 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_1"); + + // Handle button click event + button.addEventListener("click", function() { + button.classList.toggle("active"); + }); + } + + var _example2 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_2"); + + // Handle button click event + button.addEventListener("click", function() { + button.classList.toggle("active"); + }); + } + + var _example3 = function(element) { + // Element to indecate + var button = document.querySelector("#kt_button_3"); + + // Handle button click event + button.addEventListener("click", function() { + button.classList.toggle("active"); + }); + } + + + return { + // Public Functions + init: function(element) { + _example1(); + _example2(); + _example3(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTBaseRotateDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/base/toast.js b/assets/js/custom/documentation/base/toast.js new file mode 100644 index 0000000..b6c184e --- /dev/null +++ b/assets/js/custom/documentation/base/toast.js @@ -0,0 +1,60 @@ +"use strict"; + +// Class definition +const KTBaseToastDemos = function () { + // Private functions + const exampleToggle = () => { + // Select elements + const button = document.getElementById('kt_docs_toast_toggle_button'); + const toastElement = document.getElementById('kt_docs_toast_toggle'); + + // Get toast instance --- more info: https://getbootstrap.com/docs/5.1/components/toasts/#getinstance + const toast = bootstrap.Toast.getOrCreateInstance(toastElement); + + // Handle button click + button.addEventListener('click', e => { + e.preventDefault(); + + // Toggle toast to show --- more info: https://getbootstrap.com/docs/5.1/components/toasts/#show + toast.show(); + }); + } + + const exampleStack = () => { + // Select elements + const button = document.getElementById('kt_docs_toast_stack_button'); + const container = document.getElementById('kt_docs_toast_stack_container'); + const targetElement = document.querySelector('[data-kt-docs-toast="stack"]'); // Use CSS class or HTML attr to avoid duplicating ids + + // Remove base element markup + targetElement.parentNode.removeChild(targetElement); + + // Handle button click + button.addEventListener('click', e => { + e.preventDefault(); + + // Create new toast element + const newToast = targetElement.cloneNode(true); + container.append(newToast); + + // Create new toast instance --- more info: https://getbootstrap.com/docs/5.1/components/toasts/#getorcreateinstance + const toast = bootstrap.Toast.getOrCreateInstance(newToast); + + // Toggle toast to show --- more info: https://getbootstrap.com/docs/5.1/components/toasts/#show + toast.show(); + }); + } + + return { + // Public Functions + init: function () { + exampleToggle(); + exampleStack(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTBaseToastDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/charts/apexcharts.js b/assets/js/custom/documentation/charts/apexcharts.js new file mode 100644 index 0000000..366990a --- /dev/null +++ b/assets/js/custom/documentation/charts/apexcharts.js @@ -0,0 +1,843 @@ +"use strict"; + +// Class definition +var KTGeneralApexCharts = function () { + // Shared variables + + // Private functions + var example1 = function () { + var element = document.getElementById("kt_apexcharts_1"); + + var height = parseInt(KTUtil.css(element, 'height')); + var labelColor = KTUtil.getCssVariableValue('--bs-gray-500'); + var borderColor = KTUtil.getCssVariableValue('--bs-gray-200'); + var baseColor = KTUtil.getCssVariableValue('--bs-primary'); + var secondaryColor = KTUtil.getCssVariableValue('--bs-gray-300'); + var dangerColor = KTUtil.getCssVariableValue('--bs-danger'); + + if (!element) { + return; + } + + var options = { + series: [{ + name: 'Net Profit', + data: [44, 55, 57, 56, 61, 58, 43, 56, 65, 41, 55, 66] + }, { + name: 'Cost', + data: [32, 34, 52, 46, 27, 60, 41, 49, 13, 11, 44, 33] + }, { + name: 'Revenue', + data: [76, 85, 101, 98, 87, 105, 87, 99, 75, 82, 91, 89] + }], + chart: { + fontFamily: 'inherit', + type: 'bar', + height: height, + toolbar: { + show: false + } + }, + plotOptions: { + bar: { + horizontal: false, + columnWidth: ['40%'], + endingShape: 'rounded' + }, + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], + axisBorder: { + show: false, + }, + axisTicks: { + show: false + }, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + yaxis: { + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + fill: { + opacity: 1 + }, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'none', + value: 0 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'none', + value: 0 + } + } + }, + tooltip: { + style: { + fontSize: '12px' + }, + y: { + formatter: function (val) { + return "$" + val + " thousands" + } + } + }, + colors: [baseColor, dangerColor, secondaryColor], + grid: { + borderColor: borderColor, + strokeDashArray: 4, + yaxis: { + lines: { + show: true + } + } + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + var example2 = function () { + var element = document.getElementById("kt_apexcharts_2"); + + var height = parseInt(KTUtil.css(element, 'height')); + var labelColor = KTUtil.getCssVariableValue('--bs-gray-500'); + var borderColor = KTUtil.getCssVariableValue('--bs-gray-200'); + var baseColor = KTUtil.getCssVariableValue('--bs-warning'); + var secondaryColor = KTUtil.getCssVariableValue('--bs-gray-300'); + + if (!element) { + return; + } + + var options = { + series: [{ + name: 'Net Profit', + data: [44, 55, 57, 56, 61, 58] + }, { + name: 'Revenue', + data: [76, 85, 101, 98, 87, 105] + }], + chart: { + fontFamily: 'inherit', + type: 'bar', + height: height, + toolbar: { + show: false + } + }, + plotOptions: { + bar: { + horizontal: true, + columnWidth: ['30%'], + endingShape: 'rounded' + }, + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + stroke: { + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'], + axisBorder: { + show: false, + }, + axisTicks: { + show: false + }, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + yaxis: { + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + fill: { + opacity: 1 + }, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'none', + value: 0 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'none', + value: 0 + } + } + }, + tooltip: { + style: { + fontSize: '12px' + }, + y: { + formatter: function (val) { + return "$" + val + " thousands" + } + } + }, + colors: [baseColor, secondaryColor], + grid: { + borderColor: borderColor, + strokeDashArray: 4, + yaxis: { + lines: { + show: true + } + } + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + var example3 = function () { + var element = document.getElementById("kt_apexcharts_3"); + + var height = parseInt(KTUtil.css(element, 'height')); + var labelColor = KTUtil.getCssVariableValue('--bs-gray-500'); + var borderColor = KTUtil.getCssVariableValue('--bs-gray-200'); + var baseColor = KTUtil.getCssVariableValue('--bs-info'); + var lightColor = KTUtil.getCssVariableValue('--bs-light-info'); + + if (!element) { + return; + } + + var options = { + series: [{ + name: 'Net Profit', + data: [30, 40, 40, 90, 90, 70, 70] + }], + chart: { + fontFamily: 'inherit', + type: 'area', + height: height, + toolbar: { + show: false + } + }, + plotOptions: { + + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + fill: { + type: 'solid', + opacity: 1 + }, + stroke: { + curve: 'smooth', + show: true, + width: 3, + colors: [baseColor] + }, + xaxis: { + categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug'], + axisBorder: { + show: false, + }, + axisTicks: { + show: false + }, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + }, + crosshairs: { + position: 'front', + stroke: { + color: baseColor, + width: 1, + dashArray: 3 + } + }, + tooltip: { + enabled: true, + formatter: undefined, + offsetY: 0, + style: { + fontSize: '12px' + } + } + }, + yaxis: { + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'none', + value: 0 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'none', + value: 0 + } + } + }, + tooltip: { + style: { + fontSize: '12px' + }, + y: { + formatter: function (val) { + return "$" + val + " thousands" + } + } + }, + colors: [lightColor], + grid: { + borderColor: borderColor, + strokeDashArray: 4, + yaxis: { + lines: { + show: true + } + } + }, + markers: { + strokeColor: baseColor, + strokeWidth: 3 + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + var example4 = function () { + var element = document.getElementById("kt_apexcharts_4"); + + var height = parseInt(KTUtil.css(element, 'height')); + var labelColor = KTUtil.getCssVariableValue('--bs-gray-500'); + var borderColor = KTUtil.getCssVariableValue('--bs-gray-200'); + + var baseColor = KTUtil.getCssVariableValue('--bs-success'); + var baseLightColor = KTUtil.getCssVariableValue('--bs-light-success'); + var secondaryColor = KTUtil.getCssVariableValue('--bs-warning'); + var secondaryLightColor = KTUtil.getCssVariableValue('--bs-light-warning'); + + if (!element) { + return; + } + + var options = { + series: [{ + name: 'Net Profit', + data: [60, 50, 80, 40, 100, 60] + }, { + name: 'Revenue', + data: [70, 60, 110, 40, 50, 70] + }], + chart: { + fontFamily: 'inherit', + type: 'area', + height: height, + toolbar: { + show: false + } + }, + plotOptions: {}, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + fill: { + type: 'solid', + opacity: 1 + }, + stroke: { + curve: 'smooth' + }, + xaxis: { + categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'], + axisBorder: { + show: false, + }, + axisTicks: { + show: false + }, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + }, + crosshairs: { + position: 'front', + stroke: { + color: labelColor, + width: 1, + dashArray: 3 + } + }, + tooltip: { + enabled: true, + formatter: undefined, + offsetY: 0, + style: { + fontSize: '12px' + } + } + }, + yaxis: { + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'none', + value: 0 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'none', + value: 0 + } + } + }, + tooltip: { + style: { + fontSize: '12px' + }, + y: { + formatter: function (val) { + return "$" + val + " thousands" + } + } + }, + colors: [baseColor, secondaryColor], + grid: { + borderColor: borderColor, + strokeDashArray: 4, + yaxis: { + lines: { + show: true + } + } + }, + markers: { + colors: [baseLightColor, secondaryLightColor], + strokeColor: [baseLightColor, secondaryLightColor], + strokeWidth: 3 + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + var example5 = function () { + var element = document.getElementById("kt_apexcharts_5"); + + var height = parseInt(KTUtil.css(element, 'height')); + var labelColor = KTUtil.getCssVariableValue('--bs-gray-500'); + var borderColor = KTUtil.getCssVariableValue('--bs-gray-200'); + + var baseColor = KTUtil.getCssVariableValue('--bs-primary'); + var baseLightColor = KTUtil.getCssVariableValue('--bs-light-primary'); + var secondaryColor = KTUtil.getCssVariableValue('--bs-info'); + + if (!element) { + return; + } + + var options = { + series: [{ + name: 'Net Profit', + type: 'bar', + stacked: true, + data: [40, 50, 65, 70, 50, 30] + }, { + name: 'Revenue', + type: 'bar', + stacked: true, + data: [20, 20, 25, 30, 30, 20] + }, { + name: 'Expenses', + type: 'area', + data: [50, 80, 60, 90, 50, 70] + }], + chart: { + fontFamily: 'inherit', + stacked: true, + height: height, + toolbar: { + show: false + } + }, + plotOptions: { + bar: { + stacked: true, + horizontal: false, + endingShape: 'rounded', + columnWidth: ['12%'] + }, + }, + legend: { + show: false + }, + dataLabels: { + enabled: false + }, + stroke: { + curve: 'smooth', + show: true, + width: 2, + colors: ['transparent'] + }, + xaxis: { + categories: ['Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul'], + axisBorder: { + show: false, + }, + axisTicks: { + show: false + }, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + yaxis: { + max: 120, + labels: { + style: { + colors: labelColor, + fontSize: '12px' + } + } + }, + fill: { + opacity: 1 + }, + states: { + normal: { + filter: { + type: 'none', + value: 0 + } + }, + hover: { + filter: { + type: 'none', + value: 0 + } + }, + active: { + allowMultipleDataPointsSelection: false, + filter: { + type: 'none', + value: 0 + } + } + }, + tooltip: { + style: { + fontSize: '12px' + }, + y: { + formatter: function (val) { + return "$" + val + " thousands" + } + } + }, + colors: [baseColor, secondaryColor, baseLightColor], + grid: { + borderColor: borderColor, + strokeDashArray: 4, + yaxis: { + lines: { + show: true + } + }, + padding: { + top: 0, + right: 0, + bottom: 0, + left: 0 + } + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + var example6 = function () { + var element = document.getElementById("kt_apexcharts_6"); + + var height = parseInt(KTUtil.css(element, 'height')); + + var baseColor = KTUtil.getCssVariableValue('--bs-primary'); + var baseLightColor = KTUtil.getCssVariableValue('--bs-success'); + var secondaryColor = KTUtil.getCssVariableValue('--bs-info'); + + if (!element) { + return; + } + + var options = { + series: [ + { + name: 'Bob', + data: [ + { + x: 'Design', + y: [ + new Date('2019-03-05').getTime(), + new Date('2019-03-08').getTime() + ] + }, + { + x: 'Code', + y: [ + new Date('2019-03-02').getTime(), + new Date('2019-03-05').getTime() + ] + }, + { + x: 'Code', + y: [ + new Date('2019-03-05').getTime(), + new Date('2019-03-07').getTime() + ] + }, + { + x: 'Test', + y: [ + new Date('2019-03-03').getTime(), + new Date('2019-03-09').getTime() + ] + }, + { + x: 'Test', + y: [ + new Date('2019-03-08').getTime(), + new Date('2019-03-11').getTime() + ] + }, + { + x: 'Validation', + y: [ + new Date('2019-03-11').getTime(), + new Date('2019-03-16').getTime() + ] + }, + { + x: 'Design', + y: [ + new Date('2019-03-01').getTime(), + new Date('2019-03-03').getTime() + ] + } + ] + }, + { + name: 'Joe', + data: [ + { + x: 'Design', + y: [ + new Date('2019-03-02').getTime(), + new Date('2019-03-05').getTime() + ] + }, + { + x: 'Test', + y: [ + new Date('2019-03-06').getTime(), + new Date('2019-03-16').getTime() + ] + }, + { + x: 'Code', + y: [ + new Date('2019-03-03').getTime(), + new Date('2019-03-07').getTime() + ] + }, + { + x: 'Deployment', + y: [ + new Date('2019-03-20').getTime(), + new Date('2019-03-22').getTime() + ] + }, + { + x: 'Design', + y: [ + new Date('2019-03-10').getTime(), + new Date('2019-03-16').getTime() + ] + } + ] + }, + { + name: 'Dan', + data: [ + { + x: 'Code', + y: [ + new Date('2019-03-10').getTime(), + new Date('2019-03-17').getTime() + ] + }, + { + x: 'Validation', + y: [ + new Date('2019-03-05').getTime(), + new Date('2019-03-09').getTime() + ] + }, + ] + } + ], + chart: { + type: 'rangeBar', + fontFamily: 'inherit', + height: height, + toolbar: { + show: false + } + }, + colors: [baseColor, secondaryColor, baseLightColor], + plotOptions: { + bar: { + horizontal: true, + barHeight: '80%' + } + }, + xaxis: { + type: 'datetime' + }, + stroke: { + width: 1 + }, + fill: { + type: 'solid', + opacity: 1 + }, + legend: { + position: 'top', + horizontalAlign: 'left' + } + }; + + var chart = new ApexCharts(element, options); + chart.render(); + } + + return { + // Public Functions + init: function () { + example1(); + example2(); + example3(); + example4(); + example5(); + example6(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralApexCharts.init(); +}); diff --git a/assets/js/custom/documentation/charts/chartjs.js b/assets/js/custom/documentation/charts/chartjs.js new file mode 100644 index 0000000..fc6d00b --- /dev/null +++ b/assets/js/custom/documentation/charts/chartjs.js @@ -0,0 +1,333 @@ +"use strict"; + +// Class definition +var KTGeneralChartJS = function () { + // Randomizer function + function getRandom(min = 1, max = 100) { + return Math.floor(Math.random() * (max - min) + min); + } + + function generateRandomData(min = 1, max = 100, count = 10) { + var arr = []; + for (var i = 0; i < count; i++) { + arr.push(getRandom(min, max)); + } + return arr; + } + + // Private functions + var example1 = function () { + // Define chart element + var ctx = document.getElementById('kt_chartjs_1'); + + // Define colors + var primaryColor = KTUtil.getCssVariableValue('--bs-primary'); + var dangerColor = KTUtil.getCssVariableValue('--bs-danger'); + var successColor = KTUtil.getCssVariableValue('--bs-success'); + + // Define fonts + var fontFamily = KTUtil.getCssVariableValue('--bs-font-sans-serif'); + + // Chart labels + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + // Chart data + const data = { + labels: labels, + datasets: [ + { + label: 'Dataset 1', + data: generateRandomData(1, 100, 12), + backgroundColor: primaryColor, + stack: 'Stack 0', + }, + { + label: 'Dataset 2', + data: generateRandomData(1, 100, 12), + backgroundColor: dangerColor, + stack: 'Stack 1', + }, + { + label: 'Dataset 3', + data: generateRandomData(1, 100, 12), + backgroundColor: successColor, + stack: 'Stack 2', + }, + ] + }; + + // Chart config + const config = { + type: 'bar', + data: data, + options: { + plugins: { + title: { + display: false, + } + }, + responsive: true, + interaction: { + intersect: false, + }, + scales: { + x: { + stacked: true, + }, + y: { + stacked: true + } + } + } + }; + + // Init ChartJS -- for more info, please visit: https://www.chartjs.org/docs/latest/ + var myChart = new Chart(ctx, config); + } + + var example2 = function () { + // Define chart element + var ctx = document.getElementById('kt_chartjs_2'); + + // Define colors + var primaryColor = KTUtil.getCssVariableValue('--bs-primary'); + var dangerColor = KTUtil.getCssVariableValue('--bs-danger'); + var successColor = KTUtil.getCssVariableValue('--bs-success'); + + // Define fonts + var fontFamily = KTUtil.getCssVariableValue('--bs-font-sans-serif'); + + // Chart labels + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July']; + + // Chart data + const data = { + labels: labels, + datasets: [ + { + label: 'Dataset 1', + data: generateRandomData(1, 50, 7), + borderColor: primaryColor, + backgroundColor: 'transparent' + }, + { + label: 'Dataset 2', + data: generateRandomData(1, 50, 7), + borderColor: dangerColor, + backgroundColor: 'transparent' + }, + ] + }; + + // Chart config + const config = { + type: 'line', + data: data, + options: { + plugins: { + title: { + display: false, + } + }, + responsive: true, + } + }; + + // Init ChartJS -- for more info, please visit: https://www.chartjs.org/docs/latest/ + var myChart = new Chart(ctx, config); + } + + var example3 = function () { + // Define chart element + var ctx = document.getElementById('kt_chartjs_3'); + + // Define colors + var primaryColor = KTUtil.getCssVariableValue('--bs-primary'); + var dangerColor = KTUtil.getCssVariableValue('--bs-danger'); + var successColor = KTUtil.getCssVariableValue('--bs-success'); + var warningColor = KTUtil.getCssVariableValue('--bs-warning'); + var infoColor = KTUtil.getCssVariableValue('--bs-info'); + + // Chart labels + const labels = ['January', 'February', 'March', 'April', 'May']; + + // Chart data + const data = { + labels: labels, + datasets: [ + { + label: 'Dataset 1', + data: generateRandomData(1, 100, 5), + backgroundColor: [primaryColor, dangerColor, successColor, warningColor, infoColor] + }, + ] + }; + + // Chart config + const config = { + type: 'pie', + data: data, + options: { + plugins: { + title: { + display: false, + } + }, + responsive: true, + } + }; + + // Init ChartJS -- for more info, please visit: https://www.chartjs.org/docs/latest/ + var myChart = new Chart(ctx, config); + } + + var example4 = function () { + // Define chart element + var ctx = document.getElementById('kt_chartjs_4'); + + // Define colors + var primaryColor = KTUtil.getCssVariableValue('--bs-primary'); + var dangerColor = KTUtil.getCssVariableValue('--bs-danger'); + var dangerLightColor = KTUtil.getCssVariableValue('--bs-light-danger'); + + // Define fonts + var fontFamily = KTUtil.getCssVariableValue('--bs-font-sans-serif'); + + // Chart labels + const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + // Chart data + const data = { + labels: labels, + datasets: [ + { + label: 'Dataset 1', + data: generateRandomData(50, 100, 12), + borderColor: primaryColor, + backgroundColor: 'transparent', + stack: 'combined' + }, + { + label: 'Dataset 2', + data: generateRandomData(1, 60, 12), + backgroundColor: dangerColor, + borderColor: dangerColor, + stack: 'combined', + type: 'bar' + }, + + ] + }; + + // Chart config + const config = { + type: 'line', + data: data, + options: { + plugins: { + title: { + display: false, + } + }, + responsive: true, + interaction: { + intersect: false, + }, + scales: { + y: { + stacked: true + } + } + }, + defaults: { + font: { + family: 'inherit', + } + } + }; + + // Init ChartJS -- for more info, please visit: https://www.chartjs.org/docs/latest/ + var myChart = new Chart(ctx, config); + } + + var example5 = function () { + // Define chart element + var ctx = document.getElementById('kt_chartjs_5'); + + // Define colors + var infoColor = KTUtil.getCssVariableValue('--bs-info'); + var infoLightColor = KTUtil.getCssVariableValue('--bs-light-info'); + var warningColor = KTUtil.getCssVariableValue('--bs-warning'); + var warningLightColor = KTUtil.getCssVariableValue('--bs-light-warning'); + var primaryColor = KTUtil.getCssVariableValue('--bs-primary'); + var primaryLightColor = KTUtil.getCssVariableValue('--bs-light-primary'); + + // Define fonts + var fontFamily = KTUtil.getCssVariableValue('--bs-font-sans-serif'); + + // Chart labels + const labels = ['January', 'February', 'March', 'April', 'May', 'June']; + + // Chart data + const data = { + labels: labels, + datasets: [ + { + label: 'Dataset 1', + data: generateRandomData(20, 80, 6), + borderColor: infoColor, + backgroundColor: infoLightColor, + }, + { + label: 'Dataset 2', + data: generateRandomData(10, 60, 6), + backgroundColor: warningLightColor, + borderColor: warningColor, + }, + { + label: 'Dataset 3', + data: generateRandomData(0, 80, 6), + backgroundColor: primaryLightColor, + borderColor: primaryColor, + }, + ] + }; + + // Chart config + const config = { + type: 'radar', + data: data, + options: { + plugins: { + title: { + display: false, + } + }, + responsive: true, + } + }; + + // Init ChartJS -- for more info, please visit: https://www.chartjs.org/docs/latest/ + var myChart = new Chart(ctx, config); + } + + return { + // Public Functions + init: function () { + // Global font settings: https://www.chartjs.org/docs/latest/general/fonts.html + Chart.defaults.font.size = 13; + Chart.defaults.font.family = KTUtil.getCssVariableValue('--bs-font-sans-serif'); + + example1(); + example2(); + example3(); + example4(); + example5(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralChartJS.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/axis.js b/assets/js/custom/documentation/charts/flotcharts/axis.js new file mode 100644 index 0000000..761198f --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/axis.js @@ -0,0 +1,179 @@ +"use strict"; + +// Class definition +var KTFlotDemoAxis = function () { + // Private functions + var exampleAxis = function () { + function randValue() { + return (Math.floor(Math.random() * (1 + 40 - 20))) + 20; + } + var pageviews = [ + [1, randValue()], + [2, randValue()], + [3, 2 + randValue()], + [4, 3 + randValue()], + [5, 5 + randValue()], + [6, 10 + randValue()], + [7, 15 + randValue()], + [8, 20 + randValue()], + [9, 25 + randValue()], + [10, 30 + randValue()], + [11, 35 + randValue()], + [12, 25 + randValue()], + [13, 15 + randValue()], + [14, 20 + randValue()], + [15, 45 + randValue()], + [16, 50 + randValue()], + [17, 65 + randValue()], + [18, 70 + randValue()], + [19, 85 + randValue()], + [20, 80 + randValue()], + [21, 75 + randValue()], + [22, 80 + randValue()], + [23, 75 + randValue()], + [24, 70 + randValue()], + [25, 65 + randValue()], + [26, 75 + randValue()], + [27, 80 + randValue()], + [28, 85 + randValue()], + [29, 90 + randValue()], + [30, 95 + randValue()] + ]; + var visitors = [ + [1, randValue() - 5], + [2, randValue() - 5], + [3, randValue() - 5], + [4, 6 + randValue()], + [5, 5 + randValue()], + [6, 20 + randValue()], + [7, 25 + randValue()], + [8, 36 + randValue()], + [9, 26 + randValue()], + [10, 38 + randValue()], + [11, 39 + randValue()], + [12, 50 + randValue()], + [13, 51 + randValue()], + [14, 12 + randValue()], + [15, 13 + randValue()], + [16, 14 + randValue()], + [17, 15 + randValue()], + [18, 15 + randValue()], + [19, 16 + randValue()], + [20, 17 + randValue()], + [21, 18 + randValue()], + [22, 19 + randValue()], + [23, 20 + randValue()], + [24, 21 + randValue()], + [25, 14 + randValue()], + [26, 24 + randValue()], + [27, 25 + randValue()], + [28, 26 + randValue()], + [29, 27 + randValue()], + [30, 31 + randValue()] + ]; + + var plot = $.plot($("#kt_docs_flot_axis"), [{ + data: pageviews, + label: "Unique Visits", + lines: { + lineWidth: 1, + }, + shadowSize: 0 + + }, { + data: visitors, + label: "Page Views", + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }], { + series: { + lines: { + show: true, + lineWidth: 2, + fill: true, + fillColor: { + colors: [{ + opacity: 0.05 + }, { + opacity: 0.01 + }] + } + }, + points: { + show: true, + radius: 3, + lineWidth: 1 + }, + shadowSize: 2 + }, + grid: { + hoverable: true, + clickable: true, + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 1 + }, + colors: [KTUtil.getCssVariableValue('--bs-active-primary'), KTUtil.getCssVariableValue('--bs-active-danger')], + xaxis: { + ticks: 11, + tickDecimals: 0, + tickColor: KTUtil.getCssVariableValue('--bs-active-dark'), + }, + yaxis: { + ticks: 11, + tickDecimals: 0, + tickColor: KTUtil.getCssVariableValue('--bs-active-dark'), + } + }); + + function showTooltip(x, y, contents) { + $('
' + contents + '
').css({ + position: 'absolute', + display: 'none', + top: y + 5, + left: x + 15, + border: '1px solid ' + KTUtil.getCssVariableValue('--bs-light-dark'), + padding: '4px', + color: + KTUtil.getCssVariableValue('--bs-active-dark'), + 'border-radius': '3px', + 'background-color': + KTUtil.getCssVariableValue('--bs-light-dark'), + opacity: 0.80 + }).appendTo("body").fadeIn(200); + } + + var previousPoint = null; + $("#chart_2").bind("plothover", function(event, pos, item) { + $("#x").text(pos.x.toFixed(2)); + $("#y").text(pos.y.toFixed(2)); + + if (item) { + if (previousPoint != item.dataIndex) { + previousPoint = item.dataIndex; + + $("#tooltip").remove(); + var x = item.datapoint[0].toFixed(2), + y = item.datapoint[1].toFixed(2); + + showTooltip(item.pageX, item.pageY, item.series.label + " of " + x + " = " + y); + } + } else { + $("#tooltip").remove(); + previousPoint = null; + } + }); + } + + return { + // Public Functions + init: function () { + exampleAxis(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoAxis.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/bar.js b/assets/js/custom/documentation/charts/flotcharts/bar.js new file mode 100644 index 0000000..f360eef --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/bar.js @@ -0,0 +1,56 @@ +"use strict"; + +// Class definition +var KTFlotDemoBar = function () { + // Private functions + var exampleBar = function () { + // horizontal bar chart: + var data1 = [ + [10, 10], + [20, 20], + [30, 30], + [40, 40], + [50, 50], + [60, 60], + [70, 70], + [80, 80], + [90, 90], + [100, 100], + ]; + + var options = { + colors: [KTUtil.getCssVariableValue('--bs-active-primary')], + series: { + bars: { + show: true + } + }, + bars: { + horizontal: true, + barWidth: 6, + lineWidth: 0, // in pixels + shadowSize: 0, + align: 'left' + }, + grid: { + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 1 + } + }; + + $.plot($("#kt_docs_flot_bar"), [data1], options); + } + + return { + // Public Functions + init: function () { + exampleBar(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoBar.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/basic.js b/assets/js/custom/documentation/charts/flotcharts/basic.js new file mode 100644 index 0000000..d29c3b7 --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/basic.js @@ -0,0 +1,109 @@ +"use strict"; + +// Class definition +var KTFlotDemoBasic = function () { + // Private functions + var exampleBasic = function () { + var data = []; + var totalPoints = 250; + + // random data generator for plot charts + + function getRandomData() { + if (data.length > 0) data = data.slice(1); + // do a random walk + while (data.length < totalPoints) { + var prev = data.length > 0 ? data[data.length - 1] : 50; + var y = prev + Math.random() * 10 - 5; + if (y < 0) y = 0; + if (y > 100) y = 100; + data.push(y); + } + // zip the generated y values with the x values + var res = []; + for (var i = 0; i < data.length; ++i) { + res.push([i, data[i]]); + } + + return res; + } + + var d1 = []; + for (var i = 0; i < Math.PI * 2; i += 0.25) + d1.push([i, Math.sin(i)]); + + var d2 = []; + for (var i = 0; i < Math.PI * 2; i += 0.25) + d2.push([i, Math.cos(i)]); + + var d3 = []; + for (var i = 0; i < Math.PI * 2; i += 0.1) + d3.push([i, Math.tan(i)]); + + $.plot($("#kt_docs_flot_basic"), [{ + label: "sin(x)", + data: d1, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }, { + label: "cos(x)", + data: d2, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }, { + label: "tan(x)", + data: d3, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }], { + colors: [KTUtil.getCssVariableValue('--bs-active-success'), KTUtil.getCssVariableValue('--bs-active-primary'), KTUtil.getCssVariableValue('--bs-active-danger')], + series: { + lines: { + show: true, + }, + points: { + show: true, + fill: true, + radius: 3, + lineWidth: 1 + } + }, + xaxis: { + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + ticks: [0, [Math.PI / 2, "\u03c0/2"], + [Math.PI, "\u03c0"], + [Math.PI * 3 / 2, "3\u03c0/2"], + [Math.PI * 2, "2\u03c0"] + ] + }, + yaxis: { + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + ticks: 10, + min: -2, + max: 2 + }, + grid: { + borderColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 1 + } + }); + } + + return { + // Public Functions + init: function () { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoBasic.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/dynamic.js b/assets/js/custom/documentation/charts/flotcharts/dynamic.js new file mode 100644 index 0000000..043f63e --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/dynamic.js @@ -0,0 +1,90 @@ +"use strict"; + +// Class definition +var KTFlotDemoDynamic = function () { + // Private functions + var exampleDynamic = function () { + var data = []; + var totalPoints = 250; + + // random data generator for plot charts + + function getRandomData() { + if (data.length > 0) data = data.slice(1); + // do a random walk + while (data.length < totalPoints) { + var prev = data.length > 0 ? data[data.length - 1] : 50; + var y = prev + Math.random() * 10 - 5; + if (y < 0) y = 0; + if (y > 100) y = 100; + data.push(y); + } + // zip the generated y values with the x values + var res = []; + for (var i = 0; i < data.length; ++i) { + res.push([i, data[i]]); + } + + return res; + } + + //server load + var options = { + colors: [KTUtil.getCssVariableValue('--bs-active-danger'), KTUtil.getCssVariableValue('--bs-active-primary')], + series: { + shadowSize: 1 + }, + lines: { + show: true, + lineWidth: 0.5, + fill: true, + fillColor: { + colors: [{ + opacity: 0.1 + }, { + opacity: 1 + }] + } + }, + yaxis: { + min: 0, + max: 100, + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + tickFormatter: function(v) { + return v + "%"; + } + }, + xaxis: { + show: false, + }, + colors: [KTUtil.getCssVariableValue('--bs-active-primary')], + grid: { + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 0, + } + }; + + var updateInterval = 30; + var plot = $.plot($("#kt_docs_flot_dynamic"), [getRandomData()], options); + + function update() { + plot.setData([getRandomData()]); + plot.draw(); + setTimeout(update, updateInterval); + } + + update(); + } + + return { + // Public Functions + init: function () { + exampleDynamic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoDynamic.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/pie.js b/assets/js/custom/documentation/charts/flotcharts/pie.js new file mode 100644 index 0000000..98ecca8 --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/pie.js @@ -0,0 +1,34 @@ +"use strict"; + +// Class definition +var KTFlotDemoPie = function () { + // Private functions + var examplePie = function () { + var data = [ + { label: "CSS", data: 10, color: KTUtil.getCssVariableValue('--bs-active-primary') }, + { label: "HTML5", data: 40, color: KTUtil.getCssVariableValue('--bs-active-success') }, + { label: "PHP", data: 30, color: KTUtil.getCssVariableValue('--bs-active-danger') }, + { label: "Angular", data: 20, color: KTUtil.getCssVariableValue('--bs-active-warning') } + ]; + + $.plot($("#kt_docs_flot_pie"), data, { + series: { + pie: { + show: true + } + } + }); + } + + return { + // Public Functions + init: function () { + examplePie(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoPie.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/stack.js b/assets/js/custom/documentation/charts/flotcharts/stack.js new file mode 100644 index 0000000..0fb5397 --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/stack.js @@ -0,0 +1,103 @@ +"use strict"; + +// Class definition +var KTFlotDemoStack = function () { + // Private functions + var exampleStack = function () { + var d1 = []; + for (var i = 0; i <= 10; i += 1) + d1.push([i, parseInt(Math.random() * 30)]); + + var d2 = []; + for (var i = 0; i <= 10; i += 1) + d2.push([i, parseInt(Math.random() * 30)]); + + var d3 = []; + for (var i = 0; i <= 10; i += 1) + d3.push([i, parseInt(Math.random() * 30)]); + + var stack = 0, + bars = true, + lines = false, + steps = false; + + function plotWithOptions() { + $.plot($("#kt_docs_flot_stack"), + + [{ + label: "sales", + data: d1, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }, { + label: "tax", + data: d2, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }, { + label: "profit", + data: d3, + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }], { + colors: [KTUtil.getCssVariableValue('--bs-active-danger'), KTUtil.getCssVariableValue('--bs-active-primary')], + series: { + stack: stack, + lines: { + show: lines, + fill: true, + steps: steps, + lineWidth: 0, // in pixels + }, + bars: { + show: bars, + barWidth: 0.5, + lineWidth: 0, // in pixels + shadowSize: 0, + align: 'center' + } + }, + grid: { + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 1 + } + } + ); + } + + $(".stackControls input").click(function(e) { + e.preventDefault(); + stack = $(this).val() == "With stacking" ? true : null; + plotWithOptions(); + }); + + $(".graphControls input").click(function(e) { + e.preventDefault(); + bars = $(this).val().indexOf("Bars") != -1; + lines = $(this).val().indexOf("Lines") != -1; + steps = $(this).val().indexOf("steps") != -1; + plotWithOptions(); + }); + + plotWithOptions(); + } + + return { + // Public Functions + init: function () { + exampleStack(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoStack.init(); +}); diff --git a/assets/js/custom/documentation/charts/flotcharts/tracking.js b/assets/js/custom/documentation/charts/flotcharts/tracking.js new file mode 100644 index 0000000..c975764 --- /dev/null +++ b/assets/js/custom/documentation/charts/flotcharts/tracking.js @@ -0,0 +1,105 @@ +"use strict"; + +// Class definition +var KTFlotDemoTracking = function () { + // Private functions + var exampleTracking = function () { + var sin = [], + cos = []; + for (var i = 0; i < 14; i += 0.1) { + sin.push([i, Math.sin(i)]); + cos.push([i, Math.cos(i)]); + } + + var plot = $.plot($("#kt_docs_flot_tracking"), [{ + data: sin, + label: "sin(x) = -0.00", + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }, { + data: cos, + label: "cos(x) = -0.00", + lines: { + lineWidth: 1, + }, + shadowSize: 0 + }], { + colors: [KTUtil.getCssVariableValue('--bs-active-primary'), KTUtil.getCssVariableValue('--bs-active-warning')], + series: { + lines: { + show: true + } + }, + crosshair: { + mode: "x" + }, + grid: { + hoverable: true, + autoHighlight: false, + tickColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderColor: KTUtil.getCssVariableValue('--bs-light-dark'), + borderWidth: 1 + }, + yaxis: { + min: -1.2, + max: 1.2 + } + }); + + var legends = $("#kt_docs_flot_tracking .legendLabel"); + legends.each(function() { + // fix the widths so they don't jump around + $(this).css('width', $(this).width()); + }); + + var updateLegendTimeout = null; + var latestPosition = null; + + function updateLegend() { + updateLegendTimeout = null; + + var pos = latestPosition; + + var axes = plot.getAxes(); + if (pos.x < axes.xaxis.min || pos.x > axes.xaxis.max || pos.y < axes.yaxis.min || pos.y > axes.yaxis.max) return; + + var i, j, dataset = plot.getData(); + for (i = 0; i < dataset.length; ++i) { + var series = dataset[i]; + + // find the nearest points, x-wise + for (j = 0; j < series.data.length; ++j) + if (series.data[j][0] > pos.x) break; + + // now interpolate + var y, p1 = series.data[j - 1], + p2 = series.data[j]; + + if (p1 == null) y = p2[1]; + else if (p2 == null) y = p1[1]; + else y = p1[1] + (p2[1] - p1[1]) * (pos.x - p1[0]) / (p2[0] - p1[0]); + + legends.eq(i).text(series.label.replace(/=.*/, "= " + y.toFixed(2))); + } + } + + $("#kt_docs_flot_tracking").bind("plothover", function(event, pos, item) { + latestPosition = pos; + if (!updateLegendTimeout) updateLegendTimeout = setTimeout(updateLegend, 50); + }); + } + + return { + // Public Functions + init: function () { + exampleTracking(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFlotDemoTracking.init(); +}); diff --git a/assets/js/custom/documentation/charts/google-charts/column.js b/assets/js/custom/documentation/charts/google-charts/column.js new file mode 100644 index 0000000..8f354a3 --- /dev/null +++ b/assets/js/custom/documentation/charts/google-charts/column.js @@ -0,0 +1,95 @@ +"use strict"; + +// Class definition +var KTGoogleChartColumnDemo = function () { + // Private functions + var exampleColumn = function () { + // GOOGLE CHARTS INIT + google.load('visualization', '1', { + packages: ['corechart', 'bar', 'line'] + }); + + google.setOnLoadCallback(function () { + // COLUMN CHART + var data = new google.visualization.DataTable(); + data.addColumn('timeofday', 'Time of Day'); + data.addColumn('number', 'Motivation Level'); + data.addColumn('number', 'Energy Level'); + + data.addRows([ + [{ + v: [8, 0, 0], + f: '8 am' + }, 1, .25], + [{ + v: [9, 0, 0], + f: '9 am' + }, 2, .5], + [{ + v: [10, 0, 0], + f: '10 am' + }, 3, 1], + [{ + v: [11, 0, 0], + f: '11 am' + }, 4, 2.25], + [{ + v: [12, 0, 0], + f: '12 pm' + }, 5, 2.25], + [{ + v: [13, 0, 0], + f: '1 pm' + }, 6, 3], + [{ + v: [14, 0, 0], + f: '2 pm' + }, 7, 4], + [{ + v: [15, 0, 0], + f: '3 pm' + }, 8, 5.25], + [{ + v: [16, 0, 0], + f: '4 pm' + }, 9, 7.5], + [{ + v: [17, 0, 0], + f: '5 pm' + }, 10, 10], + ]); + + var options = { + title: 'Motivation and Energy Level Throughout the Day', + focusTarget: 'category', + hAxis: { + title: 'Time of Day', + format: 'h:mm a', + viewWindow: { + min: [7, 30, 0], + max: [17, 30, 0] + }, + }, + vAxis: { + title: 'Rating (scale of 1-10)' + }, + colors: ['#6e4ff5', '#fe3995'] + }; + + var chart = new google.visualization.ColumnChart(document.getElementById('kt_docs_google_chart_column')); + chart.draw(data, options); + }); + } + + return { + // Public Functions + init: function () { + exampleColumn(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGoogleChartColumnDemo.init(); +}); diff --git a/assets/js/custom/documentation/charts/google-charts/line.js b/assets/js/custom/documentation/charts/google-charts/line.js new file mode 100644 index 0000000..3b41516 --- /dev/null +++ b/assets/js/custom/documentation/charts/google-charts/line.js @@ -0,0 +1,61 @@ +"use strict"; + +// Class definition +var KTGoogleChartLineDemo = function () { + // Private functions + var exampleLine = function () { + // GOOGLE CHARTS INIT + google.load('visualization', '1', { + packages: ['corechart', 'bar', 'line'] + }); + + google.setOnLoadCallback(function () { + // LINE CHART + var data = new google.visualization.DataTable(); + data.addColumn('number', 'Day'); + data.addColumn('number', 'Guardians of the Galaxy'); + data.addColumn('number', 'The Avengers'); + data.addColumn('number', 'Transformers: Age of Extinction'); + + data.addRows([ + [1, 37.8, 80.8, 41.8], + [2, 30.9, 69.5, 32.4], + [3, 25.4, 57, 25.7], + [4, 11.7, 18.8, 10.5], + [5, 11.9, 17.6, 10.4], + [6, 8.8, 13.6, 7.7], + [7, 7.6, 12.3, 9.6], + [8, 12.3, 29.2, 10.6], + [9, 16.9, 42.9, 14.8], + [10, 12.8, 30.9, 11.6], + [11, 5.3, 7.9, 4.7], + [12, 6.6, 8.4, 5.2], + [13, 4.8, 6.3, 3.6], + [14, 4.2, 6.2, 3.4] + ]); + + var options = { + chart: { + title: 'Box Office Earnings in First Two Weeks of Opening', + subtitle: 'in millions of dollars (USD)' + }, + colors: ['#6e4ff5', '#f6aa33', '#fe3995'] + }; + + var chart = new google.charts.Line(document.getElementById('kt_docs_google_chart_line')); + chart.draw(data, options); + }); + } + + return { + // Public Functions + init: function () { + exampleLine(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGoogleChartLineDemo.init(); +}); diff --git a/assets/js/custom/documentation/charts/google-charts/pie.js b/assets/js/custom/documentation/charts/google-charts/pie.js new file mode 100644 index 0000000..0a8e300 --- /dev/null +++ b/assets/js/custom/documentation/charts/google-charts/pie.js @@ -0,0 +1,52 @@ +"use strict"; + +// Class definition +var KTGoogleChartPieDemo = function () { + // Private functions + var examplePie = function () { + // GOOGLE CHARTS INIT + google.load('visualization', '1', { + packages: ['corechart', 'bar', 'line'] + }); + + google.setOnLoadCallback(function () { + var data = google.visualization.arrayToDataTable([ + ['Task', 'Hours per Day'], + ['Work', 11], + ['Eat', 2], + ['Commute', 2], + ['Watch TV', 2], + ['Sleep', 7] + ]); + + var options = { + title: 'My Daily Activities', + colors: ['#fe3995', '#f6aa33', '#6e4ff5', '#2abe81', '#c7d2e7', '#593ae1'] + }; + + var chart = new google.visualization.PieChart(document.getElementById('kt_docs_google_chart_pie')); + chart.draw(data, options); + + // Example of a doughnut chart + // var options = { + // pieHole: 0.4, + // colors: ['#fe3995', '#f6aa33', '#6e4ff5', '#2abe81', '#c7d2e7', '#593ae1'] + // }; + + // var chart = new google.visualization.PieChart(document.getElementById('kt_docs_google_chart_pie')); + // chart.draw(data, options); + }); + } + + return { + // Public Functions + init: function () { + examplePie(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGoogleChartPieDemo.init(); +}); diff --git a/assets/js/custom/documentation/documentation.js b/assets/js/custom/documentation/documentation.js new file mode 100644 index 0000000..a79022e --- /dev/null +++ b/assets/js/custom/documentation/documentation.js @@ -0,0 +1,55 @@ +"use strict"; + +var KTLayoutDocumentation = function() { + var _init = function(element) { + var elements = element; + + if ( typeof elements === 'undefined' ) { + elements = document.querySelectorAll('.highlight'); + } + + if ( elements && elements.length > 0 ) { + for ( var i = 0; i < elements.length; ++i ) { + var highlight = elements[i]; + var copy = highlight.querySelector('.highlight-copy'); + + if ( copy ) { + var clipboard = new ClipboardJS(copy, { + target: function(trigger) { + var highlight = trigger.closest('.highlight'); + var el = highlight.querySelector('.tab-pane.active'); + + if ( el == null ) { + el = highlight.querySelector('.highlight-code'); + } + + return el; + } + }); + + clipboard.on('success', function(e) { + var caption = e.trigger.innerHTML; + + e.trigger.innerHTML = 'copied'; + e.clearSelection(); + + setTimeout(function() { + e.trigger.innerHTML = caption; + }, 2000); + }); + } + } + } + } + + return { + init: function(element) { + _init(element); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTLayoutDocumentation.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/editors/ckeditor/balloon-block.js b/assets/js/custom/documentation/editors/ckeditor/balloon-block.js new file mode 100644 index 0000000..8eb94ab --- /dev/null +++ b/assets/js/custom/documentation/editors/ckeditor/balloon-block.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsCKEditorBalloonBlock = function () { + // Private functions + var exampleBalloonBlock = function () { + BalloonEditor + .create(document.querySelector('#kt_docs_ckeditor_balloon_block')) + .then(editor => { + console.log(editor); + }) + .catch(error => { + console.error(error); + }); + } + + return { + // Public Functions + init: function () { + exampleBalloonBlock(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsCKEditorBalloonBlock.init(); +}); diff --git a/assets/js/custom/documentation/editors/ckeditor/balloon.js b/assets/js/custom/documentation/editors/ckeditor/balloon.js new file mode 100644 index 0000000..c1a70e9 --- /dev/null +++ b/assets/js/custom/documentation/editors/ckeditor/balloon.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsCKEditorBalloon = function () { + // Private functions + var exampleBalloon = function () { + BalloonEditor + .create(document.querySelector('#kt_docs_ckeditor_balloon')) + .then(editor => { + console.log(editor); + }) + .catch(error => { + console.error(error); + }); + } + + return { + // Public Functions + init: function () { + exampleBalloon(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsCKEditorBalloon.init(); +}); diff --git a/assets/js/custom/documentation/editors/ckeditor/classic.js b/assets/js/custom/documentation/editors/ckeditor/classic.js new file mode 100644 index 0000000..9d9d38a --- /dev/null +++ b/assets/js/custom/documentation/editors/ckeditor/classic.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsCKEditorClassic = function () { + // Private functions + var exampleClassic = function () { + ClassicEditor + .create(document.querySelector('#kt_docs_ckeditor_classic')) + .then(editor => { + console.log(editor); + }) + .catch(error => { + console.error(error); + }); + } + + return { + // Public Functions + init: function () { + exampleClassic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsCKEditorClassic.init(); +}); diff --git a/assets/js/custom/documentation/editors/ckeditor/document.js b/assets/js/custom/documentation/editors/ckeditor/document.js new file mode 100644 index 0000000..c913a65 --- /dev/null +++ b/assets/js/custom/documentation/editors/ckeditor/document.js @@ -0,0 +1,30 @@ +"use strict"; + +// Class definition +var KTFormsCKEditorDocument = function () { + // Private functions + var exampleDocument = function () { + DecoupledEditor + .create(document.querySelector('#kt_docs_ckeditor_document')) + .then(editor => { + const toolbarContainer = document.querySelector('#kt_docs_ckeditor_document_toolbar'); + + toolbarContainer.appendChild(editor.ui.view.toolbar.element); + }) + .catch(error => { + console.error(error); + }); + } + + return { + // Public Functions + init: function () { + exampleDocument(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsCKEditorDocument.init(); +}); diff --git a/assets/js/custom/documentation/editors/ckeditor/inline.js b/assets/js/custom/documentation/editors/ckeditor/inline.js new file mode 100644 index 0000000..a97f89d --- /dev/null +++ b/assets/js/custom/documentation/editors/ckeditor/inline.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsCKEditorInline = function () { + // Private functions + var exampleInline = function () { + InlineEditor + .create(document.querySelector('#kt_docs_ckeditor_inline')) + .then(editor => { + console.log(editor); + }) + .catch(error => { + console.error(error); + }); + } + + return { + // Public Functions + init: function () { + exampleInline(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsCKEditorInline.init(); +}); diff --git a/assets/js/custom/documentation/editors/quill/autosave.js b/assets/js/custom/documentation/editors/quill/autosave.js new file mode 100644 index 0000000..51c67df --- /dev/null +++ b/assets/js/custom/documentation/editors/quill/autosave.js @@ -0,0 +1,60 @@ +"use strict"; + +// Class definition +var KTFormsQuillAutosave = function () { + // Private functions + var exampleAutosave = function () { + var Delta = Quill.import('delta'); + var quill = new Quill('#kt_docs_quill_autosave', { + modules: { + toolbar: true + }, + placeholder: 'Type your text here...', + theme: 'snow' + }); + + // Store accumulated changes + var change = new Delta(); + quill.on('text-change', function (delta) { + change = change.compose(delta); + }); + + // Save periodically + setInterval(function () { + if (change.length() > 0) { + console.log('Saving changes', change); + /* + Send partial changes + $.post('/your-endpoint', { + partial: JSON.stringify(change) + }); + + Send entire document + $.post('/your-endpoint', { + doc: JSON.stringify(quill.getContents()) + }); + */ + change = new Delta(); + } + }, 5 * 1000); + + // Check for unsaved data + window.onbeforeunload = function () { + if (change.length() > 0) { + return 'There are unsaved changes. Are you sure you want to leave?'; + } + } + } + + return { + // Public Functions + init: function () { + exampleAutosave(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsQuillAutosave.init(); +}); diff --git a/assets/js/custom/documentation/editors/quill/basic.js b/assets/js/custom/documentation/editors/quill/basic.js new file mode 100644 index 0000000..defe3c0 --- /dev/null +++ b/assets/js/custom/documentation/editors/quill/basic.js @@ -0,0 +1,33 @@ +"use strict"; + +// Class definition +var KTFormsQuillBasic = function() { + // Private functions + var exampleBasic = function() { + var quill = new Quill('#kt_docs_quill_basic', { + modules: { + toolbar: [ + [{ + header: [1, 2, false] + }], + ['bold', 'italic', 'underline'], + ['image', 'code-block'] + ] + }, + placeholder: 'Type your text here...', + theme: 'snow' // or 'bubble' + }); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsQuillBasic.init(); +}); diff --git a/assets/js/custom/documentation/editors/tinymce/basic.js b/assets/js/custom/documentation/editors/tinymce/basic.js new file mode 100644 index 0000000..c9f0206 --- /dev/null +++ b/assets/js/custom/documentation/editors/tinymce/basic.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsTinyMCEBasic = function() { + // Private functions + var exampleBasic = function() { + var options = {selector: '#kt_docs_tinymce_basic'}; + + if (KTApp.isDarkMode()) { + options['skin'] = 'oxide-dark'; + options['content_css'] = 'dark'; + } + + tinymce.init(options); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsTinyMCEBasic.init(); +}); diff --git a/assets/js/custom/documentation/editors/tinymce/hidden.js b/assets/js/custom/documentation/editors/tinymce/hidden.js new file mode 100644 index 0000000..dd74844 --- /dev/null +++ b/assets/js/custom/documentation/editors/tinymce/hidden.js @@ -0,0 +1,28 @@ +"use strict"; + +// Class definition +var KTFormsTinyMCEHidden = function() { + // Private functions + var exampleHidden = function() { + tinymce.init({ + selector: '#kt_docs_tinymce_hidden', + menubar: false, + toolbar: ['styleselect fontselect fontsizeselect', + 'undo redo | cut copy paste | bold italic | link image | alignleft aligncenter alignright alignjustify', + 'bullist numlist | outdent indent | blockquote subscript superscript | advlist | autolink | lists charmap | print preview | code'], + plugins : 'advlist autolink link image lists charmap print preview code' + }); + } + + return { + // Public Functions + init: function() { + exampleHidden(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsTinyMCEHidden.init(); +}); diff --git a/assets/js/custom/documentation/editors/tinymce/plugins.js b/assets/js/custom/documentation/editors/tinymce/plugins.js new file mode 100644 index 0000000..ab11b60 --- /dev/null +++ b/assets/js/custom/documentation/editors/tinymce/plugins.js @@ -0,0 +1,25 @@ +"use strict"; + +// Class definition +var KTFormsTinyMCEPlugins = function() { + // Private functions + var examplePlugins = function() { + tinymce.init({ + selector: '#kt_docs_tinymce_plugins', + toolbar: 'advlist | autolink | link image | lists charmap | print preview', + plugins : 'advlist autolink link image lists charmap print preview' + }); + } + + return { + // Public Functions + init: function() { + examplePlugins(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsTinyMCEPlugins.init(); +}); diff --git a/assets/js/custom/documentation/forms/bootstrap-maxlength.js b/assets/js/custom/documentation/forms/bootstrap-maxlength.js new file mode 100644 index 0000000..081858a --- /dev/null +++ b/assets/js/custom/documentation/forms/bootstrap-maxlength.js @@ -0,0 +1,97 @@ +"use strict"; + +// Class definition +var KTFormsMaxlengthDemos = function () { + // Private functions + var exampleBasic = function () { + // minimum setup + $('#kt_docs_maxlength_basic').maxlength({ + warningClass: "badge badge-primary", + limitReachedClass: "badge badge-success" + }); + } + + var exampleThreshold = function () { + // Threshold setup + $('#kt_docs_maxlength_threshold').maxlength({ + threshold: 20, + warningClass: "badge badge-primary", + limitReachedClass: "badge badge-success" + }); + } + + var exampleAlwaysShow = function () { + // Always show setup + $('#kt_docs_maxlength_always_show').maxlength({ + alwaysShow: true, + threshold: 20, + warningClass: "badge badge-danger", + limitReachedClass: "badge badge-info" + }); + } + + var exampleCustomText = function () { + // Always show setup + $('#kt_docs_maxlength_custom_text').maxlength({ + threshold: 20, + warningClass: "badge badge-danger", + limitReachedClass: "badge badge-success", + separator: ' of ', + preText: 'You have ', + postText: ' chars remaining.', + validate: true + }); + } + + var exampleTextarea = function () { + // Textarea setup + $('#kt_docs_maxlength_textarea').maxlength({ + warningClass: "badge badge-primary", + limitReachedClass: "badge badge-success" + }); + } + + var examplePosition = function () { + // Position setup + $('#kt_docs_maxlength_position_top_left').maxlength({ + placement: 'top-left', + warningClass: "badge badge-danger", + limitReachedClass: "badge badge-primary" + }); + + $('#kt_docs_maxlength_position_top_right').maxlength({ + placement: 'top-right', + warningClass: "badge badge-success", + limitReachedClass: "badge badge-danger" + }); + + $('#kt_docs_maxlength_position_bottom_left').maxlength({ + placement: 'bottom-left', + warningClass: "badge badge-info", + limitReachedClass: "badge badge-warning" + }); + + $('#kt_docs_maxlength_position_bottom_right').maxlength({ + placement: 'bottom-right', + warningClass: "badge badge-primary", + limitReachedClass: "badge badge-success" + }); + } + + return { + // Public Functions + init: function () { + exampleBasic(); + exampleThreshold(); + exampleAlwaysShow(); + exampleCustomText(); + exampleTextarea(); + examplePosition(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsMaxlengthDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/clipboard.js b/assets/js/custom/documentation/forms/clipboard.js new file mode 100644 index 0000000..891047f --- /dev/null +++ b/assets/js/custom/documentation/forms/clipboard.js @@ -0,0 +1,172 @@ +"use strict"; + +// Class definition +var KTFormsClipboard = function () { + // Shared variables + var clipboard; + + // Private functions + var example1 = function () { + // Select elements + const target = document.getElementById('kt_clipboard_1'); + const button = target.nextElementSibling; + + // Init clipboard -- for more info, please read the offical documentation: https://clipboardjs.com/ + clipboard = new ClipboardJS(button, { + target: target, + text: function () { + return target.value; + } + }); + + // Success action handler + clipboard.on('success', function (e) { + const currentLabel = button.innerHTML; + + // Exit label update when already in progress + if (button.innerHTML === 'Copied!') { + return; + } + + // Update button label + button.innerHTML = "Copied!"; + + // Revert button label after 3 seconds + setTimeout(function () { + button.innerHTML = currentLabel; + }, 3000) + }); + } + + var example2 = function () { + // Select elements + const target = document.getElementById('kt_clipboard_2'); + const button = target.nextElementSibling; + + // Init clipboard -- for more info, please read the offical documentation: https://clipboardjs.com/ + clipboard = new ClipboardJS(button, { + target: target, + text: function () { + return target.innerText; + } + }); + + // Success action handler + clipboard.on('success', function (e) { + const currentLabel = button.innerHTML; + + // Exit label update when already in progress + if (button.innerHTML === 'Copied!') { + return; + } + + // Update button label + button.innerHTML = "Copied!"; + + // Revert button label after 3 seconds + setTimeout(function () { + button.innerHTML = currentLabel; + }, 3000) + }); + } + + var example3 = function () { + // Select element + const target = document.getElementById('kt_clipboard_3'); + + // Init clipboard -- for more info, please read the offical documentation: https://clipboardjs.com/ + clipboard = new ClipboardJS(target); + + // Success action handler + clipboard.on('success', function (e) { + const currentLabel = target.innerHTML; + + // Exit label update when already in progress + if (target.innerHTML === 'Copied!') { + return; + } + + // Update button label + target.innerHTML = "Copied!"; + + // Revert button label after 3 seconds + setTimeout(function () { + target.innerHTML = currentLabel; + }, 3000) + }); + } + + var example4 = function () { + // Select elements + const target = document.getElementById('kt_clipboard_4'); + const button = target.nextElementSibling; + + // Init clipboard -- for more info, please read the offical documentation: https://clipboardjs.com/ + clipboard = new ClipboardJS(button, { + target: target, + text: function () { + return target.innerHTML; + } + }); + + // Success action handler + clipboard.on('success', function (e) { + var checkIcon = button.querySelector('.bi.bi-check'); + var svgIcon = button.querySelector('.svg-icon'); + + // Exit check icon when already showing + if (checkIcon) { + return; + } + + // Create check icon + checkIcon = document.createElement('i'); + checkIcon.classList.add('bi'); + checkIcon.classList.add('bi-check'); + checkIcon.classList.add('fs-2x'); + + // Append check icon + button.appendChild(checkIcon); + + // Highlight target + const classes = ['text-success', 'fw-boldest']; + target.classList.add(...classes); + + // Highlight button + button.classList.add('btn-success'); + + // Hide copy icon + svgIcon.classList.add('d-none'); + + // Revert button label after 3 seconds + setTimeout(function () { + // Remove check icon + svgIcon.classList.remove('d-none'); + + // Revert icon + button.removeChild(checkIcon); + + // Remove target highlight + target.classList.remove(...classes); + + // Remove button highlight + button.classList.remove('btn-success'); + }, 3000) + }); + } + + return { + // Public Functions + init: function () { + example1(); + example2(); + example3(); + example4(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsClipboard.init(); +}); diff --git a/assets/js/custom/documentation/forms/daterangepicker.js b/assets/js/custom/documentation/forms/daterangepicker.js new file mode 100644 index 0000000..585fd78 --- /dev/null +++ b/assets/js/custom/documentation/forms/daterangepicker.js @@ -0,0 +1,77 @@ +"use strict"; + +// Class definition +var KTFormsDaterangepickerDemos = function() { + // Private functions + var example1 = function(element) { + $("#kt_daterangepicker_1").daterangepicker(); + } + + var example2 = function(element) { + $("#kt_daterangepicker_2").daterangepicker({ + timePicker: true, + startDate: moment().startOf("hour"), + endDate: moment().startOf("hour").add(32, "hour"), + locale: { + format: "M/DD hh:mm A" + } + }); + } + + var example3 = function(element) { + $("#kt_daterangepicker_3").daterangepicker({ + singleDatePicker: true, + showDropdowns: true, + minYear: 1901, + maxYear: parseInt(moment().format("YYYY"),10) + }, function(start, end, label) { + var years = moment().diff(start, "years"); + alert("You are " + years + " years old!"); + } + ); + } + + var example4 = function(element) { + var start = moment().subtract(29, "days"); + var end = moment(); + + function cb(start, end) { + $("#kt_daterangepicker_4").html(start.format("MMMM D, YYYY") + " - " + end.format("MMMM D, YYYY")); + } + + $("#kt_daterangepicker_4").daterangepicker({ + startDate: start, + endDate: end, + ranges: { + "Today": [moment(), moment()], + "Yesterday": [moment().subtract(1, "days"), moment().subtract(1, "days")], + "Last 7 Days": [moment().subtract(6, "days"), moment()], + "Last 30 Days": [moment().subtract(29, "days"), moment()], + "This Month": [moment().startOf("month"), moment().endOf("month")], + "Last Month": [moment().subtract(1, "month").startOf("month"), moment().subtract(1, "month").endOf("month")] + } + }, cb); + + cb(start, end); + } + + var example5 = function(element) { + $("#kt_daterangepicker_5").daterangepicker(); + } + + return { + // Public Functions + init: function(element) { + example1(); + example2(); + example3(); + example4(); + example5(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsDaterangepickerDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/dialer.js b/assets/js/custom/documentation/forms/dialer.js new file mode 100644 index 0000000..f20e02a --- /dev/null +++ b/assets/js/custom/documentation/forms/dialer.js @@ -0,0 +1,31 @@ +"use strict"; + +// Class definition +var KTFormsDialerDemos = function() { + // Private functions + var example1 = function(element) { + // Dialer container element + var dialerElement = document.querySelector("#kt_dialer_example_1"); + + // Create dialer object and initialize a new instance + var dialerObject = new KTDialer(dialerElement, { + min: 1000, + max: 50000, + step: 1000, + prefix: "$", + decimals: 2 + }); + } + + return { + // Public Functions + init: function(element) { + example1(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsDialerDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/dropzonejs.js b/assets/js/custom/documentation/forms/dropzonejs.js new file mode 100644 index 0000000..cc726fd --- /dev/null +++ b/assets/js/custom/documentation/forms/dropzonejs.js @@ -0,0 +1,187 @@ +"use strict"; + +// Class definition +var KTFormsDropzoneJSDemos = function () { + // Private functions + var exampleBasic = function () { + // For more info about Dropzone plugin visit: https://www.dropzonejs.com/#usage + var myDropzone = new Dropzone("#kt_dropzonejs_example_1", { + url: "https://keenthemes.com/scripts/void.php", // Set the url for your upload script location + paramName: "file", // The name that will be used to transfer the file + maxFiles: 10, + maxFilesize: 10, // MB + addRemoveLinks: true, + accept: function (file, done) { + if (file.name == "wow.jpg") { + done("Naha, you don't."); + } else { + done(); + } + } + }); + } + + var exampleQueue = function () { + // set the dropzone container id + const id = "#kt_dropzonejs_example_2"; + const dropzone = document.querySelector(id); + + // set the preview element template + var previewNode = dropzone.querySelector(".dropzone-item"); + previewNode.id = ""; + var previewTemplate = previewNode.parentNode.innerHTML; + previewNode.parentNode.removeChild(previewNode); + + var myDropzone = new Dropzone(id, { // Make the whole body a dropzone + url: "https://preview.keenthemes.com/api/dropzone/void.php", // Set the url for your upload script location + parallelUploads: 20, + previewTemplate: previewTemplate, + maxFilesize: 1, // Max filesize in MB + autoQueue: false, // Make sure the files aren't queued until manually added + previewsContainer: id + " .dropzone-items", // Define the container to display the previews + clickable: id + " .dropzone-select" // Define the element that should be used as click trigger to select files. + }); + + myDropzone.on("addedfile", function (file) { + // Hookup the start button + file.previewElement.querySelector(id + " .dropzone-start").onclick = function () { myDropzone.enqueueFile(file); }; + const dropzoneItems = dropzone.querySelectorAll('.dropzone-item'); + dropzoneItems.forEach(dropzoneItem => { + dropzoneItem.style.display = ''; + }); + dropzone.querySelector('.dropzone-upload').style.display = "inline-block"; + dropzone.querySelector('.dropzone-remove-all').style.display = "inline-block"; + }); + + // Update the total progress bar + myDropzone.on("totaluploadprogress", function (progress) { + const progressBars = dropzone.querySelectorAll('.progress-bar'); + progressBars.forEach(progressBar => { + progressBar.style.width = progress + "%"; + }); + }); + + myDropzone.on("sending", function (file) { + // Show the total progress bar when upload starts + const progressBars = dropzone.querySelectorAll('.progress-bar'); + progressBars.forEach(progressBar => { + progressBar.style.opacity = "1"; + }); + // And disable the start button + file.previewElement.querySelector(id + " .dropzone-start").setAttribute("disabled", "disabled"); + }); + + // Hide the total progress bar when nothing's uploading anymore + myDropzone.on("complete", function (progress) { + const progressBars = dropzone.querySelectorAll('.dz-complete'); + + setTimeout(function () { + progressBars.forEach(progressBar => { + progressBar.querySelector('.progress-bar').style.opacity = "0"; + progressBar.querySelector('.progress').style.opacity = "0"; + progressBar.querySelector('.dropzone-start').style.opacity = "0"; + }); + }, 300); + }); + + // Setup the buttons for all transfers + dropzone.querySelector(".dropzone-upload").addEventListener('click', function () { + myDropzone.enqueueFiles(myDropzone.getFilesWithStatus(Dropzone.ADDED)); + }); + + // Setup the button for remove all files + dropzone.querySelector(".dropzone-remove-all").addEventListener('click', function () { + dropzone.querySelector('.dropzone-upload').style.display = "none"; + dropzone.querySelector('.dropzone-remove-all').style.display = "none"; + myDropzone.removeAllFiles(true); + }); + + // On all files completed upload + myDropzone.on("queuecomplete", function (progress) { + const uploadIcons = dropzone.querySelectorAll('.dropzone-upload'); + uploadIcons.forEach(uploadIcon => { + uploadIcon.style.display = "none"; + }); + }); + + // On all files removed + myDropzone.on("removedfile", function (file) { + if (myDropzone.files.length < 1) { + dropzone.querySelector('.dropzone-upload').style.display = "none"; + dropzone.querySelector('.dropzone-remove-all').style.display = "none"; + } + }); + } + + var exampleQueueAutoUpload = function () { + // set the dropzone container id + const id = "#kt_dropzonejs_example_3"; + const dropzone = document.querySelector(id); + + // set the preview element template + var previewNode = dropzone.querySelector(".dropzone-item"); + previewNode.id = ""; + var previewTemplate = previewNode.parentNode.innerHTML; + previewNode.parentNode.removeChild(previewNode); + + var myDropzone = new Dropzone(id, { // Make the whole body a dropzone + url: "https://preview.keenthemes.com/api/dropzone/void.php", // Set the url for your upload script location + parallelUploads: 20, + maxFilesize: 1, // Max filesize in MB + previewTemplate: previewTemplate, + previewsContainer: id + " .dropzone-items", // Define the container to display the previews + clickable: id + " .dropzone-select" // Define the element that should be used as click trigger to select files. + }); + + + myDropzone.on("addedfile", function (file) { + // Hookup the start button + const dropzoneItems = dropzone.querySelectorAll('.dropzone-item'); + dropzoneItems.forEach(dropzoneItem => { + dropzoneItem.style.display = ''; + }); + }); + + // Update the total progress bar + myDropzone.on("totaluploadprogress", function (progress) { + const progressBars = dropzone.querySelectorAll('.progress-bar'); + progressBars.forEach(progressBar => { + progressBar.style.width = progress + "%"; + }); + }); + + myDropzone.on("sending", function (file) { + // Show the total progress bar when upload starts + const progressBars = dropzone.querySelectorAll('.progress-bar'); + progressBars.forEach(progressBar => { + progressBar.style.opacity = "1"; + }); + }); + + // Hide the total progress bar when nothing"s uploading anymore + myDropzone.on("complete", function (progress) { + const progressBars = dropzone.querySelectorAll('.dz-complete'); + + setTimeout(function () { + progressBars.forEach(progressBar => { + progressBar.querySelector('.progress-bar').style.opacity = "0"; + progressBar.querySelector('.progress').style.opacity = "0"; + }); + }, 300); + }); + } + + return { + // Public Functions + init: function (element) { + exampleBasic(); + exampleQueue(); + exampleQueueAutoUpload(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsDropzoneJSDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/flatpickr.js b/assets/js/custom/documentation/forms/flatpickr.js new file mode 100644 index 0000000..ecaef46 --- /dev/null +++ b/assets/js/custom/documentation/forms/flatpickr.js @@ -0,0 +1,103 @@ +"use strict"; + +// Class definition +var KTFormsFlatpickrDemos = function() { + // Private functions + var example1 = function(element) { + $("#kt_datepicker_1").flatpickr(); + + $("#kt_datepicker_2").flatpickr(); + } + + var example2 = function(element) { + $("#kt_datepicker_3").flatpickr({ + enableTime: true, + dateFormat: "Y-m-d H:i", + }); + } + + var example3 = function(element) { + $("#kt_datepicker_4").flatpickr({ + onReady: function () { + this.jumpToDate("2025-01") + }, + disable: ["2025-01-10", "22025-01-11", "2025-01-12", "2025-01-13", "2025-01-14", "2025-01-15", "2025-01-16", "2025-01-17"], + dateFormat: "Y-m-d", + }); + + $("#kt_datepicker_5").flatpickr({ + onReady: function () { + this.jumpToDate("2025-01") + }, + dateFormat: "Y-m-d", + disable: [ + { + from: "2025-01-05", + to: "2025-01-25" + }, + { + from: "2025-02-03", + to: "2025-02-15" + } + ] + }); + } + + var example4 = function(element) { + $("#kt_datepicker_6").flatpickr({ + onReady: function () { + this.jumpToDate("2025-01") + }, + mode: "multiple", + dateFormat: "Y-m-d", + defaultDate: ["2025-01-05", "2025-01-10"] + }); + } + + var example5 = function(element) { + $("#kt_datepicker_7").flatpickr({ + altInput: true, + altFormat: "F j, Y", + dateFormat: "Y-m-d", + mode: "range" + }); + } + + var example6 = function(element) { + $("#kt_datepicker_8").flatpickr({ + enableTime: true, + noCalendar: true, + dateFormat: "H:i", + }); + } + + var example7 = function(element) { + $("#kt_datepicker_9").flatpickr({ + weekNumbers: true + }); + } + + var example8 = function(element) { + $("#kt_datepicker_10").flatpickr(); + } + + + return { + // Public Functions + init: function(element) { + example1(); + example2(); + example3(); + example4(); + example5(); + example6(); + example7(); + example8(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsFlatpickrDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/forms/formrepeater/advanced.js b/assets/js/custom/documentation/forms/formrepeater/advanced.js new file mode 100644 index 0000000..4d53c24 --- /dev/null +++ b/assets/js/custom/documentation/forms/formrepeater/advanced.js @@ -0,0 +1,55 @@ +"use strict"; + +// Class definition +var KTFormRepeaterAdvanced = function () { + // Private functions + var example1 = function () { + $('#kt_docs_repeater_advanced').repeater({ + initEmpty: false, + + defaultValues: { + 'text-input': 'foo' + }, + + show: function () { + $(this).slideDown(); + + // Re-init select2 + $(this).find('[data-kt-repeater="select2"]').select2(); + + // Re-init flatpickr + $(this).find('[data-kt-repeater="datepicker"]').flatpickr(); + + // Re-init tagify + new Tagify(this.querySelector('[data-kt-repeater="tagify"]')); + }, + + hide: function (deleteElement) { + $(this).slideUp(deleteElement); + }, + + ready: function(){ + // Init select + $('[data-kt-repeater="select2"]').select2(); + + // Init flatpickr + $('[data-kt-repeater="datepicker"]').flatpickr(); + + // Init Tagify + new Tagify(document.querySelector('[data-kt-repeater="tagify"]')); + } + }); + } + + return { + // Public Functions + init: function () { + example1(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormRepeaterAdvanced.init(); +}); diff --git a/assets/js/custom/documentation/forms/formrepeater/basic.js b/assets/js/custom/documentation/forms/formrepeater/basic.js new file mode 100644 index 0000000..ecac121 --- /dev/null +++ b/assets/js/custom/documentation/forms/formrepeater/basic.js @@ -0,0 +1,35 @@ +"use strict"; + +// Class definition +var KTFormRepeaterBasic = function () { + // Private functions + var example1 = function () { + $('#kt_docs_repeater_basic').repeater({ + initEmpty: false, + + defaultValues: { + 'text-input': 'foo' + }, + + show: function () { + $(this).slideDown(); + }, + + hide: function (deleteElement) { + $(this).slideUp(deleteElement); + } + }); + } + + return { + // Public Functions + init: function () { + example1(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormRepeaterBasic.init(); +}); diff --git a/assets/js/custom/documentation/forms/formrepeater/nested.js b/assets/js/custom/documentation/forms/formrepeater/nested.js new file mode 100644 index 0000000..a01007d --- /dev/null +++ b/assets/js/custom/documentation/forms/formrepeater/nested.js @@ -0,0 +1,47 @@ +"use strict"; + +// Class definition +var KTFormRepeaterNested = function() { + // Private functions + var example1 = function() { + $('#kt_docs_repeater_nested').repeater({ + // (Required if there is a nested repeater) + // Specify the configuration of the nested repeaters. + // Nested configuration follows the same format as the base configuration, + // supporting options "defaultValues", "show", "hide", etc. + // Nested repeaters additionally require a "selector" field. + repeaters: [{ + // (Required) + // Specify the jQuery selector for this nested repeater + selector: '.inner-repeater', + show: function () { + $(this).slideDown(); + }, + + hide: function (deleteElement) { + $(this).slideUp(deleteElement); + } + }], + + show: function () { + $(this).slideDown(); + }, + + hide: function (deleteElement) { + $(this).slideUp(deleteElement); + } + }); + } + + return { + // Public Functions + init: function() { + example1(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormRepeaterNested.init(); +}); diff --git a/assets/js/custom/documentation/forms/formvalidation/advanced.js b/assets/js/custom/documentation/forms/formvalidation/advanced.js new file mode 100644 index 0000000..c101a6a --- /dev/null +++ b/assets/js/custom/documentation/forms/formvalidation/advanced.js @@ -0,0 +1,664 @@ +"use strict"; + +// Class definition +var KTFormValidationDemoAdvanced = function () { + + // Private functions + var exampleAdvanced = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_advanced'); + + // Init daterangepicker --- for more info, please visit: https://www.daterangepicker.com/ + $("#kt_daterangepicker").daterangepicker(); + + // Init flatpickr --- for more info, please visit: https://flatpickr.js.org/ + $("#kt_flatpickr").flatpickr(); + + // Init tagify --- for more info, please visit: https://yaireo.github.io/tagify/ + new Tagify(document.querySelector("#kt_tagify"), { + whitelist: ["Tag 1", "Tag 2", "Tag 3", "Tag 4", "Tag 5", "Tag 6", "Tag 7", "Tag 8", "Tag 9", "Tag 10", "Tag 11", "Tag 12"], + maxTags: 6, + dropdown: { + maxItems: 20, // <- mixumum allowed rendered suggestions + classname: "tagify__inline__suggestions", // <- custom classname for this dropdown, so it could be targeted + enabled: 0, // <- show suggestions on focus + closeOnSelect: false // <- do not hide the suggestions dropdown once an item has been selected + } + }); + + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'daterangepicker_input': { + validators: { + notEmpty: { + message: 'Date range input is required' + } + } + }, + 'flatpickr_input': { + validators: { + date: { + format: 'YYYY-MM-DD', + message: 'The value is not a valid date', + }, + notEmpty: { + message: 'Flatpickr input is required' + } + } + }, + 'avatar': { + validators: { + notEmpty: { + message: 'Please select an image' + }, + file: { + extension: 'jpg,jpeg,png', + type: 'image/jpeg,image/png', + message: 'The selected file is not valid' + }, + } + }, + 'select2_input': { + validators: { + notEmpty: { + message: 'Select2 input is required' + } + } + }, + 'tagify_input': { + validators: { + notEmpty: { + message: 'Tagify input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Revalidate Select2 input. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="select2_input"]')).on('change', function () { + // Revalidate the field when an option is chosen + validator.revalidateField('select2_input'); + }); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleDateRangePicker = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_daterangepicker'); + + // Init daterangepicker --- for more info, please visit: https://www.daterangepicker.com/ + $("#kt_daterangepicker").daterangepicker(); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'daterangepicker_input': { + validators: { + notEmpty: { + message: 'Date range input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_daterangepicker_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleFlatpickr = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_flatpickr'); + + // Init flatpickr --- for more info, please visit: https://flatpickr.js.org/ + $("#kt_flatpickr").flatpickr(); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'flatpickr_input': { + validators: { + date: { + format: 'YYYY-MM-DD', + message: 'The value is not a valid date', + }, + notEmpty: { + message: 'Flatpickr input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_flatpickr_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleImageInput = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_image_input'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'avatar': { + validators: { + notEmpty: { + message: 'Please select an image' + }, + file: { + extension: 'jpg,jpeg,png', + type: 'image/jpeg,image/png', + message: 'The selected file is not valid' + }, + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_image_input_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var examplePassword = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_password'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'current_password': { + validators: { + notEmpty: { + message: 'Current password is required' + } + } + }, + 'new_password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function (input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm_password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function () { + return form.querySelector('[name="new_password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_password_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleSelect2 = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_select2'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'select2_input': { + validators: { + notEmpty: { + message: 'Select2 input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Revalidate Select2 input. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="select2_input"]')).on('change', function () { + // Revalidate the field when an option is chosen + validator.revalidateField('select2_input'); + }); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_select2_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleTagify = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_tagify'); + + // Init tagify --- for more info, please visit: https://yaireo.github.io/tagify/ + new Tagify(document.querySelector("#kt_tagify"), { + whitelist: ["Tag 1", "Tag 2", "Tag 3", "Tag 4", "Tag 5", "Tag 6", "Tag 7", "Tag 8", "Tag 9", "Tag 10", "Tag 11", "Tag 12"], + maxTags: 6, + dropdown: { + maxItems: 20, // <- mixumum allowed rendered suggestions + classname: "tagify__inline__suggestions", // <- custom classname for this dropdown, so it could be targeted + enabled: 0, // <- show suggestions on focus + closeOnSelect: false // <- do not hide the suggestions dropdown once an item has been selected + } + }); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'tagify_input': { + validators: { + notEmpty: { + message: 'Tagify input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_tagify_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + return { + // Public Functions + init: function () { + exampleDateRangePicker(); + exampleFlatpickr(); + exampleImageInput(); + examplePassword(); + exampleSelect2(); + exampleTagify(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormValidationDemoAdvanced.init(); +}); diff --git a/assets/js/custom/documentation/forms/formvalidation/basic.js b/assets/js/custom/documentation/forms/formvalidation/basic.js new file mode 100644 index 0000000..d1fe99f --- /dev/null +++ b/assets/js/custom/documentation/forms/formvalidation/basic.js @@ -0,0 +1,536 @@ +"use strict"; + +// Class definition +var KTFormValidationDemoBasic = function () { + + // Private functions + var exampleBasic = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_basic'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'text_input': { + validators: { + notEmpty: { + message: 'Text input is required' + } + } + }, + 'email_input': { + validators: { + emailAddress: { + message: 'The value is not a valid email address' + }, + notEmpty: { + message: 'Email address is required' + } + } + }, + 'current_password': { + validators: { + notEmpty: { + message: 'Current password is required' + } + } + }, + 'new_password': { + validators: { + notEmpty: { + message: 'The password is required' + }, + callback: { + message: 'Please enter valid password', + callback: function (input) { + if (input.value.length > 0) { + return validatePassword(); + } + } + } + } + }, + 'confirm_password': { + validators: { + notEmpty: { + message: 'The password confirmation is required' + }, + identical: { + compare: function () { + return form.querySelector('[name="new_password"]').value; + }, + message: 'The password and its confirm are not the same' + } + } + }, + 'textarea_input': { + validators: { + notEmpty: { + message: 'Textarea input is required' + } + } + }, + 'radio_input': { + validators: { + notEmpty: { + message: 'Radio input is required' + } + } + }, + 'checkbox_input': { + validators: { + notEmpty: { + message: 'Radio input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + + } + + var exampleText = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_text'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'text_input': { + validators: { + notEmpty: { + message: 'Text input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_text_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleEmail = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_email'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'email_input': { + validators: { + emailAddress: { + message: 'The value is not a valid email address' + }, + notEmpty: { + message: 'Email address is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_email_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleTextarea = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_textarea'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'textarea_input': { + validators: { + notEmpty: { + message: 'Textarea input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_textarea_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleRadio = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_radio'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'radio_input': { + validators: { + notEmpty: { + message: 'Radio input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_radio_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + var exampleCheckbox = function () { + // Define form element + const form = document.getElementById('kt_docs_formvalidation_checkbox'); + + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + var validator = FormValidation.formValidation( + form, + { + fields: { + 'checkbox_input': { + validators: { + notEmpty: { + message: 'Checkbox input is required' + } + } + }, + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + ); + + // Submit button handler + const submitButton = document.getElementById('kt_docs_formvalidation_checkbox_submit'); + submitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Validate form before submit + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + // Show loading indication + submitButton.setAttribute('data-kt-indicator', 'on'); + + // Disable button to avoid multiple click + submitButton.disabled = true; + + // Simulate form submission. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + setTimeout(function () { + // Remove loading indication + submitButton.removeAttribute('data-kt-indicator'); + + // Enable button + submitButton.disabled = false; + + // Show popup confirmation + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + + //form.submit(); // Submit form + }, 2000); + } + }); + } + }); + } + + return { + // Public Functions + init: function () { + exampleText(); + exampleEmail(); + exampleTextarea(); + exampleRadio(); + exampleCheckbox(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormValidationDemoBasic.init(); +}); diff --git a/assets/js/custom/documentation/forms/image-input.js b/assets/js/custom/documentation/forms/image-input.js new file mode 100644 index 0000000..6c1c018 --- /dev/null +++ b/assets/js/custom/documentation/forms/image-input.js @@ -0,0 +1,21 @@ +"use strict"; + +// Class definition +var KTGeneralImageInputDemos = function() { + // Private functions + var _exampleBasic = function() { + + } + + return { + // Public Functions + init: function() { + _exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralImageInputDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/inputmask.js b/assets/js/custom/documentation/forms/inputmask.js new file mode 100644 index 0000000..75469cd --- /dev/null +++ b/assets/js/custom/documentation/forms/inputmask.js @@ -0,0 +1,74 @@ +"use strict"; + +// Class definition +var KTFormsInputmaskDemos = function() { + // Private functions + var _examples = function() { + // Date + Inputmask({ + "mask" : "99/99/9999" + }).mask("#kt_inputmask_1"); + + // Phone + Inputmask({ + "mask" : "(999) 999-9999" + }).mask("#kt_inputmask_2"); + + // Placeholder + Inputmask({ + "mask" : "(999) 999-9999", + "placeholder": "(999) 999-9999", + }).mask("#kt_inputmask_3"); + + // Repeating + Inputmask({ + "mask": "9", + "repeat": 10, + "greedy": false + }).mask("#kt_inputmask_4"); + + // Right aligned + Inputmask("decimal", { + "rightAlignNumerics": false + }).mask("#kt_inputmask_5"); + + // Currency + Inputmask("€ 999.999.999,99", { + "numericInput": true + }).mask("#kt_inputmask_6"); + + // Ip address + Inputmask({ + "mask": "999.999.999.999" + }).mask("#kt_inputmask_7"); + + // Email address + Inputmask({ + mask: "*{1,20}[.*{1,20}][.*{1,20}][.*{1,20}]@*{1,20}[.*{2,6}][.*{1,2}]", + greedy: false, + onBeforePaste: function (pastedValue, opts) { + pastedValue = pastedValue.toLowerCase(); + return pastedValue.replace("mailto:", ""); + }, + definitions: { + "*": { + validator: '[0-9A-Za-z!#$%&"*+/=?^_`{|}~\-]', + cardinality: 1, + casing: "lower" + } + } + }).mask("#kt_inputmask_8"); + } + + return { + // Public Functions + init: function(element) { + _examples(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsInputmaskDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/multiselectsplitter.js b/assets/js/custom/documentation/forms/multiselectsplitter.js new file mode 100644 index 0000000..5e8442e --- /dev/null +++ b/assets/js/custom/documentation/forms/multiselectsplitter.js @@ -0,0 +1,65 @@ +"use strict"; + +// Class definition +var KTFormsMultiselectsplitterDemos = function() { + // Private functions + var example1 = function() { + $("#kt_multiselectsplitter_example_1").multiselectsplitter(); + } + + var example2 = function() { + $('#kt_multiselectsplitter_example_2').multiselectsplitter({ + selectSize: 7, + clearOnFirstChange: true, + groupCounter: true + }); + } + + var example3 = function() { + $('#kt_multiselectsplitter_example_3').multiselectsplitter({ + groupCounter: true, + maximumSelected: 2 + }); + } + + var example4 = function() { + $('#kt_multiselectsplitter_example_4').multiselectsplitter({ + groupCounter: true, + maximumSelected: 3, + onlySameGroup: true + }); + } + + var example5 = function() { + $('#kt_multiselectsplitter_example_5').multiselectsplitter({ + size: 6, + groupCounter: true, + maximumSelected: 2, + maximumAlert: function(maximumSelected) { + alert("You choose " + ( maximumSelected + 1 ) + " options. Are you crazy ?"); + }, + createFirstSelect: function (label, $originalSelect) { + return ""; + }, + createSecondSelect: function (label, $firstSelect) { + return ""; + } + }); + } + + return { + // Public Functions + init: function() { + example1(); + example2(); + example3(); + example4(); + example5(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsMultiselectsplitterDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/nouislider.js b/assets/js/custom/documentation/forms/nouislider.js new file mode 100644 index 0000000..6361335 --- /dev/null +++ b/assets/js/custom/documentation/forms/nouislider.js @@ -0,0 +1,121 @@ +"use strict"; + +// Class definition +var KTFormsNouisliderDemos = function() { + // Private functions + var _exampleBasic = function() { + var slider = document.querySelector("#kt_slider_basic"); + var valueMin = document.querySelector("#kt_slider_basic_min"); + var valueMax = document.querySelector("#kt_slider_basic_max"); + + noUiSlider.create(slider, { + start: [20, 80], + connect: true, + range: { + "min": 0, + "max": 100 + } + }); + + slider.noUiSlider.on("update", function (values, handle) { + if (handle) { + valueMax.innerHTML = values[handle]; + } else { + valueMin.innerHTML = values[handle]; + } + }); + } + + var _exampleSizes = function() { + var slider1 = document.querySelector("#kt_slider_sizes_sm"); + var slider2 = document.querySelector("#kt_slider_sizes_default"); + var slider3 = document.querySelector("#kt_slider_sizes_lg"); + + noUiSlider.create(slider1, { + start: [20, 80], + connect: true, + range: { + "min": 0, + "max": 100 + } + }); + + noUiSlider.create(slider2, { + start: [20, 80], + connect: true, + range: { + "min": 0, + "max": 100 + } + }); + + noUiSlider.create(slider3, { + start: [20, 80], + connect: true, + range: { + "min": 0, + "max": 100 + } + }); + } + + var _exampleVertical = function() { + var slider = document.querySelector("#kt_slider_vertical"); + + noUiSlider.create(slider, { + start: [60, 160], + connect: true, + orientation: "vertical", + range: { + "min": 0, + "max": 200 + } + }); + } + + var _exampleTooltip = function() { + var slider = document.querySelector("#kt_slider_tooltip"); + + noUiSlider.create(slider, { + start: [20, 80, 120], + tooltips: [false, wNumb({decimals: 1}), true], + range: { + "min": 0, + "max": 200 + } + }); + } + + var _exampleSoftLimits = function() { + var slider = document.querySelector("#kt_slider_soft_limits"); + + noUiSlider.create(slider, { + start: 50, + range: { + min: 0, + max: 100 + }, + pips: { + mode: "values", + values: [20, 80], + density: 4 + } + }); + } + + return { + // Public Functions + init: function(element) { + _exampleBasic(); + _exampleSizes(); + _exampleVertical(); + _exampleTooltip(); + _exampleSoftLimits(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTFormsNouisliderDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/forms/password-meter.js b/assets/js/custom/documentation/forms/password-meter.js new file mode 100644 index 0000000..d3d3f40 --- /dev/null +++ b/assets/js/custom/documentation/forms/password-meter.js @@ -0,0 +1,43 @@ +"use strict"; + +// Class definition +var KTGeneralPasswordMeterDemos = function() { + // Private functions + var _showScore = function() { + // Select show score button + const showScoreButton = document.getElementById('kt_password_meter_example_show_score'); + + // Get password meter instance + const passwordMeterElement = document.querySelector("#kt_password_meter_example"); + const passwordMeter = KTPasswordMeter.getInstance(passwordMeterElement); + + // Handle show score button click + showScoreButton.addEventListener('click', e => { + // Get password score + const score = passwordMeter.getScore(); + + // Show popup confirmation + Swal.fire({ + text: "Current Password Score: " + score, + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + }); + } + + return { + // Public Functions + init: function() { + _showScore(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralPasswordMeterDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/recaptcha.js b/assets/js/custom/documentation/forms/recaptcha.js new file mode 100644 index 0000000..14b6fd4 --- /dev/null +++ b/assets/js/custom/documentation/forms/recaptcha.js @@ -0,0 +1,31 @@ +"use strict"; + +// Class definition +var KTFormsGoogleRecaptchaDemos = function () { + // Private functions + var example = function (element) { + document.querySelector("#kt_form_submit_button").addEventListener("click", function (e) { + e.preventDefault(); + + grecaptcha.ready(function () { + if (grecaptcha.getResponse() === "") { + alert("Please validate the Google reCaptcha."); + } else { + alert("Successful validation! Now you can submit this form to your server side processing."); + } + }); + }); + } + + return { + // Public Functions + init: function (element) { + example(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsGoogleRecaptchaDemos.init(); +}); diff --git a/assets/js/custom/documentation/forms/select2.js b/assets/js/custom/documentation/forms/select2.js new file mode 100644 index 0000000..5d786b2 --- /dev/null +++ b/assets/js/custom/documentation/forms/select2.js @@ -0,0 +1,74 @@ +"use strict"; + +// Class definition +var KTFormsSelect2Demo = function () { + // Private functions + var exampleCountry = function () { + // Format options + const format = (item) => { + if (!item.id) { + return item.text; + } + + var url = hostUrl + 'media/' + item.element.getAttribute('data-kt-select2-country'); + var img = $("", { + class: "rounded-circle me-2", + width: 26, + src: url + }); + var span = $("", { + text: " " + item.text + }); + span.prepend(img); + return span; + } + + // Init Select2 --- more info: https://select2.org/ + $('#kt_docs_select2_country').select2({ + templateResult: function (item) { + return format(item); + } + }); + } + + const exampleUsers = function () { + // Format options + const format = (item) => { + if (!item.id) { + return item.text; + } + + var url = hostUrl + 'media/' + item.element.getAttribute('data-kt-select2-user'); + var img = $("", { + class: "rounded-circle me-2", + width: 26, + src: url + }); + var span = $("", { + text: " " + item.text + }); + span.prepend(img); + return span; + } + + // Init Select2 --- more info: https://select2.org/ + $('#kt_docs_select2_users').select2({ + templateResult: function (item) { + return format(item); + } + }); + } + + return { + // Public Functions + init: function () { + exampleCountry(); + exampleUsers(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsSelect2Demo.init(); +}); diff --git a/assets/js/custom/documentation/forms/tagify.js b/assets/js/custom/documentation/forms/tagify.js new file mode 100644 index 0000000..874f530 --- /dev/null +++ b/assets/js/custom/documentation/forms/tagify.js @@ -0,0 +1,275 @@ +"use strict"; + +// Class definition +var KTFormsTagifyDemos = function () { + // Private functions + var example1 = function (element) { + // The DOM elements you wish to replace with Tagify + var input1 = document.querySelector("#kt_tagify_1"); + var input2 = document.querySelector("#kt_tagify_2"); + + // Initialize Tagify components on the above inputs + new Tagify(input1, { + placeholder: "Type something" + }); + new Tagify(input2, { + placeholder: "Type something" + }); + } + + var example2 = function (element) { + // The DOM elements you wish to replace with Tagify + var input1 = document.querySelector("#kt_tagify_3"); + var input2 = document.querySelector("#kt_tagify_4"); + var input3 = document.querySelector("#kt_tagify_5"); + + // Initialize Tagify components on the above inputs + new Tagify(input1); + new Tagify(input2); + new Tagify(input3); + } + + var example3 = function (element) { + // The DOM elements you wish to replace with Tagify + var input1 = document.querySelector("#kt_tagify_6"); + var input2 = document.querySelector("#kt_tagify_7"); + + // Initialize Tagify components on the above inputs + new Tagify(input1, { + whitelist: ["A# .NET", "A# (Axiom)", "A-0 System", "A+", "A++", "ABAP", "ABC", "ABC ALGOL", "ABSET", "ABSYS", "ACC", "Accent", "Ace DASL", "ACL2", "Avicsoft", "ACT-III", "Action!", "ActionScript", "Ada", "Adenine", "Agda", "Agilent VEE", "Agora", "AIMMS", "Alef", "ALF", "ALGOL 58", "ALGOL 60", "ALGOL 68", "ALGOL W", "Alice", "Alma-0", "AmbientTalk", "Amiga E", "AMOS", "AMPL", "Apex (Salesforce.com)", "APL", "AppleScript", "Arc", "ARexx", "Argus", "AspectJ", "Assembly language", "ATS", "Ateji PX", "AutoHotkey", "Autocoder", "AutoIt", "AutoLISP / Visual LISP", "Averest", "AWK", "Axum", "Active Server Pages", "ASP.NET", "B", "Babbage", "Bash", "BASIC", "bc", "BCPL", "BeanShell", "Batch (Windows/Dos)", "Bertrand", "BETA", "Bigwig", "Bistro", "BitC", "BLISS", "Blockly", "BlooP", "Blue", "Boo", "Boomerang", "Bourne shell (including bash and ksh)", "BREW", "BPEL", "B", "C--", "C++ – ISO/IEC 14882", "C# – ISO/IEC 23270", "C/AL", "Caché ObjectScript", "C Shell", "Caml", "Cayenne", "CDuce", "Cecil", "Cesil", "Céu", "Ceylon", "CFEngine", "CFML", "Cg", "Ch", "Chapel", "Charity", "Charm", "Chef", "CHILL", "CHIP-8", "chomski", "ChucK", "CICS", "Cilk", "Citrine (programming language)", "CL (IBM)", "Claire", "Clarion", "Clean", "Clipper", "CLIPS", "CLIST", "Clojure", "CLU", "CMS-2", "COBOL – ISO/IEC 1989", "CobolScript – COBOL Scripting language", "Cobra", "CODE", "CoffeeScript", "ColdFusion", "COMAL", "Combined Programming Language (CPL)", "COMIT", "Common Intermediate Language (CIL)", "Common Lisp (also known as CL)", "COMPASS", "Component Pascal", "Constraint Handling Rules (CHR)", "COMTRAN", "Converge", "Cool", "Coq", "Coral 66", "Corn", "CorVision", "COWSEL", "CPL", "CPL", "Cryptol", "csh", "Csound", "CSP", "CUDA", "Curl", "Curry", "Cybil", "Cyclone", "Cython", "Java", "Javascript", "M2001", "M4", "M#", "Machine code", "MAD (Michigan Algorithm Decoder)", "MAD/I", "Magik", "Magma", "make", "Maple", "MAPPER now part of BIS", "MARK-IV now VISION:BUILDER", "Mary", "MASM Microsoft Assembly x86", "MATH-MATIC", "Mathematica", "MATLAB", "Maxima (see also Macsyma)", "Max (Max Msp – Graphical Programming Environment)", "Maya (MEL)", "MDL", "Mercury", "Mesa", "Metafont", "Microcode", "MicroScript", "MIIS", "Milk (programming language)", "MIMIC", "Mirah", "Miranda", "MIVA Script", "ML", "Model 204", "Modelica", "Modula", "Modula-2", "Modula-3", "Mohol", "MOO", "Mortran", "Mouse", "MPD", "Mathcad", "MSIL – deprecated name for CIL", "MSL", "MUMPS", "Mystic Programming L"], + maxTags: 10, + dropdown: { + maxItems: 20, // <- mixumum allowed rendered suggestions + classname: "tagify__inline__suggestions", // <- custom classname for this dropdown, so it could be targeted + enabled: 0, // <- show suggestions on focus + closeOnSelect: false // <- do not hide the suggestions dropdown once an item has been selected + } + }); + + new Tagify(input2, { + whitelist: ["A# .NET", "A# (Axiom)", "A-0 System", "A+", "A++", "ABAP", "ABC", "ABC ALGOL", "ABSET", "ABSYS", "ACC", "Accent", "Ace DASL", "ACL2", "Avicsoft", "ACT-III", "Action!", "ActionScript", "Ada", "Adenine", "Agda", "Agilent VEE", "Agora", "AIMMS", "Alef", "ALF", "ALGOL 58", "ALGOL 60", "ALGOL 68", "ALGOL W", "Alice", "Alma-0", "AmbientTalk", "Amiga E", "AMOS", "AMPL", "Apex (Salesforce.com)", "APL", "AppleScript", "Arc", "ARexx", "Argus", "AspectJ", "Assembly language", "ATS", "Ateji PX", "AutoHotkey", "Autocoder", "AutoIt", "AutoLISP / Visual LISP", "Averest", "AWK", "Axum", "Active Server Pages", "ASP.NET", "B", "Babbage", "Bash", "BASIC", "bc", "BCPL", "BeanShell", "Batch (Windows/Dos)", "Bertrand", "BETA", "Bigwig", "Bistro", "BitC", "BLISS", "Blockly", "BlooP", "Blue", "Boo", "Boomerang", "Bourne shell (including bash and ksh)", "BREW", "BPEL", "B", "C--", "C++ – ISO/IEC 14882", "C# – ISO/IEC 23270", "C/AL", "Caché ObjectScript", "C Shell", "Caml", "Cayenne", "CDuce", "Cecil", "Cesil", "Céu", "Ceylon", "CFEngine", "CFML", "Cg", "Ch", "Chapel", "Charity", "Charm", "Chef", "CHILL", "CHIP-8", "chomski", "ChucK", "CICS", "Cilk", "Citrine (programming language)", "CL (IBM)", "Claire", "Clarion", "Clean", "Clipper", "CLIPS", "CLIST", "Clojure", "CLU", "CMS-2", "COBOL – ISO/IEC 1989", "CobolScript – COBOL Scripting language", "Cobra", "CODE", "CoffeeScript", "ColdFusion", "COMAL", "Combined Programming Language (CPL)", "COMIT", "Common Intermediate Language (CIL)", "Common Lisp (also known as CL)", "COMPASS", "Component Pascal", "Constraint Handling Rules (CHR)", "COMTRAN", "Converge", "Cool", "Coq", "Coral 66", "Corn", "CorVision", "COWSEL", "CPL", "CPL", "Cryptol", "csh", "Csound", "CSP", "CUDA", "Curl", "Curry", "Cybil", "Cyclone", "Cython", "Java", "Javascript", "M2001", "M4", "M#", "Machine code", "MAD (Michigan Algorithm Decoder)", "MAD/I", "Magik", "Magma", "make", "Maple", "MAPPER now part of BIS", "MARK-IV now VISION:BUILDER", "Mary", "MASM Microsoft Assembly x86", "MATH-MATIC", "Mathematica", "MATLAB", "Maxima (see also Macsyma)", "Max (Max Msp – Graphical Programming Environment)", "Maya (MEL)", "MDL", "Mercury", "Mesa", "Metafont", "Microcode", "MicroScript", "MIIS", "Milk (programming language)", "MIMIC", "Mirah", "Miranda", "MIVA Script", "ML", "Model 204", "Modelica", "Modula", "Modula-2", "Modula-3", "Mohol", "MOO", "Mortran", "Mouse", "MPD", "Mathcad", "MSIL – deprecated name for CIL", "MSL", "MUMPS", "Mystic Programming L"], + maxTags: 10, + dropdown: { + maxItems: 20, // <- mixumum allowed rendered suggestions + classname: "", // <- custom classname for this dropdown, so it could be targeted + enabled: 0, // <- show suggestions on focus + closeOnSelect: false // <- do not hide the suggestions dropdown once an item has been selected + } + }); + } + + var example4 = function (element) { + // The DOM elements you wish to replace with Tagify + var input1 = document.querySelector("#kt_tagify_8"); + + // Initialize Tagify components on the above inputs + new Tagify(input1); + } + + const exampleCountry = () => { + var tagify = new Tagify(document.querySelector('#kt_tagify_country'), { + delimiters: null, + templates: { + tag: function (tagData) { + const countryPath = hostUrl + 'media/flags/' + tagData.value.toLowerCase().replace(/\s+/g, '-') + '.svg'; + try { + // _ESCAPE_START_ + return ` + +
+ ${tagData.code ? + `` : '' + } + ${tagData.value} +
+
` + // _ESCAPE_END_ + } + catch (err) { } + }, + + dropdownItem: function (tagData) { + const countryPath = hostUrl + 'media/flags/' + tagData.value.toLowerCase().replace(/\s+/g, '-') + '.svg'; + try { + // _ESCAPE_START_ + return `
+ + ${tagData.value} +
` + // _ESCAPE_END_ + } + catch (err) { } + } + }, + enforceWhitelist: true, + whitelist: [ + { value: 'Argentina', code: 'AR' }, + { value: 'Australia', code: 'AU', searchBy: 'beach, sub-tropical' }, + { value: 'Austria', code: 'AT' }, + { value: 'Brazil', code: 'BR' }, + { value: 'China', code: 'CN' }, + { value: 'Egypt', code: 'EG' }, + { value: 'Finland', code: 'FI' }, + { value: 'France', code: 'FR' }, + { value: 'Germany', code: 'DE' }, + { value: 'Hong Kong', code: 'HK' }, + { value: 'Hungary', code: 'HU' }, + { value: 'Iceland', code: 'IS' }, + { value: 'India', code: 'IN' }, + { value: 'Indonesia', code: 'ID' }, + { value: 'Italy', code: 'IT' }, + { value: 'Jamaica', code: 'JM' }, + { value: 'Japan', code: 'JP' }, + { value: 'Jersey', code: 'JE' }, + { value: 'Luxembourg', code: 'LU' }, + { value: 'Mexico', code: 'MX' }, + { value: 'Netherlands', code: 'NL' }, + { value: 'New Zealand', code: 'NZ' }, + { value: 'Norway', code: 'NO' }, + { value: 'Philippines', code: 'PH' }, + { value: 'Singapore', code: 'SG' }, + { value: 'South Korea', code: 'KR' }, + { value: 'Sweden', code: 'SE' }, + { value: 'Switzerland', code: 'CH' }, + { value: 'Thailand', code: 'TH' }, + { value: 'Ukraine', code: 'UA' }, + { value: 'United Kingdom', code: 'GB' }, + { value: 'United States', code: 'US' }, + { value: 'Vietnam', code: 'VN' } + ], + dropdown: { + enabled: 1, // suggest tags after a single character input + classname: 'extra-properties' // custom class for the suggestions dropdown + } // map tags' values to this property name, so this property will be the actual value and not the printed value on the screen + }) + + // add the first 2 tags and makes them readonly + var tagsToAdd = tagify.settings.whitelist.slice(0, 2); + tagify.addTags(tagsToAdd); + } + + const exampleUsers = () => { + var inputElm = document.querySelector('#kt_tagify_users'); + + const usersList = [ + { value: 1, name: 'Emma Smith', avatar: 'avatars/150-1.jpg', email: 'e.smith@kpmg.com.au' }, + { value: 2, name: 'Max Smith', avatar: 'avatars/150-26.jpg', email: 'max@kt.com' }, + { value: 3, name: 'Sean Bean', avatar: 'avatars/150-4.jpg', email: 'sean@dellito.com' }, + { value: 4, name: 'Brian Cox', avatar: 'avatars/150-15.jpg', email: 'brian@exchange.com' }, + { value: 5, name: 'Francis Mitcham', avatar: 'avatars/150-8.jpg', email: 'f.mitcham@kpmg.com.au' }, + { value: 6, name: 'Dan Wilson', avatar: 'avatars/150-6.jpg', email: 'dam@consilting.com' }, + { value: 7, name: 'Ana Crown', avatar: 'avatars/150-7.jpg', email: 'ana.cf@limtel.com' }, + { value: 8, name: 'John Miller', avatar: 'avatars/150-17.jpg', email: 'miller@mapple.com' } + ]; + + function tagTemplate(tagData) { + return ` + + +
+
+ +
+ ${tagData.name} +
+
+ ` + } + + function suggestionItemTemplate(tagData) { + return ` +
+ + ${tagData.avatar ? ` +
+ +
` : '' + } + +
+ ${tagData.name} + ${tagData.email} +
+
+ ` + } + + // initialize Tagify on the above input node reference + var tagify = new Tagify(inputElm, { + tagTextProp: 'name', // very important since a custom template is used with this property as text. allows typing a "value" or a "name" to match input with whitelist + enforceWhitelist: true, + skipInvalid: true, // do not remporarily add invalid tags + dropdown: { + closeOnSelect: false, + enabled: 0, + classname: 'users-list', + searchKeys: ['name', 'email'] // very important to set by which keys to search for suggesttions when typing + }, + templates: { + tag: tagTemplate, + dropdownItem: suggestionItemTemplate + }, + whitelist: usersList + }) + + tagify.on('dropdown:show dropdown:updated', onDropdownShow) + tagify.on('dropdown:select', onSelectSuggestion) + + var addAllSuggestionsElm; + + function onDropdownShow(e) { + var dropdownContentElm = e.detail.tagify.DOM.dropdown.content; + + if (tagify.suggestedListItems.length > 1) { + addAllSuggestionsElm = getAddAllSuggestionsElm(); + + // insert "addAllSuggestionsElm" as the first element in the suggestions list + dropdownContentElm.insertBefore(addAllSuggestionsElm, dropdownContentElm.firstChild) + } + } + + function onSelectSuggestion(e) { + if (e.detail.elm == addAllSuggestionsElm) + tagify.dropdown.selectAll.call(tagify); + } + + // create a "add all" custom suggestion element every time the dropdown changes + function getAddAllSuggestionsElm() { + // suggestions items should be based on "dropdownItem" template + return tagify.parseTemplate('dropdownItem', [{ + class: "addAll", + name: "Add all", + email: tagify.settings.whitelist.reduce(function (remainingSuggestions, item) { + return tagify.isTagDuplicate(item.value) ? remainingSuggestions : remainingSuggestions + 1 + }, 0) + " Members" + }] + ) + } + } + + return { + // Public Functions + init: function () { + example1(); + example2(); + example3(); + example4(); + exampleCountry(); + exampleUsers(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTFormsTagifyDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/blockui.js b/assets/js/custom/documentation/general/blockui.js new file mode 100644 index 0000000..b2229d2 --- /dev/null +++ b/assets/js/custom/documentation/general/blockui.js @@ -0,0 +1,109 @@ +"use strict"; + +// Class definition +var KTGeneralBlockUI = function() { + // Private functions + var example1 = function() { + var button = document.querySelector("#kt_block_ui_1_button"); + var target = document.querySelector("#kt_block_ui_1_target"); + + var blockUI = new KTBlockUI(target); + + button.addEventListener("click", function() { + if (blockUI.isBlocked()) { + blockUI.release(); + button.innerText = "Block"; + } else { + blockUI.block(); + button.innerText = "Release"; + } + }); + } + + var example2 = function() { + var button = document.querySelector("#kt_block_ui_2_button"); + var target = document.querySelector("#kt_block_ui_2_target"); + + var blockUI = new KTBlockUI(target, { + message: '
Loading...
', + }); + + button.addEventListener("click", function() { + if (blockUI.isBlocked()) { + blockUI.release(); + button.innerText = "Block"; + } else { + blockUI.block(); + button.innerText = "Release"; + } + }); + } + + var example3 = function() { + var button = document.querySelector("#kt_block_ui_3_button"); + var target = document.querySelector("#kt_block_ui_3_target"); + + var blockUI = new KTBlockUI(target, { + overlayClass: 'bg-danger bg-opacity-25', + }); + + button.addEventListener("click", function() { + if (blockUI.isBlocked()) { + blockUI.release(); + button.innerText = "Block"; + } else { + blockUI.block(); + button.innerText = "Release"; + } + }); + } + + var example4 = function() { + var button = document.querySelector("#kt_block_ui_4_button"); + var target = document.querySelector("#kt_block_ui_4_target"); + + var blockUI = new KTBlockUI(target); + + button.addEventListener("click", function(e) { + e.preventDefault(); + + blockUI.block(); + + setTimeout(function() { + blockUI.release(); + }, 3000); + }); + } + + var example5 = function() { + var button = document.querySelector("#kt_block_ui_5_button"); + + var blockUI = new KTBlockUI(document.body); + + button.addEventListener("click", function(e) { + e.preventDefault(); + + blockUI.block(); + + setTimeout(function() { + //blockUI.release(); + }, 3000); + }); + } + + return { + // Public Functions + init: function() { + example1(); + example2(); + example3(); + example4(); + example5(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralBlockUI.init(); +}); diff --git a/assets/js/custom/documentation/general/cropper.js b/assets/js/custom/documentation/general/cropper.js new file mode 100644 index 0000000..3c900ac --- /dev/null +++ b/assets/js/custom/documentation/general/cropper.js @@ -0,0 +1,124 @@ +'use strict'; + +// Class definition +var KTCropperDemo = function () { + + // Private functions + var initCropperDemo = function () { + var image = document.getElementById('image'); + + var options = { + crop: function (event) { + document.getElementById('dataX').value = Math.round(event.detail.x); + document.getElementById('dataY').value = Math.round(event.detail.y); + document.getElementById('dataWidth').value = Math.round(event.detail.width); + document.getElementById('dataHeight').value = Math.round(event.detail.height); + document.getElementById('dataRotate').value = event.detail.rotate; + document.getElementById('dataScaleX').value = event.detail.scaleX; + document.getElementById('dataScaleY').value = event.detail.scaleY; + + var lg = document.getElementById('cropper-preview-lg'); + lg.innerHTML = ''; + lg.appendChild(cropper.getCroppedCanvas({ width: 256, height: 160 })); + + var md = document.getElementById('cropper-preview-md'); + md.innerHTML = ''; + md.appendChild(cropper.getCroppedCanvas({ width: 128, height: 80 })); + + var sm = document.getElementById('cropper-preview-sm'); + sm.innerHTML = ''; + sm.appendChild(cropper.getCroppedCanvas({ width: 64, height: 40 })); + + var xs = document.getElementById('cropper-preview-xs'); + xs.innerHTML = ''; + xs.appendChild(cropper.getCroppedCanvas({ width: 32, height: 20 })); + }, + }; + + var cropper = new Cropper(image, options); + + var buttons = document.getElementById('cropper-buttons'); + var methods = buttons.querySelectorAll('[data-method]'); + methods.forEach(function (button) { + button.addEventListener('click', function (e) { + var method = button.getAttribute('data-method'); + var option = button.getAttribute('data-option'); + var option2 = button.getAttribute('data-second-option'); + + try { + option = JSON.parse(option); + } + catch (e) { + } + + var result; + if (!option2) { + result = cropper[method](option, option2); + } + else if (option) { + result = cropper[method](option); + } + else { + result = cropper[method](); + } + + if (method === 'getCroppedCanvas') { + var modal = document.getElementById('getCroppedCanvasModal'); + var modalBody = modal.querySelector('.modal-body'); + modalBody.innerHTML = ''; + modalBody.appendChild(result); + } + + var input = document.querySelector('#putData'); + try { + input.value = JSON.stringify(result); + } + catch (e) { + if (!result) { + input.value = result; + } + } + }); + }); + + // set aspect ratio option buttons + var radioOptions = document.getElementById('setAspectRatio').querySelectorAll('[name="aspectRatio"]'); + radioOptions.forEach(function (button) { + button.addEventListener('click', function (e) { + cropper.setAspectRatio(e.target.value); + }); + }); + + // set view mode + var viewModeOptions = document.getElementById('viewMode').querySelectorAll('[name="viewMode"]'); + viewModeOptions.forEach(function (button) { + button.addEventListener('click', function (e) { + cropper.destroy(); + cropper = new Cropper(image, Object.assign({}, options, { viewMode: e.target.value })); + }); + }); + + var toggleoptions = document.getElementById('toggleOptionButtons').querySelectorAll('[type="checkbox"]'); + toggleoptions.forEach(function (checkbox) { + checkbox.addEventListener('click', function (e) { + var appendOption = {}; + appendOption[e.target.getAttribute('name')] = e.target.checked; + options = Object.assign({}, options, appendOption); + cropper.destroy(); + cropper = new Cropper(image, options); + }) + }); + }; + + return { + // public functions + init: function () { + initCropperDemo(); + }, + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTCropperDemo.init(); +}); diff --git a/assets/js/custom/documentation/general/datatables/advanced.js b/assets/js/custom/documentation/general/datatables/advanced.js new file mode 100644 index 0000000..2daced6 --- /dev/null +++ b/assets/js/custom/documentation/general/datatables/advanced.js @@ -0,0 +1,160 @@ +"use strict"; + +// Class definition +var KTDatatablesAdvanced = function () { + // Private functions + + var _initExample1 = function() { + var status = { + 1: {"title": "Pending", "state": "primary"}, + 2: {"title": "Delivered", "state": "danger"}, + 3: {"title": "Canceled", "state": "primary"}, + 4: {"title": "Success", "state": "success"}, + 5: {"title": "Info", "state": "info"}, + 6: {"title": "Danger", "state": "danger"}, + 7: {"title": "Warning", "state": "warning"}, + }; + + $("#kt_datatable_example_1").DataTable({ + "columnDefs": [ + { + // The `data` parameter refers to the data for the cell (defined by the + // `data` option, which defaults to the column being worked with, in + // this case `data: 0`. + "render": function ( data, type, row ) { + var index = KTUtil.getRandomInt(1, 7); + + return data + '' + status[index]['title'] + ''; + }, + "targets": 1 + } + ] + }); + } + + var _initExample2 = function() { + $("#kt_datatable_example_2").DataTable({ + "columnDefs": [ { + "visible": false, + "targets": -1 + }] + }); + } + + var _initExample3 = function() { + var groupColumn = 2; + + var table = $('#kt_datatable_example_3').DataTable({ + "columnDefs": [{ + "visible": false, + "targets": groupColumn + }], + "order": [ + [groupColumn, 'asc'] + ], + "displayLength": 25, + "drawCallback": function(settings) { + var api = this.api(); + var rows = api.rows({ + page: 'current' + }).nodes(); + var last = null; + + api.column(groupColumn, { + page: 'current' + }).data().each(function(group, i) { + if (last !== group) { + $(rows).eq(i).before( + '' + group + '' + ); + + last = group; + } + }); + } + }); + + // Order by the grouping + $('#kt_datatable_example_3 tbody').on('click', 'tr.group', function() { + var currentOrder = table.order()[0]; + if (currentOrder[0] === groupColumn && currentOrder[1] === 'asc') { + table.order([groupColumn, 'desc']).draw(); + } else { + table.order([groupColumn, 'asc']).draw(); + } + }); + } + + var _initExample4 = function() { + $("#kt_datatable_example_4").DataTable({ + "footerCallback": function ( row, data, start, end, display ) { + var api = this.api(), data; + + // Remove the formatting to get integer data for summation + var intVal = function ( i ) { + return typeof i === "string" ? + i.replace(/[\$,]/g, "")*1 : + typeof i === "number" ? + i : 0; + }; + + // Total over all pages + var total = api + .column( 4 ) + .data() + .reduce( function (a, b) { + return intVal(a) + intVal(b); + }, 0 ); + + // Total over this page + var pageTotal = api + .column( 4, { page: "current"} ) + .data() + .reduce( function (a, b) { + return intVal(a) + intVal(b); + }, 0 ); + + // Update footer + $( api.column( 4 ).footer() ).html( + "$"+pageTotal +" ( $"+ total +" total)" + ); + } + }); + } + + var _initExample5 = function() { + $("#kt_datatable_example_5").DataTable({ + "language": { + "lengthMenu": "Show _MENU_", + }, + "dom": + "<'row'" + + "<'col-sm-6 d-flex align-items-center justify-conten-start'l>" + + "<'col-sm-6 d-flex align-items-center justify-content-end'f>" + + ">" + + + "<'table-responsive'tr>" + + + "<'row'" + + "<'col-sm-12 col-md-5 d-flex align-items-center justify-content-center justify-content-md-start'i>" + + "<'col-sm-12 col-md-7 d-flex align-items-center justify-content-center justify-content-md-end'p>" + + ">" + }); + } + + // Public methods + return { + init: function () { + _initExample1(); + _initExample2(); + _initExample3(); + _initExample4(); + _initExample5(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDatatablesAdvanced.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/datatables/api.js b/assets/js/custom/documentation/general/datatables/api.js new file mode 100644 index 0000000..8c969d2 --- /dev/null +++ b/assets/js/custom/documentation/general/datatables/api.js @@ -0,0 +1,57 @@ +"use strict"; + +// Class definition +var KTDatatablesApi = function () { + // Private functions + + var _initExample1 = function() { + var t = $("#kt_datatable_example_1").DataTable(); + var counter = 1; + + $("#kt_datatable_example_1_addrow").on( "click", function () { + t.row.add( [ + counter +".1", + counter +".2", + counter +".3", + counter +".4", + counter +".5", + ] ).draw( false ); + + counter++; + } ); + + // Automatically add a first row of data + $("#kt_datatable_example_1_addrow").click(); + } + + var _initExample2 = function() { + var table = $("#kt_datatable_example_2").DataTable({ + columnDefs: [{ + orderable: false, + targets: [1,2,3] + }] + }); + + $("#kt_datatable_example_2_submit").click( function() { + var data = table.$("input, select").serialize(); + alert( + "The following data would have been submitted to the server: \n\n"+ + data.substr( 0, 120 )+"..." + ); + return false; + }); + } + + // Public methods + return { + init: function () { + _initExample1(); + _initExample2(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDatatablesApi.init(); +}); diff --git a/assets/js/custom/documentation/general/datatables/basic.js b/assets/js/custom/documentation/general/datatables/basic.js new file mode 100644 index 0000000..0a0e765 --- /dev/null +++ b/assets/js/custom/documentation/general/datatables/basic.js @@ -0,0 +1,47 @@ +"use strict"; + +// Class definition +var KTDatatablesBasic = function () { + // Private functions + + var _initExample1 = function() { + $("#kt_datatable_example_1").DataTable(); + } + + var _initExample2 = function() { + $("#kt_datatable_example_2").DataTable({ + "scrollY": "500px", + "scrollCollapse": true, + "paging": false, + "dom": "<'table-responsive'tr>" + }); + } + + var _initExample3 = function() { + $("#kt_datatable_example_3").DataTable({ + "scrollX": true + }); + } + + var _initExample4 = function() { + $("#kt_datatable_example_4").DataTable({ + "scrollY": 300, + "scrollX": true + }); + } + + // Public methods + return { + init: function () { + _initExample1(); + _initExample2(); + _initExample3(); + _initExample4(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDatatablesBasic.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/datatables/server-side.js b/assets/js/custom/documentation/general/datatables/server-side.js new file mode 100644 index 0000000..628defa --- /dev/null +++ b/assets/js/custom/documentation/general/datatables/server-side.js @@ -0,0 +1,355 @@ +"use strict"; + +// Class definition +var KTDatatablesServerSide = function () { + // Shared variables + var table; + var dt; + var filterPayment; + + // Private functions + var initDatatable = function () { + dt = $("#kt_datatable_example_1").DataTable({ + searchDelay: 500, + processing: true, + serverSide: true, + order: [[5, 'desc']], + stateSave: true, + select: { + style: 'os', + selector: 'td:first-child', + className: 'row-selected' + }, + ajax: { + url: "https://preview.keenthemes.com/api/datatables.php", + }, + columns: [ + { data: 'RecordID' }, + { data: 'Name' }, + { data: 'Email' }, + { data: 'Company' }, + { data: 'CreditCardNumber' }, + { data: 'Datetime' }, + { data: null }, + ], + columnDefs: [ + { + targets: 0, + orderable: false, + render: function (data) { + return ` +
+ +
`; + } + }, + { + targets: 4, + render: function (data, type, row) { + return `${row.CreditCardType}` + data; + } + }, + { + targets: -1, + data: null, + orderable: false, + className: 'text-end', + render: function (data, type, row) { + return ` + + Actions + + + + + + + + + + + + + `; + }, + }, + ], + // Add data-filter attribute + createdRow: function (row, data, dataIndex) { + $(row).find('td:eq(4)').attr('data-filter', data.CreditCardType); + } + }); + + table = dt.$; + + // Re-init functions on every table re-draw -- more info: https://datatables.net/reference/event/draw + dt.on('draw', function () { + initToggleToolbar(); + toggleToolbars(); + handleDeleteRows(); + KTMenu.createInstances(); + }); + } + + // Search Datatable --- official docs reference: https://datatables.net/reference/api/search() + var handleSearchDatatable = function () { + const filterSearch = document.querySelector('[data-kt-docs-table-filter="search"]'); + filterSearch.addEventListener('keyup', function (e) { + dt.search(e.target.value).draw(); + }); + } + + // Filter Datatable + var handleFilterDatatable = () => { + // Select filter options + filterPayment = document.querySelectorAll('[data-kt-docs-table-filter="payment_type"] [name="payment_type"]'); + const filterButton = document.querySelector('[data-kt-docs-table-filter="filter"]'); + + // Filter datatable on submit + filterButton.addEventListener('click', function () { + // Get filter values + let paymentValue = ''; + + // Get payment value + filterPayment.forEach(r => { + if (r.checked) { + paymentValue = r.value; + } + + // Reset payment value if "All" is selected + if (paymentValue === 'all') { + paymentValue = ''; + } + }); + + // Filter datatable --- official docs reference: https://datatables.net/reference/api/search() + dt.search(paymentValue).draw(); + }); + } + + // Delete customer + var handleDeleteRows = () => { + // Select all delete buttons + const deleteButtons = document.querySelectorAll('[data-kt-docs-table-filter="delete_row"]'); + + deleteButtons.forEach(d => { + // Delete button on click + d.addEventListener('click', function (e) { + e.preventDefault(); + + // Select parent row + const parent = e.target.closest('tr'); + + // Get customer name + const customerName = parent.querySelectorAll('td')[1].innerText; + + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete " + customerName + "?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + } + }).then(function (result) { + if (result.value) { + // Simulate delete request -- for demo purpose only + Swal.fire({ + text: "Deleting " + customerName, + icon: "info", + buttonsStyling: false, + showConfirmButton: false, + timer: 2000 + }).then(function () { + Swal.fire({ + text: "You have deleted " + customerName + "!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // delete row data from server and re-draw datatable + dt.draw(); + }); + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: customerName + " was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }) + }); + } + + // Reset Filter + var handleResetForm = () => { + // Select reset button + const resetButton = document.querySelector('[data-kt-docs-table-filter="reset"]'); + + // Reset datatable + resetButton.addEventListener('click', function () { + // Reset payment type + filterPayment[0].checked = true; + + // Reset datatable --- official docs reference: https://datatables.net/reference/api/search() + dt.search('').draw(); + }); + } + + // Init toggle toolbar + var initToggleToolbar = function () { + // Toggle selected action toolbar + // Select all checkboxes + const container = document.querySelector('#kt_datatable_example_1'); + const checkboxes = container.querySelectorAll('[type="checkbox"]'); + + // Select elements + const deleteSelected = document.querySelector('[data-kt-docs-table-select="delete_selected"]'); + + // Toggle delete selected toolbar + checkboxes.forEach(c => { + // Checkbox on click event + c.addEventListener('click', function () { + setTimeout(function () { + toggleToolbars(); + }, 50); + }); + }); + + // Deleted selected rows + deleteSelected.addEventListener('click', function () { + // SweetAlert2 pop up --- official docs reference: https://sweetalert2.github.io/ + Swal.fire({ + text: "Are you sure you want to delete selected customers?", + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + showLoaderOnConfirm: true, + confirmButtonText: "Yes, delete!", + cancelButtonText: "No, cancel", + customClass: { + confirmButton: "btn fw-bold btn-danger", + cancelButton: "btn fw-bold btn-active-light-primary" + }, + }).then(function (result) { + if (result.value) { + // Simulate delete request -- for demo purpose only + Swal.fire({ + text: "Deleting selected customers", + icon: "info", + buttonsStyling: false, + showConfirmButton: false, + timer: 2000 + }).then(function () { + Swal.fire({ + text: "You have deleted all selected customers!.", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }).then(function () { + // delete row data from server and re-draw datatable + dt.draw(); + }); + + // Remove header checked box + const headerCheckbox = container.querySelectorAll('[type="checkbox"]')[0]; + headerCheckbox.checked = false; + }); + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Selected customers was not deleted.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn fw-bold btn-primary", + } + }); + } + }); + }); + } + + // Toggle toolbars + var toggleToolbars = function () { + // Define variables + const container = document.querySelector('#kt_datatable_example_1'); + const toolbarBase = document.querySelector('[data-kt-docs-table-toolbar="base"]'); + const toolbarSelected = document.querySelector('[data-kt-docs-table-toolbar="selected"]'); + const selectedCount = document.querySelector('[data-kt-docs-table-select="selected_count"]'); + + // Select refreshed checkbox DOM elements + const allCheckboxes = container.querySelectorAll('tbody [type="checkbox"]'); + + // Detect checkboxes state & count + let checkedState = false; + let count = 0; + + // Count checked boxes + allCheckboxes.forEach(c => { + if (c.checked) { + checkedState = true; + count++; + } + }); + + // Toggle toolbars + if (checkedState) { + selectedCount.innerHTML = count; + toolbarBase.classList.add('d-none'); + toolbarSelected.classList.remove('d-none'); + } else { + toolbarBase.classList.remove('d-none'); + toolbarSelected.classList.add('d-none'); + } + } + + // Public methods + return { + init: function () { + initDatatable(); + handleSearchDatatable(); + initToggleToolbar(); + handleFilterDatatable(); + handleDeleteRows(); + handleResetForm(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTDatatablesServerSide.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/draggable/cards.js b/assets/js/custom/documentation/general/draggable/cards.js new file mode 100644 index 0000000..d0cdd01 --- /dev/null +++ b/assets/js/custom/documentation/general/draggable/cards.js @@ -0,0 +1,35 @@ +"use strict"; + +// Class definition +var KTDraggableCards = function() { + // Private functions + var exampleCards = function() { + var containers = document.querySelectorAll('.draggable-zone'); + + if (containers.length === 0) { + return false; + } + + var swappable = new Sortable.default(containers, { + draggable: '.draggable', + handle: '.draggable .draggable-handle', + mirror: { + //appendTo: selector, + appendTo: 'body', + constrainDimensions: true + } + }); + } + + return { + // Public Functions + init: function() { + exampleCards(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDraggableCards.init(); +}); diff --git a/assets/js/custom/documentation/general/draggable/multiple-containers.js b/assets/js/custom/documentation/general/draggable/multiple-containers.js new file mode 100644 index 0000000..073af16 --- /dev/null +++ b/assets/js/custom/documentation/general/draggable/multiple-containers.js @@ -0,0 +1,35 @@ +"use strict"; + +// Class definition +var KTDraggableMultiple = function() { + // Private functions + var exampleMultiple = function() { + var containers = document.querySelectorAll('.draggable-zone'); + + if (containers.length === 0) { + return false; + } + + var swappable = new Sortable.default(containers, { + draggable: '.draggable', + handle: '.draggable .draggable-handle', + mirror: { + //appendTo: selector, + appendTo: 'body', + constrainDimensions: true + } + }); + } + + return { + // Public Functions + init: function() { + exampleMultiple(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDraggableMultiple.init(); +}); diff --git a/assets/js/custom/documentation/general/draggable/restricted.js b/assets/js/custom/documentation/general/draggable/restricted.js new file mode 100644 index 0000000..49ac99f --- /dev/null +++ b/assets/js/custom/documentation/general/draggable/restricted.js @@ -0,0 +1,83 @@ +"use strict"; + +// Class definition +var KTDraggableRestricted = function () { + // Private functions + var exampleRestricted = function () { + var containers = document.querySelectorAll('.draggable-zone'); + const restrcitedWrapper = document.querySelector('[data-kt-draggable-level="restricted"]'); + + if (containers.length === 0) { + return false; + } + + var droppable = new Droppable.default(containers, { + draggable: '.draggable', + dropzone: '.draggable-zone', + handle: '.draggable .draggable-handle', + mirror: { + //appendTo: selector, + appendTo: 'body', + constrainDimensions: true + } + }); + + // Define draggable element variable for permissions level + let droppableOrigin; + + // Handle drag start event -- more info: https://shopify.github.io/draggable/docs/class/src/Draggable/DragEvent/DragEvent.js~DragEvent.html + droppable.on('drag:start', (e) => { + droppableOrigin = e.originalSource.getAttribute('data-kt-draggable-level'); + }); + + // Handle drag over event -- more info: https://shopify.github.io/draggable/docs/class/src/Draggable/DragEvent/DragEvent.js~DragOverEvent.html + droppable.on('drag:over', (e) => { + const isRestricted = e.overContainer.closest('[data-kt-draggable-level="restricted"]'); + if (isRestricted) { + if (droppableOrigin !== 'admin') { + restrcitedWrapper.classList.add('bg-light-danger'); + } else { + restrcitedWrapper.classList.remove('bg-light-danger'); + } + } else { + restrcitedWrapper.classList.remove('bg-light-danger'); + } + }); + + // Handle drag stop event -- more info: https://shopify.github.io/draggable/docs/class/src/Draggable/DragEvent/DragEvent.js~DragStopEvent.html + droppable.on('drag:stop', (e) => { + // remove all draggable occupied limit + containers.forEach(c => { + c.classList.remove('draggable-dropzone--occupied'); + }); + + // Remove restricted alert + restrcitedWrapper.classList.remove('bg-light-danger'); + }); + + // Handle drop event -- https://shopify.github.io/draggable/docs/class/src/Droppable/DroppableEvent/DroppableEvent.js~DroppableDroppedEvent.html + droppable.on('droppable:dropped', (e) => { + const isRestricted = e.dropzone.closest('[data-kt-draggable-level="restricted"]'); + // Detect if drop container is restricted + if (isRestricted) { + // Check if dragged element has permission level + if (droppableOrigin !== 'admin') { + restrcitedWrapper.classList.add('bg-light-danger'); + e.cancel(); + } + } + }); + } + + return { + // Public Functions + init: function () { + exampleRestricted(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTDraggableRestricted.init(); +}); diff --git a/assets/js/custom/documentation/general/draggable/swappable.js b/assets/js/custom/documentation/general/draggable/swappable.js new file mode 100644 index 0000000..d4a2099 --- /dev/null +++ b/assets/js/custom/documentation/general/draggable/swappable.js @@ -0,0 +1,35 @@ +"use strict"; + +// Class definition +var KTDraggableSwappable = function() { + // Private functions + var exampleSwappable = function() { + var containers = document.querySelectorAll('.draggable-zone'); + + if (containers.length === 0) { + return false; + } + + var swappable = new Swappable.default(containers, { + draggable: '.draggable', + handle: '.draggable .draggable-handle', + mirror: { + //appendTo: selector, + appendTo: 'body', + constrainDimensions: true + } + }); + } + + return { + // Public Functions + init: function() { + exampleSwappable(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDraggableSwappable.init(); +}); diff --git a/assets/js/custom/documentation/general/drawer.js b/assets/js/custom/documentation/general/drawer.js new file mode 100644 index 0000000..ac16acf --- /dev/null +++ b/assets/js/custom/documentation/general/drawer.js @@ -0,0 +1,20 @@ +"use strict"; + +// Class definition +var KTGeneralDrawerDemos = function() { + // Private functions + var _exampleBasic = function() { + } + + return { + // Public Functions + init: function() { + _exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralDrawerDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/fullcalendar/background-events.js b/assets/js/custom/documentation/general/fullcalendar/background-events.js new file mode 100644 index 0000000..d7fbdec --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/background-events.js @@ -0,0 +1,93 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarEventsDemos = function() { + // Private functions + + var exampleBackgroundEvents = function() { + // Define colors + var green = KTUtil.getCssVariableValue('--bs-active-success'); + var red = KTUtil.getCssVariableValue('--bs-active-danger'); + + // Initialize Fullcalendar -- for more info please visit the official site: https://fullcalendar.io/demos + var calendarEl = document.getElementById('kt_docs_fullcalendar_background_events'); + + var calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' + }, + initialDate: '2020-09-12', + navLinks: true, // can click day/week names to navigate views + businessHours: true, // display business hours + editable: true, + selectable: true, + events: [{ + title: 'Business Lunch', + start: '2020-09-03T13:00:00', + constraint: 'businessHours' + }, + { + title: 'Meeting', + start: '2020-09-13T11:00:00', + constraint: 'availableForMeeting', // defined below + color: green + }, + { + title: 'Conference', + start: '2020-09-18', + end: '2020-09-20' + }, + { + title: 'Party', + start: '2020-09-29T20:00:00' + }, + + // areas where "Meeting" must be dropped + { + groupId: 'availableForMeeting', + start: '2020-09-11', + end: '2020-09-11', + display: 'background', + }, + { + groupId: 'availableForMeeting', + start: '2020-09-13', + end: '2020-09-13', + display: 'background', + }, + + // red areas where no events can be dropped + { + start: '2020-09-24', + end: '2020-09-28', + overlap: false, + display: 'background', + color: red + }, + { + start: '2020-09-06', + end: '2020-09-08', + overlap: false, + display: 'background', + color: red + } + ] + }); + + calendar.render(); + } + + return { + // Public Functions + init: function() { + exampleBackgroundEvents(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralFullCalendarEventsDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/fullcalendar/basic.js b/assets/js/custom/documentation/general/fullcalendar/basic.js new file mode 100644 index 0000000..458ab81 --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/basic.js @@ -0,0 +1,171 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarBasicDemos = function () { + // Private functions + + var exampleBasic = function () { + var todayDate = moment().startOf('day'); + var YM = todayDate.format('YYYY-MM'); + var YESTERDAY = todayDate.clone().subtract(1, 'day').format('YYYY-MM-DD'); + var TODAY = todayDate.format('YYYY-MM-DD'); + var TOMORROW = todayDate.clone().add(1, 'day').format('YYYY-MM-DD'); + + var calendarEl = document.getElementById('kt_docs_fullcalendar_basic'); + var calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' + }, + + height: 800, + contentHeight: 780, + aspectRatio: 3, // see: https://fullcalendar.io/docs/aspectRatio + + nowIndicator: true, + now: TODAY + 'T09:25:00', // just for demo + + views: { + dayGridMonth: { buttonText: 'month' }, + timeGridWeek: { buttonText: 'week' }, + timeGridDay: { buttonText: 'day' } + }, + + initialView: 'dayGridMonth', + initialDate: TODAY, + + editable: true, + dayMaxEvents: true, // allow "more" link when too many events + navLinks: true, + events: [ + { + title: 'All Day Event', + start: YM + '-01', + description: 'Toto lorem ipsum dolor sit incid idunt ut', + className: "fc-event-danger fc-event-solid-warning" + }, + { + title: 'Reporting', + start: YM + '-14T13:30:00', + description: 'Lorem ipsum dolor incid idunt ut labore', + end: YM + '-14', + className: "fc-event-success" + }, + { + title: 'Company Trip', + start: YM + '-02', + description: 'Lorem ipsum dolor sit tempor incid', + end: YM + '-03', + className: "fc-event-primary" + }, + { + title: 'ICT Expo 2017 - Product Release', + start: YM + '-03', + description: 'Lorem ipsum dolor sit tempor inci', + end: YM + '-05', + className: "fc-event-light fc-event-solid-primary" + }, + { + title: 'Dinner', + start: YM + '-12', + description: 'Lorem ipsum dolor sit amet, conse ctetur', + end: YM + '-10' + }, + { + id: 999, + title: 'Repeating Event', + start: YM + '-09T16:00:00', + description: 'Lorem ipsum dolor sit ncididunt ut labore', + className: "fc-event-danger" + }, + { + id: 1000, + title: 'Repeating Event', + description: 'Lorem ipsum dolor sit amet, labore', + start: YM + '-16T16:00:00' + }, + { + title: 'Conference', + start: YESTERDAY, + end: TOMORROW, + description: 'Lorem ipsum dolor eius mod tempor labore', + className: "fc-event-primary" + }, + { + title: 'Meeting', + start: TODAY + 'T10:30:00', + end: TODAY + 'T12:30:00', + description: 'Lorem ipsum dolor eiu idunt ut labore' + }, + { + title: 'Lunch', + start: TODAY + 'T12:00:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, ut labore' + }, + { + title: 'Meeting', + start: TODAY + 'T14:30:00', + className: "fc-event-warning", + description: 'Lorem ipsum conse ctetur adipi scing' + }, + { + title: 'Happy Hour', + start: TODAY + 'T17:30:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, conse ctetur' + }, + { + title: 'Dinner', + start: TOMORROW + 'T05:00:00', + className: "fc-event-solid-danger fc-event-light", + description: 'Lorem ipsum dolor sit ctetur adipi scing' + }, + { + title: 'Birthday Party', + start: TOMORROW + 'T07:00:00', + className: "fc-event-primary", + description: 'Lorem ipsum dolor sit amet, scing' + }, + { + title: 'Click for Google', + url: 'http://google.com/', + start: YM + '-28', + className: "fc-event-solid-info fc-event-light", + description: 'Lorem ipsum dolor sit amet, labore' + } + ], + + eventContent: function (info) { + var element = $(info.el); + + if (info.event.extendedProps && info.event.extendedProps.description) { + if (element.hasClass('fc-day-grid-event')) { + element.data('content', info.event.extendedProps.description); + element.data('placement', 'top'); + KTApp.initPopover(element); + } else if (element.hasClass('fc-time-grid-event')) { + element.find('.fc-title').append('
' + info.event.extendedProps.description + '
'); + } else if (element.find('.fc-list-item-title').lenght !== 0) { + element.find('.fc-list-item-title').append('
' + info.event.extendedProps.description + '
'); + } + } + } + }); + + calendar.render(); + } + + return { + // Public Functions + init: function () { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralFullCalendarBasicDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/fullcalendar/drag-n-drop.js b/assets/js/custom/documentation/general/fullcalendar/drag-n-drop.js new file mode 100644 index 0000000..c9bb7ff --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/drag-n-drop.js @@ -0,0 +1,52 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarDragDemos = function () { + // Private functions + + var exampleDrag = function () { + // Initialize the external events -- for more info please visit the official site: https://fullcalendar.io/demos + var containerEl = document.getElementById('kt_docs_fullcalendar_events_list'); + new FullCalendar.Draggable(containerEl, { + itemSelector: '.fc-event', + eventData: function(eventEl) { + return { + title: eventEl.innerText.trim() + } + } + }); + + // initialize the calendar -- for more info please visit the official site: https://fullcalendar.io/demos + var calendarEl = document.getElementById('kt_docs_fullcalendar_drag'); + var calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' + }, + editable: true, + droppable: true, // this allows things to be dropped onto the calendar + drop: function(arg) { + // is the "remove after drop" checkbox checked? + if (document.getElementById('drop-remove').checked) { + // if so, remove the element from the "Draggable Events" list + arg.draggedEl.parentNode.removeChild(arg.draggedEl); + } + } + }); + + calendar.render(); + } + + return { + // Public Functions + init: function () { + exampleDrag(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralFullCalendarDragDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/fullcalendar/locales.js b/assets/js/custom/documentation/general/fullcalendar/locales.js new file mode 100644 index 0000000..5d13049 --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/locales.js @@ -0,0 +1,117 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarLocalesDemos = function () { + // Private functions + + var examplelocales = function () { + // Define variables + var initialLocaleCode = 'en'; + var localeSelectorEl = document.getElementById('kt_docs_fullcalendar_locale_selector'); + var calendarEl = document.getElementById('kt_docs_fullcalendar_locales'); + + // initialize the calendar -- for more info please visit the official site: https://fullcalendar.io/demos + var calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth' + }, + initialDate: '2020-09-12', + locale: initialLocaleCode, + buttonIcons: false, // show the prev/next text + weekNumbers: true, + navLinks: true, // can click day/week names to navigate views + editable: true, + dayMaxEvents: true, // allow "more" link when too many events + events: [ + { + title: 'All Day Event', + start: '2020-09-01' + }, + { + title: 'Long Event', + start: '2020-09-07', + end: '2020-09-10' + }, + { + groupId: 999, + title: 'Repeating Event', + start: '2020-09-09T16:00:00' + }, + { + groupId: 999, + title: 'Repeating Event', + start: '2020-09-16T16:00:00' + }, + { + title: 'Conference', + start: '2020-09-11', + end: '2020-09-13' + }, + { + title: 'Meeting', + start: '2020-09-12T10:30:00', + end: '2020-09-12T12:30:00' + }, + { + title: 'Lunch', + start: '2020-09-12T12:00:00' + }, + { + title: 'Meeting', + start: '2020-09-12T14:30:00' + }, + { + title: 'Happy Hour', + start: '2020-09-12T17:30:00' + }, + { + title: 'Dinner', + start: '2020-09-12T20:00:00' + }, + { + title: 'Birthday Party', + start: '2020-09-13T07:00:00' + }, + { + title: 'Click for Google', + url: 'http://google.com/', + start: '2020-09-28' + } + ] + }); + + calendar.render(); + + // build the locale selector's options + calendar.getAvailableLocaleCodes().forEach(function (localeCode) { + var optionEl = document.createElement('option'); + optionEl.value = localeCode; + optionEl.selected = localeCode == initialLocaleCode; + optionEl.innerText = localeCode; + localeSelectorEl.appendChild(optionEl); + }); + + // when the selected option changes, dynamically change the calendar option -- more info on Select2 on Change event: https://select2.org/programmatic-control/events + $(localeSelectorEl).on('change', function () { + if (this.value) { + calendar.setOption('locale', this.value); + } + }); + + calendar.render(); + } + + return { + // Public Functions + init: function () { + examplelocales(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralFullCalendarLocalesDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/fullcalendar/selectable-dates.js b/assets/js/custom/documentation/general/fullcalendar/selectable-dates.js new file mode 100644 index 0000000..376360b --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/selectable-dates.js @@ -0,0 +1,164 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarSelectDemos = function () { + // Private functions + + var exampleSelect = function () { + // Define variables + var calendarEl = document.getElementById('kt_docs_fullcalendar_selectable'); + + var calendar = new FullCalendar.Calendar(calendarEl, { + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay' + }, + initialDate: '2020-09-12', + navLinks: true, // can click day/week names to navigate views + selectable: true, + selectMirror: true, + + // Create new event + select: function (arg) { + Swal.fire({ + html: '
Create new event?
Event Name:
', + icon: "info", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, create it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + var title = document.querySelector('input[name="event_name"]').value; + if (title) { + calendar.addEvent({ + title: title, + start: arg.start, + end: arg.end, + allDay: arg.allDay + }) + } + calendar.unselect() + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Event creation was declined!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }, + + // Delete event + eventClick: function (arg) { + Swal.fire({ + text: 'Are you sure you want to delete this event?', + icon: "warning", + showCancelButton: true, + buttonsStyling: false, + confirmButtonText: "Yes, delete it!", + cancelButtonText: "No, return", + customClass: { + confirmButton: "btn btn-primary", + cancelButton: "btn btn-active-light" + } + }).then(function (result) { + if (result.value) { + arg.event.remove() + } else if (result.dismiss === 'cancel') { + Swal.fire({ + text: "Event was not deleted!.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary", + } + }); + } + }); + }, + editable: true, + dayMaxEvents: true, // allow "more" link when too many events + events: [ + { + title: 'All Day Event', + start: '2020-09-01' + }, + { + title: 'Long Event', + start: '2020-09-07', + end: '2020-09-10' + }, + { + groupId: 999, + title: 'Repeating Event', + start: '2020-09-09T16:00:00' + }, + { + groupId: 999, + title: 'Repeating Event', + start: '2020-09-16T16:00:00' + }, + { + title: 'Conference', + start: '2020-09-11', + end: '2020-09-13' + }, + { + title: 'Meeting', + start: '2020-09-12T10:30:00', + end: '2020-09-12T12:30:00' + }, + { + title: 'Lunch', + start: '2020-09-12T12:00:00' + }, + { + title: 'Meeting', + start: '2020-09-12T14:30:00' + }, + { + title: 'Happy Hour', + start: '2020-09-12T17:30:00' + }, + { + title: 'Dinner', + start: '2020-09-12T20:00:00' + }, + { + title: 'Birthday Party', + start: '2020-09-13T07:00:00' + }, + { + title: 'Click for Google', + url: 'http://google.com/', + start: '2020-09-28' + } + ] + }); + + calendar.render(); + } + + return { + // Public Functions + init: function () { + exampleSelect(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralFullCalendarSelectDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/fullcalendar/timezone.js b/assets/js/custom/documentation/general/fullcalendar/timezone.js new file mode 100644 index 0000000..62ef3e2 --- /dev/null +++ b/assets/js/custom/documentation/general/fullcalendar/timezone.js @@ -0,0 +1,191 @@ +"use strict"; + +// Class definition +var KTGeneralFullCalendarTimezoneDemos = function () { + // Private functions + + var exampleTimezone = function () { + // Define variables + var initialTimeZone = 'local'; + var timeZoneSelectorEl = document.getElementById('kt_docs_fullcalendar_timezone_selector'); + var calendarEl = document.getElementById('kt_docs_fullcalendar_timezone'); + var todayDate = moment().startOf('day'); + var YM = todayDate.format('YYYY-MM'); + var YESTERDAY = todayDate.clone().subtract(1, 'day').format('YYYY-MM-DD'); + var TODAY = todayDate.format('YYYY-MM-DD'); + var TOMORROW = todayDate.clone().add(1, 'day').format('YYYY-MM-DD'); + var eventsArray = [ + { + title: 'All Day Event', + start: YM + '-01', + description: 'Toto lorem ipsum dolor sit incid idunt ut', + className: "fc-event-danger fc-event-solid-warning" + }, + { + title: 'Reporting', + start: YM + '-14T13:30:00', + description: 'Lorem ipsum dolor incid idunt ut labore', + end: YM + '-14', + className: "fc-event-success" + }, + { + title: 'Company Trip', + start: YM + '-02', + description: 'Lorem ipsum dolor sit tempor incid', + end: YM + '-03', + className: "fc-event-primary" + }, + { + title: 'ICT Expo 2017 - Product Release', + start: YM + '-03', + description: 'Lorem ipsum dolor sit tempor inci', + end: YM + '-05', + className: "fc-event-light fc-event-solid-primary" + }, + { + title: 'Dinner', + start: YM + '-12', + description: 'Lorem ipsum dolor sit amet, conse ctetur', + end: YM + '-10' + }, + { + id: 999, + title: 'Repeating Event', + start: YM + '-09T16:00:00', + description: 'Lorem ipsum dolor sit ncididunt ut labore', + className: "fc-event-danger" + }, + { + id: 1000, + title: 'Repeating Event', + description: 'Lorem ipsum dolor sit amet, labore', + start: YM + '-16T16:00:00' + }, + { + title: 'Conference', + start: YESTERDAY, + end: TOMORROW, + description: 'Lorem ipsum dolor eius mod tempor labore', + className: "fc-event-primary" + }, + { + title: 'Meeting', + start: TODAY + 'T10:30:00', + end: TODAY + 'T12:30:00', + description: 'Lorem ipsum dolor eiu idunt ut labore' + }, + { + title: 'Lunch', + start: TODAY + 'T12:00:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, ut labore' + }, + { + title: 'Meeting', + start: TODAY + 'T14:30:00', + className: "fc-event-warning", + description: 'Lorem ipsum conse ctetur adipi scing' + }, + { + title: 'Happy Hour', + start: TODAY + 'T17:30:00', + className: "fc-event-info", + description: 'Lorem ipsum dolor sit amet, conse ctetur' + }, + { + title: 'Dinner', + start: TOMORROW + 'T05:00:00', + className: "fc-event-solid-danger fc-event-light", + description: 'Lorem ipsum dolor sit ctetur adipi scing' + }, + { + title: 'Birthday Party', + start: TOMORROW + 'T07:00:00', + className: "fc-event-primary", + description: 'Lorem ipsum dolor sit amet, scing' + }, + { + title: 'Click for Google', + url: 'http://google.com/', + start: YM + '-28', + className: "fc-event-solid-info fc-event-light", + description: 'Lorem ipsum dolor sit amet, labore' + } + ]; + + // Initialize the external events -- for more info please visit the official site: https://fullcalendar.io/demos + var calendar = new FullCalendar.Calendar(calendarEl, { + timeZone: initialTimeZone, + headerToolbar: { + left: 'prev,next today', + center: 'title', + right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek' + }, + initialDate: TODAY, + navLinks: true, // can click day/week names to navigate views + editable: true, + selectable: true, + dayMaxEvents: true, // allow "more" link when too many events + + eventTimeFormat: { hour: 'numeric', minute: '2-digit', timeZoneName: 'short' }, + events: eventsArray, + }); + + calendar.render(); + + // when the timezone selector changes, dynamically change the calendar option -- more info on Select2 on Change event: https://select2.org/programmatic-control/events + $(timeZoneSelectorEl).on('change', function () { + calendar.setOption('timeZone', 'UTC'); + + // Remove all events + const removeEvents = calendar.getEvents(); + removeEvents.forEach(event => { + event.remove(); + }); + + // Add events with new timezone offset + const newEvents = eventsArray; + newEvents.forEach(event => { + var start; + var end; + + if(this.value < 0){ + start = moment(event.start).subtract(this.value.replace(/\D/g,''), 'seconds').format(getFormat(event.start)); + end = event.end ? moment(event.end).subtract(this.value.replace(/\D/g,''), 'seconds').format(getFormat(event.end)) : start; + } else { + start = moment(event.start).add(this.value, 'seconds').format(getFormat(event.start)); + end = event.end ? moment(event.end).add(this.value, 'seconds').format(getFormat(event.end)) : start; + } + + calendar.addEvent({ + title: event.title, + start: start, + end: end + }); + }); + + calendar.render(); + }); + + // Dynamic date format generator + const getFormat = (d) => { + if(d.includes('T')){ + return 'YYYY-MM-DDTHH:mm:ss'; + } else { + return 'YYYY-MM-DD'; + } + } + } + + return { + // Public Functions + init: function () { + exampleTimezone(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralFullCalendarTimezoneDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/jkanban/basic.js b/assets/js/custom/documentation/general/jkanban/basic.js new file mode 100644 index 0000000..0327920 --- /dev/null +++ b/assets/js/custom/documentation/general/jkanban/basic.js @@ -0,0 +1,57 @@ +"use strict"; + +// Class definition +var KTJKanbanDemoBasic = function() { + // Private functions + var exampleBasic = function() { + var kanban = new jKanban({ + element: '#kt_docs_jkanban_basic', + gutter: '0', + widthBoard: '250px', + boards: [{ + 'id': '_inprocess', + 'title': 'In Process', + 'item': [{ + 'title': 'You can drag me too' + }, + { + 'title': 'Buy Milk' + } + ] + }, { + 'id': '_working', + 'title': 'Working', + 'item': [{ + 'title': 'Do Something!' + }, + { + 'title': 'Run?' + } + ] + }, { + 'id': '_done', + 'title': 'Done', + 'item': [{ + 'title': 'All right' + }, + { + 'title': 'Ok!' + } + ] + } + ] + }); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJKanbanDemoBasic.init(); +}); diff --git a/assets/js/custom/documentation/general/jkanban/color.js b/assets/js/custom/documentation/general/jkanban/color.js new file mode 100644 index 0000000..3f6d330 --- /dev/null +++ b/assets/js/custom/documentation/general/jkanban/color.js @@ -0,0 +1,66 @@ +"use strict"; + +// Class definition +var KTJKanbanDemoColor = function() { + // Private functions + var exampleColor = function() { + var kanban = new jKanban({ + element: '#kt_docs_jkanban_color', + gutter: '0', + widthBoard: '250px', + boards: [{ + 'id': '_inprocess', + 'title': 'In Process', + 'class': 'primary', + 'item': [{ + 'title': 'You can drag me too', + 'class': 'light-primary', + }, + { + 'title': 'Buy Milk', + 'class': 'light-primary', + } + ] + }, { + 'id': '_working', + 'title': 'Working', + 'class': 'success', + 'item': [{ + 'title': 'Do Something!', + 'class': 'light-success', + }, + { + 'title': 'Run?', + 'class': 'light-success', + } + ] + }, { + 'id': '_done', + 'title': 'Done', + 'class': 'danger', + 'item': [{ + 'title': 'All right', + 'class': 'light-danger', + }, + { + 'title': 'Ok!', + 'class': 'light-danger', + } + ] + } + ] + }); + } + + return { + // Public Functions + init: function() { + exampleColor(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJKanbanDemoColor.init(); +}); diff --git a/assets/js/custom/documentation/general/jkanban/restricted.js b/assets/js/custom/documentation/general/jkanban/restricted.js new file mode 100644 index 0000000..7d3dfa9 --- /dev/null +++ b/assets/js/custom/documentation/general/jkanban/restricted.js @@ -0,0 +1,87 @@ +"use strict"; + +// Class definition +var KTJKanbanDemoRestricted = function() { + // Private functions + var exampleRestricted = function() { + var kanban = new jKanban({ + element: '#kt_docs_jkanban_restricted', + gutter: '0', + widthBoard: '250px', + click: function(el) { + alert(el.innerHTML); + }, + boards: [{ + 'id': '_todo', + 'title': 'To Do', + 'class': 'light-primary', + 'dragTo': ['_working'], + 'item': [{ + 'title': 'My Task Test', + 'class': 'primary' + }, + { + 'title': 'Buy Milk', + 'class': 'primary' + } + ] + }, + { + 'id': '_working', + 'title': 'Working', + 'class': 'light-warning', + 'item': [{ + 'title': 'Do Something!', + 'class': 'warning' + }, + { + 'title': 'Run?', + 'class': 'warning' + } + ] + }, + { + 'id': '_done', + 'title': 'Done', + 'class': 'light-success', + 'dragTo': ['_working'], + 'item': [{ + 'title': 'All right', + 'class': 'success' + }, + { + 'title': 'Ok!', + 'class': 'success' + } + ] + }, + { + 'id': '_notes', + 'title': 'Notes', + 'class': 'light-danger', + 'item': [{ + 'title': 'Warning Task', + 'class': 'danger' + }, + { + 'title': 'Do not enter', + 'class': 'danger' + } + ] + } + ] + }); + } + + return { + // Public Functions + init: function() { + exampleRestricted(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJKanbanDemoRestricted.init(); +}); diff --git a/assets/js/custom/documentation/general/jkanban/rich.js b/assets/js/custom/documentation/general/jkanban/rich.js new file mode 100644 index 0000000..2794dd2 --- /dev/null +++ b/assets/js/custom/documentation/general/jkanban/rich.js @@ -0,0 +1,247 @@ +"use strict"; + +// Class definition +var KTJKanbanDemoRich = function() { + // Private functions + var exampleRich = function() { + var kanban = new jKanban({ + element: '#kt_docs_jkanban_rich', + gutter: '0', + click: function(el) { + alert(el.innerHTML); + }, + boards: [{ + 'id': '_backlog', + 'title': 'Backlog', + 'class': 'light-dark', + 'item': [{ + 'title': ` +
+
+ Pic +
+
+ SEO Optimization + In progress +
+
+ `, + }, + { + 'title': ` +
+
+ A.D +
+
+ Finance + Pending +
+
+ `, + } + ] + }, + { + 'id': '_todo', + 'title': 'To Do', + 'class': 'light-danger', + 'item': [{ + 'title': ` +
+
+ Pic +
+
+ Server Setup + Completed +
+
+ `, + }, + { + 'title': ` +
+
+ Pic +
+
+ Report Generation + Due +
+
+ `, + } + ] + }, + { + 'id': '_working', + 'title': 'Working', + 'class': 'light-primary', + 'item': [{ + 'title': ` +
+
+ Pic +
+
+ Marketing + Planning +
+
+ `, + }, + { + 'title': ` +
+
+ A.P +
+
+ Finance + Done +
+
+ `, + } + ] + }, + { + 'id': '_done', + 'title': 'Done', + 'class': 'light-success', + 'item': [{ + 'title': ` +
+
+ Pic +
+
+ SEO Optimization + In progress +
+
+ `, + }, + { + 'title': ` +
+
+ Pic +
+
+ Product Team + In progress +
+
+ `, + } + ] + }, + { + 'id': '_deploy', + 'title': 'Deploy', + 'class': 'light-primary', + 'item': [{ + 'title': ` +
+
+ D.L +
+
+ SEO Optimization + In progress +
+
+ `, + }, + { + 'title': ` +
+
+ E.K +
+
+ Requirement Study + Scheduled +
+
+ `, + } + ] + } + ] + }); + + var toDoButton = document.getElementById('addToDo'); + toDoButton.addEventListener('click', function() { + kanban.addElement( + '_todo', { + 'title': ` +
+
+ Pic +
+
+ Requirement Study + Scheduled +
+
+ ` + } + ); + }); + + var addBoardDefault = document.getElementById('addDefault'); + addBoardDefault.addEventListener('click', function() { + kanban.addBoards( + [{ + 'id': '_default', + 'title': 'New Board', + 'class': 'light-primary', + 'item': [{ + 'title': ` +
+
+ Pic +
+
+ Payment Modules + In development +
+
+ `},{ + 'title': ` +
+
+ Pic +
+
+ New Project + Pending +
+
+ `} + ] + }] + ) + }); + + var removeBoard = document.getElementById('removeBoard'); + removeBoard.addEventListener('click', function() { + kanban.removeBoard('_done'); + }); + } + + return { + // Public Functions + init: function() { + exampleRich(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJKanbanDemoRich.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/ajax.js b/assets/js/custom/documentation/general/jstree/ajax.js new file mode 100644 index 0000000..e2ec772 --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/ajax.js @@ -0,0 +1,51 @@ +"use strict"; + +// Class definition +var KTJSTreeAjax = function() { + // Private functions + var exampleAjax = function() { + $("#kt_docs_jstree_ajax").jstree({ + "core": { + "themes": { + "responsive": false + }, + // so that create works + "check_callback": true, + 'data': { + 'url': function(node) { + return 'https://preview.keenthemes.com/api/jstree/ajax_data.php'; // Demo API endpoint -- Replace this URL with your set endpoint + }, + 'data': function(node) { + return { + 'parent': node.id + }; + } + } + }, + "types": { + "default": { + "icon": "fa fa-folder text-primary" + }, + "file": { + "icon": "fa fa-file text-primary" + } + }, + "state": { + "key": "demo3" + }, + "plugins": ["dnd", "state", "types"] + }); + } + + return { + // Public Functions + init: function() { + exampleAjax(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeAjax.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/basic.js b/assets/js/custom/documentation/general/jstree/basic.js new file mode 100644 index 0000000..76eb193 --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/basic.js @@ -0,0 +1,36 @@ +"use strict"; + +// Class definition +var KTJSTreeBasic = function() { + // Private functions + var exampleBasic = function() { + $('#kt_docs_jstree_basic').jstree({ + "core" : { + "themes" : { + "responsive": false + } + }, + "types" : { + "default" : { + "icon" : "fa fa-folder" + }, + "file" : { + "icon" : "fa fa-file" + } + }, + "plugins": ["types"] + }); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeBasic.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/checkable.js b/assets/js/custom/documentation/general/jstree/checkable.js new file mode 100644 index 0000000..80f7b8f --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/checkable.js @@ -0,0 +1,66 @@ +"use strict"; + +// Class definition +var KTJSTreeCheckable = function() { + // Private functions + var exampleCheckable = function() { + $('#kt_docs_jstree_checkable').jstree({ + 'plugins': ["wholerow", "checkbox", "types"], + 'core': { + "themes" : { + "responsive": false + }, + 'data': [{ + "text": "Same but with checkboxes", + "children": [{ + "text": "initially selected", + "state": { + "selected": true + } + }, { + "text": "custom icon", + "icon": "fa fa-warning text-danger" + }, { + "text": "initially open", + "icon" : "fa fa-folder text-default", + "state": { + "opened": true + }, + "children": ["Another node"] + }, { + "text": "custom icon", + "icon": "fa fa-warning text-waring" + }, { + "text": "disabled node", + "icon": "fa fa-check text-success", + "state": { + "disabled": true + } + }] + }, + "And wholerow selection" + ] + }, + "types" : { + "default" : { + "icon" : "fa fa-folder text-warning" + }, + "file" : { + "icon" : "fa fa-file text-warning" + } + }, + }); + } + + return { + // Public Functions + init: function() { + exampleCheckable(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeCheckable.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/contextual.js b/assets/js/custom/documentation/general/jstree/contextual.js new file mode 100644 index 0000000..36d3e5d --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/contextual.js @@ -0,0 +1,81 @@ +"use strict"; + +// Class definition +var KTJSTreeContextual = function() { + // Private functions + var exampleContextual = function() { + $("#kt_docs_jstree_contextual").jstree({ + "core" : { + "themes" : { + "responsive": false + }, + // so that create works + "check_callback" : true, + 'data': [{ + "text": "Parent Node", + "children": [{ + "text": "Initially selected", + "state": { + "selected": true + } + }, { + "text": "Custom Icon", + "icon": "flaticon2-hourglass-1 text-danger" + }, { + "text": "Initially open", + "icon" : "fa fa-folder text-success", + "state": { + "opened": true + }, + "children": [ + {"text": "Another node", "icon" : "fa fa-file text-waring"} + ] + }, { + "text": "Another Custom Icon", + "icon": "flaticon2-drop text-waring" + }, { + "text": "Disabled Node", + "icon": "fa fa-check text-success", + "state": { + "disabled": true + } + }, { + "text": "Sub Nodes", + "icon": "fa fa-folder text-danger", + "children": [ + {"text": "Item 1", "icon" : "fa fa-file text-waring"}, + {"text": "Item 2", "icon" : "fa fa-file text-success"}, + {"text": "Item 3", "icon" : "fa fa-file text-default"}, + {"text": "Item 4", "icon" : "fa fa-file text-danger"}, + {"text": "Item 5", "icon" : "fa fa-file text-info"} + ] + }] + }, + "Another Node" + ] + }, + "types" : { + "default" : { + "icon" : "fa fa-folder text-primary" + }, + "file" : { + "icon" : "fa fa-file text-primary" + } + }, + "state" : { "key" : "demo2" }, + "plugins" : [ "contextmenu", "state", "types" ] + }); + } + + return { + // Public Functions + init: function() { + exampleContextual(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeContextual.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/customicons.js b/assets/js/custom/documentation/general/jstree/customicons.js new file mode 100644 index 0000000..bee267a --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/customicons.js @@ -0,0 +1,48 @@ +"use strict"; + +// Class definition +var KTJSTreeCustomIcons = function() { + // Private functions + var exampleCustomIcons = function() { + $('#kt_docs_jstree_customicons').jstree({ + "core" : { + "themes" : { + "responsive": false + } + }, + "types" : { + "default" : { + "icon" : "fa fa-folder text-warning" + }, + "file" : { + "icon" : "fa fa-file text-warning" + } + }, + "plugins": ["types"] + }); + + // handle link clicks in tree nodes(support target="_blank" as well) + $('#kt_docs_jstree_customicons').on('select_node.jstree', function(e,data) { + var link = $('#' + data.selected).find('a'); + if (link.attr("href") != "#" && link.attr("href") != "javascript:;" && link.attr("href") != "") { + if (link.attr("target") == "_blank") { + link.attr("href").target = "_blank"; + } + document.location.href = link.attr("href"); + return false; + } + }); + } + + return { + // Public Functions + init: function() { + exampleCustomIcons(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeCustomIcons.init(); +}); diff --git a/assets/js/custom/documentation/general/jstree/dragdrop.js b/assets/js/custom/documentation/general/jstree/dragdrop.js new file mode 100644 index 0000000..f699ccc --- /dev/null +++ b/assets/js/custom/documentation/general/jstree/dragdrop.js @@ -0,0 +1,81 @@ +"use strict"; + +// Class definition +var KTJSTreeDragDrop = function() { + // Private functions + var exampleDragDrop = function() { + $("#kt_docs_jstree_dragdrop").jstree({ + "core" : { + "themes" : { + "responsive": false + }, + // so that create works + "check_callback" : true, + 'data': [{ + "text": "Parent Node", + "children": [{ + "text": "Initially selected", + "state": { + "selected": true + } + }, { + "text": "Custom Icon", + "icon": "flaticon2-warning text-danger" + }, { + "text": "Initially open", + "icon" : "fa fa-folder text-success", + "state": { + "opened": true + }, + "children": [ + {"text": "Another node", "icon" : "fa fa-file text-waring"} + ] + }, { + "text": "Another Custom Icon", + "icon": "flaticon2-bell-5 text-waring" + }, { + "text": "Disabled Node", + "icon": "fa fa-check text-success", + "state": { + "disabled": true + } + }, { + "text": "Sub Nodes", + "icon": "fa fa-folder text-danger", + "children": [ + {"text": "Item 1", "icon" : "fa fa-file text-waring"}, + {"text": "Item 2", "icon" : "fa fa-file text-success"}, + {"text": "Item 3", "icon" : "fa fa-file text-default"}, + {"text": "Item 4", "icon" : "fa fa-file text-danger"}, + {"text": "Item 5", "icon" : "fa fa-file text-info"} + ] + }] + }, + "Another Node" + ] + }, + "types" : { + "default" : { + "icon" : "fa fa-folder text-success" + }, + "file" : { + "icon" : "fa fa-file text-success" + } + }, + "state" : { "key" : "demo2" }, + "plugins" : [ "dnd", "state", "types" ] + }); + } + + return { + // Public Functions + init: function() { + exampleDragDrop(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTJSTreeDragDrop.init(); +}); diff --git a/assets/js/custom/documentation/general/scroll.js b/assets/js/custom/documentation/general/scroll.js new file mode 100644 index 0000000..eec7555 --- /dev/null +++ b/assets/js/custom/documentation/general/scroll.js @@ -0,0 +1,21 @@ +"use strict"; + +// Class definition +var KTGeneralScrollDemos = function() { + // Private functions + var _exampleBasic = function() { + + } + + return { + // Public Functions + init: function() { + _exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralScrollDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/search/basic.js b/assets/js/custom/documentation/general/search/basic.js new file mode 100644 index 0000000..d530c88 --- /dev/null +++ b/assets/js/custom/documentation/general/search/basic.js @@ -0,0 +1,84 @@ +"use strict"; + +// Class definition +var KTGeneralSearchBasicDemos = function() { + // Private variables + var element; + var suggestionsElement; + var resultsElement; + var wrapperElement; + var emptyElement; + var searchObject; + + var modal; + + // Private functions + var processs = function(search) { + var timeout = setTimeout(function() { + var number = KTUtil.getRandomInt(1, 6); + + // Hide recently viewed + suggestionsElement.classList.add('d-none'); + + if (number === 3) { + // Hide results + resultsElement.classList.add('d-none'); + // Show empty message + emptyElement.classList.remove('d-none'); + } else { + // Show results + resultsElement.classList.remove('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Complete search + search.complete(); + }, 1500); + } + + var clear = function(search) { + // Show recently viewed + suggestionsElement.classList.remove('d-none'); + // Hide results + resultsElement.classList.add('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Public methods + return { + init: function() { + // Elements + element = document.querySelector('#kt_docs_search_handler_basic'); + + if (!element) { + return; + } + + wrapperElement = element.querySelector('[data-kt-search-element="wrapper"]'); + suggestionsElement = element.querySelector('[data-kt-search-element="suggestions"]'); + resultsElement = element.querySelector('[data-kt-search-element="results"]'); + emptyElement = element.querySelector('[data-kt-search-element="empty"]'); + + // Initialize search handler + searchObject = new KTSearch(element); + + // Search handler + searchObject.on('kt.search.process', processs); + + // Clear handler + searchObject.on('kt.search.clear', clear); + + // Handle select + KTUtil.on(element, '[data-kt-search-element="customer"]', 'click', function() { + //modal.hide(); + }); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTGeneralSearchBasicDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/search/menu.js b/assets/js/custom/documentation/general/search/menu.js new file mode 100644 index 0000000..665c432 --- /dev/null +++ b/assets/js/custom/documentation/general/search/menu.js @@ -0,0 +1,135 @@ +"use strict"; + +// Class definition +var KTGeneralSearchMenuDemos = function() { + // Private variables + var element; + var formElement; + var mainElement; + var resultsElement; + var wrapperElement; + var emptyElement; + + var preferencesElement; + var preferencesShowElement; + var preferencesDismissElement; + + var advancedOptionsFormElement; + var advancedOptionsFormShowElement; + var advancedOptionsFormCancelElement; + var advancedOptionsFormSearchElement; + + var searchObject; + + // Private functions + var processs = function(search) { + var timeout = setTimeout(function() { + var number = KTUtil.getRandomInt(1, 3); + + // Hide recently viewed + mainElement.classList.add('d-none'); + + if (number === 3) { + // Hide results + resultsElement.classList.add('d-none'); + // Show empty message + emptyElement.classList.remove('d-none'); + } else { + // Show results + resultsElement.classList.remove('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Complete search + search.complete(); + }, 1500); + } + + var clear = function(search) { + // Show recently viewed + mainElement.classList.remove('d-none'); + // Hide results + resultsElement.classList.add('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + var handlePreferences = function() { + // Preference show handler + preferencesShowElement.addEventListener('click', function() { + wrapperElement.classList.add('d-none'); + preferencesElement.classList.remove('d-none'); + }); + + // Preference dismiss handler + preferencesDismissElement.addEventListener('click', function() { + wrapperElement.classList.remove('d-none'); + preferencesElement.classList.add('d-none'); + }); + } + + var handleAdvancedOptionsForm = function() { + // Show + advancedOptionsFormShowElement.addEventListener('click', function() { + wrapperElement.classList.add('d-none'); + advancedOptionsFormElement.classList.remove('d-none'); + }); + + // Cancel + advancedOptionsFormCancelElement.addEventListener('click', function() { + wrapperElement.classList.remove('d-none'); + advancedOptionsFormElement.classList.add('d-none'); + }); + + // Search + advancedOptionsFormSearchElement.addEventListener('click', function() { + + }); + } + + // Public methods + return { + init: function() { + // Elements + element = document.querySelector('#kt_docs_search_handler_menu'); + + if (!element) { + return; + } + + wrapperElement = element.querySelector('[data-kt-search-element="wrapper"]'); + formElement = element.querySelector('[data-kt-search-element="form"]'); + mainElement = element.querySelector('[data-kt-search-element="main"]'); + resultsElement = element.querySelector('[data-kt-search-element="results"]'); + emptyElement = element.querySelector('[data-kt-search-element="empty"]'); + + preferencesElement = element.querySelector('[data-kt-search-element="preferences"]'); + preferencesShowElement = element.querySelector('[data-kt-search-element="preferences-show"]'); + preferencesDismissElement = element.querySelector('[data-kt-search-element="preferences-dismiss"]'); + + advancedOptionsFormElement = element.querySelector('[data-kt-search-element="advanced-options-form"]'); + advancedOptionsFormShowElement = element.querySelector('[data-kt-search-element="advanced-options-form-show"]'); + advancedOptionsFormCancelElement = element.querySelector('[data-kt-search-element="advanced-options-form-cancel"]'); + advancedOptionsFormSearchElement = element.querySelector('[data-kt-search-element="advanced-options-form-search"]'); + + // Initialize search handler + searchObject = new KTSearch(element); + + // Search handler + searchObject.on('kt.search.process', processs); + + // Clear handler + searchObject.on('kt.search.clear', clear); + + // Custom handlers + handlePreferences(); + handleAdvancedOptionsForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralSearchMenuDemos.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/documentation/general/search/responsive.js b/assets/js/custom/documentation/general/search/responsive.js new file mode 100644 index 0000000..70270c0 --- /dev/null +++ b/assets/js/custom/documentation/general/search/responsive.js @@ -0,0 +1,100 @@ +"use strict"; + +// Class definition +var KTGeneralSearchResponsiveDemos = function() { + // Private variables + var element; + var recentlyViewedElement; + var resultsElement; + var wrapperElement; + var emptyElement; + var preferencesElement; + var preferencesShowElement; + var preferencesDismissElement; + var searchObject; + + // Private functions + var processs = function(search) { + var timeout = setTimeout(function() { + var number = KTUtil.getRandomInt(1, 3); + + // Hide recently viewed + recentlyViewedElement.classList.add('d-none'); + + if (number === 3) { + // Hide results + resultsElement.classList.add('d-none'); + // Show empty message + emptyElement.classList.remove('d-none'); + } else { + // Show results + resultsElement.classList.remove('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Complete search + search.complete(); + }, 1500); + } + + var clear = function(search) { + // Show recently viewed + recentlyViewedElement.classList.remove('d-none'); + // Hide results + resultsElement.classList.add('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Public methods + return { + init: function() { + // Elements + element = document.querySelector('#kt_docs_search_handler_responsive'); + + if (!element) { + return; + } + + wrapperElement = element.querySelector('[data-kt-search-element="wrapper"]'); + recentlyViewedElement = element.querySelector('[data-kt-search-element="recently-viewed"]'); + resultsElement = element.querySelector('[data-kt-search-element="results"]'); + emptyElement = element.querySelector('[data-kt-search-element="empty"]'); + preferencesElement = element.querySelector('[data-kt-search-element="preferences"]'); + preferencesShowElement = element.querySelector('[data-kt-search-element="preferences-show"]'); + preferencesDismissElement = element.querySelector('[data-kt-search-element="preferences-dismiss"]'); + + // Initialize search handler + searchObject = new KTSearch(element); + + // Search handler + searchObject.on('kt.search.process', processs); + + // Clear handler + searchObject.on('kt.search.clear', clear); + + // Preference show handler + preferencesShowElement.addEventListener('click', function() { + wrapperElement.classList.add('d-none'); + preferencesElement.classList.remove('d-none'); + }); + + // Preference dismiss handler + preferencesDismissElement.addEventListener('click', function() { + wrapperElement.classList.remove('d-none'); + preferencesElement.classList.add('d-none'); + }); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralSearchResponsiveDemos.init(); +}); + +// Webpack support +if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') { + module.exports = KTGeneralSearchResponsiveDemos; +} \ No newline at end of file diff --git a/assets/js/custom/documentation/general/stepper.js b/assets/js/custom/documentation/general/stepper.js new file mode 100644 index 0000000..70c90f5 --- /dev/null +++ b/assets/js/custom/documentation/general/stepper.js @@ -0,0 +1,68 @@ +"use strict"; + +// Class definition +var KTGeneralStepperDemos = function() { + // Private functions + var _exampleBasic = function() { + // Stepper lement + var element = document.querySelector("#kt_stepper_example_basic"); + + // Initialize Stepper + var stepper = new KTStepper(element); + + // Handle next step + stepper.on("kt.stepper.next", function (stepper) { + stepper.goNext(); // go next step + }); + + // Handle previous step + stepper.on("kt.stepper.previous", function (stepper) { + stepper.goPrevious(); // go previous step + }); + } + + var _exampleVertical = function() { + // Stepper lement + var element = document.querySelector("#kt_stepper_example_vertical"); + + // Initialize Stepper + var stepper = new KTStepper(element); + + // Handle next step + stepper.on("kt.stepper.next", function (stepper) { + stepper.goNext(); // go next step + }); + + // Handle previous step + stepper.on("kt.stepper.previous", function (stepper) { + stepper.goPrevious(); // go previous step + }); + } + + var _exampleClickable = function() { + // Stepper lement + var element = document.querySelector("#kt_stepper_example_clickable"); + + // Initialize Stepper + var stepper = new KTStepper(element); + + // Handle navigation click + stepper.on("kt.stepper.click", function (stepper) { + stepper.goTo(stepper.getClickedStepIndex()); // go to clicked step + }); + } + + return { + // Public Functions + init: function() { + _exampleBasic(); + _exampleVertical(); + _exampleClickable(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralStepperDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/sweetalert.js b/assets/js/custom/documentation/general/sweetalert.js new file mode 100644 index 0000000..d16ccbb --- /dev/null +++ b/assets/js/custom/documentation/general/sweetalert.js @@ -0,0 +1,138 @@ +"use strict"; + +// Class definition +var KTGeneralSweetAlertDemos = function() { + // Private functions + const exampleBasic = function() { + const button = document.getElementById('kt_docs_sweetalert_basic'); + + button.addEventListener('click', e =>{ + e.preventDefault(); + + Swal.fire({ + text: "Here's a basic example of SweetAlert!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + }); + } + + const exampleHtml = function() { + const button = document.getElementById('kt_docs_sweetalert_html'); + + button.addEventListener('click', e =>{ + e.preventDefault(); + + Swal.fire({ + html: 'A SweetAlert content with bold text, links or any of our available components', + icon: "info", + buttonsStyling: false, + showCancelButton: true, + confirmButtonText: "Ok, got it!", + cancelButtonText: 'Nope, cancel it', + customClass: { + confirmButton: "btn btn-primary", + cancelButton: 'btn btn-danger' + } + }); + }); + } + + const exampleStates = () => { + // Select buttons + const infoButton = document.getElementById('kt_docs_sweetalert_state_info'); + const warningButton = document.getElementById('kt_docs_sweetalert_state_warning'); + const errorButton = document.getElementById('kt_docs_sweetalert_state_error'); + const successButton = document.getElementById('kt_docs_sweetalert_state_success'); + const questionButton = document.getElementById('kt_docs_sweetalert_state_question'); + + // Click action handlers + infoButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Here's an example of an info SweetAlert!", + icon: "info", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-info" + } + }); + }); + + warningButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Here's an example of a warning SweetAlert!", + icon: "warning", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-warning" + } + }); + }); + + errorButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Here's an example of an error SweetAlert!", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-danger" + } + }); + }); + + successButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Here's an example of a success SweetAlert!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-success" + } + }); + }); + + questionButton.addEventListener('click', e => { + e.preventDefault(); + + Swal.fire({ + text: "Here's an example of a question SweetAlert!", + icon: "question", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }); + }); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + exampleHtml(); + exampleStates(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralSweetAlertDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/toastr.js b/assets/js/custom/documentation/general/toastr.js new file mode 100644 index 0000000..355329d --- /dev/null +++ b/assets/js/custom/documentation/general/toastr.js @@ -0,0 +1,163 @@ +"use strict"; + +// Class definition +var KTGeneralToastr = function() { + // Private functions + var example1 = function() { + var i = -1; + var toastCount = 0; + var $toastlast; + + var getMessage = function () { + var msgs = [ + 'New order has been placed!', + 'Are you the six fingered man?', + 'Inconceivable!', + 'I do not think that means what you think it means.', + 'Have fun storming the castle!' + ]; + i++; + if (i === msgs.length) { + i = 0; + } + + return msgs[i]; + }; + + var getMessageWithClearButton = function (msg) { + msg = msg ? msg : 'Clear itself?'; + msg += '

'; + return msg; + }; + + $('#showtoast').on('click', function () { + var shortCutFunction = $("#toastTypeGroup input:radio:checked").val(); + var msg = $('#message').val(); + var title = $('#title').val() || ''; + var $showDuration = $('#showDuration'); + var $hideDuration = $('#hideDuration'); + var $timeOut = $('#timeOut'); + var $extendedTimeOut = $('#extendedTimeOut'); + var $showEasing = $('#showEasing'); + var $hideEasing = $('#hideEasing'); + var $showMethod = $('#showMethod'); + var $hideMethod = $('#hideMethod'); + var toastIndex = toastCount++; + var addClear = $('#addClear').prop('checked'); + + toastr.options = { + closeButton: $('#closeButton').prop('checked'), + debug: $('#debugInfo').prop('checked'), + newestOnTop: $('#newestOnTop').prop('checked'), + progressBar: $('#progressBar').prop('checked'), + positionClass: $('#positionGroup input:radio:checked').val() || 'toast-top-right', + preventDuplicates: $('#preventDuplicates').prop('checked'), + onclick: null + }; + + if ($('#addBehaviorOnToastClick').prop('checked')) { + toastr.options.onclick = function () { + alert('You can perform some custom action after a toast goes away'); + }; + } + + if ($showDuration.val().length) { + toastr.options.showDuration = $showDuration.val(); + } + + if ($hideDuration.val().length) { + toastr.options.hideDuration = $hideDuration.val(); + } + + if ($timeOut.val().length) { + toastr.options.timeOut = addClear ? 0 : $timeOut.val(); + } + + if ($extendedTimeOut.val().length) { + toastr.options.extendedTimeOut = addClear ? 0 : $extendedTimeOut.val(); + } + + if ($showEasing.val().length) { + toastr.options.showEasing = $showEasing.val(); + } + + if ($hideEasing.val().length) { + toastr.options.hideEasing = $hideEasing.val(); + } + + if ($showMethod.val().length) { + toastr.options.showMethod = $showMethod.val(); + } + + if ($hideMethod.val().length) { + toastr.options.hideMethod = $hideMethod.val(); + } + + if (addClear) { + msg = getMessageWithClearButton(msg); + toastr.options.tapToDismiss = false; + } + if (!msg) { + msg = getMessage(); + } + + $('#toastrOptions').text( + 'toastr.options = ' + + JSON.stringify(toastr.options, null, 2) + + ';' + + '\n\ntoastr.' + + shortCutFunction + + '("' + + msg + + (title ? '", "' + title : '') + + '");' + ); + + var $toast = toastr[shortCutFunction](msg, title); // Wire up an event handler to a button in the toast, if it exists + $toastlast = $toast; + + if(typeof $toast === 'undefined'){ + return; + } + + if ($toast.find('#okBtn').length) { + $toast.delegate('#okBtn', 'click', function () { + alert('you clicked me. i was toast #' + toastIndex + '. goodbye!'); + $toast.remove(); + }); + } + if ($toast.find('#surpriseBtn').length) { + $toast.delegate('#surpriseBtn', 'click', function () { + alert('Surprise! you clicked me. i was toast #' + toastIndex + '. You could perform an action here.'); + }); + } + if ($toast.find('.clear').length) { + $toast.delegate('.clear', 'click', function () { + toastr.clear($toast, { force: true }); + }); + } + }); + + function getLastToast(){ + return $toastlast; + } + $('#clearlasttoast').on('click', function () { + toastr.clear(getLastToast()); + }); + $('#cleartoasts').on('click', function () { + toastr.clear(); + }); + } + + return { + // Public Functions + init: function() { + example1(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralToastr.init(); +}); diff --git a/assets/js/custom/documentation/general/typed.js b/assets/js/custom/documentation/general/typed.js new file mode 100644 index 0000000..947b31a --- /dev/null +++ b/assets/js/custom/documentation/general/typed.js @@ -0,0 +1,24 @@ +"use strict"; + +// Class definition +var KTGeneralTypedJsDemos = function() { + // Private functions + var exampleBasic = function() { + var typed = new Typed("#kt_typedjs_example_1", { + strings: ["First sentence.", "Second sentence.", "Third sentense", "And some longer sentence"], + typeSpeed: 30 + }); + } + + return { + // Public Functions + init: function() { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralTypedJsDemos.init(); +}); diff --git a/assets/js/custom/documentation/general/vis-timeline/basic.js b/assets/js/custom/documentation/general/vis-timeline/basic.js new file mode 100644 index 0000000..53150e3 --- /dev/null +++ b/assets/js/custom/documentation/general/vis-timeline/basic.js @@ -0,0 +1,38 @@ +"use strict"; + +// Class definition +var KTVisTimelineBasic = function () { + // Private functions + var exampleBasic = function () { + // DOM element where the Timeline will be attached + var container = document.getElementById("kt_docs_vistimeline_basic"); + + // Create a DataSet (allows two way data-binding) + var items = new vis.DataSet([ + { id: 1, content: "item 1", start: "2021-04-20" }, + { id: 2, content: "item 2", start: "2021-04-14" }, + { id: 3, content: "item 3", start: "2021-04-18" }, + { id: 4, content: "item 4", start: "2021-04-16", end: "2021-04-19" }, + { id: 5, content: "item 5", start: "2021-04-25" }, + { id: 6, content: "item 6", start: "2021-04-27", type: "point" }, + ]); + + // Configuration for the Timeline + var options = {}; + + // Create a Timeline + var timeline = new vis.Timeline(container, items, options); + } + + return { + // Public Functions + init: function () { + exampleBasic(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTVisTimelineBasic.init(); +}); diff --git a/assets/js/custom/documentation/general/vis-timeline/group.js b/assets/js/custom/documentation/general/vis-timeline/group.js new file mode 100644 index 0000000..d073628 --- /dev/null +++ b/assets/js/custom/documentation/general/vis-timeline/group.js @@ -0,0 +1,101 @@ +"use strict"; + +// Class definition +var KTVisTimelineGroup = function () { + // Private functions + var exampleGroup = function () { + var now = Date.now(); + + var options = { + stack: true, + maxHeight: 640, + horizontalScroll: false, + verticalScroll: true, + zoomKey: "ctrlKey", + start: Date.now() - 1000 * 60 * 60 * 24 * 3, // minus 3 days + end: Date.now() + 1000 * 60 * 60 * 24 * 21, // plus 1 months aprox. + orientation: { + axis: "both", + item: "top", + }, + }; + var groups = new vis.DataSet(); + var items = new vis.DataSet(); + + var count = 300; + + for (var i = 0; i < count; i++) { + var start = now + 1000 * 60 * 60 * 24 * (i + Math.floor(Math.random() * 7)); + var end = start + 1000 * 60 * 60 * 24 * (1 + Math.floor(Math.random() * 5)); + + groups.add({ + id: i, + content: "Task " + i, + order: i, + }); + + items.add({ + id: i, + group: i, + start: start, + end: end, + type: "range", + content: "Item " + i, + }); + } + + // create a Timeline + var container = document.getElementById("kt_docs_vistimeline_group"); + var timeline = new vis.Timeline(container, items, groups, options); + //timeline = new vis.Timeline(container, null, options); + timeline.setGroups(groups); + timeline.setItems(items); + + function debounce(func, wait = 100) { + let timeout; + return function (...args) { + clearTimeout(timeout); + timeout = setTimeout(() => { + func.apply(this, args); + }, wait); + }; + } + + let groupFocus = (e) => { + let vGroups = timeline.getVisibleGroups(); + let vItems = vGroups.reduce((res, groupId) => { + let group = timeline.itemSet.groups[groupId]; + if (group.items) { + res = res.concat(Object.keys(group.items)); + } + return res; + }, []); + timeline.focus(vItems); + }; + timeline.on("scroll", debounce(groupFocus, 200)); + // Enabling the next line leads to a continuous since calling focus might scroll vertically even if it shouldn't + // this.timeline.on("scrollSide", debounce(groupFocus, 200)) + + // Handle button click + const button = document.getElementById('kt_docs_vistimeline_group_button'); + button.addEventListener('click', e => { + e.preventDefault(); + + var a = timeline.getVisibleGroups(); + document.getElementById("visibleGroupsContainer").innerHTML = ""; + document.getElementById("visibleGroupsContainer").innerHTML += a; + }); + } + + return { + // Public Functions + init: function () { + exampleGroup(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTVisTimelineGroup.init(); +}); diff --git a/assets/js/custom/documentation/general/vis-timeline/interaction.js b/assets/js/custom/documentation/general/vis-timeline/interaction.js new file mode 100644 index 0000000..e76c774 --- /dev/null +++ b/assets/js/custom/documentation/general/vis-timeline/interaction.js @@ -0,0 +1,66 @@ +"use strict"; + +// Class definition +var KTVisTimelineInteraction = function () { + // Private functions + var exampleInteraction = function () { + // create a dataset with items + // we specify the type of the fields `start` and `end` here to be strings + // containing an ISO date. The fields will be outputted as ISO dates + // automatically getting data from the DataSet via items.get(). + var items = new vis.DataSet({ + type: { start: "ISODate", end: "ISODate" }, + }); + + // add items to the DataSet + items.add([ + { id: 1, content: "item 1
start", start: "2021-01-23" }, + { id: 2, content: "item 2", start: "2021-01-18" }, + { id: 3, content: "item 3", start: "2021-01-21" }, + { id: 4, content: "item 4", start: "2021-01-19", end: "2021-01-24" }, + { id: 5, content: "item 5", start: "2021-01-28", type: "point" }, + { id: 6, content: "item 6", start: "2021-01-26" }, + ]); + + var container = document.getElementById("kt_docs_vistimeline_interaction"); + var options = { + start: "2021-01-10", + end: "2021-02-10", + editable: true, + showCurrentTime: true, + }; + + var timeline = new vis.Timeline(container, items, options); + + // Handle buttons + document.getElementById("window1").onclick = function () { + timeline.setWindow("2021-01-01", "2021-04-01"); + }; + document.getElementById("fit").onclick = function () { + timeline.fit(); + }; + document.getElementById("select").onclick = function () { + timeline.setSelection([5, 6], { + focus: true, + }); + }; + document.getElementById("focus1").onclick = function () { + timeline.focus(2); + }; + document.getElementById("moveTo").onclick = function () { + timeline.moveTo("2021-02-01"); + }; + } + + return { + // Public Functions + init: function () { + exampleInteraction(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTVisTimelineInteraction.init(); +}); diff --git a/assets/js/custom/documentation/general/vis-timeline/style.js b/assets/js/custom/documentation/general/vis-timeline/style.js new file mode 100644 index 0000000..de9a889 --- /dev/null +++ b/assets/js/custom/documentation/general/vis-timeline/style.js @@ -0,0 +1,89 @@ +"use strict"; + + +// Class definition +var KTVisTimelineStyle = function () { + // Private functions + var exampleStyle = function () { + var container = document.getElementById("kt_docs_vistimeline_style"); + + // Generate HTML content + const getContent = (title, img) => { + const item = document.createElement('div'); + const name = document.createElement('div'); + const nameClasses = ['fw-bolder', 'mb-2']; + name.classList.add(...nameClasses); + name.innerHTML = title; + + const image = document.createElement('img'); + image.setAttribute('src', img); + + const symbol = document.createElement('div'); + const symbolClasses = ['symbol', 'symbol-circle', 'symbol-30']; + symbol.classList.add(...symbolClasses); + symbol.appendChild(image); + + item.appendChild(name); + item.appendChild(symbol); + + return item; + } + + // note that months are zero-based in the JavaScript Date object + var items = new vis.DataSet([ + { + start: new Date(2010, 7, 23), + content: getContent('Conversation', hostUrl + '/media/avatars/150-1.jpg') + }, + { + start: new Date(2010, 7, 23, 23, 0, 0), + content: getContent('Mail from boss', hostUrl + '/media/avatars/150-2.jpg') + }, + { start: new Date(2010, 7, 24, 16, 0, 0), content: "Report" }, + { + start: new Date(2010, 7, 26), + end: new Date(2010, 8, 2), + content: "Traject A", + }, + { + start: new Date(2010, 7, 28), + content: getContent('Memo', hostUrl + '/media/avatars/150-3.jpg') + }, + { + start: new Date(2010, 7, 29), + content: getContent('Phone call', hostUrl + '/media/avatars/150-4.jpg') + }, + { + start: new Date(2010, 7, 31), + end: new Date(2010, 8, 3), + content: "Traject B", + }, + { + start: new Date(2010, 8, 4, 12, 0, 0), + content: getContent('Report', hostUrl + '/media/avatars/150-5.jpg') + }, + ]); + + var options = { + editable: true, + margin: { + item: 20, + axis: 40, + }, + }; + + var timeline = new vis.Timeline(container, items, options); + } + + return { + // Public Functions + init: function () { + exampleStyle(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTVisTimelineStyle.init(); +}); diff --git a/assets/js/custom/documentation/general/vis-timeline/template.js b/assets/js/custom/documentation/general/vis-timeline/template.js new file mode 100644 index 0000000..61abe66 --- /dev/null +++ b/assets/js/custom/documentation/general/vis-timeline/template.js @@ -0,0 +1,230 @@ +"use strict"; + +// Class definition +var KTVisTimelineTemplate = function () { + // Template data --- handlebars is used as the template for this demo. For more info: https://handlebarsjs.com/ + const data = ` + + + + + + + + + + + + + +
+ {{ description }} +
{{ player1 }} + {{ score1 }} - {{ score2 }} + {{ player2 }}
+ {{abbr1}} + + {{abbr2}} +
`; + + // Private functions + var exampleTemplate = function () { + // create a handlebars template --- For more info: https://handlebarsjs.com/ + var template = Handlebars.compile(data); + + // DOM element where the Timeline will be attached + var container = document.getElementById("kt_docs_vistimeline_template"); + + // Create a DataSet (allows two way data-binding) + var items = new vis.DataSet([ + // round of 16 + { + player1: "Brazil", + abbr1: "br", + score1: "1 (3)", + player2: "Chile", + abbr2: "cl", + score2: "1 (2)", + description: "round of 16", + start: "2014-06-28T13:00:00", + }, + { + player1: "Colombia", + abbr1: "co", + score1: 2, + player2: "Uruguay", + abbr2: "uy", + score2: 0, + description: "round of 16", + start: "2014-06-28T17:00:00", + }, + { + player1: "Netherlands", + abbr1: "nl", + score1: 2, + player2: "Mexico", + abbr2: "mx", + score2: 1, + description: "round of 16", + start: "2014-06-29T13:00:00", + }, + { + player1: "Costa Rica", + abbr1: "cr", + score1: "1 (5)", + player2: "Greece", + abbr2: "gr", + score2: "1 (3)", + description: "round of 16", + start: "2014-06-29T17:00:00", + }, + { + player1: "France", + abbr1: "fr", + score1: 2, + player2: "Nigeria", + abbr2: "ng", + score2: 0, + description: "round of 16", + start: "2014-06-30T13:00:00", + }, + { + player1: "Germany", + abbr1: "de", + score1: 2, + player2: "Algeria", + abbr2: "dz", + score2: 1, + description: "round of 16", + start: "2014-06-30T17:00:00", + }, + { + player1: "Argentina", + abbr1: "ar", + score1: 1, + player2: "Switzerland", + abbr2: "ch", + score2: 0, + description: "round of 16", + start: "2014-07-01T13:00:00", + }, + { + player1: "Belgium", + abbr1: "be", + score1: 2, + player2: "USA", + abbr2: "us", + score2: 1, + description: "round of 16", + start: "2014-07-01T17:00:00", + }, + + // quarter-finals + { + player1: "France", + abbr1: "fr", + score1: 0, + player2: "Germany", + abbr2: "de", + score2: 1, + description: "quarter-finals", + start: "2014-07-04T13:00:00", + }, + { + player1: "Brazil", + abbr1: "br", + score1: 2, + player2: "Colombia", + abbr2: "co", + score2: 1, + description: "quarter-finals", + start: "2014-07-04T17:00:00", + }, + { + player1: "Argentina", + abbr1: "ar", + score1: 1, + player2: "Belgium", + abbr2: "be", + score2: 0, + description: "quarter-finals", + start: "2014-07-05T13:00:00", + }, + { + player1: "Netherlands", + abbr1: "nl", + score1: "0 (4)", + player2: "Costa Rica", + abbr2: "cr", + score2: "0 (3)", + description: "quarter-finals", + start: "2014-07-05T17:00:00", + }, + + // semi-finals + { + player1: "Brazil", + abbr1: "br", + score1: 1, + player2: "Germany", + abbr2: "de", + score2: 7, + description: "semi-finals", + start: "2014-07-08T17:00:00", + }, + { + player1: "Netherlands", + abbr1: "nl", + score1: "0 (2)", + player2: "Argentina", + abbr2: "ar", + score2: "0 (4)", + description: "semi-finals", + start: "2014-07-09T17:00:00", + }, + + // final + { + player1: "Germany", + score1: 1, + abbr1: "de", + player2: "Argentina", + abbr2: "ar", + score2: 0, + description: "final", + start: "2014-07-13T16:00:00", + }, + ]); + + // Configuration for the Timeline + var options = { + // specify a template for the items + template: template, + }; + + // Create a Timeline + var timeline = new vis.Timeline(container, items, options); + } + + return { + // Public Functions + init: function () { + exampleTemplate(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function () { + KTVisTimelineTemplate.init(); +}); diff --git a/assets/js/custom/documentation/search.js b/assets/js/custom/documentation/search.js new file mode 100644 index 0000000..2b468d7 --- /dev/null +++ b/assets/js/custom/documentation/search.js @@ -0,0 +1,92 @@ +"use strict"; + +// Class definition +var KTDocsSearch = function() { + // Private variables + var element; + var formElement; + var mainElement; + var resultsElement; + var wrapperElement; + var emptyElement; + var searchObject; + + // Private functions + var processs = function(search) { + var results = 0; + + // Elements + var searchable = [].slice.call(resultsElement.querySelectorAll('[data-kt-searchable="true"]')); + + // Match elements + searchable.map(function (element) { + var query = searchObject.getQuery(); + + if (element.innerText.toLowerCase().indexOf(query.toLowerCase()) !== -1) { + element.classList.remove('d-none'); + results++; + } else { + element.classList.add('d-none'); + } + }); + + // Hide recently viewed + mainElement.classList.add('d-none'); + + if (results === 0) { + // Hide results + resultsElement.classList.add('d-none'); + // Show empty message + emptyElement.classList.remove('d-none'); + } else { + // Show results + resultsElement.classList.remove('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Complete search + search.complete(); + } + + var clear = function(search) { + // Show recently viewed + mainElement.classList.remove('d-none'); + // Hide results + resultsElement.classList.add('d-none'); + // Hide empty message + emptyElement.classList.add('d-none'); + } + + // Public methods + return { + init: function() { + // Elements + element = document.querySelector('#kt_docs_search'); + + if (!element) { + return; + } + + wrapperElement = element.querySelector('[data-kt-search-element="wrapper"]'); + formElement = element.querySelector('[data-kt-search-element="form"]'); + mainElement = element.querySelector('[data-kt-search-element="main"]'); + resultsElement = element.querySelector('[data-kt-search-element="results"]'); + emptyElement = element.querySelector('[data-kt-search-element="empty"]'); + + // Initialize search handler + searchObject = new KTSearch(element); + + // Search handler + searchObject.on('kt.search.process', processs); + + // Clear handler + searchObject.on('kt.search.clear', clear); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTDocsSearch.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/general/pricing.js b/assets/js/custom/general/pricing.js new file mode 100644 index 0000000..c213440 --- /dev/null +++ b/assets/js/custom/general/pricing.js @@ -0,0 +1,57 @@ +"use strict"; + +// Class definition +var KTGeneralPricing = function () { + // Private variables + var element; + var planPeriodMonthButton; + var planPeriodAnnualButton; + + var changePlanPrices = function(type) { + var items = [].slice.call(element.querySelectorAll('[data-kt-plan-price-month]')); + + items.map(function (item) { + var monthPrice = item.getAttribute('data-kt-plan-price-month'); + var annualPrice = item.getAttribute('data-kt-plan-price-annual'); + + if ( type === 'month' ) { + item.innerHTML = monthPrice; + } else if ( type === 'annual' ) { + item.innerHTML = annualPrice; + } + }); + } + + var handlePlanPeriodSelection = function(e) { + + // Handle period change + planPeriodMonthButton.addEventListener('click', function (e) { + e.preventDefault(); + + changePlanPrices('month'); + }); + + planPeriodAnnualButton.addEventListener('click', function (e) { + e.preventDefault(); + + changePlanPrices('annual'); + }); + } + + // Public methods + return { + init: function () { + element = document.querySelector('#kt_pricing'); + planPeriodMonthButton = element.querySelector('[data-kt-plan="month"]'); + planPeriodAnnualButton = element.querySelector('[data-kt-plan="annual"]'); + + // Handlers + handlePlanPeriodSelection(); + } + } +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralPricing.init(); +}); diff --git a/assets/js/custom/general/wizard.js b/assets/js/custom/general/wizard.js new file mode 100644 index 0000000..e862aeb --- /dev/null +++ b/assets/js/custom/general/wizard.js @@ -0,0 +1,331 @@ +"use strict"; + +// Class definition +var KTGeneralWizard = function () { + // Elements + var modal; + var modalEl; + + var stepper; + var form; + var formSubmitButton; + + // Variables + var stepperObj; + var validations = []; + + // Private Functions + var initStepper = function () { + // Initialize Stepper + stepperObj = new KTStepper(stepper); + + // Validation before going to next page + stepperObj.on('kt.stepper.next', function (stepper) { + console.log('stepper.next'); + + // Validate form before change stepper step + var validator = validations[stepper.getCurrentStepIndex() - 1]; // get validator for currnt step + + if (validator) { + validator.validate().then(function (status) { + console.log('validated!'); + + if (status == 'Valid') { + stepper.goNext(); + + KTUtil.scrollTop(); + } else { + Swal.fire({ + text: "Sorry, looks like there are some errors detected, please try again.", + icon: "error", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-light" + } + }).then(function () { + KTUtil.scrollTop(); + }); + } + }); + } else { + stepper.goNext(); + + KTUtil.scrollTop(); + } + }); + + // Prev event + stepperObj.on('kt.stepper.previous', function (stepper) { + console.log('stepper.previous'); + + stepper.goPrevious(); + KTUtil.scrollTop(); + }); + } + + var handleForm = function() { + formSubmitButton.addEventListener('click', function (e) { + // Prevent default button action + e.preventDefault(); + + // Disable button to avoid multiple click + formSubmitButton.disabled = true; + + // Show loading indication + formSubmitButton.setAttribute('data-kt-indicator', 'on'); + + // Simulate form submission + setTimeout(function() { + // Hide loading indication + formSubmitButton.removeAttribute('data-kt-indicator'); + + // Enable button + formSubmitButton.disabled = false; + + // Show popup confirmation. For more info check the plugin's official documentation: https://sweetalert2.github.io/ + Swal.fire({ + text: "Form has been successfully submitted!", + icon: "success", + buttonsStyling: false, + confirmButtonText: "Ok, got it!", + customClass: { + confirmButton: "btn btn-primary" + } + }).then(function (result) { + if (result.isConfirmed) { + if (modal) { + modal.hide(); // close modal + } + //form.submit(); // Submit form + } + }); + }, 2000); + }); + + // Expiry month. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="card_expiry_month"]')).on('change', function() { + // Revalidate the field when an option is chosen + validations[3].revalidateField('card_expiry_month'); + }); + + // Expiry year. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="card_expiry_year"]')).on('change', function() { + // Revalidate the field when an option is chosen + validations[3].revalidateField('card_expiry_year'); + }); + + // Expiry year. For more info, plase visit the official plugin site: https://select2.org/ + $(form.querySelector('[name="business_type"]')).on('change', function() { + // Revalidate the field when an option is chosen + validations[2].revalidateField('business_type'); + }); + } + + var initValidation = function () { + // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ + // Step 1 + validations.push(FormValidation.formValidation( + form, + { + fields: { + account_type: { + validators: { + notEmpty: { + message: 'Account type is required' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + )); + + // Step 2 + validations.push(FormValidation.formValidation( + form, + { + fields: { + 'account_team_size': { + validators: { + notEmpty: { + message: 'Time size is required' + } + } + }, + 'account_name': { + validators: { + notEmpty: { + message: 'Account name is required' + } + } + }, + 'account_plan': { + validators: { + notEmpty: { + message: 'Account plan is required' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + // Bootstrap Framework Integration + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + )); + + // Step 3 + validations.push(FormValidation.formValidation( + form, + { + fields: { + 'business_name': { + validators: { + notEmpty: { + message: 'Busines name is required' + } + } + }, + 'business_descriptor': { + validators: { + notEmpty: { + message: 'Busines descriptor is required' + } + } + }, + 'business_type': { + validators: { + notEmpty: { + message: 'Busines type is required' + } + } + }, + 'business_description': { + validators: { + notEmpty: { + message: 'Busines description is required' + } + } + }, + 'business_email': { + validators: { + notEmpty: { + message: 'Busines email is required' + }, + emailAddress: { + message: 'The value is not a valid email address' + } + } + } + }, + plugins: { + trigger: new FormValidation.plugins.Trigger(), + // Bootstrap Framework Integration + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + )); + + // Step 4 + validations.push(FormValidation.formValidation( + form, + { + fields: { + 'card_name': { + validators: { + notEmpty: { + message: 'Name on card is required' + } + } + }, + 'card_number': { + validators: { + notEmpty: { + message: 'Card member is required' + }, + creditCard: { + message: 'Card number is not valid' + } + } + }, + 'card_expiry_month': { + validators: { + notEmpty: { + message: 'Month is required' + } + } + }, + 'card_expiry_year': { + validators: { + notEmpty: { + message: 'Year is required' + } + } + }, + 'card_cvv': { + validators: { + notEmpty: { + message: 'CVV is required' + }, + digits: { + message: 'CVV must contain only digits' + }, + stringLength: { + min: 3, + max: 4, + message: 'CVV must contain 3 to 4 digits only' + } + } + } + }, + + plugins: { + trigger: new FormValidation.plugins.Trigger(), + // Bootstrap Framework Integration + bootstrap: new FormValidation.plugins.Bootstrap5({ + rowSelector: '.fv-row', + eleInvalidClass: '', + eleValidClass: '' + }) + } + } + )); + } + + return { + // Public Functions + init: function () { + // Elements + stepper = document.querySelector('#kt_wizard_stepper'); + + form = stepper.querySelector('#kt_wizard_form'); + formSubmitButton = stepper.querySelector('[data-kt-stepper-action="submit"]'); + + initStepper(); + initValidation(); + handleForm(); + } + }; +}(); + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTGeneralWizard.init(); +}); \ No newline at end of file diff --git a/assets/js/custom/intro.js b/assets/js/custom/intro.js new file mode 100644 index 0000000..936dbda --- /dev/null +++ b/assets/js/custom/intro.js @@ -0,0 +1,189 @@ +"use strict"; + +// Class definition +var KTIntro = function () { + // Private functions + var handleIntro = function(id, calback, timeout) { + var date = new Date(); + + var currentTime = date.getTime(); + + var time2days = 1000 * 60 * 60 * 24 * 2; // 2 days + var time7days = 1000 * 60 * 60 * 24 * 7; // 7 days + var time15days = 1000 * 60 * 60 * 24 * 15; // 15 days + var time21days = 1000 * 60 * 60 * 24 * 21; // 21 days + var time30days = 1000 * 60 * 60 * 24 * 30; // 30 days + + if (!KTCookie.get(id + '_counter') || parseInt(KTCookie.get(id + '_counter')) < 3) { + // Initial display + if (!KTCookie.get(id + '_counter')) { + setTimeout(calback, timeout); // Display intro in 5 seconds + + KTCookie.set(id + '_show_1', '1', {expires: new Date(date.getTime() + time2days)}); + + KTCookie.set(id + '_counter', '1', {expires: new Date(date.getTime() + time30days)}); + + return true; + } + + // 2 display + if (KTCookie.get(id + '_counter') == '1' && !KTCookie.get(id + '_show_1')) { + setTimeout(calback, timeout); // Display intro in 5 seconds + + KTCookie.set(id + '_show_2', '1', {expires: new Date(date.getTime() + time7days)}); + + KTCookie.set(id + '_counter', '2', {expires: new Date(date.getTime() + time21days)}); + + return true; + } + + // 3 display + if (KTCookie.get(id + '_counter') == '2' && !KTCookie.get(id + '_show_2')) { + setTimeout(calback, timeout); // Display intro in 5 seconds + + KTCookie.set(id + '_show_3', '1', {expires: new Date(date.getTime() + time15days)}); + + KTCookie.set(id + '_counter', '3', {expires: new Date(date.getTime() + time15days)}); + + return true; + } + + return false; + } + } + + var showtIntro1 = function() { + var element = document.querySelector('#kt_header_search_toggle'); + + if (!element) { + return; + } + + var options = { + customClass: 'popover-dark', + container: 'body', + trigger: 'manual', + boundary: 'window', + placement: 'left', + dismiss: true, + html: true, + title: 'Quick Search', + content: 'Fully functional search with advance options and preferences setup' + } + + // Initialize popover + var popover = KTApp.initBootstrapPopover(element, options); + popover.show(); + + // Auto remove + setTimeout(function() { + if (popover) { + popover.dispose(); + } + }, 1000 * 10); // 10 seconds + + // Hide popover on element click + element.addEventListener("click", function(e) { + popover.dispose(); + }); + } + + var showtIntro2 = function() { + var element = document.querySelector('#kt_toolbar_primary_button'); + + if (!element) { + return; + } + + var options = { + customClass: 'popover-dark', + container: 'body', + boundary: 'window', + trigger: 'manual', + placement: 'left', + dismiss: true, + html: true, + title: 'Quick Notifications', + content: 'Seamless access to updates and notifications in various formats' + } + + // Initialize popover + var popover = KTApp.initBootstrapPopover(element, options); + popover.show(); + + // Remove + setTimeout(function() { + if (popover) { + popover.dispose(); + } + }, 1000 * 10); // 10 seconds + + // Hide popover on element click + element.addEventListener("click", function(e) { + popover.dispose(); + }); + } + + var showtIntro3 = function() { + var element = document.querySelector('#kt_header_user_menu_toggle'); + + if (!element) { + return; + } + + var options = { + customClass: 'popover-dark', + container: 'body', + boundary: 'window', + placement: 'left', + trigger: 'manual', + dismiss: true, + html: true, + title: 'Advanced User Menu', + content: 'With quick links to user profile and account settings pages' + } + + // Initialize popover + var popover = KTApp.initBootstrapPopover(element, options); + popover.show(); + + // Remove + setTimeout(function() { + if (popover) { + popover.dispose(); + } + }, 1000 * 10); // 10 seconds + + // Hide popover on element click + element.addEventListener("click", function(e) { + popover.dispose(); + }); + } + + var initIntro = function(product) { + // Handle intro popovers displays + if (KTUtil.inIframe() === false) { + if (handleIntro('kt_' + product + '_intro_1', showtIntro1, 1000 * 5)) { + } else if (handleIntro('kt_' + product + '_intro_2', showtIntro2, 1000 * 5)) { + } else if (handleIntro('kt_' + product + '_intro_3', showtIntro3, 1000 * 5)) { + } + } + } + + // Public methods + return { + init: function () { + initIntro('seven'); + } + } +}(); + +// Webpack support +if (typeof module !== 'undefined') { + module.exports = KTIntro; +} + +// On document ready +KTUtil.onDOMContentLoaded(function() { + KTIntro.init(); +}); diff --git a/assets/js/custom/layout-builder/layout-builder.js b/assets/js/custom/layout-builder/layout-builder.js new file mode 100644 index 0000000..3a48267 --- /dev/null +++ b/assets/js/custom/layout-builder/layout-builder.js @@ -0,0 +1,175 @@ +"use strict"; + +// Class definition +var KTLayoutBuilder = function() { + var form = document.querySelector("#kt_layout_builder_form"); + var actionInput = document.querySelector("#kt_layout_builder_action"); + var tabInput = document.querySelector("#kt_layout_builder_tab"); + var url = form.getAttribute("action"); + + var previewButton = document.querySelector("#kt_layout_builder_preview"); + var exportButton = document.querySelector("#kt_layout_builder_export"); + var resetButton = document.querySelector("#kt_layout_builder_reset"); + + var handleTab = function() { + var tabs = [].slice.call(document.querySelectorAll('#kt_layout_builder_tabs a[data-bs-toggle="tab"]')); + + tabs.forEach(function (tab) { + tab.addEventListener("shown.bs.tab", function (e) { + tabInput.value = tab.getAttribute("href").substring(1); + }); + }); + }; + + var handlePreview = function() { + previewButton.addEventListener("click", function(e) { + e.preventDefault(); + + // Set form action value + actionInput.value = "preview"; + + // Show progress + previewButton.setAttribute("data-kt-indicator", "on"); + + // Prepare form data + var data = $(form).serialize(); + + // Submit + $.ajax({ + type: "POST", + dataType: "html", + url: url, + data: data, + success: function(response, status, xhr) { + toastr.success( + "Preview has been updated with current configured layout.", + "Preview updated!", + {timeOut: 0, extendedTimeOut: 0, closeButton: true, closeDuration: 0} + ); + + setTimeout(function() { + location.reload(); // reload page + }, 1500); + }, + error: function(response) { + toastr.error( + "Please try it again later.", + "Something went wrong!", + {timeOut: 0, extendedTimeOut: 0, closeButton: true, closeDuration: 0} + ); + }, + complete: function() { + previewButton.removeAttribute("data-kt-indicator"); + } + }); + }); + }; + + var handleExport = function() { + exportButton.addEventListener("click", function(e) { + e.preventDefault(); + + toastr.success( + "Process has been started and it may take a while.", + "Generating HTML!", + {timeOut: 0, extendedTimeOut: 0, closeButton: true, closeDuration: 0} + ); + + // Show progress + exportButton.setAttribute("data-kt-indicator", "on"); + + // Set form action value + actionInput.value = "export"; + + // Prepare form data + var data = $(form).serialize(); + + $.ajax({ + type: "POST", + dataType: "html", + url: url, + data: data, + success: function(response, status, xhr) { + var timer = setInterval(function() { + $("`},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>`
`},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)/,/^youtube\.com\/embed\/([\w-]+)/,/^youtu\.be\/([\w-]+)/],html:t=>`
`},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>`
`},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:/^google\.com\/maps/},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new Sm(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,o=t.config.get("mediaEmbed.previewsInData"),r=this.registry;t.commands.add("mediaEmbed",new Em(t)),e.register("media",{isObject:!0,isBlock:!0,allowWhere:"$block",allowAttributes:["url"]}),i.for("dataDowncast").elementToElement({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return Cm(e,r,n,{renderMediaPreview:n&&o})}}),i.for("dataDowncast").add(Am(r,{renderMediaPreview:o})),i.for("editingDowncast").elementToElement({model:"media",view:(t,{writer:e})=>{const i=t.getAttribute("url");return function(t,e,n){return e.setCustomProperty("media",!0,t),rh(t,e,{label:n})}(Cm(e,r,i,{renderForEditingView:!0}),e,n("media widget"))}}),i.for("editingDowncast").add(Am(r,{renderForEditingView:!0})),i.for("upcast").elementToElement({view:{name:"oembed",attributes:{url:!0}},model:(t,{writer:e})=>{const n=t.getAttribute("url");if(r.hasMedia(n))return e.createElement("media",{url:n})}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(r.hasMedia(n))return e.createElement("media",{url:n})}})}}const Nm=/^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w.-]+)+[\w\-._~:/?#[\]@!$&'()*+,;=%]+$/;class Om extends Hc{static get requires(){return[Ad,yu]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document;this.listenTo(t.plugins.get(Ad),"inputTransformation",()=>{const t=e.selection.getFirstRange(),n=_c.fromPosition(t.start);n.stickiness="toPrevious";const i=_c.fromPosition(t.end);i.stickiness="toNext",e.once("change:data",()=>{this._embedMediaBetweenPositions(n,i),n.detach(),i.detach()},{priority:"high"})}),t.commands.get("undo").on("execute",()=>{this._timeoutId&&(or.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)},{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(Im).registry,o=new Fs(t,e),r=o.getWalker({ignoreElementEnd:!0});let s="";for(const t of r)t.item.is("$textProxy")&&(s+=t.item.data);if(s=s.trim(),!s.match(Nm))return void o.detach();if(!i.hasMedia(s))return void o.detach();n.commands.get("mediaEmbed").isEnabled?(this._positionToInsert=_c.fromPosition(t),this._timeoutId=or.window.setTimeout(()=>{n.model.change(t=>{let e;this._timeoutId=null,t.remove(o),o.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(e=this._positionToInsert),Pm(n.model,s,e),this._positionToInsert.detach(),this._positionToInsert=null})},100)):o.detach()}}n(82);class Rm extends ul{constructor(t,e){super(e);const n=e.t;this.focusTracker=new Tl,this.keystrokes=new jc,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),Vf,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",t=>!!t),this.cancelButtonView=this._createButton(n("Cancel"),Lf,"ck-button-cancel","cancel"),this._focusables=new qc,this._focusCycler=new Il({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]})}render(){super.render(),Df({view:this});[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach(t=>{this._focusables.add(t),this.focusTracker.add(t.element)}),this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(this.urlInputView.element,"selectstart",(t,e)=>{e.stopPropagation()},{priority:"high"})}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new Nf(this.locale,Rf),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.placeholder="https://example.com",n.on("input",()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()}),e}_createButton(t,e,n,i){const o=new Cl(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate("execute").to(this,i),o}}class Dm extends Hc{static get requires(){return[Im]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed"),n=t.plugins.get(Im).registry;t.ui.componentFactory.add("mediaEmbed",i=>{const o=ql(i),r=new Rm(function(t,e){return[e=>{if(!e.url.length)return t("The URL must not be empty.")},n=>{if(!e.hasMedia(n.url))return t("This media URL is not supported.")}]}(t.t,n),t.locale);return this._setUpDropdown(o,r,e,t),this._setUpForm(o,r,e),o})}_setUpDropdown(t,e,n){const i=this.editor,o=i.t,r=t.buttonView;function s(){i.editing.view.focus(),t.isOpen=!1}t.bind("isEnabled").to(n),t.panelView.children.add(e),r.set({label:o("Insert media"),icon:'',tooltip:!0}),r.on("open",()=>{e.url=n.value||"",e.urlInputView.fieldView.select(),e.focus()},{priority:"low"}),t.on("submit",()=>{e.isValid()&&(i.execute("mediaEmbed",e.url),s())}),t.on("change:isOpen",()=>e.resetFormStatus()),t.on("cancel",()=>s())}_setUpForm(t,e,n){e.delegate("submit","cancel").to(t),e.urlInputView.bind("value").to(n,"value"),e.urlInputView.bind("isReadOnly").to(n,"isEnabled",t=>!t)}}n(84);function Vm(t,e){if(!t.childCount)return;const n=new Xf(t.document),i=function(t,e){const n=e.createRangeIn(t),i=new Ln({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),o=[];for(const t of n)if("elementStart"===t.type&&i.match(t.item)){const e=jm(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}return o}(t,n);if(!i.length)return;let o=null,r=1;i.forEach((t,s)=>{const a=function(t,e){if(!t)return!0;if(t.id!==e.id)return!0;const n=e.element.previousSibling;if(!n)return!0;return i=n,!(i.is("element","ol")||i.is("element","ul"));var i}(i[s-1],t),c=a?null:i[s-1],l=(u=t,(d=c)?u.indent-d.indent:u.indent-1);var d,u;if(a&&(o=null,r=1),!o||0!==l){const i=function(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\s*({[^}]*)`,"gi"),i=/mso-level-number-format:([^;]*);/gi,o=n.exec(e);let r="decimal";if(o&&o[1]){const t=i.exec(o[1]);t&&t[1]&&(r=t[1].trim())}return{type:"bullet"!==r&&"image"!==r?"ol":"ul",style:r}}(t,e);if(o){if(t.indent>r){const t=o.getChild(o.childCount-1),e=t.getChild(t.childCount-1);o=Lm(i,e,n),r+=1}else if(t.indent(\s+)<\/span>/g,(t,e)=>1===e.length?" ":Array(e.length+1).join("  ").substr(0,e.length))}function Um(t,e){const n=new DOMParser,i=function(t){return Fm(Fm(t)).replace(/([\s]*?)[\r\n]+(\s*<\/span>)/g,"$1$2").replace(/<\/span>/g,"").replace(/ <\//g," <\/o:p>/g," ").replace(/( |\u00A0)<\/o:p>/g,"").replace(/>(\s*[\r\n]\s*)<")}(function(t){const e=t.match(/<\/body>(.*?)(<\/html>|$)/);e&&e[1]&&(t=t.slice(0,e.index)+t.slice(e.index).replace(e[1],""));return t}(t=t.replace(//))return new i(null,8,r,g);if(r=p.match(/^<\?[\s\S]*?\?>/))return new i(null,7,r,g);if(r=p.match(/^/))return new i(null,10,r,g);if(r=p.match(/^/,!0))return new i("#cdata-section",4,r[1],g);if(r=p.match(/^([^<]+)/,!0))return new i("#text",3,decodeEntities(r[1]),g)}};u=y();)1!==u.nodeType||o?(1===u.nodeType||3===u.nodeType&&""!==u.nodeValue.trim())&&_e("parseXml: data after document end has been discarded"):o=u;return p.matchAll()&&_e("parseXml: parsing error"),o}function decodeEntities(r){return r.replace(/&(?:#([0-9]+)|#[xX]([0-9A-Fa-f]+)|([0-9A-Za-z]+));/g,(function(r,i,o,u){return i?String.fromCharCode(parseInt(i,10)):o?String.fromCharCode(parseInt(o,16)):u&&w[u]?String.fromCharCode(w[u]):r}))}function parseColor(r){var i,o;return r=(r||"").trim(),(i=g[r])?o=[i.slice(),1]:(i=r.match(/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)$/i))?(i[1]=parseInt(i[1]),i[2]=parseInt(i[2]),i[3]=parseInt(i[3]),i[4]=parseFloat(i[4]),i[1]<256&&i[2]<256&&i[3]<256&&i[4]<=1&&(o=[i.slice(1,4),i[4]])):(i=r.match(/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)$/i))?(i[1]=parseInt(i[1]),i[2]=parseInt(i[2]),i[3]=parseInt(i[3]),i[1]<256&&i[2]<256&&i[3]<256&&(o=[i.slice(1,4),1])):(i=r.match(/^rgb\(\s*([0-9.]+)%\s*,\s*([0-9.]+)%\s*,\s*([0-9.]+)%\s*\)$/i))?(i[1]=2.55*parseFloat(i[1]),i[2]=2.55*parseFloat(i[2]),i[3]=2.55*parseFloat(i[3]),i[1]<256&&i[2]<256&&i[3]<256&&(o=[i.slice(1,4),1])):(i=r.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i))?o=[[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16)],1]:(i=r.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i))&&(o=[[17*parseInt(i[1],16),17*parseInt(i[2],16),17*parseInt(i[3],16)],1]),Ce?Ce(o,r):o}function opacityToColor(r,i,o){var u=r[0].slice(),p=r[1]*i;if(o){for(var g=0;g=0;o--)i=multiplyMatrix(Pe[o].savedMatrix,i);return i}function getPageBBox(){return(new B).M(0,0).L(r.page.width,0).L(r.page.width,r.page.height).L(0,r.page.height).transform(inverseMatrix(getGlobalMatrix())).getBoundingBox()}function inverseMatrix(r){var i=r[0]*r[3]-r[1]*r[2];return[r[3]/i,-r[1]/i,-r[2]/i,r[0]/i,(r[2]*r[5]-r[3]*r[4])/i,(r[1]*r[4]-r[0]*r[5])/i]}function validateMatrix(r){var i=validateNumber(r[0]),o=validateNumber(r[1]),u=validateNumber(r[2]),p=validateNumber(r[3]),g=validateNumber(r[4]),y=validateNumber(r[5]);if(isNotEqual(i*p-o*u,0))return[i,o,u,p,g,y]}function solveEquation(r){var i=r[2]||0,o=r[1]||0,u=r[0]||0;if(isEqual(i,0)&&isEqual(o,0))return[];if(isEqual(i,0))return[-u/o];var p=o*o-4*i*u;return isNotEqual(p,0)&&p>0?[(-o+Math.sqrt(p))/(2*i),(-o-Math.sqrt(p))/(2*i)]:isEqual(p,0)?[-o/(2*i)]:[]}function getCurveValue(r,i){return(i[0]||0)+(i[1]||0)*r+(i[2]||0)*r*r+(i[3]||0)*r*r*r}function isEqual(r,i){return Math.abs(r-i)<1e-10}function isNotEqual(r,i){return Math.abs(r-i)>=1e-10}function validateNumber(r){return r>-1e21&&r<1e21?Math.round(1e6*r)/1e6:0}function parseTranform(r){for(var i,o=new P((r||"").trim()),u=[1,0,0,1,0,0];i=o.match(/^([A-Za-z]+)\s*[(]([^(]+)[)]/,!0);){for(var p=i[1],g=[],y=new P(i[2].trim()),w=void 0;w=y.matchNumber();)g.push(Number(w)),y.matchSeparator();if("matrix"===p&&6===g.length)u=multiplyMatrix(u,[g[0],g[1],g[2],g[3],g[4],g[5]]);else if("translate"===p&&2===g.length)u=multiplyMatrix(u,[1,0,0,1,g[0],g[1]]);else if("translate"===p&&1===g.length)u=multiplyMatrix(u,[1,0,0,1,g[0],0]);else if("scale"===p&&2===g.length)u=multiplyMatrix(u,[g[0],0,0,g[1],0,0]);else if("scale"===p&&1===g.length)u=multiplyMatrix(u,[g[0],0,0,g[0],0,0]);else if("rotate"===p&&3===g.length){var _=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,0,0,1,g[1],g[2]],[Math.cos(_),Math.sin(_),-Math.sin(_),Math.cos(_),0,0],[1,0,0,1,-g[1],-g[2]])}else if("rotate"===p&&1===g.length){var x=g[0]*Math.PI/180;u=multiplyMatrix(u,[Math.cos(x),Math.sin(x),-Math.sin(x),Math.cos(x),0,0])}else if("skewX"===p&&1===g.length){var k=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,0,Math.tan(k),1,0,0])}else{if("skewY"!==p||1!==g.length)return;var O=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,Math.tan(O),0,1,0,0])}o.matchSeparator()}if(!o.matchAll())return u}function parseAspectRatio(r,i,o,u,p,g){var y=(r||"").trim().match(/^(none)$|^x(Min|Mid|Max)Y(Min|Mid|Max)(?:\s+(meet|slice))?$/)||[],w=y[1]||y[4]||"meet",_=y[2]||"Mid",x=y[3]||"Mid",k=i/u,P=o/p,O={Min:0,Mid:.5,Max:1}[_]-(g||0),I={Min:0,Mid:.5,Max:1}[x]-(g||0);return"slice"===w?P=k=Math.max(k,P):"meet"===w&&(P=k=Math.min(k,P)),[k,0,0,P,O*(i-u*k),I*(o-p*P)]}function parseStyleAttr(r){var i=Object.create(null);r=(r||"").trim().split(/;/);for(var o=0;ou&&(r=u,u=i,i=r),o>p&&(r=p,p=o,o=r);for(var g=solveEquation(P),y=0;y=0&&g[y]<=1){var w=getCurveValue(g[y],x);wu&&(u=w)}for(var _=solveEquation(O),I=0;I<_.length;I++)if(_[I]>=0&&_[I]<=1){var B=getCurveValue(_[I],k);Bp&&(p=B)}return[i,o,u,p]},this.getPointAtLength=function(r){if(isEqual(r,0))return this.startPoint;if(isEqual(r,this.totalLength))return this.endPoint;if(!(r<0||r>this.totalLength))for(var i=1;i<=_;i++){var o=I[i-1],u=I[i];if(o<=r&&r<=u){var p=(i-(u-r)/(u-o))/_,g=getCurveValue(p,x),y=getCurveValue(p,k),w=getCurveValue(p,P),B=getCurveValue(p,O);return[g,y,Math.atan2(B,w)]}}}},I=function LineSegment(r,i,o,u){this.totalLength=Math.sqrt((o-r)*(o-r)+(u-i)*(u-i)),this.startPoint=[r,i,Math.atan2(u-i,o-r)],this.endPoint=[o,u,Math.atan2(u-i,o-r)],this.getBoundingBox=function(){return[Math.min(this.startPoint[0],this.endPoint[0]),Math.min(this.startPoint[1],this.endPoint[1]),Math.max(this.startPoint[0],this.endPoint[0]),Math.max(this.startPoint[1],this.endPoint[1])]},this.getPointAtLength=function(r){if(r>=0&&r<=this.totalLength){var i=r/this.totalLength||0;return[this.startPoint[0]+i*(this.endPoint[0]-this.startPoint[0]),this.startPoint[1]+i*(this.endPoint[1]-this.startPoint[1]),this.startPoint[2]]}}},B=function SvgShape(){this.pathCommands=[],this.pathSegments=[],this.startPoint=null,this.endPoint=null,this.totalLength=0;var i,o,u,p=0,g=0,y=0,w=0;this.move=function(r,i){return p=y=r,g=w=i,null},this.line=function(r,i){var o=new I(y,w,r,i);return y=r,w=i,o},this.curve=function(r,i,o,u,p,g){var _=new O(y,w,r,i,o,u,p,g);return y=p,w=g,_},this.close=function(){var r=new I(y,w,p,g);return y=p,w=g,r},this.addCommand=function(r){this.pathCommands.push(r);var i=this[r[0]].apply(this,r.slice(3));i&&(i.hasStart=r[1],i.hasEnd=r[2],this.startPoint=this.startPoint||i.startPoint,this.endPoint=i.endPoint,this.pathSegments.push(i),this.totalLength+=i.totalLength)},this.M=function(r,o){return this.addCommand(["move",!0,!0,r,o]),i="M",this},this.m=function(r,i){return this.M(y+r,w+i)},this.Z=this.z=function(){return this.addCommand(["close",!0,!0]),i="Z",this},this.L=function(r,o){return this.addCommand(["line",!0,!0,r,o]),i="L",this},this.l=function(r,i){return this.L(y+r,w+i)},this.H=function(r){return this.L(r,w)},this.h=function(r){return this.L(y+r,w)},this.V=function(r){return this.L(y,r)},this.v=function(r){return this.L(y,w+r)},this.C=function(r,p,g,y,w,_){return this.addCommand(["curve",!0,!0,r,p,g,y,w,_]),i="C",o=g,u=y,this},this.c=function(r,i,o,u,p,g){return this.C(y+r,w+i,y+o,w+u,y+p,w+g)},this.S=function(r,p,g,_){return this.C(y+("C"===i?y-o:0),w+("C"===i?w-u:0),r,p,g,_)},this.s=function(r,p,g,_){return this.C(y+("C"===i?y-o:0),w+("C"===i?w-u:0),y+r,w+p,y+g,w+_)},this.Q=function(r,p,g,_){var x=y+2/3*(r-y),k=w+2/3*(p-w),P=g+2/3*(r-g),O=_+2/3*(p-_);return this.addCommand(["curve",!0,!0,x,k,P,O,g,_]),i="Q",o=r,u=p,this},this.q=function(r,i,o,u){return this.Q(y+r,w+i,y+o,w+u)},this.T=function(r,p){return this.Q(y+("Q"===i?y-o:0),w+("Q"===i?w-u:0),r,p)},this.t=function(r,p){return this.Q(y+("Q"===i?y-o:0),w+("Q"===i?w-u:0),y+r,w+p)},this.A=function(r,o,u,p,g,_,x){if(isEqual(r,0)||isEqual(o,0))this.addCommand(["line",!0,!0,_,x]);else{u*=Math.PI/180,r=Math.abs(r),o=Math.abs(o),p=1*!!p,g=1*!!g;var k=Math.cos(u)*(y-_)/2+Math.sin(u)*(w-x)/2,P=Math.cos(u)*(w-x)/2-Math.sin(u)*(y-_)/2,O=k*k/(r*r)+P*P/(o*o);O>1&&(r*=Math.sqrt(O),o*=Math.sqrt(O));var I=Math.sqrt(Math.max(0,r*r*o*o-r*r*P*P-o*o*k*k)/(r*r*P*P+o*o*k*k)),B=(p===g?-1:1)*I*r*P/o,R=(p===g?1:-1)*I*o*k/r,D=Math.cos(u)*B-Math.sin(u)*R+(y+_)/2,N=Math.sin(u)*B+Math.cos(u)*R+(w+x)/2,W=Math.atan2((P-R)/o,(k-B)/r),U=Math.atan2((-P-R)/o,(-k-B)/r);0===g&&U-W>0?U-=2*Math.PI:1===g&&U-W<0&&(U+=2*Math.PI);for(var j=Math.ceil(Math.abs(U-W)/(Math.PI/Ae)),G=0;Gi[2]&&(i[2]=r[2]),r[1]i[3]&&(i[3]=r[3]);return i[0]===1/0&&(i[0]=0),i[1]===1/0&&(i[1]=0),i[2]===-1/0&&(i[2]=0),i[3]===-1/0&&(i[3]=0),i},this.getPointAtLength=function(r){if(r>=0&&r<=this.totalLength){for(var i,o=0;op.selector.specificity||(i[g]=p.css[g],o[g]=p.selector.specificity)}return i}(r),this.allowedChildren=[],this.attr=function(i){if("function"==typeof r.getAttribute)return r.getAttribute(i)},this.resolveUrl=function(r){var o=(r||"").match(/^\s*(?:url\("(.*)#(.*)"\)|url\('(.*)#(.*)'\)|url\((.*)#(.*)\)|(.*)#(.*))\s*$/)||[],u=o[1]||o[3]||o[5]||o[7],p=o[2]||o[4]||o[6]||o[8];if(p){if(!u){var g=i.getElementById(p);if(g)return-1===this.stack.indexOf(g)?g:void _e('SVGtoPDF: loop of circular references for id "'+p+'"')}if(ke){var y=Ee[u];if(!y){(function isArrayLike(r){return"object"==typeof r&&null!==r&&"number"==typeof r.length})(y=ke(u))||(y=[y]);for(var w=0;w=0&&o[3]>=0?o:i},this.getPercent=function(r,i){var o=this.attr(r),u=new P((o||"").trim()),p=u.matchNumber();return p?(u.match("%")&&(p*=.01),u.matchAll()?i:Math.max(0,Math.min(1,p))):i},this.chooseValue=function(r){for(var i=0;i=0&&(o=y);break;case"stroke-miterlimit":null!=(y=parseFloat(i))&&y>=1&&(o=y);break;case"word-spacing":case"letter-spacing":o=this.computeLength(i,this.getViewport());break;case"stroke-dashoffset":if(null!=(o=this.computeLength(i,this.getViewport()))&&o<0)for(var I=this.get("stroke-dasharray"),B=0;B0?r:this.ref?this.ref.getChildren():[]},this.getPaint=function(i,o,p,g){var y="userSpaceOnUse"!==this.attr("patternUnits"),w="objectBoundingBox"===this.attr("patternContentUnits"),_=this.getLength("x",y?1:this.getParentVWidth(),0),x=this.getLength("y",y?1:this.getParentVHeight(),0),k=this.getLength("width",y?1:this.getParentVWidth(),0),P=this.getLength("height",y?1:this.getParentVHeight(),0);w&&!y?(_=(_-i[0])/(i[2]-i[0])||0,x=(x-i[1])/(i[3]-i[1])||0,k=k/(i[2]-i[0])||0,P=P/(i[3]-i[1])||0):!w&&y&&(_=i[0]+_*(i[2]-i[0]),x=i[1]+x*(i[3]-i[1]),k*=i[2]-i[0],P*=i[3]-i[1]);var O=this.getViewbox("viewBox",[0,0,k,P]),I=multiplyMatrix(parseAspectRatio((this.attr("preserveAspectRatio")||"").trim(),k,P,O[2],O[3],0),[1,0,0,1,-O[0],-O[1]]),B=parseTranform(this.attr("patternTransform"));if(w&&(B=multiplyMatrix([i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]],B)),(B=validateMatrix(B=multiplyMatrix(B,[1,0,0,1,_,x])))&&(I=validateMatrix(I))&&(k=validateNumber(k))&&(P=validateNumber(P))){var R=docBeginGroup([0,0,k,P]);return r.transform.apply(r,I),this.drawChildren(p,g),docEndGroup(R),[docCreatePattern(R,k,P,B),o]}return u?[u[0],u[1]*o]:void 0},this.getVWidth=function(){var r="userSpaceOnUse"!==this.attr("patternUnits"),i=this.getLength("width",r?1:this.getParentVWidth(),0);return this.getViewbox("viewBox",[0,0,i,0])[2]},this.getVHeight=function(){var r="userSpaceOnUse"!==this.attr("patternUnits"),i=this.getLength("height",r?1:this.getParentVHeight(),0);return this.getViewbox("viewBox",[0,0,0,i])[3]}},$=function SvgElemGradient(i,o,u){R.call(this,i,o),this.allowedChildren=["stop"],this.ref=function(){var r=this.getUrl("href")||this.getUrl("xlink:href");if(r&&r.nodeName===i.nodeName)return new SvgElemGradient(r,o,u)}.call(this);var p=this.attr;this.attr=function(r){var i=p.call(this,r);return null!=i||"href"===r||"xlink:href"===r?i:this.ref?this.ref.attr(r):null};var g=this.getChildren;this.getChildren=function(){var r=g.call(this);return r.length>0?r:this.ref?this.ref.getChildren():[]},this.getPaint=function(i,o,p,g){var w=this.getChildren();if(0!==w.length){if(1===w.length){var _=w[0],x=_.get("stop-color");if("none"===x)return;return opacityToColor(x,_.get("stop-opacity")*o,g)}var k,P,O,I,B,R,D="userSpaceOnUse"!==this.attr("gradientUnits"),N=parseTranform(this.attr("gradientTransform")),W=this.attr("spreadMethod"),U=0,j=0,G=1;if(D&&(N=multiplyMatrix([i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]],N)),N=validateMatrix(N)){if("linearGradient"===this.name)P=this.getLength("x1",D?1:this.getVWidth(),0),O=this.getLength("x2",D?1:this.getVWidth(),D?1:this.getVWidth()),I=this.getLength("y1",D?1:this.getVHeight(),0),B=this.getLength("y2",D?1:this.getVHeight(),0);else{O=this.getLength("cx",D?1:this.getVWidth(),D?.5:.5*this.getVWidth()),B=this.getLength("cy",D?1:this.getVHeight(),D?.5:.5*this.getVHeight()),R=this.getLength("r",D?1:this.getViewport(),D?.5:.5*this.getViewport()),P=this.getLength("fx",D?1:this.getVWidth(),O),I=this.getLength("fy",D?1:this.getVHeight(),B),R<0&&_e("SvgElemGradient: negative r value");var X=Math.sqrt(Math.pow(O-P,2)+Math.pow(B-I,2)),K=1;X>R&&(P=O+(P-O)*(K=R/X),I=B+(I-B)*K),R=Math.max(R,X*K*1.000001)}if("reflect"===W||"repeat"===W){var Y=inverseMatrix(N),J=transformPoint([i[0],i[1]],Y),$=transformPoint([i[2],i[1]],Y),ee=transformPoint([i[2],i[3]],Y),te=transformPoint([i[0],i[3]],Y);"linearGradient"===this.name?(U=Math.max((J[0]-O)*(O-P)+(J[1]-B)*(B-I),($[0]-O)*(O-P)+($[1]-B)*(B-I),(ee[0]-O)*(O-P)+(ee[1]-B)*(B-I),(te[0]-O)*(O-P)+(te[1]-B)*(B-I))/(Math.pow(O-P,2)+Math.pow(B-I,2)),j=Math.max((J[0]-P)*(P-O)+(J[1]-I)*(I-B),($[0]-P)*(P-O)+($[1]-I)*(I-B),(ee[0]-P)*(P-O)+(ee[1]-I)*(I-B),(te[0]-P)*(P-O)+(te[1]-I)*(I-B))/(Math.pow(O-P,2)+Math.pow(B-I,2))):U=Math.sqrt(Math.max(Math.pow(J[0]-O,2)+Math.pow(J[1]-B,2),Math.pow($[0]-O,2)+Math.pow($[1]-B,2),Math.pow(ee[0]-O,2)+Math.pow(ee[1]-B,2),Math.pow(te[0]-O,2)+Math.pow(te[1]-B,2)))/R-1,U=Math.ceil(U+.5),G=(j=Math.ceil(j+.5))+1+U}k="linearGradient"===this.name?r.linearGradient(P-j*(O-P),I-j*(B-I),O+U*(O-P),B+U*(B-I)):r.radialGradient(P,I,0,O,B,R+U*R);for(var re=0;re0&&k.stop((re+0)/G,se[0],se[1]),k.stop((re+ne)/(U+j+1),se[0],se[1]),oe===w.length-1&&ne<1&&k.stop((re+1)/G,se[0],se[1])}return k.setTransform.apply(k,N),[k,1]}return u?[u[0],u[1]*o]:void 0}}},ee=function SvgElemBasicShape(i,o){D.call(this,i,o),this.dashScale=1,this.getBoundingShape=function(){return this.shape},this.getTransformation=function(){return this.get("transform")},this.drawInDocument=function(i,o){if("hidden"!==this.get("visibility")&&this.shape){if(r.save(),this.transform(),this.clip(),i)this.shape.insertInDocument(),docFillColor(y.white),r.fill(this.get("clip-rule"));else{var u;this.mask()&&(u=docBeginGroup(getPageBBox()));var p=this.shape.getSubPaths(),g=this.getFill(i,o),w=this.getStroke(i,o),_=this.get("stroke-width"),x=this.get("stroke-linecap");if(g||w){if(g&&docFillColor(g),w){for(var k=0;k0&&p[k].startPoint&&p[k].startPoint.length>1){var P=p[k].startPoint[0],O=p[k].startPoint[1];docFillColor(w),"square"===x?r.rect(P-.5*_,O-.5*_,_,_):"round"===x&&r.circle(P,O,.5*_),r.fill()}var I=this.get("stroke-dasharray"),B=this.get("stroke-dashoffset");if(isNotEqual(this.dashScale,1)){for(var R=0;R0&&p[D].insertInDocument();g&&w?r.fillAndStroke(this.get("fill-rule")):g?r.fill(this.get("fill-rule")):w&&r.stroke()}var N=this.get("marker-start"),W=this.get("marker-mid"),U=this.get("marker-end");if("none"!==N||"none"!==W||"none"!==U){var j=this.shape.getMarkers();if("none"!==N&&new ce(N,null).drawMarker(!1,o,j[0],_),"none"!==W)for(var G=1;G0&&g>0?y&&w?(y=Math.min(y,.5*p),w=Math.min(w,.5*g),this.shape=(new B).M(o+y,u).L(o+p-y,u).A(y,w,0,0,1,o+p,u+w).L(o+p,u+g-w).A(y,w,0,0,1,o+p-y,u+g).L(o+y,u+g).A(y,w,0,0,1,o,u+g-w).L(o,u+w).A(y,w,0,0,1,o+y,u).Z()):this.shape=(new B).M(o,u).L(o+p,u).L(o+p,u+g).L(o,u+g).Z():this.shape=new B},re=function SvgElemCircle(r,i){ee.call(this,r,i);var o=this.getLength("cx",this.getVWidth(),0),u=this.getLength("cy",this.getVHeight(),0),p=this.getLength("r",this.getViewport(),0);this.shape=p>0?(new B).M(o+p,u).A(p,p,0,0,1,o-p,u).A(p,p,0,0,1,o+p,u).Z():new B},ne=function SvgElemEllipse(r,i){ee.call(this,r,i);var o=this.getLength("cx",this.getVWidth(),0),u=this.getLength("cy",this.getVHeight(),0),p=this.getLength("rx",this.getVWidth(),0),g=this.getLength("ry",this.getVHeight(),0);this.shape=p>0&&g>0?(new B).M(o+p,u).A(p,g,0,0,1,o-p,u).A(p,g,0,0,1,o+p,u).Z():new B},ie=function SvgElemLine(r,i){ee.call(this,r,i);var o=this.getLength("x1",this.getVWidth(),0),u=this.getLength("y1",this.getVHeight(),0),p=this.getLength("x2",this.getVWidth(),0),g=this.getLength("y2",this.getVHeight(),0);this.shape=(new B).M(o,u).L(p,g)},oe=function SvgElemPolyline(r,i){ee.call(this,r,i);var o=this.getNumberList("points");this.shape=new B;for(var u=0;u0?o:void 0,this.dashScale=void 0!==this.pathLength?this.shape.totalLength/this.pathLength:1},ce=function SvgElemMarker(i,o){N.call(this,i,o);var u=this.getLength("markerWidth",this.getParentVWidth(),3),p=this.getLength("markerHeight",this.getParentVHeight(),3),g=this.getViewbox("viewBox",[0,0,u,p]);this.getVWidth=function(){return g[2]},this.getVHeight=function(){return g[3]},this.drawMarker=function(i,o,y,w){r.save();var _=this.attr("orient"),x=this.attr("markerUnits"),k="auto"===_?y[2]:(parseFloat(_)||0)*Math.PI/180,P="userSpaceOnUse"===x?1:w;r.transform(Math.cos(k)*P,Math.sin(k)*P,-Math.sin(k)*P,Math.cos(k)*P,y[0],y[1]);var O,I=this.getLength("refX",this.getVWidth(),0),B=this.getLength("refY",this.getVHeight(),0),R=parseAspectRatio(this.attr("preserveAspectRatio"),u,p,g[2],g[3],.5);"hidden"===this.get("overflow")&&r.rect(R[0]*(g[0]+g[2]/2-I)-u/2,R[3]*(g[1]+g[3]/2-B)-p/2,u,p).clip(),r.transform.apply(r,R),r.translate(-I,-B),this.get("opacity")<1&&!i&&(O=docBeginGroup(getPageBBox())),this.drawChildren(i,o),O&&(docEndGroup(O),r.fillOpacity(this.get("opacity")),docInsertGroup(O)),r.restore()}},le=function SvgElemClipPath(i,o){N.call(this,i,o),this.useMask=function(i){var o=docBeginGroup(getPageBBox());r.save(),"objectBoundingBox"===this.attr("clipPathUnits")&&r.transform(i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]),this.clip(),this.drawChildren(!0,!1),r.restore(),docEndGroup(o),docApplyMask(o,!0)}},ue=function SvgElemMask(i,o){N.call(this,i,o),this.useMask=function(i){var o,u,p,g,y=docBeginGroup(getPageBBox());r.save(),"userSpaceOnUse"===this.attr("maskUnits")?(o=this.getLength("x",this.getVWidth(),-.1*(i[2]-i[0])+i[0]),u=this.getLength("y",this.getVHeight(),-.1*(i[3]-i[1])+i[1]),p=this.getLength("width",this.getVWidth(),1.2*(i[2]-i[0])),g=this.getLength("height",this.getVHeight(),1.2*(i[3]-i[1]))):(o=this.getLength("x",this.getVWidth(),-.1)*(i[2]-i[0])+i[0],u=this.getLength("y",this.getVHeight(),-.1)*(i[3]-i[1])+i[1],p=this.getLength("width",this.getVWidth(),1.2)*(i[2]-i[0]),g=this.getLength("height",this.getVHeight(),1.2)*(i[3]-i[1])),r.rect(o,u,p,g).clip(),"objectBoundingBox"===this.attr("maskContentUnits")&&r.transform(i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]),this.clip(),this.drawChildren(!1,!0),r.restore(),docEndGroup(y),docApplyMask(y,!0)}},fe=function SvgElemTextContainer(i,o){D.call(this,i,o),this.allowedChildren=["tspan","#text","#cdata-section","a"],this.isText=!0,this.getBoundingShape=function(){for(var r=new B,i=0;i Tj")}r.addContent("ET")}}}"line-through"===this.get("text-decoration")&&this.decorate(.05*this._font.size,.5*(getAscent(this._font.font,this._font.size)+getDescent(this._font.font,this._font.size)),i,o)},this.decorate=function(i,o,u,p){var g=this.getFill(u,p),y=this.getStroke(u,p);g&&docFillColor(g),y&&(docStrokeColor(y),r.lineWidth(this.get("stroke-width")).miterLimit(this.get("stroke-miterlimit")).lineJoin(this.get("stroke-linejoin")).lineCap(this.get("stroke-linecap")).dash(this.get("stroke-dasharray"),{phase:this.get("stroke-dashoffset")}));for(var w=0,_=this._pos;w<_.length;w++)if(!_[w].hidden&&isNotEqual(_[w].width,0)){var x=(o+i/2)*Math.sin(_[w].rotate),k=-(o+i/2)*Math.cos(_[w].rotate),P=(o-i/2)*Math.sin(_[w].rotate),O=-(o-i/2)*Math.cos(_[w].rotate),I=_[w].width*Math.cos(_[w].rotate),R=_[w].width*Math.sin(_[w].rotate);(new B).M(_[w].x+x,_[w].y+k).L(_[w].x+x+I,_[w].y+k+R).L(_[w].x+P+I,_[w].y+O+R).L(_[w].x+P,_[w].y+O).Z().insertInDocument(),g&&y?r.fillAndStroke():g?r.fill():y&&r.stroke()}}},he=function SvgElemTextNode(r,i){this.name=r.nodeName,this.textContent=r.nodeValue},de=function SvgElemTspan(r,i){fe.call(this,r,i)},pe=function SvgElemTextPath(r,i){var o;if(fe.call(this,r,i),(o=this.attr("path"))&&""!==o.trim()){var u=this.getLength("pathLength",this.getViewport());this.pathObject=(new B).path(o),this.pathLength=u>0?u:this.pathObject.totalLength,this.pathScale=this.pathObject.totalLength/this.pathLength}else if((o=this.getUrl("href")||this.getUrl("xlink:href"))&&"path"===o.nodeName){var p=new se(o,this);this.pathObject=p.shape.clone().transform(p.get("transform")),this.pathLength=this.chooseValue(p.pathLength,this.pathObject.totalLength),this.pathScale=this.pathObject.totalLength/this.pathLength}},ge=function SvgElemText(i,o){fe.call(this,i,o),this.allowedChildren=["textPath","tspan","#text","#cdata-section","a"],function(o){var u,p,g="",y=i.textContent,w=[],_=[],x=0,k=0;function doAnchoring(){if(_.length)for(var r=_[_.length-1],i=_[0],o=r.x+r.width-i.x,g={startltr:0,middleltr:.5,endltr:1,startrtl:1,middlertl:.5,endrtl:0}[u+p]*o||0,y=0;y<_.length;y++)_[y].x-=g;_=[]}function textOnPath(r){var i=r.pathObject,o=r.pathLength,u=r.pathScale;if(i)for(var p=r.getLength("startOffset",o,0),g=0;go||y<0)r._pos[g].hidden=!0;else{var w=i.getPointAtLength(y*u);isNotEqual(u,1)&&(r._pos[g].scale*=u,r._pos[g].width*=u),r._pos[g].x=w[0]-.5*r._pos[g].width*Math.cos(w[2])-r._pos[g].y*Math.sin(w[2]),r._pos[g].y=w[1]-.5*r._pos[g].width*Math.sin(w[2])+r._pos[g].y*Math.cos(w[2]),r._pos[g].rotate=w[2]+r._pos[g].rotate,r._pos[g].continuous=!1}}else for(var _=0;_0&&w<1/0)for(var _=0;_=2)for(var k=(i-(y-g))/(r.length-1),P=0;P>y&k]};return{getCategory:B,getCombiningClass:function getCombiningClass(o){var u=i.get(o);return r.combiningClasses[u>>w&P]},getScript:function getScript(o){var u=i.get(o);return r.scripts[u>>x&O]},getEastAsianWidth:function getEastAsianWidth(o){var u=i.get(o);return r.eaw[u>>10&I]},getNumericValue:function getNumericValue(r){var o=i.get(r),u=1023&o;if(0===u)return null;if(u<=50)return u-1;if(u<480)return((u>>4)-12)/(1+(15&u));if(u<768){o=(u>>5)-14;for(var p=2+(31&u);p>0;)o*=10,p--;return o}o=(u>>2)-191;for(var g=1+(3&u);g>0;)o*=60,g--;return o},isAlphabetic:function isAlphabetic(r){var i=B(r);return"Lu"===i||"Ll"===i||"Lt"===i||"Lm"===i||"Lo"===i||"Nl"===i},isDigit:function isDigit(r){return"Nd"===B(r)},isPunctuation:function isPunctuation(r){var i=B(r);return"Pc"===i||"Pd"===i||"Pe"===i||"Pf"===i||"Pi"===i||"Po"===i||"Ps"===i},isLowerCase:function isLowerCase(r){return"Ll"===B(r)},isUpperCase:function isUpperCase(r){return"Lu"===B(r)},isTitleCase:function isTitleCase(r){return"Lt"===B(r)},isWhiteSpace:function isWhiteSpace(r){var i=B(r);return"Zs"===i||"Zl"===i||"Zp"===i},isBaseForm:function isBaseForm(r){var i=B(r);return"Nd"===i||"No"===i||"Nl"===i||"Lu"===i||"Ll"===i||"Lt"===i||"Lm"===i||"Lo"===i||"Me"===i||"Mc"===i},isMark:function isMark(r){var i=B(r);return"Mn"===i||"Me"===i||"Mc"===i}}}(g,new u.default(p.default.toByteArray(y)));i.default=x},4781:function(r,i,o){"use strict";o(7042),o(6992),o(1539),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(9135);var u=o(311),p=o(1753).swap32LE,g=function(){function UnicodeTrie(r){var i="function"==typeof r.readUInt32BE&&"function"==typeof r.slice;if(i||r instanceof Uint8Array){var o;if(i)this.highStart=r.readUInt32LE(0),this.errorValue=r.readUInt32LE(4),o=r.readUInt32LE(8),r=r.slice(12);else{var g=new DataView(r.buffer);this.highStart=g.getUint32(0,!0),this.errorValue=g.getUint32(4,!0),o=g.getUint32(8,!0),r=r.subarray(12)}r=u(r,new Uint8Array(o)),r=u(r,new Uint8Array(o)),p(r),this.data=new Uint32Array(r.buffer)}else{var y=r;this.data=y.data,this.highStart=y.highStart,this.errorValue=y.errorValue}}return UnicodeTrie.prototype.get=function get(r){var i;return r<0||r>1114111?this.errorValue:r<55296||r>56319&&r<=65535?(i=(this.data[r>>5]<<2)+(31&r),this.data[i]):r<=65535?(i=(this.data[2048+(r-55296>>5)]<<2)+(31&r),this.data[i]):r>11)],i=((i=this.data[i+(r>>5&63)])<<2)+(31&r),this.data[i]):this.data[this.data.length-4]},UnicodeTrie}();r.exports=g},1753:function(r,i,o){"use strict";o(6992),o(1539),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(9135);var u=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],p=function swap(r,i,o){var u=r[i];r[i]=r[o],r[o]=u};r.exports={swap32LE:function swap32LE(r){u&&function swap32(r){for(var i=r.length,o=0;o0?y-4:y;for(o=0;o>16&255,_[x++]=i>>8&255,_[x++]=255&i;2===w&&(i=u[r.charCodeAt(o)]<<2|u[r.charCodeAt(o+1)]>>4,_[x++]=255&i);1===w&&(i=u[r.charCodeAt(o)]<<10|u[r.charCodeAt(o+1)]<<4|u[r.charCodeAt(o+2)]>>2,_[x++]=i>>8&255,_[x++]=255&i);return _},i.fromByteArray=function fromByteArray(r){for(var i,u=r.length,p=u%3,g=[],y=16383,w=0,_=u-p;w<_;w+=y)g.push(encodeChunk(r,w,w+y>_?_:w+y));1===p?(i=r[u-1],g.push(o[i>>2]+o[i<<4&63]+"==")):2===p&&(i=(r[u-2]<<8)+r[u-1],g.push(o[i>>10]+o[i>>4&63]+o[i<<2&63]+"="));return g.join("")};for(var o=[],u=[],p="undefined"!=typeof Uint8Array?Uint8Array:Array,g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",y=0,w=g.length;y0)throw new Error("Invalid string. Length must be a multiple of 4");var o=r.indexOf("=");return-1===o&&(o=i),[o,o===i?0:4-o%4]}function encodeChunk(r,i,u){for(var p,g,y=[],w=i;w>18&63]+o[g>>12&63]+o[g>>6&63]+o[63&g]);return y.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},4181:function(r){var i=4096,o=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function BrotliBitReader(r){this.buf_=new Uint8Array(8224),this.input_=r,this.reset()}BrotliBitReader.READ_SIZE=i,BrotliBitReader.IBUF_MASK=8191,BrotliBitReader.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var r=0;r<4;r++)this.val_|=this.buf_[this.pos_]<<8*r,++this.pos_;return this.bit_end_pos_>0},BrotliBitReader.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var r=this.buf_ptr_,o=this.input_.read(this.buf_,r,i);if(o<0)throw new Error("Unexpected end of input");if(o=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},BrotliBitReader.prototype.readBits=function(r){32-this.bit_pos_>>this.bit_pos_&o[r];return this.bit_pos_+=r,i},r.exports=BrotliBitReader},7080:function(r,i){i.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),i.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:function(r,i,o){var u=o(6154).g,p=o(6154).j,g=o(4181),y=o(5139),w=o(966).h,_=o(966).g,x=o(7080),k=o(8435),P=o(2973),O=1080,I=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),B=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),R=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),D=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function DecodeWindowBits(r){var i;return 0===r.readBits(1)?16:(i=r.readBits(3))>0?17+i:(i=r.readBits(3))>0?8+i:17}function DecodeVarLenUint8(r){if(r.readBits(1)){var i=r.readBits(3);return 0===i?1:r.readBits(i)+(1<1&&0===g)throw new Error("Invalid size byte");p.meta_block_length|=g<<8*u}}else for(u=0;u4&&0===y)throw new Error("Invalid size nibble");p.meta_block_length|=y<<4*u}return++p.meta_block_length,p.input_end||p.is_metadata||(p.is_uncompressed=r.readBits(1)),p}function ReadSymbol(r,i,o){var u;return o.fillBitWindow(),(u=r[i+=o.val_>>>o.bit_pos_&255].bits-8)>0&&(o.bit_pos_+=8,i+=r[i].value,i+=o.val_>>>o.bit_pos_&(1<>=1,++k;for(B=0;B0;++B){var U,j=I[B],G=0;u.fillBitWindow(),G+=u.val_>>>u.bit_pos_&15,u.bit_pos_+=W[G].bits,U=W[G].value,R[j]=U,0!==U&&(D-=32>>U,++N)}if(1!==N&&0!==D)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function ReadHuffmanCodeLengths(r,i,o,u){for(var p=0,g=8,y=0,x=0,k=32768,P=[],O=0;O<32;O++)P.push(new w(0,0));for(_(P,0,5,r,18);p0;){var I,B=0;if(u.readMoreInput(),u.fillBitWindow(),B+=u.val_>>>u.bit_pos_&31,u.bit_pos_+=P[B].bits,(I=255&P[B].value)<16)y=0,o[p++]=I,0!==I&&(g=I,k-=32768>>I);else{var R,D,N=I-14,W=0;if(16===I&&(W=g),x!==W&&(y=0,x=W),R=y,y>0&&(y-=2,y<<=N),p+(D=(y+=u.readBits(N)+3)-R)>i)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var U=0;U>>5]),this.htrees=new Uint32Array(i)}function DecodeContextMap(r,i){var o,u,p={num_htrees:null,context_map:null},g=0;i.readMoreInput();var y=p.num_htrees=DecodeVarLenUint8(i)+1,_=p.context_map=new Uint8Array(r);if(y<=1)return p;for(i.readBits(1)&&(g=i.readBits(4)+1),o=[],u=0;u=r)throw new Error("[DecodeContextMap] i >= context_map_size");_[u]=0,++u}else _[u]=x-g,++u}return i.readBits(1)&&function InverseMoveToFrontTransform(r,i){var o,u=new Uint8Array(256);for(o=0;o<256;++o)u[o]=o;for(o=0;o=r&&(w-=r),u[o]=w,p[_+(1&g[x])]=w,++g[x]}function CopyUncompressedBlockToOutput(r,i,o,u,p,y){var w,_=p+1,x=o&p,k=y.pos_&g.IBUF_MASK;if(i<8||y.bit_pos_+(i<<3)0;)y.readMoreInput(),u[x++]=y.readBits(8),x===_&&(r.write(u,_),x=0);else{if(y.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;y.bit_pos_<32;)u[x]=y.val_>>>y.bit_pos_,y.bit_pos_+=8,++x,--i;if(k+(w=y.bit_end_pos_-y.bit_pos_>>3)>g.IBUF_MASK){for(var P=g.IBUF_MASK+1-k,O=0;O=_){r.write(u,_),x-=_;for(O=0;O=_;){if(w=_-x,y.input_.read(u,x,w)i.buffer.length){var Pe=new Uint8Array(U+de);Pe.set(i.buffer),i.buffer=Pe}if(j=Ae.input_end,re=Ae.is_uncompressed,Ae.is_metadata)for(JumpToByteBoundary(W);de>0;--de)W.readMoreInput(),W.readBits(8);else if(0!==de)if(re)W.bit_pos_=W.bit_pos_+7&-8,CopyUncompressedBlockToOutput(i,de,U,B,I,W),U+=de;else{for(o=0;o<3;++o)ye[o]=DecodeVarLenUint8(W)+1,ye[o]>=2&&(ReadHuffmanCode(ye[o]+2,D,o*O,W),ReadHuffmanCode(26,N,o*O,W),pe[o]=ReadBlockLength(N,o*O,W),me[o]=1);for(W.readMoreInput(),oe=(1<<(ne=W.readBits(2)))-1,ae=(ie=16+(W.readBits(4)<0;){var Oe,Ie,Be,Le,Fe,Re,De,Me,Ne,We,Ue,ze;for(W.readMoreInput(),0===pe[1]&&(DecodeBlockType(ye[1],D,1,ge,ve,me,W),pe[1]=ReadBlockLength(N,O,W),he=$[1].htrees[ge[1]]),--pe[1],(Ie=(Oe=ReadSymbol($[1].codes,he,W))>>6)>=2?(Ie-=2,De=-1):De=0,Be=k.kInsertRangeLut[Ie]+(Oe>>3&7),Le=k.kCopyRangeLut[Ie]+(7&Oe),Fe=k.kInsertLengthPrefixCode[Be].offset+W.readBits(k.kInsertLengthPrefixCode[Be].nbits),Re=k.kCopyLengthPrefixCode[Le].offset+W.readBits(k.kCopyLengthPrefixCode[Le].nbits),Y=B[U-1&I],J=B[U-2&I],Ne=0;Ne4?3:Re-2))],(De=ReadSymbol($[2].codes,$[2].htrees[xe],W))>=ie)ze=(De-=ie)&oe,De=ie+((je=(2+(1&(De>>=ne))<<(Ue=1+(De>>1)))-4)+W.readBits(Ue)<(G=U=y.minDictionaryWordLength&&Re<=y.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+U+" distance: "+Me+" len: "+Re+" bytes left: "+de);var je=y.offsetsByLength[Re],Ge=Me-G-1,Ve=y.sizeBitsByLength[Re],He=Ge>>Ve;if(je+=(Ge&(1<=R){i.write(B,_);for(var Xe=0;Xe0&&(X[3&K]=Me,++K),Re>de)throw new Error("Invalid backward reference. pos: "+U+" distance: "+Me+" len: "+Re+" bytes left: "+de);for(Ne=0;Ne>=1;return(r&o-1)+o}function ReplicateValue(r,i,o,u,p){do{r[i+(u-=o)]=new HuffmanCode(p.bits,p.value)}while(u>0)}function NextTableBitSize(r,i,u){for(var p=1<0;--N[y])ReplicateValue(r,i+_,x,I,new HuffmanCode(255&y,65535&R[w++])),_=GetNextKey(_,y);for(P=B-1,k=-1,y=u+1,x=2;y<=o;++y,x<<=1)for(;N[y]>0;--N[y])(_&P)!==k&&(i+=I,B+=I=1<<(O=NextTableBitSize(N,y,u)),r[D+(k=_&P)]=new HuffmanCode(O+u&255,i-D-k&65535)),ReplicateValue(r,i+(_>>u),x,I,new HuffmanCode(y-u&255,65535&R[w++])),_=GetNextKey(_,y);return B}},8435:function(r,i){function PrefixCodeRange(r,i){this.offset=r,this.nbits=i}i.kBlockLengthPrefixCode=[new PrefixCodeRange(1,2),new PrefixCodeRange(5,2),new PrefixCodeRange(9,2),new PrefixCodeRange(13,2),new PrefixCodeRange(17,3),new PrefixCodeRange(25,3),new PrefixCodeRange(33,3),new PrefixCodeRange(41,3),new PrefixCodeRange(49,4),new PrefixCodeRange(65,4),new PrefixCodeRange(81,4),new PrefixCodeRange(97,4),new PrefixCodeRange(113,5),new PrefixCodeRange(145,5),new PrefixCodeRange(177,5),new PrefixCodeRange(209,5),new PrefixCodeRange(241,6),new PrefixCodeRange(305,6),new PrefixCodeRange(369,7),new PrefixCodeRange(497,8),new PrefixCodeRange(753,9),new PrefixCodeRange(1265,10),new PrefixCodeRange(2289,11),new PrefixCodeRange(4337,12),new PrefixCodeRange(8433,13),new PrefixCodeRange(16625,24)],i.kInsertLengthPrefixCode=[new PrefixCodeRange(0,0),new PrefixCodeRange(1,0),new PrefixCodeRange(2,0),new PrefixCodeRange(3,0),new PrefixCodeRange(4,0),new PrefixCodeRange(5,0),new PrefixCodeRange(6,1),new PrefixCodeRange(8,1),new PrefixCodeRange(10,2),new PrefixCodeRange(14,2),new PrefixCodeRange(18,3),new PrefixCodeRange(26,3),new PrefixCodeRange(34,4),new PrefixCodeRange(50,4),new PrefixCodeRange(66,5),new PrefixCodeRange(98,5),new PrefixCodeRange(130,6),new PrefixCodeRange(194,7),new PrefixCodeRange(322,8),new PrefixCodeRange(578,9),new PrefixCodeRange(1090,10),new PrefixCodeRange(2114,12),new PrefixCodeRange(6210,14),new PrefixCodeRange(22594,24)],i.kCopyLengthPrefixCode=[new PrefixCodeRange(2,0),new PrefixCodeRange(3,0),new PrefixCodeRange(4,0),new PrefixCodeRange(5,0),new PrefixCodeRange(6,0),new PrefixCodeRange(7,0),new PrefixCodeRange(8,0),new PrefixCodeRange(9,0),new PrefixCodeRange(10,1),new PrefixCodeRange(12,1),new PrefixCodeRange(14,2),new PrefixCodeRange(18,2),new PrefixCodeRange(22,3),new PrefixCodeRange(30,3),new PrefixCodeRange(38,4),new PrefixCodeRange(54,4),new PrefixCodeRange(70,5),new PrefixCodeRange(102,5),new PrefixCodeRange(134,6),new PrefixCodeRange(198,7),new PrefixCodeRange(326,8),new PrefixCodeRange(582,9),new PrefixCodeRange(1094,10),new PrefixCodeRange(2118,24)],i.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],i.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:function(r,i){function BrotliInput(r){this.buffer=r,this.pos=0}function BrotliOutput(r){this.buffer=r,this.pos=0}BrotliInput.prototype.read=function(r,i,o){this.pos+o>this.buffer.length&&(o=this.buffer.length-this.pos);for(var u=0;uthis.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(r.subarray(0,i),this.pos),this.pos+=i,i},i.j=BrotliOutput},2973:function(r,i,o){var u=o(5139),p=10,g=11;function Transform(r,i,o){this.prefix=new Uint8Array(r.length),this.transform=i,this.suffix=new Uint8Array(o.length);for(var u=0;u'),new Transform("",0,"\n"),new Transform("",3,""),new Transform("",0,"]"),new Transform("",0," for "),new Transform("",14,""),new Transform("",2,""),new Transform("",0," a "),new Transform("",0," that "),new Transform(" ",p,""),new Transform("",0,". "),new Transform(".",0,""),new Transform(" ",0,", "),new Transform("",15,""),new Transform("",0," with "),new Transform("",0,"'"),new Transform("",0," from "),new Transform("",0," by "),new Transform("",16,""),new Transform("",17,""),new Transform(" the ",0,""),new Transform("",4,""),new Transform("",0,". The "),new Transform("",g,""),new Transform("",0," on "),new Transform("",0," as "),new Transform("",0," is "),new Transform("",7,""),new Transform("",1,"ing "),new Transform("",0,"\n\t"),new Transform("",0,":"),new Transform(" ",0,". "),new Transform("",0,"ed "),new Transform("",20,""),new Transform("",18,""),new Transform("",6,""),new Transform("",0,"("),new Transform("",p,", "),new Transform("",8,""),new Transform("",0," at "),new Transform("",0,"ly "),new Transform(" the ",0," of "),new Transform("",5,""),new Transform("",9,""),new Transform(" ",p,", "),new Transform("",p,'"'),new Transform(".",0,"("),new Transform("",g," "),new Transform("",p,'">'),new Transform("",0,'="'),new Transform(" ",0,"."),new Transform(".com/",0,""),new Transform(" the ",0," of the "),new Transform("",p,"'"),new Transform("",0,". This "),new Transform("",0,","),new Transform(".",0," "),new Transform("",p,"("),new Transform("",p,"."),new Transform("",0," not "),new Transform(" ",0,'="'),new Transform("",0,"er "),new Transform(" ",g," "),new Transform("",0,"al "),new Transform(" ",g,""),new Transform("",0,"='"),new Transform("",g,'"'),new Transform("",p,". "),new Transform(" ",0,"("),new Transform("",0,"ful "),new Transform(" ",p,". "),new Transform("",0,"ive "),new Transform("",0,"less "),new Transform("",g,"'"),new Transform("",0,"est "),new Transform(" ",p,"."),new Transform("",g,'">'),new Transform(" ",0,"='"),new Transform("",p,","),new Transform("",0,"ize "),new Transform("",g,"."),new Transform(" ",0,""),new Transform(" ",0,","),new Transform("",p,'="'),new Transform("",g,'="'),new Transform("",0,"ous "),new Transform("",g,", "),new Transform("",p,"='"),new Transform(" ",p,","),new Transform(" ",g,'="'),new Transform(" ",g,", "),new Transform("",g,","),new Transform("",g,"("),new Transform("",g,". "),new Transform(" ",g,"."),new Transform("",g,"='"),new Transform(" ",g,". "),new Transform(" ",p,'="'),new Transform(" ",g,"='"),new Transform(" ",p,"='")];function ToUpperCase(r,i){return r[i]<192?(r[i]>=97&&r[i]<=122&&(r[i]^=32),1):r[i]<224?(r[i+1]^=32,2):(r[i+2]^=5,3)}i.kTransforms=y,i.kNumTransforms=y.length,i.transformDictionaryWord=function(r,i,o,w,_){var x,k=y[_].prefix,P=y[_].suffix,O=y[_].transform,I=O<12?0:O-11,B=0,R=i;I>w&&(I=w);for(var D=0;D0;){var N=ToUpperCase(r,x);x+=N,w-=N}for(var W=0;Wi.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=r,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,g(this.init_done,"close before init"),g(this.mode<=i.UNZIP),this.mode===i.DEFLATE||this.mode===i.GZIP||this.mode===i.DEFLATERAW?w.deflateEnd(this.strm):this.mode!==i.INFLATE&&this.mode!==i.GUNZIP&&this.mode!==i.INFLATERAW&&this.mode!==i.UNZIP||_.inflateEnd(this.strm),this.mode=i.NONE,this.dictionary=null)},Zlib.prototype.write=function(r,i,o,u,p,g,y){return this._write(!0,r,i,o,u,p,g,y)},Zlib.prototype.writeSync=function(r,i,o,u,p,g,y){return this._write(!1,r,i,o,u,p,g,y)},Zlib.prototype._write=function(r,o,y,w,_,x,k,P){if(g.equal(arguments.length,8),g(this.init_done,"write before init"),g(this.mode!==i.NONE,"already finalized"),g.equal(!1,this.write_in_progress,"write already in progress"),g.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,g.equal(!1,void 0===o,"must provide flush value"),this.write_in_progress=!0,o!==i.Z_NO_FLUSH&&o!==i.Z_PARTIAL_FLUSH&&o!==i.Z_SYNC_FLUSH&&o!==i.Z_FULL_FLUSH&&o!==i.Z_FINISH&&o!==i.Z_BLOCK)throw new Error("Invalid flush value");if(null==y&&(y=u.alloc(0),_=0,w=0),this.strm.avail_in=_,this.strm.input=y,this.strm.next_in=w,this.strm.avail_out=P,this.strm.output=x,this.strm.next_out=k,this.flush=o,!r)return this._process(),this._checkError()?this._afterSync():void 0;var O=this;return p.nextTick((function(){O._process(),O._after()})),this},Zlib.prototype._afterSync=function(){var r=this.strm.avail_out,i=this.strm.avail_in;return this.write_in_progress=!1,[i,r]},Zlib.prototype._process=function(){var r=null;switch(this.mode){case i.DEFLATE:case i.GZIP:case i.DEFLATERAW:this.err=w.deflate(this.strm,this.flush);break;case i.UNZIP:switch(this.strm.avail_in>0&&(r=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===r)break;if(31!==this.strm.input[r]){this.mode=i.INFLATE;break}if(this.gzip_id_bytes_read=1,r++,1===this.strm.avail_in)break;case 1:if(null===r)break;139===this.strm.input[r]?(this.gzip_id_bytes_read=2,this.mode=i.GUNZIP):this.mode=i.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case i.INFLATE:case i.GUNZIP:case i.INFLATERAW:for(this.err=_.inflate(this.strm,this.flush),this.err===i.Z_NEED_DICT&&this.dictionary&&(this.err=_.inflateSetDictionary(this.strm,this.dictionary),this.err===i.Z_OK?this.err=_.inflate(this.strm,this.flush):this.err===i.Z_DATA_ERROR&&(this.err=i.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===i.GUNZIP&&this.err===i.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=_.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case i.Z_OK:case i.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===i.Z_FINISH)return this._error("unexpected end of file"),!1;break;case i.Z_STREAM_END:break;case i.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},Zlib.prototype._after=function(){if(this._checkError()){var r=this.strm.avail_out,i=this.strm.avail_in;this.write_in_progress=!1,this.callback(i,r),this.pending_close&&this.close()}},Zlib.prototype._error=function(r){this.strm.msg&&(r=this.strm.msg),this.onerror(r,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},Zlib.prototype.init=function(r,o,u,p,y){g(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),g(r>=8&&r<=15,"invalid windowBits"),g(o>=-1&&o<=9,"invalid compression level"),g(u>=1&&u<=9,"invalid memlevel"),g(p===i.Z_FILTERED||p===i.Z_HUFFMAN_ONLY||p===i.Z_RLE||p===i.Z_FIXED||p===i.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(o,r,u,p,y),this._setDictionary()},Zlib.prototype.params=function(){throw new Error("deflateParams Not supported")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(r,o,u,p,g){switch(this.level=r,this.windowBits=o,this.memLevel=u,this.strategy=p,this.flush=i.Z_NO_FLUSH,this.err=i.Z_OK,this.mode!==i.GZIP&&this.mode!==i.GUNZIP||(this.windowBits+=16),this.mode===i.UNZIP&&(this.windowBits+=32),this.mode!==i.DEFLATERAW&&this.mode!==i.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new y,this.mode){case i.DEFLATE:case i.GZIP:case i.DEFLATERAW:this.err=w.deflateInit2(this.strm,this.level,i.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case i.INFLATE:case i.GUNZIP:case i.INFLATERAW:case i.UNZIP:this.err=_.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==i.Z_OK&&this._error("Init error"),this.dictionary=g,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=i.Z_OK,this.mode){case i.DEFLATE:case i.DEFLATERAW:this.err=w.deflateSetDictionary(this.strm,this.dictionary)}this.err!==i.Z_OK&&this._error("Failed to set dictionary")}},Zlib.prototype._reset=function(){switch(this.err=i.Z_OK,this.mode){case i.DEFLATE:case i.DEFLATERAW:case i.GZIP:this.err=w.deflateReset(this.strm);break;case i.INFLATE:case i.INFLATERAW:case i.GUNZIP:this.err=_.inflateReset(this.strm)}this.err!==i.Z_OK&&this._error("Failed to reset stream")},i.Zlib=Zlib},2635:function(r,i,o){"use strict";var u=o(4155),p=o(8823).Buffer,g=o(2830).Transform,y=o(4505),w=o(9539),_=o(9282).ok,x=o(8823).kMaxLength,k="Cannot create final Buffer. It would be larger than 0x"+x.toString(16)+" bytes";y.Z_MIN_WINDOWBITS=8,y.Z_MAX_WINDOWBITS=15,y.Z_DEFAULT_WINDOWBITS=15,y.Z_MIN_CHUNK=64,y.Z_MAX_CHUNK=1/0,y.Z_DEFAULT_CHUNK=16384,y.Z_MIN_MEMLEVEL=1,y.Z_MAX_MEMLEVEL=9,y.Z_DEFAULT_MEMLEVEL=8,y.Z_MIN_LEVEL=-1,y.Z_MAX_LEVEL=9,y.Z_DEFAULT_LEVEL=y.Z_DEFAULT_COMPRESSION;for(var P=Object.keys(y),O=0;O=x?y=new RangeError(k):i=p.concat(u,g),u=[],r.close(),o(y,i)}r.on("error",(function onError(i){r.removeListener("end",onEnd),r.removeListener("readable",flow),o(i)})),r.on("end",onEnd),r.end(i),flow()}function zlibBufferSync(r,i){if("string"==typeof i&&(i=p.from(i)),!p.isBuffer(i))throw new TypeError("Not a string or buffer");var o=r._finishFlushFlag;return r._processChunk(i,o)}function Deflate(r){if(!(this instanceof Deflate))return new Deflate(r);Zlib.call(this,r,y.DEFLATE)}function Inflate(r){if(!(this instanceof Inflate))return new Inflate(r);Zlib.call(this,r,y.INFLATE)}function Gzip(r){if(!(this instanceof Gzip))return new Gzip(r);Zlib.call(this,r,y.GZIP)}function Gunzip(r){if(!(this instanceof Gunzip))return new Gunzip(r);Zlib.call(this,r,y.GUNZIP)}function DeflateRaw(r){if(!(this instanceof DeflateRaw))return new DeflateRaw(r);Zlib.call(this,r,y.DEFLATERAW)}function InflateRaw(r){if(!(this instanceof InflateRaw))return new InflateRaw(r);Zlib.call(this,r,y.INFLATERAW)}function Unzip(r){if(!(this instanceof Unzip))return new Unzip(r);Zlib.call(this,r,y.UNZIP)}function isValidFlushFlag(r){return r===y.Z_NO_FLUSH||r===y.Z_PARTIAL_FLUSH||r===y.Z_SYNC_FLUSH||r===y.Z_FULL_FLUSH||r===y.Z_FINISH||r===y.Z_BLOCK}function Zlib(r,o){var u=this;if(this._opts=r=r||{},this._chunkSize=r.chunkSize||i.Z_DEFAULT_CHUNK,g.call(this,r),r.flush&&!isValidFlushFlag(r.flush))throw new Error("Invalid flush flag: "+r.flush);if(r.finishFlush&&!isValidFlushFlag(r.finishFlush))throw new Error("Invalid flush flag: "+r.finishFlush);if(this._flushFlag=r.flush||y.Z_NO_FLUSH,this._finishFlushFlag=void 0!==r.finishFlush?r.finishFlush:y.Z_FINISH,r.chunkSize&&(r.chunkSizei.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+r.chunkSize);if(r.windowBits&&(r.windowBitsi.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+r.windowBits);if(r.level&&(r.leveli.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+r.level);if(r.memLevel&&(r.memLeveli.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+r.memLevel);if(r.strategy&&r.strategy!=i.Z_FILTERED&&r.strategy!=i.Z_HUFFMAN_ONLY&&r.strategy!=i.Z_RLE&&r.strategy!=i.Z_FIXED&&r.strategy!=i.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+r.strategy);if(r.dictionary&&!p.isBuffer(r.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new y.Zlib(o);var w=this;this._hadError=!1,this._handle.onerror=function(r,o){_close(w),w._hadError=!0;var u=new Error(r);u.errno=o,u.code=i.codes[o],w.emit("error",u)};var _=i.Z_DEFAULT_COMPRESSION;"number"==typeof r.level&&(_=r.level);var x=i.Z_DEFAULT_STRATEGY;"number"==typeof r.strategy&&(x=r.strategy),this._handle.init(r.windowBits||i.Z_DEFAULT_WINDOWBITS,_,r.memLevel||i.Z_DEFAULT_MEMLEVEL,x,r.dictionary),this._buffer=p.allocUnsafe(this._chunkSize),this._offset=0,this._level=_,this._strategy=x,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!u._handle},configurable:!0,enumerable:!0})}function _close(r,i){i&&u.nextTick(i),r._handle&&(r._handle.close(),r._handle=null)}function emitCloseNT(r){r.emit("close")}Object.defineProperty(i,"codes",{enumerable:!0,value:Object.freeze(B),writable:!1}),i.Deflate=Deflate,i.Inflate=Inflate,i.Gzip=Gzip,i.Gunzip=Gunzip,i.DeflateRaw=DeflateRaw,i.InflateRaw=InflateRaw,i.Unzip=Unzip,i.createDeflate=function(r){return new Deflate(r)},i.createInflate=function(r){return new Inflate(r)},i.createDeflateRaw=function(r){return new DeflateRaw(r)},i.createInflateRaw=function(r){return new InflateRaw(r)},i.createGzip=function(r){return new Gzip(r)},i.createGunzip=function(r){return new Gunzip(r)},i.createUnzip=function(r){return new Unzip(r)},i.deflate=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Deflate(i),r,o)},i.deflateSync=function(r,i){return zlibBufferSync(new Deflate(i),r)},i.gzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Gzip(i),r,o)},i.gzipSync=function(r,i){return zlibBufferSync(new Gzip(i),r)},i.deflateRaw=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new DeflateRaw(i),r,o)},i.deflateRawSync=function(r,i){return zlibBufferSync(new DeflateRaw(i),r)},i.unzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Unzip(i),r,o)},i.unzipSync=function(r,i){return zlibBufferSync(new Unzip(i),r)},i.inflate=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Inflate(i),r,o)},i.inflateSync=function(r,i){return zlibBufferSync(new Inflate(i),r)},i.gunzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Gunzip(i),r,o)},i.gunzipSync=function(r,i){return zlibBufferSync(new Gunzip(i),r)},i.inflateRaw=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new InflateRaw(i),r,o)},i.inflateRawSync=function(r,i){return zlibBufferSync(new InflateRaw(i),r)},w.inherits(Zlib,g),Zlib.prototype.params=function(r,o,p){if(ri.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+r);if(o!=i.Z_FILTERED&&o!=i.Z_HUFFMAN_ONLY&&o!=i.Z_RLE&&o!=i.Z_FIXED&&o!=i.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+o);if(this._level!==r||this._strategy!==o){var g=this;this.flush(y.Z_SYNC_FLUSH,(function(){_(g._handle,"zlib binding closed"),g._handle.params(r,o),g._hadError||(g._level=r,g._strategy=o,p&&p())}))}else u.nextTick(p)},Zlib.prototype.reset=function(){return _(this._handle,"zlib binding closed"),this._handle.reset()},Zlib.prototype._flush=function(r){this._transform(p.alloc(0),"",r)},Zlib.prototype.flush=function(r,i){var o=this,g=this._writableState;("function"==typeof r||void 0===r&&!i)&&(i=r,r=y.Z_FULL_FLUSH),g.ended?i&&u.nextTick(i):g.ending?i&&this.once("end",i):g.needDrain?i&&this.once("drain",(function(){return o.flush(r,i)})):(this._flushFlag=r,this.write(p.alloc(0),"",i))},Zlib.prototype.close=function(r){_close(this,r),u.nextTick(emitCloseNT,this)},Zlib.prototype._transform=function(r,i,o){var u,g=this._writableState,w=(g.ending||g.ended)&&(!r||g.length===r.length);return null===r||p.isBuffer(r)?this._handle?(w?u=this._finishFlushFlag:(u=this._flushFlag,r.length>=g.length&&(this._flushFlag=this._opts.flush||y.Z_NO_FLUSH)),void this._processChunk(r,u,o)):o(new Error("zlib binding closed")):o(new Error("invalid input"))},Zlib.prototype._processChunk=function(r,i,o){var u=r&&r.length,g=this._chunkSize-this._offset,y=0,w=this,P="function"==typeof o;if(!P){var O,I=[],B=0;this.on("error",(function(r){O=r})),_(this._handle,"zlib binding closed");do{var R=this._handle.writeSync(i,r,y,u,this._buffer,this._offset,g)}while(!this._hadError&&callback(R[0],R[1]));if(this._hadError)throw O;if(B>=x)throw _close(this),new RangeError(k);var D=p.concat(I,B);return _close(this),D}_(this._handle,"zlib binding closed");var N=this._handle.write(i,r,y,u,this._buffer,this._offset,g);function callback(x,k){if(this&&(this.buffer=null,this.callback=null),!w._hadError){var O=g-k;if(_(O>=0,"have should not go down"),O>0){var R=w._buffer.slice(w._offset,w._offset+O);w._offset+=O,P?w.push(R):(I.push(R),B+=R.length)}if((0===k||w._offset>=w._chunkSize)&&(g=w._chunkSize,w._offset=0,w._buffer=p.allocUnsafe(w._chunkSize)),0===k){if(y+=u-x,u=x,!P)return!0;var D=w._handle.write(i,r,y,u,w._buffer,w._offset,w._chunkSize);return D.callback=callback,void(D.buffer=r)}if(!P)return!1;o()}}N.buffer=r,N.callback=callback},w.inherits(Deflate,Zlib),w.inherits(Inflate,Zlib),w.inherits(Gzip,Zlib),w.inherits(Gunzip,Zlib),w.inherits(DeflateRaw,Zlib),w.inherits(InflateRaw,Zlib),w.inherits(Unzip,Zlib)},6907:function(r,i){"use strict";var o="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function _has(r,i){return Object.prototype.hasOwnProperty.call(r,i)}i.assign=function(r){for(var i=Array.prototype.slice.call(arguments,1);i.length;){var o=i.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var u in o)_has(o,u)&&(r[u]=o[u])}}return r},i.shrinkBuf=function(r,i){return r.length===i?r:r.subarray?r.subarray(0,i):(r.length=i,r)};var u={arraySet:function(r,i,o,u,p){if(i.subarray&&r.subarray)r.set(i.subarray(o,o+u),p);else for(var g=0;g>>16&65535|0,y=0;0!==o;){o-=y=o>2e3?2e3:o;do{g=g+(p=p+i[u++]|0)|0}while(--y);p%=65521,g%=65521}return p|g<<16|0}},7162:function(r){"use strict";r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},3415:function(r){"use strict";var i=function makeTable(){for(var r,i=[],o=0;o<256;o++){r=o;for(var u=0;u<8;u++)r=1&r?3988292384^r>>>1:r>>>1;i[o]=r}return i}();r.exports=function crc32(r,o,u,p){var g=i,y=p+u;r^=-1;for(var w=p;w>>8^g[255&(r^o[w])];return-1^r}},2233:function(r,i,o){"use strict";var u,p=o(6907),g=o(1339),y=o(7575),w=o(3415),_=o(9364),x=-2,k=258,P=262,O=103,I=113,B=666;function err(r,i){return r.msg=_[i],i}function rank(r){return(r<<1)-(r>4?9:0)}function zero(r){for(var i=r.length;--i>=0;)r[i]=0}function flush_pending(r){var i=r.state,o=i.pending;o>r.avail_out&&(o=r.avail_out),0!==o&&(p.arraySet(r.output,i.pending_buf,i.pending_out,o,r.next_out),r.next_out+=o,i.pending_out+=o,r.total_out+=o,r.avail_out-=o,i.pending-=o,0===i.pending&&(i.pending_out=0))}function flush_block_only(r,i){g._tr_flush_block(r,r.block_start>=0?r.block_start:-1,r.strstart-r.block_start,i),r.block_start=r.strstart,flush_pending(r.strm)}function put_byte(r,i){r.pending_buf[r.pending++]=i}function putShortMSB(r,i){r.pending_buf[r.pending++]=i>>>8&255,r.pending_buf[r.pending++]=255&i}function longest_match(r,i){var o,u,p=r.max_chain_length,g=r.strstart,y=r.prev_length,w=r.nice_match,_=r.strstart>r.w_size-P?r.strstart-(r.w_size-P):0,x=r.window,O=r.w_mask,I=r.prev,B=r.strstart+k,R=x[g+y-1],D=x[g+y];r.prev_length>=r.good_match&&(p>>=2),w>r.lookahead&&(w=r.lookahead);do{if(x[(o=i)+y]===D&&x[o+y-1]===R&&x[o]===x[g]&&x[++o]===x[g+1]){g+=2,o++;do{}while(x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&gy){if(r.match_start=i,y=u,u>=w)break;R=x[g+y-1],D=x[g+y]}}}while((i=I[i&O])>_&&0!=--p);return y<=r.lookahead?y:r.lookahead}function fill_window(r){var i,o,u,g,_,x,k,O,I,B,R=r.w_size;do{if(g=r.window_size-r.lookahead-r.strstart,r.strstart>=R+(R-P)){p.arraySet(r.window,r.window,R,R,0),r.match_start-=R,r.strstart-=R,r.block_start-=R,i=o=r.hash_size;do{u=r.head[--i],r.head[i]=u>=R?u-R:0}while(--o);i=o=R;do{u=r.prev[--i],r.prev[i]=u>=R?u-R:0}while(--o);g+=R}if(0===r.strm.avail_in)break;if(x=r.strm,k=r.window,O=r.strstart+r.lookahead,I=g,B=void 0,(B=x.avail_in)>I&&(B=I),o=0===B?0:(x.avail_in-=B,p.arraySet(k,x.input,x.next_in,B,O),1===x.state.wrap?x.adler=y(x.adler,k,B,O):2===x.state.wrap&&(x.adler=w(x.adler,k,B,O)),x.next_in+=B,x.total_in+=B,B),r.lookahead+=o,r.lookahead+r.insert>=3)for(_=r.strstart-r.insert,r.ins_h=r.window[_],r.ins_h=(r.ins_h<=3&&(r.ins_h=(r.ins_h<=3)if(u=g._tr_tally(r,r.strstart-r.match_start,r.match_length-3),r.lookahead-=r.match_length,r.match_length<=r.max_lazy_match&&r.lookahead>=3){r.match_length--;do{r.strstart++,r.ins_h=(r.ins_h<=3&&(r.ins_h=(r.ins_h<4096)&&(r.match_length=2)),r.prev_length>=3&&r.match_length<=r.prev_length){p=r.strstart+r.lookahead-3,u=g._tr_tally(r,r.strstart-1-r.prev_match,r.prev_length-3),r.lookahead-=r.prev_length-1,r.prev_length-=2;do{++r.strstart<=p&&(r.ins_h=(r.ins_h<15&&(w=2,u-=16),g<1||g>9||8!==o||u<8||u>15||i<0||i>9||y<0||y>4)return err(r,x);8===u&&(u=9);var _=new DeflateState;return r.state=_,_.strm=r,_.wrap=w,_.gzhead=null,_.w_bits=u,_.w_size=1<<_.w_bits,_.w_mask=_.w_size-1,_.hash_bits=g+7,_.hash_size=1<<_.hash_bits,_.hash_mask=_.hash_size-1,_.hash_shift=~~((_.hash_bits+3-1)/3),_.window=new p.Buf8(2*_.w_size),_.head=new p.Buf16(_.hash_size),_.prev=new p.Buf16(_.w_size),_.lit_bufsize=1<r.pending_buf_size-5&&(o=r.pending_buf_size-5);;){if(r.lookahead<=1){if(fill_window(r),0===r.lookahead&&0===i)return 1;if(0===r.lookahead)break}r.strstart+=r.lookahead,r.lookahead=0;var u=r.block_start+o;if((0===r.strstart||r.strstart>=u)&&(r.lookahead=r.strstart-u,r.strstart=u,flush_block_only(r,!1),0===r.strm.avail_out))return 1;if(r.strstart-r.block_start>=r.w_size-P&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):(r.strstart>r.block_start&&(flush_block_only(r,!1),r.strm.avail_out),1)})),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)],i.deflateInit=function deflateInit(r,i){return deflateInit2(r,i,8,15,8,0)},i.deflateInit2=deflateInit2,i.deflateReset=deflateReset,i.deflateResetKeep=deflateResetKeep,i.deflateSetHeader=function deflateSetHeader(r,i){return r&&r.state?2!==r.state.wrap?x:(r.state.gzhead=i,0):x},i.deflate=function deflate(r,i){var o,p,y,_;if(!r||!r.state||i>5||i<0)return r?err(r,x):x;if(p=r.state,!r.output||!r.input&&0!==r.avail_in||p.status===B&&4!==i)return err(r,0===r.avail_out?-5:x);if(p.strm=r,o=p.last_flush,p.last_flush=i,42===p.status)if(2===p.wrap)r.adler=0,put_byte(p,31),put_byte(p,139),put_byte(p,8),p.gzhead?(put_byte(p,(p.gzhead.text?1:0)+(p.gzhead.hcrc?2:0)+(p.gzhead.extra?4:0)+(p.gzhead.name?8:0)+(p.gzhead.comment?16:0)),put_byte(p,255&p.gzhead.time),put_byte(p,p.gzhead.time>>8&255),put_byte(p,p.gzhead.time>>16&255),put_byte(p,p.gzhead.time>>24&255),put_byte(p,9===p.level?2:p.strategy>=2||p.level<2?4:0),put_byte(p,255&p.gzhead.os),p.gzhead.extra&&p.gzhead.extra.length&&(put_byte(p,255&p.gzhead.extra.length),put_byte(p,p.gzhead.extra.length>>8&255)),p.gzhead.hcrc&&(r.adler=w(r.adler,p.pending_buf,p.pending,0)),p.gzindex=0,p.status=69):(put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,9===p.level?2:p.strategy>=2||p.level<2?4:0),put_byte(p,3),p.status=I);else{var P=8+(p.w_bits-8<<4)<<8;P|=(p.strategy>=2||p.level<2?0:p.level<6?1:6===p.level?2:3)<<6,0!==p.strstart&&(P|=32),P+=31-P%31,p.status=I,putShortMSB(p,P),0!==p.strstart&&(putShortMSB(p,r.adler>>>16),putShortMSB(p,65535&r.adler)),r.adler=1}if(69===p.status)if(p.gzhead.extra){for(y=p.pending;p.gzindex<(65535&p.gzhead.extra.length)&&(p.pending!==p.pending_buf_size||(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending!==p.pending_buf_size));)put_byte(p,255&p.gzhead.extra[p.gzindex]),p.gzindex++;p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),p.gzindex===p.gzhead.extra.length&&(p.gzindex=0,p.status=73)}else p.status=73;if(73===p.status)if(p.gzhead.name){y=p.pending;do{if(p.pending===p.pending_buf_size&&(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending===p.pending_buf_size)){_=1;break}_=p.gzindexy&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),0===_&&(p.gzindex=0,p.status=91)}else p.status=91;if(91===p.status)if(p.gzhead.comment){y=p.pending;do{if(p.pending===p.pending_buf_size&&(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending===p.pending_buf_size)){_=1;break}_=p.gzindexy&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),0===_&&(p.status=O)}else p.status=O;if(p.status===O&&(p.gzhead.hcrc?(p.pending+2>p.pending_buf_size&&flush_pending(r),p.pending+2<=p.pending_buf_size&&(put_byte(p,255&r.adler),put_byte(p,r.adler>>8&255),r.adler=0,p.status=I)):p.status=I),0!==p.pending){if(flush_pending(r),0===r.avail_out)return p.last_flush=-1,0}else if(0===r.avail_in&&rank(i)<=rank(o)&&4!==i)return err(r,-5);if(p.status===B&&0!==r.avail_in)return err(r,-5);if(0!==r.avail_in||0!==p.lookahead||0!==i&&p.status!==B){var R=2===p.strategy?function deflate_huff(r,i){for(var o;;){if(0===r.lookahead&&(fill_window(r),0===r.lookahead)){if(0===i)return 1;break}if(r.match_length=0,o=g._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++,o&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}(p,i):3===p.strategy?function deflate_rle(r,i){for(var o,u,p,y,w=r.window;;){if(r.lookahead<=k){if(fill_window(r),r.lookahead<=k&&0===i)return 1;if(0===r.lookahead)break}if(r.match_length=0,r.lookahead>=3&&r.strstart>0&&(u=w[p=r.strstart-1])===w[++p]&&u===w[++p]&&u===w[++p]){y=r.strstart+k;do{}while(u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&pr.lookahead&&(r.match_length=r.lookahead)}if(r.match_length>=3?(o=g._tr_tally(r,1,r.match_length-3),r.lookahead-=r.match_length,r.strstart+=r.match_length,r.match_length=0):(o=g._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++),o&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}(p,i):u[p.level].func(p,i);if(3!==R&&4!==R||(p.status=B),1===R||3===R)return 0===r.avail_out&&(p.last_flush=-1),0;if(2===R&&(1===i?g._tr_align(p):5!==i&&(g._tr_stored_block(p,0,0,!1),3===i&&(zero(p.head),0===p.lookahead&&(p.strstart=0,p.block_start=0,p.insert=0))),flush_pending(r),0===r.avail_out))return p.last_flush=-1,0}return 4!==i?0:p.wrap<=0?1:(2===p.wrap?(put_byte(p,255&r.adler),put_byte(p,r.adler>>8&255),put_byte(p,r.adler>>16&255),put_byte(p,r.adler>>24&255),put_byte(p,255&r.total_in),put_byte(p,r.total_in>>8&255),put_byte(p,r.total_in>>16&255),put_byte(p,r.total_in>>24&255)):(putShortMSB(p,r.adler>>>16),putShortMSB(p,65535&r.adler)),flush_pending(r),p.wrap>0&&(p.wrap=-p.wrap),0!==p.pending?0:1)},i.deflateEnd=function deflateEnd(r){var i;return r&&r.state?42!==(i=r.state.status)&&69!==i&&73!==i&&91!==i&&i!==O&&i!==I&&i!==B?err(r,x):(r.state=null,i===I?err(r,-3):0):x},i.deflateSetDictionary=function deflateSetDictionary(r,i){var o,u,g,w,_,k,P,O,I=i.length;if(!r||!r.state)return x;if(2===(w=(o=r.state).wrap)||1===w&&42!==o.status||o.lookahead)return x;for(1===w&&(r.adler=y(r.adler,i,I,0)),o.wrap=0,I>=o.w_size&&(0===w&&(zero(o.head),o.strstart=0,o.block_start=0,o.insert=0),O=new p.Buf8(o.w_size),p.arraySet(O,i,I-o.w_size,o.w_size,0),i=O,I=o.w_size),_=r.avail_in,k=r.next_in,P=r.input,r.avail_in=I,r.next_in=0,r.input=i,fill_window(o);o.lookahead>=3;){u=o.strstart,g=o.lookahead-2;do{o.ins_h=(o.ins_h<>>=j=U>>>24,B-=j,0===(j=U>>>16&255))$[g++]=65535&U;else{if(!(16&j)){if(0==(64&j)){U=R[(65535&U)+(I&(1<>>=j,B-=j),B<15&&(I+=J[u++]<>>=j=U>>>24,B-=j,!(16&(j=U>>>16&255))){if(0==(64&j)){U=D[(65535&U)+(I&(1<_){r.msg="invalid distance too far back",o.mode=30;break e}if(I>>>=j,B-=j,X>(j=g-y)){if((j=X-j)>k&&o.sane){r.msg="invalid distance too far back",o.mode=30;break e}if(K=0,Y=O,0===P){if(K+=x-j,j2;)$[g++]=Y[K++],$[g++]=Y[K++],$[g++]=Y[K++],G-=3;G&&($[g++]=Y[K++],G>1&&($[g++]=Y[K++]))}else{K=g-X;do{$[g++]=$[K++],$[g++]=$[K++],$[g++]=$[K++],G-=3}while(G>2);G&&($[g++]=$[K++],G>1&&($[g++]=$[K++]))}break}}break}}while(u>3,I&=(1<<(B-=G<<3))-1,r.next_in=u,r.next_out=g,r.avail_in=u>>24&255)+(r>>>8&65280)+((65280&r)<<8)+((255&r)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new u.Buf16(320),this.work=new u.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(r){var i;return r&&r.state?(i=r.state,r.total_in=r.total_out=i.total=0,r.msg="",i.wrap&&(r.adler=1&i.wrap),i.mode=1,i.last=0,i.havedict=0,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new u.Buf32(852),i.distcode=i.distdyn=new u.Buf32(592),i.sane=1,i.back=-1,0):_}function inflateReset(r){var i;return r&&r.state?((i=r.state).wsize=0,i.whave=0,i.wnext=0,inflateResetKeep(r)):_}function inflateReset2(r,i){var o,u;return r&&r.state?(u=r.state,i<0?(o=0,i=-i):(o=1+(i>>4),i<48&&(i&=15)),i&&(i<8||i>15)?_:(null!==u.window&&u.wbits!==i&&(u.window=null),u.wrap=o,u.wbits=i,inflateReset(r))):_}function inflateInit2(r,i){var o,u;return r?(u=new InflateState,r.state=u,u.window=null,0!==(o=inflateReset2(r,i))&&(r.state=null),o):_}var P,O,I=!0;function fixedtables(r){if(I){var i;for(P=new u.Buf32(512),O=new u.Buf32(32),i=0;i<144;)r.lens[i++]=8;for(;i<256;)r.lens[i++]=9;for(;i<280;)r.lens[i++]=7;for(;i<288;)r.lens[i++]=8;for(w(1,r.lens,0,288,P,0,r.work,{bits:9}),i=0;i<32;)r.lens[i++]=5;w(2,r.lens,0,32,O,0,r.work,{bits:5}),I=!1}r.lencode=P,r.lenbits=9,r.distcode=O,r.distbits=5}function updatewindow(r,i,o,p){var g,y=r.state;return null===y.window&&(y.wsize=1<=y.wsize?(u.arraySet(y.window,i,o-y.wsize,y.wsize,0),y.wnext=0,y.whave=y.wsize):((g=y.wsize-y.wnext)>p&&(g=p),u.arraySet(y.window,i,o-p,g,y.wnext),(p-=g)?(u.arraySet(y.window,i,o-p,p,0),y.wnext=p,y.whave=y.wsize):(y.wnext+=g,y.wnext===y.wsize&&(y.wnext=0),y.whave>>8&255,o.check=g(o.check,ce,2,0),N=0,W=0,o.mode=2;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&N)<<8)+(N>>8))%31){r.msg="incorrect header check",o.mode=k;break}if(8!=(15&N)){r.msg="unknown compression method",o.mode=k;break}if(W-=4,ne=8+(15&(N>>>=4)),0===o.wbits)o.wbits=ne;else if(ne>o.wbits){r.msg="invalid window size",o.mode=k;break}o.dmax=1<>8&1),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0,o.mode=3;case 3:for(;W<32;){if(0===R)break e;R--,N+=P[I++]<>>8&255,ce[2]=N>>>16&255,ce[3]=N>>>24&255,o.check=g(o.check,ce,4,0)),N=0,W=0,o.mode=4;case 4:for(;W<16;){if(0===R)break e;R--,N+=P[I++]<>8),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0,o.mode=5;case 5:if(1024&o.flags){for(;W<16;){if(0===R)break e;R--,N+=P[I++]<>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0}else o.head&&(o.head.extra=null);o.mode=6;case 6:if(1024&o.flags&&((G=o.length)>R&&(G=R),G&&(o.head&&(ne=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),u.arraySet(o.head.extra,P,I,G,ne)),512&o.flags&&(o.check=g(o.check,P,G,I)),R-=G,I+=G,o.length-=G),o.length))break e;o.length=0,o.mode=7;case 7:if(2048&o.flags){if(0===R)break e;G=0;do{ne=P[I+G++],o.head&&ne&&o.length<65536&&(o.head.name+=String.fromCharCode(ne))}while(ne&&G>9&1,o.head.done=!0),r.adler=o.check=0,o.mode=x;break;case 10:for(;W<32;){if(0===R)break e;R--,N+=P[I++]<>>=7&W,W-=7&W,o.mode=27;break}for(;W<3;){if(0===R)break e;R--,N+=P[I++]<>>=1)){case 0:o.mode=14;break;case 1:if(fixedtables(o),o.mode=20,6===i){N>>>=2,W-=2;break e}break;case 2:o.mode=17;break;case 3:r.msg="invalid block type",o.mode=k}N>>>=2,W-=2;break;case 14:for(N>>>=7&W,W-=7&W;W<32;){if(0===R)break e;R--,N+=P[I++]<>>16^65535)){r.msg="invalid stored block lengths",o.mode=k;break}if(o.length=65535&N,N=0,W=0,o.mode=15,6===i)break e;case 15:o.mode=16;case 16:if(G=o.length){if(G>R&&(G=R),G>D&&(G=D),0===G)break e;u.arraySet(O,P,I,G,B),R-=G,I+=G,D-=G,B+=G,o.length-=G;break}o.mode=x;break;case 17:for(;W<14;){if(0===R)break e;R--,N+=P[I++]<>>=5,W-=5,o.ndist=1+(31&N),N>>>=5,W-=5,o.ncode=4+(15&N),N>>>=4,W-=4,o.nlen>286||o.ndist>30){r.msg="too many length or distance symbols",o.mode=k;break}o.have=0,o.mode=18;case 18:for(;o.have>>=3,W-=3}for(;o.have<19;)o.lens[le[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,oe={bits:o.lenbits},ie=w(0,o.lens,0,19,o.lencode,0,o.work,oe),o.lenbits=oe.bits,ie){r.msg="invalid code lengths set",o.mode=k;break}o.have=0,o.mode=19;case 19:for(;o.have>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<>>=Y,W-=Y,o.lens[o.have++]=$;else{if(16===$){for(ae=Y+2;W>>=Y,W-=Y,0===o.have){r.msg="invalid bit length repeat",o.mode=k;break}ne=o.lens[o.have-1],G=3+(3&N),N>>>=2,W-=2}else if(17===$){for(ae=Y+3;W>>=Y)),N>>>=3,W-=3}else{for(ae=Y+7;W>>=Y)),N>>>=7,W-=7}if(o.have+G>o.nlen+o.ndist){r.msg="invalid bit length repeat",o.mode=k;break}for(;G--;)o.lens[o.have++]=ne}}if(o.mode===k)break;if(0===o.lens[256]){r.msg="invalid code -- missing end-of-block",o.mode=k;break}if(o.lenbits=9,oe={bits:o.lenbits},ie=w(1,o.lens,0,o.nlen,o.lencode,0,o.work,oe),o.lenbits=oe.bits,ie){r.msg="invalid literal/lengths set",o.mode=k;break}if(o.distbits=6,o.distcode=o.distdyn,oe={bits:o.distbits},ie=w(2,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,oe),o.distbits=oe.bits,ie){r.msg="invalid distances set",o.mode=k;break}if(o.mode=20,6===i)break e;case 20:o.mode=21;case 21:if(R>=6&&D>=258){r.next_out=B,r.avail_out=D,r.next_in=I,r.avail_in=R,o.hold=N,o.bits=W,y(r,j),B=r.next_out,O=r.output,D=r.avail_out,I=r.next_in,P=r.input,R=r.avail_in,N=o.hold,W=o.bits,o.mode===x&&(o.back=-1);break}for(o.back=0;J=(se=o.lencode[N&(1<>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<>ee)])>>>16&255,$=65535&se,!(ee+(Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<>>=ee,W-=ee,o.back+=ee}if(N>>>=Y,W-=Y,o.back+=Y,o.length=$,0===J){o.mode=26;break}if(32&J){o.back=-1,o.mode=x;break}if(64&J){r.msg="invalid literal/length code",o.mode=k;break}o.extra=15&J,o.mode=22;case 22:if(o.extra){for(ae=o.extra;W>>=o.extra,W-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=23;case 23:for(;J=(se=o.distcode[N&(1<>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<>ee)])>>>16&255,$=65535&se,!(ee+(Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<>>=ee,W-=ee,o.back+=ee}if(N>>>=Y,W-=Y,o.back+=Y,64&J){r.msg="invalid distance code",o.mode=k;break}o.offset=$,o.extra=15&J,o.mode=24;case 24:if(o.extra){for(ae=o.extra;W>>=o.extra,W-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){r.msg="invalid distance too far back",o.mode=k;break}o.mode=25;case 25:if(0===D)break e;if(G=j-D,o.offset>G){if((G=o.offset-G)>o.whave&&o.sane){r.msg="invalid distance too far back",o.mode=k;break}G>o.wnext?(G-=o.wnext,X=o.wsize-G):X=o.wnext-G,G>o.length&&(G=o.length),K=o.window}else K=O,X=B-o.offset,G=o.length;G>D&&(G=D),D-=G,o.length-=G;do{O[B++]=K[X++]}while(--G);0===o.length&&(o.mode=21);break;case 26:if(0===D)break e;O[B++]=o.length,D--,o.mode=21;break;case 27:if(o.wrap){for(;W<32;){if(0===R)break e;R--,N|=P[I++]<=1&&0===le[ee];ee--);if(te>ee&&(te=ee),0===ee)return k[P++]=20971520,k[P++]=20971520,I.bits=1,0;for($=1;$0&&(0===r||1!==ee))return-1;for(ue[1]=0,Y=1;Y852||2===r&&oe>592)return 1;for(;;){j=Y-ne,O[J]U?(G=fe[he+O[J]],X=se[ce+O[J]]):(G=96,X=0),B=1<>ne)+(R-=B)]=j<<24|G<<16|X|0}while(0!==R);for(B=1<>=1;if(0!==B?(ae&=B-1,ae+=B):ae=0,J++,0==--le[Y]){if(Y===ee)break;Y=i[o+O[J]]}if(Y>te&&(ae&N)!==D){for(0===ne&&(ne=te),W+=$,ie=1<<(re=Y-ne);re+ne852||2===r&&oe>592)return 1;k[D=ae&N]=te<<24|re<<16|W-P|0}}return 0!==ae&&(k[W+ae]=Y-ne<<24|64<<16|0),I.bits=te,0}},9364:function(r){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},1339:function(r,i,o){"use strict";var u=o(6907);function zero(r){for(var i=r.length;--i>=0;)r[i]=0}var p=256,g=286,y=30,w=15,_=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],x=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],P=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=new Array(576);zero(O);var I=new Array(60);zero(I);var B=new Array(512);zero(B);var R=new Array(256);zero(R);var D=new Array(29);zero(D);var N,W,U,j=new Array(y);function StaticTreeDesc(r,i,o,u,p){this.static_tree=r,this.extra_bits=i,this.extra_base=o,this.elems=u,this.max_length=p,this.has_stree=r&&r.length}function TreeDesc(r,i){this.dyn_tree=r,this.max_code=0,this.stat_desc=i}function d_code(r){return r<256?B[r]:B[256+(r>>>7)]}function put_short(r,i){r.pending_buf[r.pending++]=255&i,r.pending_buf[r.pending++]=i>>>8&255}function send_bits(r,i,o){r.bi_valid>16-o?(r.bi_buf|=i<>16-r.bi_valid,r.bi_valid+=o-16):(r.bi_buf|=i<>>=1,o<<=1}while(--i>0);return o>>>1}function gen_codes(r,i,o){var u,p,g=new Array(16),y=0;for(u=1;u<=w;u++)g[u]=y=y+o[u-1]<<1;for(p=0;p<=i;p++){var _=r[2*p+1];0!==_&&(r[2*p]=bi_reverse(g[_]++,_))}}function init_block(r){var i;for(i=0;i8?put_short(r,r.bi_buf):r.bi_valid>0&&(r.pending_buf[r.pending++]=r.bi_buf),r.bi_buf=0,r.bi_valid=0}function smaller(r,i,o,u){var p=2*i,g=2*o;return r[p]>1;o>=1;o--)pqdownheap(r,g,o);p=x;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],pqdownheap(r,g,1),u=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=u,g[2*p]=g[2*o]+g[2*u],r.depth[p]=(r.depth[o]>=r.depth[u]?r.depth[o]:r.depth[u])+1,g[2*o+1]=g[2*u+1]=p,r.heap[1]=p++,pqdownheap(r,g,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],function gen_bitlen(r,i){var o,u,p,g,y,_,x=i.dyn_tree,k=i.max_code,P=i.stat_desc.static_tree,O=i.stat_desc.has_stree,I=i.stat_desc.extra_bits,B=i.stat_desc.extra_base,R=i.stat_desc.max_length,D=0;for(g=0;g<=w;g++)r.bl_count[g]=0;for(x[2*r.heap[r.heap_max]+1]=0,o=r.heap_max+1;o<573;o++)(g=x[2*x[2*(u=r.heap[o])+1]+1]+1)>R&&(g=R,D++),x[2*u+1]=g,u>k||(r.bl_count[g]++,y=0,u>=B&&(y=I[u-B]),_=x[2*u],r.opt_len+=_*(g+y),O&&(r.static_len+=_*(P[2*u+1]+y)));if(0!==D){do{for(g=R-1;0===r.bl_count[g];)g--;r.bl_count[g]--,r.bl_count[g+1]+=2,r.bl_count[R]--,D-=2}while(D>0);for(g=R;0!==g;g--)for(u=r.bl_count[g];0!==u;)(p=r.heap[--o])>k||(x[2*p+1]!==g&&(r.opt_len+=(g-x[2*p+1])*x[2*p],x[2*p+1]=g),u--)}}(r,i),gen_codes(g,k,r.bl_count)}function scan_tree(r,i,o){var u,p,g=-1,y=i[1],w=0,_=7,x=4;for(0===y&&(_=138,x=3),i[2*(o+1)+1]=65535,u=0;u<=o;u++)p=y,y=i[2*(u+1)+1],++w<_&&p===y||(w>=7;u0?(2===r.strm.data_type&&(r.strm.data_type=function detect_data_type(r){var i,o=4093624447;for(i=0;i<=31;i++,o>>>=1)if(1&o&&0!==r.dyn_ltree[2*i])return 0;if(0!==r.dyn_ltree[18]||0!==r.dyn_ltree[20]||0!==r.dyn_ltree[26])return 1;for(i=32;i=3&&0===r.bl_tree[2*P[i]+1];i--);return r.opt_len+=3*(i+1)+5+5+4,i}(r),g=r.opt_len+3+7>>>3,(y=r.static_len+3+7>>>3)<=g&&(g=y)):g=y=o+5,o+4<=g&&-1!==i?_tr_stored_block(r,i,o,u):4===r.strategy||y===g?(send_bits(r,2+(u?1:0),3),compress_block(r,O,I)):(send_bits(r,4+(u?1:0),3),function send_all_trees(r,i,o,u){var p;for(send_bits(r,i-257,5),send_bits(r,o-1,5),send_bits(r,u-4,4),p=0;p>>8&255,r.pending_buf[r.d_buf+2*r.last_lit+1]=255&i,r.pending_buf[r.l_buf+r.last_lit]=255&o,r.last_lit++,0===i?r.dyn_ltree[2*o]++:(r.matches++,i--,r.dyn_ltree[2*(R[o]+p+1)]++,r.dyn_dtree[2*d_code(i)]++),r.last_lit===r.lit_bufsize-1},i._tr_align=function _tr_align(r){send_bits(r,2,3),send_code(r,256,O),function bi_flush(r){16===r.bi_valid?(put_short(r,r.bi_buf),r.bi_buf=0,r.bi_valid=0):r.bi_valid>=8&&(r.pending_buf[r.pending++]=255&r.bi_buf,r.bi_buf>>=8,r.bi_valid-=8)}(r)}},4860:function(r){"use strict";r.exports=function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},1924:function(r,i,o){"use strict";var u=o(210),p=o(5559),g=p(u("String.prototype.indexOf"));r.exports=function callBoundIntrinsic(r,i){var o=u(r,!!i);return"function"==typeof o&&g(r,".prototype.")>-1?p(o):o}},5559:function(r,i,o){"use strict";var u=o(8612),p=o(210),g=p("%Function.prototype.apply%"),y=p("%Function.prototype.call%"),w=p("%Reflect.apply%",!0)||u.call(y,g),_=p("%Object.getOwnPropertyDescriptor%",!0),x=p("%Object.defineProperty%",!0),k=p("%Math.max%");if(x)try{x({},"a",{value:1})}catch(r){x=null}r.exports=function callBind(r){var i=w(u,y,arguments);if(_&&x){var o=_(i,"length");o.configurable&&x(i,"length",{value:1+k(0,r.length-(arguments.length-1))})}return i};var P=function applyBind(){return w(u,g,arguments)};x?x(r.exports,"apply",{value:P}):r.exports.apply=P},6313:function(r,i,o){var u=o(8823).Buffer,p=function(){"use strict";function clone(r,i,o,p){"object"==typeof i&&(o=i.depth,p=i.prototype,i.filter,i=i.circular);var g=[],y=[],w=void 0!==u;return void 0===i&&(i=!0),void 0===o&&(o=1/0),function _clone(r,o){if(null===r)return null;if(0==o)return r;var _,x;if("object"!=typeof r)return r;if(clone.__isArray(r))_=[];else if(clone.__isRegExp(r))_=new RegExp(r.source,__getRegExpFlags(r)),r.lastIndex&&(_.lastIndex=r.lastIndex);else if(clone.__isDate(r))_=new Date(r.getTime());else{if(w&&u.isBuffer(r))return _=u.allocUnsafe?u.allocUnsafe(r.length):new u(r.length),r.copy(_),_;void 0===p?(x=Object.getPrototypeOf(r),_=Object.create(x)):(_=Object.create(p),x=p)}if(i){var k=g.indexOf(r);if(-1!=k)return y[k];g.push(r),y.push(_)}for(var P in r){var O;x&&(O=Object.getOwnPropertyDescriptor(x,P)),O&&null==O.set||(_[P]=_clone(r[P],o-1))}return _}(r,o)}function __objToStr(r){return Object.prototype.toString.call(r)}function __getRegExpFlags(r){var i="";return r.global&&(i+="g"),r.ignoreCase&&(i+="i"),r.multiline&&(i+="m"),i}return clone.clonePrototype=function clonePrototype(r){if(null===r)return null;var c=function(){};return c.prototype=r,new c},clone.__objToStr=__objToStr,clone.__isDate=function __isDate(r){return"object"==typeof r&&"[object Date]"===__objToStr(r)},clone.__isArray=function __isArray(r){return"object"==typeof r&&"[object Array]"===__objToStr(r)},clone.__isRegExp=function __isRegExp(r){return"object"==typeof r&&"[object RegExp]"===__objToStr(r)},clone.__getRegExpFlags=__getRegExpFlags,clone}();r.exports&&(r.exports=p)},4667:function(r,i,o){o(2479);var u=o(857);r.exports=u.Object.values},7633:function(r,i,o){o(9170),o(6992),o(1539),o(8674),o(7922),o(4668),o(7727),o(8783);var u=o(857);r.exports=u.Promise},3867:function(r,i,o){var u=o(7633);o(8628),o(7314),o(7479),o(6290),r.exports=u},3099:function(r){r.exports=function(r){if("function"!=typeof r)throw TypeError(String(r)+" is not a function");return r}},6077:function(r,i,o){var u=o(111);r.exports=function(r){if(!u(r)&&null!==r)throw TypeError("Can't set "+String(r)+" as a prototype");return r}},1223:function(r,i,o){var u=o(5112),p=o(30),g=o(3070),y=u("unscopables"),w=Array.prototype;null==w[y]&&g.f(w,y,{configurable:!0,value:p(null)}),r.exports=function(r){w[y][r]=!0}},1530:function(r,i,o){"use strict";var u=o(8710).charAt;r.exports=function(r,i,o){return i+(o?u(r,i).length:1)}},5787:function(r){r.exports=function(r,i,o){if(!(r instanceof i))throw TypeError("Incorrect "+(o?o+" ":"")+"invocation");return r}},9670:function(r,i,o){var u=o(111);r.exports=function(r){if(!u(r))throw TypeError(String(r)+" is not an object");return r}},1048:function(r,i,o){"use strict";var u=o(7908),p=o(1400),g=o(7466),y=Math.min;r.exports=[].copyWithin||function copyWithin(r,i){var o=u(this),w=g(o.length),_=p(r,w),x=p(i,w),k=arguments.length>2?arguments[2]:void 0,P=y((void 0===k?w:p(k,w))-x,w-_),O=1;for(x<_&&_0;)x in o?o[_]=o[x]:delete o[_],_+=O,x+=O;return o}},1285:function(r,i,o){"use strict";var u=o(7908),p=o(1400),g=o(7466);r.exports=function fill(r){for(var i=u(this),o=g(i.length),y=arguments.length,w=p(y>1?arguments[1]:void 0,o),_=y>2?arguments[2]:void 0,x=void 0===_?o:p(_,o);x>w;)i[w++]=r;return i}},8533:function(r,i,o){"use strict";var u=o(2092).forEach,p=o(9341)("forEach");r.exports=p?[].forEach:function forEach(r){return u(this,r,arguments.length>1?arguments[1]:void 0)}},7745:function(r){r.exports=function(r,i){for(var o=0,u=i.length,p=new r(u);u>o;)p[o]=i[o++];return p}},8457:function(r,i,o){"use strict";var u=o(9974),p=o(7908),g=o(3411),y=o(7659),w=o(7466),_=o(6135),x=o(1246);r.exports=function from(r){var i,o,k,P,O,I,B=p(r),R="function"==typeof this?this:Array,D=arguments.length,N=D>1?arguments[1]:void 0,W=void 0!==N,U=x(B),j=0;if(W&&(N=u(N,D>2?arguments[2]:void 0,2)),null==U||R==Array&&y(U))for(o=new R(i=w(B.length));i>j;j++)I=W?N(B[j],j):B[j],_(o,j,I);else for(O=(P=U.call(B)).next,o=new R;!(k=O.call(P)).done;j++)I=W?g(P,N,[k.value,j],!0):k.value,_(o,j,I);return o.length=j,o}},1318:function(r,i,o){var u=o(5656),p=o(7466),g=o(1400),createMethod=function(r){return function(i,o,y){var w,_=u(i),x=p(_.length),k=g(y,x);if(r&&o!=o){for(;x>k;)if((w=_[k++])!=w)return!0}else for(;x>k;k++)if((r||k in _)&&_[k]===o)return r||k||0;return!r&&-1}};r.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},2092:function(r,i,o){var u=o(9974),p=o(8361),g=o(7908),y=o(7466),w=o(5417),_=[].push,createMethod=function(r){var i=1==r,o=2==r,x=3==r,k=4==r,P=6==r,O=7==r,I=5==r||P;return function(B,R,D,N){for(var W,U,j=g(B),G=p(j),X=u(R,D,3),K=y(G.length),Y=0,J=N||w,$=i?J(B,K):o||O?J(B,0):void 0;K>Y;Y++)if((I||Y in G)&&(U=X(W=G[Y],Y,j),r))if(i)$[Y]=U;else if(U)switch(r){case 3:return!0;case 5:return W;case 6:return Y;case 2:_.call($,W)}else switch(r){case 4:return!1;case 7:_.call($,W)}return P?-1:x||k?k:$}};r.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6),filterReject:createMethod(7)}},6583:function(r,i,o){"use strict";var u=o(5656),p=o(9958),g=o(7466),y=o(9341),w=Math.min,_=[].lastIndexOf,x=!!_&&1/[1].lastIndexOf(1,-0)<0,k=y("lastIndexOf"),P=x||!k;r.exports=P?function lastIndexOf(r){if(x)return _.apply(this,arguments)||0;var i=u(this),o=g(i.length),y=o-1;for(arguments.length>1&&(y=w(y,p(arguments[1]))),y<0&&(y=o+y);y>=0;y--)if(y in i&&i[y]===r)return y||0;return-1}:_},1194:function(r,i,o){var u=o(7293),p=o(5112),g=o(7392),y=p("species");r.exports=function(r){return g>=51||!u((function(){var i=[];return(i.constructor={})[y]=function(){return{foo:1}},1!==i[r](Boolean).foo}))}},9341:function(r,i,o){"use strict";var u=o(7293);r.exports=function(r,i){var o=[][r];return!!o&&u((function(){o.call(null,i||function(){throw 1},1)}))}},3671:function(r,i,o){var u=o(3099),p=o(7908),g=o(8361),y=o(7466),createMethod=function(r){return function(i,o,w,_){u(o);var x=p(i),k=g(x),P=y(x.length),O=r?P-1:0,I=r?-1:1;if(w<2)for(;;){if(O in k){_=k[O],O+=I;break}if(O+=I,r?O<0:P<=O)throw TypeError("Reduce of empty array with no initial value")}for(;r?O>=0:P>O;O+=I)O in k&&(_=o(_,k[O],O,x));return _}};r.exports={left:createMethod(!1),right:createMethod(!0)}},4362:function(r){var i=Math.floor,mergeSort=function(r,o){var u=r.length,p=i(u/2);return u<8?insertionSort(r,o):merge(mergeSort(r.slice(0,p),o),mergeSort(r.slice(p),o),o)},insertionSort=function(r,i){for(var o,u,p=r.length,g=1;g0;)r[u]=r[--u];u!==g++&&(r[u]=o)}return r},merge=function(r,i,o){for(var u=r.length,p=i.length,g=0,y=0,w=[];g1?arguments[1]:void 0,3);i=i?i.next:o.first;)for(u(i.value,i.key,this);i&&i.removed;)i=i.previous},has:function has(r){return!!getEntry(this,r)}}),g(k.prototype,o?{get:function get(r){var i=getEntry(this,r);return i&&i.value},set:function set(r,i){return define(this,0===r?0:r,i)}}:{add:function add(r){return define(this,r=0===r?0:r,r)}}),P&&u(k.prototype,"size",{get:function(){return I(this).size}}),k},setStrong:function(r,i,o){var u=i+" Iterator",p=R(i),g=R(u);x(r,i,(function(r,i){B(this,{type:u,target:r,state:p(r),kind:i,last:void 0})}),(function(){for(var r=g(this),i=r.kind,o=r.last;o&&o.removed;)o=o.previous;return r.target&&(r.last=o=o?o.next:r.state.first)?"keys"==i?{value:o.key,done:!1}:"values"==i?{value:o.value,done:!1}:{value:[o.key,o.value],done:!1}:(r.target=void 0,{value:void 0,done:!0})}),o?"entries":"values",!o,!0),k(i)}}},7710:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(4705),y=o(1320),w=o(2423),_=o(408),x=o(5787),k=o(111),P=o(7293),O=o(7072),I=o(8003),B=o(9587);r.exports=function(r,i,o){var R=-1!==r.indexOf("Map"),D=-1!==r.indexOf("Weak"),N=R?"set":"add",W=p[r],U=W&&W.prototype,j=W,G={},fixMethod=function(r){var i=U[r];y(U,r,"add"==r?function add(r){return i.call(this,0===r?0:r),this}:"delete"==r?function(r){return!(D&&!k(r))&&i.call(this,0===r?0:r)}:"get"==r?function get(r){return D&&!k(r)?void 0:i.call(this,0===r?0:r)}:"has"==r?function has(r){return!(D&&!k(r))&&i.call(this,0===r?0:r)}:function set(r,o){return i.call(this,0===r?0:r,o),this})};if(g(r,"function"!=typeof W||!(D||U.forEach&&!P((function(){(new W).entries().next()})))))j=o.getConstructor(i,r,R,N),w.enable();else if(g(r,!0)){var X=new j,K=X[N](D?{}:-0,1)!=X,Y=P((function(){X.has(1)})),J=O((function(r){new W(r)})),$=!D&&P((function(){for(var r=new W,i=5;i--;)r[N](i,i);return!r.has(-0)}));J||((j=i((function(i,o){x(i,j,r);var u=B(new W,i,j);return null!=o&&_(o,u[N],{that:u,AS_ENTRIES:R}),u}))).prototype=U,U.constructor=j),(Y||$)&&(fixMethod("delete"),fixMethod("has"),R&&fixMethod("get")),($||K)&&fixMethod(N),D&&U.clear&&delete U.clear}return G[r]=j,u({global:!0,forced:j!=W},G),I(j,r),D||o.setStrong(j,r,R),j}},9920:function(r,i,o){var u=o(6656),p=o(3887),g=o(1236),y=o(3070);r.exports=function(r,i){for(var o=p(i),w=y.f,_=g.f,x=0;x"+w+""}},4994:function(r,i,o){"use strict";var u=o(3383).IteratorPrototype,p=o(30),g=o(9114),y=o(8003),w=o(7497),returnThis=function(){return this};r.exports=function(r,i,o){var _=i+" Iterator";return r.prototype=p(u,{next:g(1,o)}),y(r,_,!1,!0),w[_]=returnThis,r}},8880:function(r,i,o){var u=o(9781),p=o(3070),g=o(9114);r.exports=u?function(r,i,o){return p.f(r,i,g(1,o))}:function(r,i,o){return r[i]=o,r}},9114:function(r){r.exports=function(r,i){return{enumerable:!(1&r),configurable:!(2&r),writable:!(4&r),value:i}}},6135:function(r,i,o){"use strict";var u=o(4948),p=o(3070),g=o(9114);r.exports=function(r,i,o){var y=u(i);y in r?p.f(r,y,g(0,o)):r[y]=o}},8709:function(r,i,o){"use strict";var u=o(9670),p=o(2140);r.exports=function(r){if(u(this),"string"===r||"default"===r)r="string";else if("number"!==r)throw TypeError("Incorrect hint");return p(this,r)}},654:function(r,i,o){"use strict";var u=o(2109),p=o(4994),g=o(9518),y=o(7674),w=o(8003),_=o(8880),x=o(1320),k=o(5112),P=o(1913),O=o(7497),I=o(3383),B=I.IteratorPrototype,R=I.BUGGY_SAFARI_ITERATORS,D=k("iterator"),N="keys",W="values",U="entries",returnThis=function(){return this};r.exports=function(r,i,o,k,I,j,G){p(o,i,k);var X,K,Y,getIterationMethod=function(r){if(r===I&&re)return re;if(!R&&r in ee)return ee[r];switch(r){case N:return function keys(){return new o(this,r)};case W:return function values(){return new o(this,r)};case U:return function entries(){return new o(this,r)}}return function(){return new o(this)}},J=i+" Iterator",$=!1,ee=r.prototype,te=ee[D]||ee["@@iterator"]||I&&ee[I],re=!R&&te||getIterationMethod(I),ne="Array"==i&&ee.entries||te;if(ne&&(X=g(ne.call(new r)),B!==Object.prototype&&X.next&&(P||g(X)===B||(y?y(X,B):"function"!=typeof X[D]&&_(X,D,returnThis)),w(X,J,!0,!0),P&&(O[J]=returnThis))),I==W&&te&&te.name!==W&&($=!0,re=function values(){return te.call(this)}),P&&!G||ee[D]===re||_(ee,D,re),O[i]=re,I)if(K={values:getIterationMethod(W),keys:j?re:getIterationMethod(N),entries:getIterationMethod(U)},G)for(Y in K)(R||$||!(Y in ee))&&x(ee,Y,K[Y]);else u({target:i,proto:!0,forced:R||$},K);return K}},7235:function(r,i,o){var u=o(857),p=o(6656),g=o(6061),y=o(3070).f;r.exports=function(r){var i=u.Symbol||(u.Symbol={});p(i,r)||y(i,r,{value:g.f(r)})}},9781:function(r,i,o){var u=o(7293);r.exports=!u((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:function(r,i,o){var u=o(7854),p=o(111),g=u.document,y=p(g)&&p(g.createElement);r.exports=function(r){return y?g.createElement(r):{}}},8324:function(r){r.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8886:function(r,i,o){var u=o(8113).match(/firefox\/(\d+)/i);r.exports=!!u&&+u[1]},7871:function(r){r.exports="object"==typeof window},256:function(r,i,o){var u=o(8113);r.exports=/MSIE|Trident/.test(u)},6833:function(r,i,o){var u=o(8113);r.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(u)},5268:function(r,i,o){var u=o(4326),p=o(7854);r.exports="process"==u(p.process)},1036:function(r,i,o){var u=o(8113);r.exports=/web0s(?!.*chrome)/i.test(u)},8113:function(r,i,o){var u=o(5005);r.exports=u("navigator","userAgent")||""},7392:function(r,i,o){var u,p,g=o(7854),y=o(8113),w=g.process,_=g.Deno,x=w&&w.versions||_&&_.version,k=x&&x.v8;k?p=(u=k.split("."))[0]<4?1:u[0]+u[1]:y&&(!(u=y.match(/Edge\/(\d+)/))||u[1]>=74)&&(u=y.match(/Chrome\/(\d+)/))&&(p=u[1]),r.exports=p&&+p},8008:function(r,i,o){var u=o(8113).match(/AppleWebKit\/(\d+)\./);r.exports=!!u&&+u[1]},748:function(r){r.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(r,i,o){var u=o(7854),p=o(1236).f,g=o(8880),y=o(1320),w=o(3505),_=o(9920),x=o(4705);r.exports=function(r,i){var o,k,P,O,I,B=r.target,R=r.global,D=r.stat;if(o=R?u:D?u[B]||w(B,{}):(u[B]||{}).prototype)for(k in i){if(O=i[k],P=r.noTargetGet?(I=p(o,k))&&I.value:o[k],!x(R?k:B+(D?".":"#")+k,r.forced)&&void 0!==P){if(typeof O==typeof P)continue;_(O,P)}(r.sham||P&&P.sham)&&g(O,"sham",!0),y(o,k,O,r)}}},7293:function(r){r.exports=function(r){try{return!!r()}catch(r){return!0}}},7007:function(r,i,o){"use strict";o(4916);var u=o(1320),p=o(2261),g=o(7293),y=o(5112),w=o(8880),_=y("species"),x=RegExp.prototype;r.exports=function(r,i,o,k){var P=y(r),O=!g((function(){var i={};return i[P]=function(){return 7},7!=""[r](i)})),I=O&&!g((function(){var i=!1,o=/a/;return"split"===r&&((o={}).constructor={},o.constructor[_]=function(){return o},o.flags="",o[P]=/./[P]),o.exec=function(){return i=!0,null},o[P](""),!i}));if(!O||!I||o){var B=/./[P],R=i(P,""[r],(function(r,i,o,u,g){var y=i.exec;return y===p||y===x.exec?O&&!g?{done:!0,value:B.call(i,o,u)}:{done:!0,value:r.call(o,i,u)}:{done:!1}}));u(String.prototype,r,R[0]),u(x,P,R[1])}k&&w(x[P],"sham",!0)}},6677:function(r,i,o){var u=o(7293);r.exports=!u((function(){return Object.isExtensible(Object.preventExtensions({}))}))},9974:function(r,i,o){var u=o(3099);r.exports=function(r,i,o){if(u(r),void 0===i)return r;switch(o){case 0:return function(){return r.call(i)};case 1:return function(o){return r.call(i,o)};case 2:return function(o,u){return r.call(i,o,u)};case 3:return function(o,u,p){return r.call(i,o,u,p)}}return function(){return r.apply(i,arguments)}}},7065:function(r,i,o){"use strict";var u=o(3099),p=o(111),g=[].slice,y={},construct=function(r,i,o){if(!(i in y)){for(var u=[],p=0;p]*>)/g,w=/\$([$&'`]|\d{1,2})/g;r.exports=function(r,i,o,_,x,k){var P=o+r.length,O=_.length,I=w;return void 0!==x&&(x=u(x),I=y),g.call(k,I,(function(u,g){var y;switch(g.charAt(0)){case"$":return"$";case"&":return r;case"`":return i.slice(0,o);case"'":return i.slice(P);case"<":y=x[g.slice(1,-1)];break;default:var w=+g;if(0===w)return u;if(w>O){var k=p(w/10);return 0===k?u:k<=O?void 0===_[k-1]?g.charAt(1):_[k-1]+g.charAt(1):u}y=_[w-1]}return void 0===y?"":y}))}},7854:function(r,i,o){var check=function(r){return r&&r.Math==Math&&r};r.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof o.g&&o.g)||function(){return this}()||Function("return this")()},6656:function(r,i,o){var u=o(7908),p={}.hasOwnProperty;r.exports=Object.hasOwn||function hasOwn(r,i){return p.call(u(r),i)}},3501:function(r){r.exports={}},842:function(r,i,o){var u=o(7854);r.exports=function(r,i){var o=u.console;o&&o.error&&(1===arguments.length?o.error(r):o.error(r,i))}},490:function(r,i,o){var u=o(5005);r.exports=u("document","documentElement")},4664:function(r,i,o){var u=o(9781),p=o(7293),g=o(317);r.exports=!u&&!p((function(){return 7!=Object.defineProperty(g("div"),"a",{get:function(){return 7}}).a}))},1179:function(r){var i=Math.abs,o=Math.pow,u=Math.floor,p=Math.log,g=Math.LN2;r.exports={pack:function(r,y,w){var _,x,k,P=new Array(w),O=8*w-y-1,I=(1<>1,R=23===y?o(2,-24)-o(2,-77):0,D=r<0||0===r&&1/r<0?1:0,N=0;for((r=i(r))!=r||r===1/0?(x=r!=r?1:0,_=I):(_=u(p(r)/g),r*(k=o(2,-_))<1&&(_--,k*=2),(r+=_+B>=1?R/k:R*o(2,1-B))*k>=2&&(_++,k/=2),_+B>=I?(x=0,_=I):_+B>=1?(x=(r*k-1)*o(2,y),_+=B):(x=r*o(2,B-1)*o(2,y),_=0));y>=8;P[N++]=255&x,x/=256,y-=8);for(_=_<0;P[N++]=255&_,_/=256,O-=8);return P[--N]|=128*D,P},unpack:function(r,i){var u,p=r.length,g=8*p-i-1,y=(1<>1,_=g-7,x=p-1,k=r[x--],P=127&k;for(k>>=7;_>0;P=256*P+r[x],x--,_-=8);for(u=P&(1<<-_)-1,P>>=-_,_+=i;_>0;u=256*u+r[x],x--,_-=8);if(0===P)P=1-w;else{if(P===y)return u?NaN:k?-1/0:1/0;u+=o(2,i),P-=w}return(k?-1:1)*u*o(2,P-i)}}},8361:function(r,i,o){var u=o(7293),p=o(4326),g="".split;r.exports=u((function(){return!Object("z").propertyIsEnumerable(0)}))?function(r){return"String"==p(r)?g.call(r,""):Object(r)}:Object},9587:function(r,i,o){var u=o(111),p=o(7674);r.exports=function(r,i,o){var g,y;return p&&"function"==typeof(g=i.constructor)&&g!==o&&u(y=g.prototype)&&y!==o.prototype&&p(r,y),r}},2788:function(r,i,o){var u=o(5465),p=Function.toString;"function"!=typeof u.inspectSource&&(u.inspectSource=function(r){return p.call(r)}),r.exports=u.inspectSource},2423:function(r,i,o){var u=o(2109),p=o(3501),g=o(111),y=o(6656),w=o(3070).f,_=o(8006),x=o(1156),k=o(9711),P=o(6677),O=!1,I=k("meta"),B=0,R=Object.isExtensible||function(){return!0},setMetadata=function(r){w(r,I,{value:{objectID:"O"+B++,weakData:{}}})},D=r.exports={enable:function(){D.enable=function(){},O=!0;var r=_.f,i=[].splice,o={};o[I]=1,r(o).length&&(_.f=function(o){for(var u=r(o),p=0,g=u.length;pP;P++)if((I=callFn(r[P]))&&I instanceof Result)return I;return new Result(!1)}x=k.call(r)}for(B=x.next;!(R=B.call(x)).done;){try{I=callFn(R.value)}catch(r){throw _(x),r}if("object"==typeof I&&I&&I instanceof Result)return I}return new Result(!1)}},9212:function(r,i,o){var u=o(9670);r.exports=function(r){var i=r.return;if(void 0!==i)return u(i.call(r)).value}},3383:function(r,i,o){"use strict";var u,p,g,y=o(7293),w=o(9518),_=o(8880),x=o(6656),k=o(5112),P=o(1913),O=k("iterator"),I=!1;[].keys&&("next"in(g=[].keys())?(p=w(w(g)))!==Object.prototype&&(u=p):I=!0);var B=null==u||y((function(){var r={};return u[O].call(r)!==r}));B&&(u={}),P&&!B||x(u,O)||_(u,O,(function(){return this})),r.exports={IteratorPrototype:u,BUGGY_SAFARI_ITERATORS:I}},7497:function(r){r.exports={}},5948:function(r,i,o){var u,p,g,y,w,_,x,k,P=o(7854),O=o(1236).f,I=o(261).set,B=o(6833),R=o(1036),D=o(5268),N=P.MutationObserver||P.WebKitMutationObserver,W=P.document,U=P.process,j=P.Promise,G=O(P,"queueMicrotask"),X=G&&G.value;X||(u=function(){var r,i;for(D&&(r=U.domain)&&r.exit();p;){i=p.fn,p=p.next;try{i()}catch(r){throw p?y():g=void 0,r}}g=void 0,r&&r.enter()},B||D||R||!N||!W?j&&j.resolve?((x=j.resolve(void 0)).constructor=j,k=x.then,y=function(){k.call(x,u)}):y=D?function(){U.nextTick(u)}:function(){I.call(P,u)}:(w=!0,_=W.createTextNode(""),new N(u).observe(_,{characterData:!0}),y=function(){_.data=w=!w})),r.exports=X||function(r){var i={fn:r,next:void 0};g&&(g.next=i),p||(p=i,y()),g=i}},3366:function(r,i,o){var u=o(7854);r.exports=u.Promise},133:function(r,i,o){var u=o(7392),p=o(7293);r.exports=!!Object.getOwnPropertySymbols&&!p((function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&u&&u<41}))},8536:function(r,i,o){var u=o(7854),p=o(2788),g=u.WeakMap;r.exports="function"==typeof g&&/native code/.test(p(g))},8523:function(r,i,o){"use strict";var u=o(3099),PromiseCapability=function(r){var i,o;this.promise=new r((function(r,u){if(void 0!==i||void 0!==o)throw TypeError("Bad Promise constructor");i=r,o=u})),this.resolve=u(i),this.reject=u(o)};r.exports.f=function(r){return new PromiseCapability(r)}},3929:function(r,i,o){var u=o(7850);r.exports=function(r){if(u(r))throw TypeError("The method doesn't accept regular expressions");return r}},7023:function(r,i,o){var u=o(7854).isFinite;r.exports=Number.isFinite||function isFinite(r){return"number"==typeof r&&u(r)}},1574:function(r,i,o){"use strict";var u=o(9781),p=o(7293),g=o(1956),y=o(5181),w=o(5296),_=o(7908),x=o(8361),k=Object.assign,P=Object.defineProperty;r.exports=!k||p((function(){if(u&&1!==k({b:1},k(P({},"a",{enumerable:!0,get:function(){P(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var r={},i={},o=Symbol(),p="abcdefghijklmnopqrst";return r[o]=7,p.split("").forEach((function(r){i[r]=r})),7!=k({},r)[o]||g(k({},i)).join("")!=p}))?function assign(r,i){for(var o=_(r),p=arguments.length,k=1,P=y.f,O=w.f;p>k;)for(var I,B=x(arguments[k++]),R=P?g(B).concat(P(B)):g(B),D=R.length,N=0;D>N;)I=R[N++],u&&!O.call(B,I)||(o[I]=B[I]);return o}:k},30:function(r,i,o){var u,p=o(9670),g=o(6048),y=o(748),w=o(3501),_=o(490),x=o(317),k=o(6200),P=k("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(r){return"'; + }; + var dataToHtml = function (editor, dataIn) { + var data = global$8.extend({}, dataIn); + if (!data.source) { + global$8.extend(data, htmlToData(getScripts(editor), data.embed)); + if (!data.source) { + return ''; + } + } + if (!data.altsource) { + data.altsource = ''; + } + if (!data.poster) { + data.poster = ''; + } + data.source = editor.convertURL(data.source, 'source'); + data.altsource = editor.convertURL(data.altsource, 'source'); + data.sourcemime = guess(data.source); + data.altsourcemime = guess(data.altsource); + data.poster = editor.convertURL(data.poster, 'poster'); + var pattern = matchPattern(data.source); + if (pattern) { + data.source = pattern.url; + data.type = pattern.type; + data.allowfullscreen = pattern.allowFullscreen; + data.width = data.width || String(pattern.w); + data.height = data.height || String(pattern.h); + } + if (data.embed) { + return updateHtml(data.embed, data, true); + } else { + var videoScript = getVideoScriptMatch(getScripts(editor), data.source); + if (videoScript) { + data.type = 'script'; + data.width = String(videoScript.width); + data.height = String(videoScript.height); + } + var audioTemplateCallback = getAudioTemplateCallback(editor); + var videoTemplateCallback = getVideoTemplateCallback(editor); + data.width = data.width || '300'; + data.height = data.height || '150'; + global$8.each(data, function (value, key) { + data[key] = editor.dom.encode('' + value); + }); + if (data.type === 'iframe') { + return getIframeHtml(data); + } else if (data.sourcemime === 'application/x-shockwave-flash') { + return getFlashHtml(data); + } else if (data.sourcemime.indexOf('audio') !== -1) { + return getAudioHtml(data, audioTemplateCallback); + } else if (data.type === 'script') { + return getScriptHtml(data); + } else { + return getVideoHtml(data, videoTemplateCallback); + } + } + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.util.Promise'); + + var cache = {}; + var embedPromise = function (data, dataToHtml, handler) { + return new global$3(function (res, rej) { + var wrappedResolve = function (response) { + if (response.html) { + cache[data.source] = response; + } + return res({ + url: data.source, + html: response.html ? response.html : dataToHtml(data) + }); + }; + if (cache[data.source]) { + wrappedResolve(cache[data.source]); + } else { + handler({ url: data.source }, wrappedResolve, rej); + } + }); + }; + var defaultPromise = function (data, dataToHtml) { + return global$3.resolve({ + html: dataToHtml(data), + url: data.source + }); + }; + var loadedData = function (editor) { + return function (data) { + return dataToHtml(editor, data); + }; + }; + var getEmbedHtml = function (editor, data) { + var embedHandler = getUrlResolver(editor); + return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor)); + }; + var isCached = function (url) { + return has(cache, url); + }; + + var extractMeta = function (sourceInput, data) { + return get$1(data, sourceInput).bind(function (mainData) { + return get$1(mainData, 'meta'); + }); + }; + var getValue = function (data, metaData, sourceInput) { + return function (prop) { + var _a; + var getFromData = function () { + return get$1(data, prop); + }; + var getFromMetaData = function () { + return get$1(metaData, prop); + }; + var getNonEmptyValue = function (c) { + return get$1(c, 'value').bind(function (v) { + return v.length > 0 ? Optional.some(v) : Optional.none(); + }); + }; + var getFromValueFirst = function () { + return getFromData().bind(function (child) { + return isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(function () { + return Optional.from(child); + }); + }); + }; + var getFromMetaFirst = function () { + return getFromMetaData().orThunk(function () { + return getFromData().bind(function (child) { + return isObject(child) ? getNonEmptyValue(child) : Optional.from(child); + }); + }); + }; + return _a = {}, _a[prop] = (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr(''), _a; + }; + }; + var getDimensions = function (data, metaData) { + var dimensions = {}; + get$1(data, 'dimensions').each(function (dims) { + each$1([ + 'width', + 'height' + ], function (prop) { + get$1(metaData, prop).orThunk(function () { + return get$1(dims, prop); + }).each(function (value) { + return dimensions[prop] = value; + }); + }); + }); + return dimensions; + }; + var unwrap = function (data, sourceInput) { + var metaData = sourceInput ? extractMeta(sourceInput, data).getOr({}) : {}; + var get = getValue(data, metaData, sourceInput); + return __assign(__assign(__assign(__assign(__assign({}, get('source')), get('altsource')), get('poster')), get('embed')), getDimensions(data, metaData)); + }; + var wrap = function (data) { + var wrapped = __assign(__assign({}, data), { + source: { value: get$1(data, 'source').getOr('') }, + altsource: { value: get$1(data, 'altsource').getOr('') }, + poster: { value: get$1(data, 'poster').getOr('') } + }); + each$1([ + 'width', + 'height' + ], function (prop) { + get$1(data, prop).each(function (value) { + var dimensions = wrapped.dimensions || {}; + dimensions[prop] = value; + wrapped.dimensions = dimensions; + }); + }); + return wrapped; + }; + var handleError = function (editor) { + return function (error) { + var errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.'; + editor.notificationManager.open({ + type: 'error', + text: errorMessage + }); + }; + }; + var snippetToData = function (editor, embedSnippet) { + return htmlToData(getScripts(editor), embedSnippet); + }; + var isMediaElement = function (element) { + return element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri'); + }; + var getEditorData = function (editor) { + var element = editor.selection.getNode(); + var snippet = isMediaElement(element) ? editor.serializer.serialize(element, { selection: true }) : ''; + return __assign({ embed: snippet }, htmlToData(getScripts(editor), snippet)); + }; + var addEmbedHtml = function (api, editor) { + return function (response) { + if (isString(response.url) && response.url.trim().length > 0) { + var html = response.html; + var snippetData = snippetToData(editor, html); + var nuData = __assign(__assign({}, snippetData), { + source: response.url, + embed: html + }); + api.setData(wrap(nuData)); + } + }; + }; + var selectPlaceholder = function (editor, beforeObjects) { + var afterObjects = editor.dom.select('*[data-mce-object]'); + for (var i = 0; i < beforeObjects.length; i++) { + for (var y = afterObjects.length - 1; y >= 0; y--) { + if (beforeObjects[i] === afterObjects[y]) { + afterObjects.splice(y, 1); + } + } + } + editor.selection.select(afterObjects[0]); + }; + var handleInsert = function (editor, html) { + var beforeObjects = editor.dom.select('*[data-mce-object]'); + editor.insertContent(html); + selectPlaceholder(editor, beforeObjects); + editor.nodeChanged(); + }; + var submitForm = function (prevData, newData, editor) { + newData.embed = updateHtml(newData.embed, newData); + if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) { + handleInsert(editor, newData.embed); + } else { + getEmbedHtml(editor, newData).then(function (response) { + handleInsert(editor, response.html); + }).catch(handleError(editor)); + } + }; + var showDialog = function (editor) { + var editorData = getEditorData(editor); + var currentData = Cell(editorData); + var initialData = wrap(editorData); + var handleSource = function (prevData, api) { + var serviceData = unwrap(api.getData(), 'source'); + if (prevData.source !== serviceData.source) { + addEmbedHtml(win, editor)({ + url: serviceData.source, + html: '' + }); + getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor)); + } + }; + var handleEmbed = function (api) { + var data = unwrap(api.getData()); + var dataFromEmbed = snippetToData(editor, data.embed); + api.setData(wrap(dataFromEmbed)); + }; + var handleUpdate = function (api, sourceInput) { + var data = unwrap(api.getData(), sourceInput); + var embed = dataToHtml(editor, data); + api.setData(wrap(__assign(__assign({}, data), { embed: embed }))); + }; + var mediaInput = [{ + name: 'source', + type: 'urlinput', + filetype: 'media', + label: 'Source' + }]; + var sizeInput = !hasDimensions(editor) ? [] : [{ + type: 'sizeinput', + name: 'dimensions', + label: 'Constrain proportions', + constrain: true + }]; + var generalTab = { + title: 'General', + name: 'general', + items: flatten([ + mediaInput, + sizeInput + ]) + }; + var embedTextarea = { + type: 'textarea', + name: 'embed', + label: 'Paste your embed code below:' + }; + var embedTab = { + title: 'Embed', + items: [embedTextarea] + }; + var advancedFormItems = []; + if (hasAltSource(editor)) { + advancedFormItems.push({ + name: 'altsource', + type: 'urlinput', + filetype: 'media', + label: 'Alternative source URL' + }); + } + if (hasPoster(editor)) { + advancedFormItems.push({ + name: 'poster', + type: 'urlinput', + filetype: 'image', + label: 'Media poster (Image URL)' + }); + } + var advancedTab = { + title: 'Advanced', + name: 'advanced', + items: advancedFormItems + }; + var tabs = [ + generalTab, + embedTab + ]; + if (advancedFormItems.length > 0) { + tabs.push(advancedTab); + } + var body = { + type: 'tabpanel', + tabs: tabs + }; + var win = editor.windowManager.open({ + title: 'Insert/Edit Media', + size: 'normal', + body: body, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + onSubmit: function (api) { + var serviceData = unwrap(api.getData()); + submitForm(currentData.get(), serviceData, editor); + api.close(); + }, + onChange: function (api, detail) { + switch (detail.name) { + case 'source': + handleSource(currentData.get(), api); + break; + case 'embed': + handleEmbed(api); + break; + case 'dimensions': + case 'altsource': + case 'poster': + handleUpdate(api, detail.name); + break; + } + currentData.set(unwrap(api.getData())); + }, + initialData: initialData + }); + }; + + var get = function (editor) { + var showDialog$1 = function () { + showDialog(editor); + }; + return { showDialog: showDialog$1 }; + }; + + var register$1 = function (editor) { + var showDialog$1 = function () { + showDialog(editor); + }; + editor.addCommand('mceMedia', showDialog$1); + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.html.DomParser'); + + var sanitize = function (editor, html) { + if (shouldFilterHtml(editor) === false) { + return html; + } + var writer = global$4(); + var blocked; + global$6({ + validate: false, + allow_conditional_comments: false, + comment: function (text) { + if (!blocked) { + writer.comment(text); + } + }, + cdata: function (text) { + if (!blocked) { + writer.cdata(text); + } + }, + text: function (text, raw) { + if (!blocked) { + writer.text(text, raw); + } + }, + start: function (name, attrs, empty) { + blocked = true; + if (name === 'script' || name === 'noscript' || name === 'svg') { + return; + } + for (var i = attrs.length - 1; i >= 0; i--) { + var attrName = attrs[i].name; + if (attrName.indexOf('on') === 0) { + delete attrs.map[attrName]; + attrs.splice(i, 1); + } + if (attrName === 'style') { + attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name); + } + } + writer.start(name, attrs, empty); + blocked = false; + }, + end: function (name) { + if (blocked) { + return; + } + writer.end(name); + } + }, global$5({})).parse(html); + return writer.getContent(); + }; + + var isLiveEmbedNode = function (node) { + var name = node.name; + return name === 'iframe' || name === 'video' || name === 'audio'; + }; + var getDimension = function (node, styles, dimension, defaultValue) { + if (defaultValue === void 0) { + defaultValue = null; + } + var value = node.attr(dimension); + if (isNonNullable(value)) { + return value; + } else if (!has(styles, dimension)) { + return defaultValue; + } else { + return null; + } + }; + var setDimensions = function (node, previewNode, styles) { + var useDefaults = previewNode.name === 'img' || node.name === 'video'; + var defaultWidth = useDefaults ? '300' : null; + var fallbackHeight = node.name === 'audio' ? '30' : '150'; + var defaultHeight = useDefaults ? fallbackHeight : null; + previewNode.attr({ + width: getDimension(node, styles, 'width', defaultWidth), + height: getDimension(node, styles, 'height', defaultHeight) + }); + }; + var appendNodeContent = function (editor, nodeName, previewNode, html) { + var newNode = global({ + forced_root_block: false, + validate: false + }, editor.schema).parse(html, { context: nodeName }); + while (newNode.firstChild) { + previewNode.append(newNode.firstChild); + } + }; + var createPlaceholderNode = function (editor, node) { + var name = node.name; + var placeHolder = new global$2('img', 1); + placeHolder.shortEnded = true; + retainAttributesAndInnerHtml(editor, node, placeHolder); + setDimensions(node, placeHolder, {}); + placeHolder.attr({ + 'style': node.attr('style'), + 'src': global$1.transparentSrc, + 'data-mce-object': name, + 'class': 'mce-object mce-object-' + name + }); + return placeHolder; + }; + var createPreviewNode = function (editor, node) { + var name = node.name; + var previewWrapper = new global$2('span', 1); + previewWrapper.attr({ + 'contentEditable': 'false', + 'style': node.attr('style'), + 'data-mce-object': name, + 'class': 'mce-preview-object mce-object-' + name + }); + retainAttributesAndInnerHtml(editor, node, previewWrapper); + var styles = editor.dom.parseStyle(node.attr('style')); + var previewNode = new global$2(name, 1); + setDimensions(node, previewNode, styles); + previewNode.attr({ + src: node.attr('src'), + style: node.attr('style'), + class: node.attr('class') + }); + if (name === 'iframe') { + previewNode.attr({ + allowfullscreen: node.attr('allowfullscreen'), + frameborder: '0' + }); + } else { + var attrs = [ + 'controls', + 'crossorigin', + 'currentTime', + 'loop', + 'muted', + 'poster', + 'preload' + ]; + each$1(attrs, function (attrName) { + previewNode.attr(attrName, node.attr(attrName)); + }); + var sanitizedHtml = previewWrapper.attr('data-mce-html'); + if (isNonNullable(sanitizedHtml)) { + appendNodeContent(editor, name, previewNode, sanitizedHtml); + } + } + var shimNode = new global$2('span', 1); + shimNode.attr('class', 'mce-shim'); + previewWrapper.append(previewNode); + previewWrapper.append(shimNode); + return previewWrapper; + }; + var retainAttributesAndInnerHtml = function (editor, sourceNode, targetNode) { + var attribs = sourceNode.attributes; + var ai = attribs.length; + while (ai--) { + var attrName = attribs[ai].name; + var attrValue = attribs[ai].value; + if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style') { + if (attrName === 'data' || attrName === 'src') { + attrValue = editor.convertURL(attrValue, attrName); + } + targetNode.attr('data-mce-p-' + attrName, attrValue); + } + } + var innerHtml = sourceNode.firstChild && sourceNode.firstChild.value; + if (innerHtml) { + targetNode.attr('data-mce-html', escape(sanitize(editor, innerHtml))); + targetNode.firstChild = null; + } + }; + var isPageEmbedWrapper = function (node) { + var nodeClass = node.attr('class'); + return nodeClass && /\btiny-pageembed\b/.test(nodeClass); + }; + var isWithinEmbedWrapper = function (node) { + while (node = node.parent) { + if (node.attr('data-ephox-embed-iri') || isPageEmbedWrapper(node)) { + return true; + } + } + return false; + }; + var placeHolderConverter = function (editor) { + return function (nodes) { + var i = nodes.length; + var node; + var videoScript; + while (i--) { + node = nodes[i]; + if (!node.parent) { + continue; + } + if (node.parent.attr('data-mce-object')) { + continue; + } + if (node.name === 'script') { + videoScript = getVideoScriptMatch(getScripts(editor), node.attr('src')); + if (!videoScript) { + continue; + } + } + if (videoScript) { + if (videoScript.width) { + node.attr('width', videoScript.width.toString()); + } + if (videoScript.height) { + node.attr('height', videoScript.height.toString()); + } + } + if (isLiveEmbedNode(node) && hasLiveEmbeds(editor) && global$1.ceFalse) { + if (!isWithinEmbedWrapper(node)) { + node.replace(createPreviewNode(editor, node)); + } + } else { + if (!isWithinEmbedWrapper(node)) { + node.replace(createPlaceholderNode(editor, node)); + } + } + } + }; + }; + + var setup$2 = function (editor) { + editor.on('preInit', function () { + var specialElements = editor.schema.getSpecialElements(); + global$8.each('video audio iframe object'.split(' '), function (name) { + specialElements[name] = new RegExp(']*>', 'gi'); + }); + var boolAttrs = editor.schema.getBoolAttrs(); + global$8.each('webkitallowfullscreen mozallowfullscreen allowfullscreen'.split(' '), function (name) { + boolAttrs[name] = {}; + }); + editor.parser.addNodeFilter('iframe,video,audio,object,embed,script', placeHolderConverter(editor)); + editor.serializer.addAttributeFilter('data-mce-object', function (nodes, name) { + var i = nodes.length; + var node; + var realElm; + var ai; + var attribs; + var innerHtml; + var innerNode; + var realElmName; + var className; + while (i--) { + node = nodes[i]; + if (!node.parent) { + continue; + } + realElmName = node.attr(name); + realElm = new global$2(realElmName, 1); + if (realElmName !== 'audio' && realElmName !== 'script') { + className = node.attr('class'); + if (className && className.indexOf('mce-preview-object') !== -1) { + realElm.attr({ + width: node.firstChild.attr('width'), + height: node.firstChild.attr('height') + }); + } else { + realElm.attr({ + width: node.attr('width'), + height: node.attr('height') + }); + } + } + realElm.attr({ style: node.attr('style') }); + attribs = node.attributes; + ai = attribs.length; + while (ai--) { + var attrName = attribs[ai].name; + if (attrName.indexOf('data-mce-p-') === 0) { + realElm.attr(attrName.substr(11), attribs[ai].value); + } + } + if (realElmName === 'script') { + realElm.attr('type', 'text/javascript'); + } + innerHtml = node.attr('data-mce-html'); + if (innerHtml) { + innerNode = new global$2('#text', 3); + innerNode.raw = true; + innerNode.value = sanitize(editor, unescape(innerHtml)); + realElm.append(innerNode); + } + node.replace(realElm); + } + }); + }); + editor.on('SetContent', function () { + editor.$('span.mce-preview-object').each(function (index, elm) { + var $elm = editor.$(elm); + if ($elm.find('span.mce-shim').length === 0) { + $elm.append(''); + } + }); + }); + }; + + var setup$1 = function (editor) { + editor.on('ResolveName', function (e) { + var name; + if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) { + e.name = name; + } + }); + }; + + var setup = function (editor) { + editor.on('click keyup touchend', function () { + var selectedNode = editor.selection.getNode(); + if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) { + if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) { + selectedNode.setAttribute('data-mce-selected', '2'); + } + } + }); + editor.on('ObjectSelected', function (e) { + var objectType = e.target.getAttribute('data-mce-object'); + if (objectType === 'script') { + e.preventDefault(); + } + }); + editor.on('ObjectResized', function (e) { + var target = e.target; + if (target.getAttribute('data-mce-object')) { + var html = target.getAttribute('data-mce-html'); + if (html) { + html = unescape(html); + target.setAttribute('data-mce-html', escape(updateHtml(html, { + width: String(e.width), + height: String(e.height) + }))); + } + } + }); + }; + + var stateSelectorAdapter = function (editor, selector) { + return function (buttonApi) { + return editor.selection.selectorChangedWithUnbind(selector.join(','), buttonApi.setActive).unbind; + }; + }; + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mceMedia'); + }; + editor.ui.registry.addToggleButton('media', { + tooltip: 'Insert/edit media', + icon: 'embed', + onAction: onAction, + onSetup: stateSelectorAdapter(editor, [ + 'img[data-mce-object]', + 'span[data-mce-object]', + 'div[data-ephox-embed-iri]' + ]) + }); + editor.ui.registry.addMenuItem('media', { + icon: 'embed', + text: 'Media...', + onAction: onAction + }); + }; + + function Plugin () { + global$9.add('media', function (editor) { + register$1(editor); + register(editor); + setup$1(editor); + setup$2(editor); + setup(editor); + return get(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var getKeyboardSpaces = function (editor) { + var spaces = editor.getParam('nonbreaking_force_tab', 0); + if (typeof spaces === 'boolean') { + return spaces === true ? 3 : 0; + } else { + return spaces; + } + }; + var wrapNbsps = function (editor) { + return editor.getParam('nonbreaking_wrap', true, 'boolean'); + }; + + var stringRepeat = function (string, repeats) { + var str = ''; + for (var index = 0; index < repeats; index++) { + str += string; + } + return str; + }; + var isVisualCharsEnabled = function (editor) { + return editor.plugins.visualchars ? editor.plugins.visualchars.isEnabled() : false; + }; + var insertNbsp = function (editor, times) { + var classes = function () { + return isVisualCharsEnabled(editor) ? 'mce-nbsp-wrap mce-nbsp' : 'mce-nbsp-wrap'; + }; + var nbspSpan = function () { + return '' + stringRepeat(' ', times) + ''; + }; + var shouldWrap = wrapNbsps(editor); + var html = shouldWrap || editor.plugins.visualchars ? nbspSpan() : stringRepeat(' ', times); + editor.undoManager.transact(function () { + return editor.insertContent(html); + }); + }; + + var register$1 = function (editor) { + editor.addCommand('mceNonBreaking', function () { + insertNbsp(editor, 1); + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.VK'); + + var setup = function (editor) { + var spaces = getKeyboardSpaces(editor); + if (spaces > 0) { + editor.on('keydown', function (e) { + if (e.keyCode === global.TAB && !e.isDefaultPrevented()) { + if (e.shiftKey) { + return; + } + e.preventDefault(); + e.stopImmediatePropagation(); + insertNbsp(editor, spaces); + } + }); + } + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mceNonBreaking'); + }; + editor.ui.registry.addButton('nonbreaking', { + icon: 'non-breaking', + tooltip: 'Nonbreaking space', + onAction: onAction + }); + editor.ui.registry.addMenuItem('nonbreaking', { + icon: 'non-breaking', + text: 'Nonbreaking space', + onAction: onAction + }); + }; + + function Plugin () { + global$1.add('nonbreaking', function (editor) { + register$1(editor); + register(editor); + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var getNonEditableClass = function (editor) { + return editor.getParam('noneditable_noneditable_class', 'mceNonEditable'); + }; + var getEditableClass = function (editor) { + return editor.getParam('noneditable_editable_class', 'mceEditable'); + }; + var getNonEditableRegExps = function (editor) { + var nonEditableRegExps = editor.getParam('noneditable_regexp', []); + if (nonEditableRegExps && nonEditableRegExps.constructor === RegExp) { + return [nonEditableRegExps]; + } else { + return nonEditableRegExps; + } + }; + + var hasClass = function (checkClassName) { + return function (node) { + return (' ' + node.attr('class') + ' ').indexOf(checkClassName) !== -1; + }; + }; + var replaceMatchWithSpan = function (editor, content, cls) { + return function (match) { + var args = arguments, index = args[args.length - 2]; + var prevChar = index > 0 ? content.charAt(index - 1) : ''; + if (prevChar === '"') { + return match; + } + if (prevChar === '>') { + var findStartTagIndex = content.lastIndexOf('<', index); + if (findStartTagIndex !== -1) { + var tagHtml = content.substring(findStartTagIndex, index); + if (tagHtml.indexOf('contenteditable="false"') !== -1) { + return match; + } + } + } + return '' + editor.dom.encode(typeof args[1] === 'string' ? args[1] : args[0]) + ''; + }; + }; + var convertRegExpsToNonEditable = function (editor, nonEditableRegExps, e) { + var i = nonEditableRegExps.length, content = e.content; + if (e.format === 'raw') { + return; + } + while (i--) { + content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan(editor, content, getNonEditableClass(editor))); + } + e.content = content; + }; + var setup = function (editor) { + var contentEditableAttrName = 'contenteditable'; + var editClass = ' ' + global.trim(getEditableClass(editor)) + ' '; + var nonEditClass = ' ' + global.trim(getNonEditableClass(editor)) + ' '; + var hasEditClass = hasClass(editClass); + var hasNonEditClass = hasClass(nonEditClass); + var nonEditableRegExps = getNonEditableRegExps(editor); + editor.on('PreInit', function () { + if (nonEditableRegExps.length > 0) { + editor.on('BeforeSetContent', function (e) { + convertRegExpsToNonEditable(editor, nonEditableRegExps, e); + }); + } + editor.parser.addAttributeFilter('class', function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + if (hasEditClass(node)) { + node.attr(contentEditableAttrName, 'true'); + } else if (hasNonEditClass(node)) { + node.attr(contentEditableAttrName, 'false'); + } + } + }); + editor.serializer.addAttributeFilter(contentEditableAttrName, function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + if (!hasEditClass(node) && !hasNonEditClass(node)) { + continue; + } + if (nonEditableRegExps.length > 0 && node.attr('data-mce-content')) { + node.name = '#text'; + node.type = 3; + node.raw = true; + node.value = node.attr('data-mce-content'); + } else { + node.attr(contentEditableAttrName, null); + } + } + }); + }); + }; + + function Plugin () { + global$1.add('noneditable', function (editor) { + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + var getSeparatorHtml = function (editor) { + return editor.getParam('pagebreak_separator', ''); + }; + var shouldSplitBlock = function (editor) { + return editor.getParam('pagebreak_split_block', false); + }; + + var pageBreakClass = 'mce-pagebreak'; + var getPlaceholderHtml = function (shouldSplitBlock) { + var html = ''; + return shouldSplitBlock ? '

' + html + '

' : html; + }; + var setup$1 = function (editor) { + var separatorHtml = getSeparatorHtml(editor); + var shouldSplitBlock$1 = function () { + return shouldSplitBlock(editor); + }; + var pageBreakSeparatorRegExp = new RegExp(separatorHtml.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function (a) { + return '\\' + a; + }), 'gi'); + editor.on('BeforeSetContent', function (e) { + e.content = e.content.replace(pageBreakSeparatorRegExp, getPlaceholderHtml(shouldSplitBlock$1())); + }); + editor.on('PreInit', function () { + editor.serializer.addNodeFilter('img', function (nodes) { + var i = nodes.length, node, className; + while (i--) { + node = nodes[i]; + className = node.attr('class'); + if (className && className.indexOf(pageBreakClass) !== -1) { + var parentNode = node.parent; + if (editor.schema.getBlockElements()[parentNode.name] && shouldSplitBlock$1()) { + parentNode.type = 3; + parentNode.value = separatorHtml; + parentNode.raw = true; + node.remove(); + continue; + } + node.type = 3; + node.value = separatorHtml; + node.raw = true; + } + } + }); + }); + }; + + var register$1 = function (editor) { + editor.addCommand('mcePageBreak', function () { + editor.insertContent(getPlaceholderHtml(shouldSplitBlock(editor))); + }); + }; + + var setup = function (editor) { + editor.on('ResolveName', function (e) { + if (e.target.nodeName === 'IMG' && editor.dom.hasClass(e.target, pageBreakClass)) { + e.name = 'pagebreak'; + } + }); + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mcePageBreak'); + }; + editor.ui.registry.addButton('pagebreak', { + icon: 'page-break', + tooltip: 'Page break', + onAction: onAction + }); + editor.ui.registry.addMenuItem('pagebreak', { + text: 'Page break', + icon: 'page-break', + onAction: onAction + }); + }; + + function Plugin () { + global$1.add('pagebreak', function (editor) { + register$1(editor); + register(editor); + setup$1(editor); + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global$b = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var hasProPlugin = function (editor) { + if (editor.hasPlugin('powerpaste', true)) { + if (typeof window.console !== 'undefined' && window.console.log) { + window.console.log('PowerPaste is incompatible with Paste plugin! Remove \'paste\' from the \'plugins\' option.'); + } + return true; + } else { + return false; + } + }; + + var get = function (clipboard) { + return { clipboard: clipboard }; + }; + + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var isNullable = function (a) { + return a === null || a === undefined; + }; + var isNonNullable = function (a) { + return !isNullable(a); + }; + var isFunction = isSimpleType('function'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var never = constant(false); + var always = constant(true); + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from$1 = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from$1 + }; + + var nativeSlice = Array.prototype.slice; + var exists = function (xs, pred) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return true; + } + } + return false; + }; + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var each = function (xs, f) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + f(x, i); + } + }; + var filter$1 = function (xs, pred) { + var r = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + var foldl = function (xs, f, acc) { + each(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var from = isFunction(Array.from) ? Array.from : function (x) { + return nativeSlice.call(x); + }; + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var singleton = function (doRevoke) { + var subject = Cell(Optional.none()); + var revoke = function () { + return subject.get().each(doRevoke); + }; + var clear = function () { + revoke(); + subject.set(Optional.none()); + }; + var isSet = function () { + return subject.get().isSome(); + }; + var get = function () { + return subject.get(); + }; + var set = function (s) { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear: clear, + isSet: isSet, + get: get, + set: set + }; + }; + var value = function () { + var subject = singleton(noop); + var on = function (f) { + return subject.get().each(f); + }; + return __assign(__assign({}, subject), { on: on }); + }; + + var checkRange = function (str, substr, start) { + return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + }; + var startsWith = function (str, prefix) { + return checkRange(str, prefix, 0); + }; + var endsWith = function (str, suffix) { + return checkRange(str, suffix, str.length - suffix.length); + }; + var repeat = function (s, count) { + return count <= 0 ? '' : new Array(count + 1).join(s); + }; + + var global$a = tinymce.util.Tools.resolve('tinymce.Env'); + + var global$9 = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var global$8 = tinymce.util.Tools.resolve('tinymce.util.Promise'); + + var global$7 = tinymce.util.Tools.resolve('tinymce.util.VK'); + + var firePastePreProcess = function (editor, html, internal, isWordHtml) { + return editor.fire('PastePreProcess', { + content: html, + internal: internal, + wordContent: isWordHtml + }); + }; + var firePastePostProcess = function (editor, node, internal, isWordHtml) { + return editor.fire('PastePostProcess', { + node: node, + internal: internal, + wordContent: isWordHtml + }); + }; + var firePastePlainTextToggle = function (editor, state) { + return editor.fire('PastePlainTextToggle', { state: state }); + }; + var firePaste = function (editor, ieFake) { + return editor.fire('paste', { ieFake: ieFake }); + }; + + var global$6 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var shouldBlockDrop = function (editor) { + return editor.getParam('paste_block_drop', false); + }; + var shouldPasteDataImages = function (editor) { + return editor.getParam('paste_data_images', false); + }; + var shouldFilterDrop = function (editor) { + return editor.getParam('paste_filter_drop', true); + }; + var getPreProcess = function (editor) { + return editor.getParam('paste_preprocess'); + }; + var getPostProcess = function (editor) { + return editor.getParam('paste_postprocess'); + }; + var getWebkitStyles = function (editor) { + return editor.getParam('paste_webkit_styles'); + }; + var shouldRemoveWebKitStyles = function (editor) { + return editor.getParam('paste_remove_styles_if_webkit', true); + }; + var shouldMergeFormats = function (editor) { + return editor.getParam('paste_merge_formats', true); + }; + var isSmartPasteEnabled = function (editor) { + return editor.getParam('smart_paste', true); + }; + var isPasteAsTextEnabled = function (editor) { + return editor.getParam('paste_as_text', false); + }; + var getRetainStyleProps = function (editor) { + return editor.getParam('paste_retain_style_properties'); + }; + var getWordValidElements = function (editor) { + var defaultValidElements = '-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' + '-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' + 'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody'; + return editor.getParam('paste_word_valid_elements', defaultValidElements); + }; + var shouldConvertWordFakeLists = function (editor) { + return editor.getParam('paste_convert_word_fake_lists', true); + }; + var shouldUseDefaultFilters = function (editor) { + return editor.getParam('paste_enable_default_filters', true); + }; + var getValidate = function (editor) { + return editor.getParam('validate'); + }; + var getAllowHtmlDataUrls = function (editor) { + return editor.getParam('allow_html_data_urls', false, 'boolean'); + }; + var getPasteDataImages = function (editor) { + return editor.getParam('paste_data_images', false, 'boolean'); + }; + var getImagesDataImgFilter = function (editor) { + return editor.getParam('images_dataimg_filter'); + }; + var getImagesReuseFilename = function (editor) { + return editor.getParam('images_reuse_filename'); + }; + var getForcedRootBlock = function (editor) { + return editor.getParam('forced_root_block'); + }; + var getForcedRootBlockAttrs = function (editor) { + return editor.getParam('forced_root_block_attrs'); + }; + var getTabSpaces = function (editor) { + return editor.getParam('paste_tab_spaces', 4, 'number'); + }; + var getAllowedImageFileTypes = function (editor) { + var defaultImageFileTypes = 'jpeg,jpg,jpe,jfi,jif,jfif,png,gif,bmp,webp'; + return global$6.explode(editor.getParam('images_file_types', defaultImageFileTypes, 'string')); + }; + + var internalMimeType = 'x-tinymce/html'; + var internalMark = ''; + var mark = function (html) { + return internalMark + html; + }; + var unmark = function (html) { + return html.replace(internalMark, ''); + }; + var isMarked = function (html) { + return html.indexOf(internalMark) !== -1; + }; + var internalHtmlMime = constant(internalMimeType); + + var hasOwnProperty = Object.hasOwnProperty; + var has = function (obj, key) { + return hasOwnProperty.call(obj, key); + }; + + var global$5 = tinymce.util.Tools.resolve('tinymce.html.Entities'); + + var isPlainText = function (text) { + return !/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(text); + }; + var toBRs = function (text) { + return text.replace(/\r?\n/g, '
'); + }; + var openContainer = function (rootTag, rootAttrs) { + var attrs = []; + var tag = '<' + rootTag; + if (typeof rootAttrs === 'object') { + for (var key in rootAttrs) { + if (has(rootAttrs, key)) { + attrs.push(key + '="' + global$5.encodeAllRaw(rootAttrs[key]) + '"'); + } + } + if (attrs.length) { + tag += ' ' + attrs.join(' '); + } + } + return tag + '>'; + }; + var toBlockElements = function (text, rootTag, rootAttrs) { + var blocks = text.split(/\n\n/); + var tagOpen = openContainer(rootTag, rootAttrs); + var tagClose = ''; + var paragraphs = global$6.map(blocks, function (p) { + return p.split(/\n/).join('
'); + }); + var stitch = function (p) { + return tagOpen + p + tagClose; + }; + return paragraphs.length === 1 ? paragraphs[0] : global$6.map(paragraphs, stitch).join(''); + }; + var convert = function (text, rootTag, rootAttrs) { + return rootTag ? toBlockElements(text, rootTag === true ? 'p' : rootTag, rootAttrs) : toBRs(text); + }; + + var global$4 = tinymce.util.Tools.resolve('tinymce.html.DomParser'); + + var global$3 = tinymce.util.Tools.resolve('tinymce.html.Serializer'); + + var nbsp = '\xA0'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.html.Node'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.html.Schema'); + + var isRegExp = function (val) { + return val.constructor === RegExp; + }; + var filter = function (content, items) { + global$6.each(items, function (v) { + if (isRegExp(v)) { + content = content.replace(v, ''); + } else { + content = content.replace(v[0], v[1]); + } + }); + return content; + }; + var innerText = function (html) { + var schema = global$1(); + var domParser = global$4({}, schema); + var text = ''; + var shortEndedElements = schema.getShortEndedElements(); + var ignoreElements = global$6.makeMap('script noscript style textarea video audio iframe object', ' '); + var blockElements = schema.getBlockElements(); + var walk = function (node) { + var name = node.name, currentNode = node; + if (name === 'br') { + text += '\n'; + return; + } + if (name === 'wbr') { + return; + } + if (shortEndedElements[name]) { + text += ' '; + } + if (ignoreElements[name]) { + text += ' '; + return; + } + if (node.type === 3) { + text += node.value; + } + if (!node.shortEnded) { + if (node = node.firstChild) { + do { + walk(node); + } while (node = node.next); + } + } + if (blockElements[name] && currentNode.next) { + text += '\n'; + if (name === 'p') { + text += '\n'; + } + } + }; + html = filter(html, [//g]); + walk(domParser.parse(html)); + return text; + }; + var trimHtml = function (html) { + var trimSpaces = function (all, s1, s2) { + if (!s1 && !s2) { + return ' '; + } + return nbsp; + }; + html = filter(html, [ + /^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/ig, + /|/g, + [ + /( ?)\u00a0<\/span>( ?)/g, + trimSpaces + ], + /
/g, + /
$/i + ]); + return html; + }; + var createIdGenerator = function (prefix) { + var count = 0; + return function () { + return prefix + count++; + }; + }; + var getImageMimeType = function (ext) { + var lowerExt = ext.toLowerCase(); + var mimeOverrides = { + jpg: 'jpeg', + jpe: 'jpeg', + jfi: 'jpeg', + jif: 'jpeg', + jfif: 'jpeg', + pjpeg: 'jpeg', + pjp: 'jpeg', + svg: 'svg+xml' + }; + return global$6.hasOwn(mimeOverrides, lowerExt) ? 'image/' + mimeOverrides[lowerExt] : 'image/' + lowerExt; + }; + + var isWordContent = function (content) { + return / 1) { + currentListNode.attr('start', '' + start); + } + paragraphNode.wrap(currentListNode); + } else { + currentListNode.append(paragraphNode); + } + paragraphNode.name = 'li'; + if (level > lastLevel && prevListNode) { + prevListNode.lastChild.append(currentListNode); + } + lastLevel = level; + removeIgnoredNodes(paragraphNode); + trimListStart(paragraphNode, /^\u00a0+/); + trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/); + trimListStart(paragraphNode, /^\u00a0+/); + }; + var elements = []; + var child = node.firstChild; + while (typeof child !== 'undefined' && child !== null) { + elements.push(child); + child = child.walk(); + if (child !== null) { + while (typeof child !== 'undefined' && child.parent !== node) { + child = child.walk(); + } + } + } + for (var i = 0; i < elements.length; i++) { + node = elements[i]; + if (node.name === 'p' && node.firstChild) { + var nodeText = getText(node); + if (isBulletList(nodeText)) { + convertParagraphToLi(node, 'ul'); + continue; + } + if (isNumericList(nodeText)) { + var matches = /([0-9]+)\./.exec(nodeText); + var start = 1; + if (matches) { + start = parseInt(matches[1], 10); + } + convertParagraphToLi(node, 'ol', start); + continue; + } + if (node._listLevel) { + convertParagraphToLi(node, 'ul', 1); + continue; + } + currentListNode = null; + } else { + prevListNode = currentListNode; + currentListNode = null; + } + } + }; + var filterStyles = function (editor, validStyles, node, styleValue) { + var outputStyles = {}; + var styles = editor.dom.parseStyle(styleValue); + global$6.each(styles, function (value, name) { + switch (name) { + case 'mso-list': + var matches = /\w+ \w+([0-9]+)/i.exec(styleValue); + if (matches) { + node._listLevel = parseInt(matches[1], 10); + } + if (/Ignore/i.test(value) && node.firstChild) { + node._listIgnore = true; + node.firstChild._listIgnore = true; + } + break; + case 'horiz-align': + name = 'text-align'; + break; + case 'vert-align': + name = 'vertical-align'; + break; + case 'font-color': + case 'mso-foreground': + name = 'color'; + break; + case 'mso-background': + case 'mso-highlight': + name = 'background'; + break; + case 'font-weight': + case 'font-style': + if (value !== 'normal') { + outputStyles[name] = value; + } + return; + case 'mso-element': + if (/^(comment|comment-list)$/i.test(value)) { + node.remove(); + return; + } + break; + } + if (name.indexOf('mso-comment') === 0) { + node.remove(); + return; + } + if (name.indexOf('mso-') === 0) { + return; + } + if (getRetainStyleProps(editor) === 'all' || validStyles && validStyles[name]) { + outputStyles[name] = value; + } + }); + if (/(bold)/i.test(outputStyles['font-weight'])) { + delete outputStyles['font-weight']; + node.wrap(new global$2('b', 1)); + } + if (/(italic)/i.test(outputStyles['font-style'])) { + delete outputStyles['font-style']; + node.wrap(new global$2('i', 1)); + } + var outputStyle = editor.dom.serializeStyle(outputStyles, node.name); + if (outputStyle) { + return outputStyle; + } + return null; + }; + var filterWordContent = function (editor, content) { + var validStyles; + var retainStyleProperties = getRetainStyleProps(editor); + if (retainStyleProperties) { + validStyles = global$6.makeMap(retainStyleProperties.split(/[, ]/)); + } + content = filter(content, [ + /
/gi, + /]+id="?docs-internal-[^>]*>/gi, + //gi, + /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi, + [ + /<(\/?)s>/gi, + '<$1strike>' + ], + [ + / /gi, + nbsp + ], + [ + /([\s\u00a0]*)<\/span>/gi, + function (str, spaces) { + return spaces.length > 0 ? spaces.replace(/./, ' ').slice(Math.floor(spaces.length / 2)).split('').join(nbsp) : ''; + } + ] + ]); + var validElements = getWordValidElements(editor); + var schema = global$1({ + valid_elements: validElements, + valid_children: '-li[p]' + }); + global$6.each(schema.elements, function (rule) { + if (!rule.attributes.class) { + rule.attributes.class = {}; + rule.attributesOrder.push('class'); + } + if (!rule.attributes.style) { + rule.attributes.style = {}; + rule.attributesOrder.push('style'); + } + }); + var domParser = global$4({}, schema); + domParser.addAttributeFilter('style', function (nodes) { + var i = nodes.length, node; + while (i--) { + node = nodes[i]; + node.attr('style', filterStyles(editor, validStyles, node, node.attr('style'))); + if (node.name === 'span' && node.parent && !node.attributes.length) { + node.unwrap(); + } + } + }); + domParser.addAttributeFilter('class', function (nodes) { + var i = nodes.length, node, className; + while (i--) { + node = nodes[i]; + className = node.attr('class'); + if (/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className)) { + node.remove(); + } + node.attr('class', null); + } + }); + domParser.addNodeFilter('del', function (nodes) { + var i = nodes.length; + while (i--) { + nodes[i].remove(); + } + }); + domParser.addNodeFilter('a', function (nodes) { + var i = nodes.length, node, href, name; + while (i--) { + node = nodes[i]; + href = node.attr('href'); + name = node.attr('name'); + if (href && href.indexOf('#_msocom_') !== -1) { + node.remove(); + continue; + } + if (href && href.indexOf('file://') === 0) { + href = href.split('#')[1]; + if (href) { + href = '#' + href; + } + } + if (!href && !name) { + node.unwrap(); + } else { + if (name && !/^_?(?:toc|edn|ftn)/i.test(name)) { + node.unwrap(); + continue; + } + node.attr({ + href: href, + name: name + }); + } + } + }); + var rootNode = domParser.parse(content); + if (shouldConvertWordFakeLists(editor)) { + convertFakeListsToProperLists(rootNode); + } + content = global$3({ validate: getValidate(editor) }, schema).serialize(rootNode); + return content; + }; + var preProcess$1 = function (editor, content) { + return shouldUseDefaultFilters(editor) ? filterWordContent(editor, content) : content; + }; + + var preProcess = function (editor, html) { + var parser = global$4({}, editor.schema); + parser.addNodeFilter('meta', function (nodes) { + global$6.each(nodes, function (node) { + node.remove(); + }); + }); + var fragment = parser.parse(html, { + forced_root_block: false, + isRootContent: true + }); + return global$3({ validate: getValidate(editor) }, editor.schema).serialize(fragment); + }; + var processResult = function (content, cancelled) { + return { + content: content, + cancelled: cancelled + }; + }; + var postProcessFilter = function (editor, html, internal, isWordHtml) { + var tempBody = editor.dom.create('div', { style: 'display:none' }, html); + var postProcessArgs = firePastePostProcess(editor, tempBody, internal, isWordHtml); + return processResult(postProcessArgs.node.innerHTML, postProcessArgs.isDefaultPrevented()); + }; + var filterContent = function (editor, content, internal, isWordHtml) { + var preProcessArgs = firePastePreProcess(editor, content, internal, isWordHtml); + var filteredContent = preProcess(editor, preProcessArgs.content); + if (editor.hasEventListeners('PastePostProcess') && !preProcessArgs.isDefaultPrevented()) { + return postProcessFilter(editor, filteredContent, internal, isWordHtml); + } else { + return processResult(filteredContent, preProcessArgs.isDefaultPrevented()); + } + }; + var process = function (editor, html, internal) { + var isWordHtml = isWordContent(html); + var content = isWordHtml ? preProcess$1(editor, html) : html; + return filterContent(editor, content, internal, isWordHtml); + }; + + var pasteHtml$1 = function (editor, html) { + editor.insertContent(html, { + merge: shouldMergeFormats(editor), + paste: true + }); + return true; + }; + var isAbsoluteUrl = function (url) { + return /^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(url); + }; + var isImageUrl = function (editor, url) { + return isAbsoluteUrl(url) && exists(getAllowedImageFileTypes(editor), function (type) { + return endsWith(url.toLowerCase(), '.' + type.toLowerCase()); + }); + }; + var createImage = function (editor, url, pasteHtmlFn) { + editor.undoManager.extra(function () { + pasteHtmlFn(editor, url); + }, function () { + editor.insertContent(''); + }); + return true; + }; + var createLink = function (editor, url, pasteHtmlFn) { + editor.undoManager.extra(function () { + pasteHtmlFn(editor, url); + }, function () { + editor.execCommand('mceInsertLink', false, url); + }); + return true; + }; + var linkSelection = function (editor, html, pasteHtmlFn) { + return editor.selection.isCollapsed() === false && isAbsoluteUrl(html) ? createLink(editor, html, pasteHtmlFn) : false; + }; + var insertImage = function (editor, html, pasteHtmlFn) { + return isImageUrl(editor, html) ? createImage(editor, html, pasteHtmlFn) : false; + }; + var smartInsertContent = function (editor, html) { + global$6.each([ + linkSelection, + insertImage, + pasteHtml$1 + ], function (action) { + return action(editor, html, pasteHtml$1) !== true; + }); + }; + var insertContent = function (editor, html, pasteAsText) { + if (pasteAsText || isSmartPasteEnabled(editor) === false) { + pasteHtml$1(editor, html); + } else { + smartInsertContent(editor, html); + } + }; + + var isCollapsibleWhitespace = function (c) { + return ' \f\t\x0B'.indexOf(c) !== -1; + }; + var isNewLineChar = function (c) { + return c === '\n' || c === '\r'; + }; + var isNewline = function (text, idx) { + return idx < text.length && idx >= 0 ? isNewLineChar(text[idx]) : false; + }; + var normalizeWhitespace = function (editor, text) { + var tabSpace = repeat(' ', getTabSpaces(editor)); + var normalizedText = text.replace(/\t/g, tabSpace); + var result = foldl(normalizedText, function (acc, c) { + if (isCollapsibleWhitespace(c) || c === nbsp) { + if (acc.pcIsSpace || acc.str === '' || acc.str.length === normalizedText.length - 1 || isNewline(normalizedText, acc.str.length + 1)) { + return { + pcIsSpace: false, + str: acc.str + nbsp + }; + } else { + return { + pcIsSpace: true, + str: acc.str + ' ' + }; + } + } else { + return { + pcIsSpace: isNewLineChar(c), + str: acc.str + c + }; + } + }, { + pcIsSpace: false, + str: '' + }); + return result.str; + }; + + var doPaste = function (editor, content, internal, pasteAsText) { + var args = process(editor, content, internal); + if (args.cancelled === false) { + insertContent(editor, args.content, pasteAsText); + } + }; + var pasteHtml = function (editor, html, internalFlag) { + var internal = internalFlag ? internalFlag : isMarked(html); + doPaste(editor, unmark(html), internal, false); + }; + var pasteText = function (editor, text) { + var encodedText = editor.dom.encode(text).replace(/\r\n/g, '\n'); + var normalizedText = normalizeWhitespace(editor, encodedText); + var html = convert(normalizedText, getForcedRootBlock(editor), getForcedRootBlockAttrs(editor)); + doPaste(editor, html, false, true); + }; + var getDataTransferItems = function (dataTransfer) { + var items = {}; + var mceInternalUrlPrefix = 'data:text/mce-internal,'; + if (dataTransfer) { + if (dataTransfer.getData) { + var legacyText = dataTransfer.getData('Text'); + if (legacyText && legacyText.length > 0) { + if (legacyText.indexOf(mceInternalUrlPrefix) === -1) { + items['text/plain'] = legacyText; + } + } + } + if (dataTransfer.types) { + for (var i = 0; i < dataTransfer.types.length; i++) { + var contentType = dataTransfer.types[i]; + try { + items[contentType] = dataTransfer.getData(contentType); + } catch (ex) { + items[contentType] = ''; + } + } + } + } + return items; + }; + var getClipboardContent = function (editor, clipboardEvent) { + return getDataTransferItems(clipboardEvent.clipboardData || editor.getDoc().dataTransfer); + }; + var hasContentType = function (clipboardContent, mimeType) { + return mimeType in clipboardContent && clipboardContent[mimeType].length > 0; + }; + var hasHtmlOrText = function (content) { + return hasContentType(content, 'text/html') || hasContentType(content, 'text/plain'); + }; + var parseDataUri = function (uri) { + var matches = /data:([^;]+);base64,([a-z0-9\+\/=]+)/i.exec(uri); + if (matches) { + return { + type: matches[1], + data: decodeURIComponent(matches[2]) + }; + } else { + return { + type: null, + data: null + }; + } + }; + var isValidDataUriImage = function (editor, imgElm) { + var filter = getImagesDataImgFilter(editor); + return filter ? filter(imgElm) : true; + }; + var extractFilename = function (editor, str) { + var m = str.match(/([\s\S]+?)(?:\.[a-z0-9.]+)$/i); + return isNonNullable(m) ? editor.dom.encode(m[1]) : null; + }; + var uniqueId = createIdGenerator('mceclip'); + var pasteImage = function (editor, imageItem) { + var _a = parseDataUri(imageItem.uri), base64 = _a.data, type = _a.type; + var id = uniqueId(); + var file = imageItem.blob; + var img = new Image(); + img.src = imageItem.uri; + if (isValidDataUriImage(editor, img)) { + var blobCache = editor.editorUpload.blobCache; + var blobInfo = void 0; + var existingBlobInfo = blobCache.getByData(base64, type); + if (!existingBlobInfo) { + var useFileName = getImagesReuseFilename(editor) && isNonNullable(file.name); + var name_1 = useFileName ? extractFilename(editor, file.name) : id; + var filename = useFileName ? file.name : undefined; + blobInfo = blobCache.create(id, file, base64, name_1, filename); + blobCache.add(blobInfo); + } else { + blobInfo = existingBlobInfo; + } + pasteHtml(editor, '', false); + } else { + pasteHtml(editor, '', false); + } + }; + var isClipboardEvent = function (event) { + return event.type === 'paste'; + }; + var isDataTransferItem = function (item) { + return isNonNullable(item.getAsFile); + }; + var readFilesAsDataUris = function (items) { + return global$8.all(map(items, function (item) { + return new global$8(function (resolve) { + var blob = isDataTransferItem(item) ? item.getAsFile() : item; + var reader = new window.FileReader(); + reader.onload = function () { + resolve({ + blob: blob, + uri: reader.result + }); + }; + reader.readAsDataURL(blob); + }); + })); + }; + var isImage = function (editor) { + var allowedExtensions = getAllowedImageFileTypes(editor); + return function (file) { + return startsWith(file.type, 'image/') && exists(allowedExtensions, function (extension) { + return getImageMimeType(extension) === file.type; + }); + }; + }; + var getImagesFromDataTransfer = function (editor, dataTransfer) { + var items = dataTransfer.items ? map(from(dataTransfer.items), function (item) { + return item.getAsFile(); + }) : []; + var files = dataTransfer.files ? from(dataTransfer.files) : []; + return filter$1(items.length > 0 ? items : files, isImage(editor)); + }; + var pasteImageData = function (editor, e, rng) { + var dataTransfer = isClipboardEvent(e) ? e.clipboardData : e.dataTransfer; + if (getPasteDataImages(editor) && dataTransfer) { + var images = getImagesFromDataTransfer(editor, dataTransfer); + if (images.length > 0) { + e.preventDefault(); + readFilesAsDataUris(images).then(function (fileResults) { + if (rng) { + editor.selection.setRng(rng); + } + each(fileResults, function (result) { + pasteImage(editor, result); + }); + }); + return true; + } + } + return false; + }; + var isBrokenAndroidClipboardEvent = function (e) { + var clipboardData = e.clipboardData; + return navigator.userAgent.indexOf('Android') !== -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0; + }; + var isKeyboardPasteEvent = function (e) { + return global$7.metaKeyPressed(e) && e.keyCode === 86 || e.shiftKey && e.keyCode === 45; + }; + var registerEventHandlers = function (editor, pasteBin, pasteFormat) { + var keyboardPasteEvent = value(); + var keyboardPastePressed = value(); + var keyboardPastePlainTextState; + editor.on('keyup', keyboardPastePressed.clear); + editor.on('keydown', function (e) { + var removePasteBinOnKeyUp = function (e) { + if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { + pasteBin.remove(); + } + }; + if (isKeyboardPasteEvent(e) && !e.isDefaultPrevented()) { + keyboardPastePlainTextState = e.shiftKey && e.keyCode === 86; + if (keyboardPastePlainTextState && global$a.webkit && navigator.userAgent.indexOf('Version/') !== -1) { + return; + } + e.stopImmediatePropagation(); + keyboardPasteEvent.set(e); + keyboardPastePressed.set(true); + if (global$a.ie && keyboardPastePlainTextState) { + e.preventDefault(); + firePaste(editor, true); + return; + } + pasteBin.remove(); + pasteBin.create(); + editor.once('keyup', removePasteBinOnKeyUp); + editor.once('paste', function () { + editor.off('keyup', removePasteBinOnKeyUp); + }); + } + }); + var insertClipboardContent = function (editor, clipboardContent, isKeyBoardPaste, plainTextMode, internal) { + var content; + if (hasContentType(clipboardContent, 'text/html')) { + content = clipboardContent['text/html']; + } else { + content = pasteBin.getHtml(); + internal = internal ? internal : isMarked(content); + if (pasteBin.isDefaultContent(content)) { + plainTextMode = true; + } + } + content = trimHtml(content); + pasteBin.remove(); + var isPlainTextHtml = internal === false && isPlainText(content); + var isAbsoluteUrl$1 = isAbsoluteUrl(content); + if (!content.length || isPlainTextHtml && !isAbsoluteUrl$1) { + plainTextMode = true; + } + if (plainTextMode || isAbsoluteUrl$1) { + if (hasContentType(clipboardContent, 'text/plain') && isPlainTextHtml) { + content = clipboardContent['text/plain']; + } else { + content = innerText(content); + } + } + if (pasteBin.isDefaultContent(content)) { + if (!isKeyBoardPaste) { + editor.windowManager.alert('Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.'); + } + return; + } + if (plainTextMode) { + pasteText(editor, content); + } else { + pasteHtml(editor, content, internal); + } + }; + var getLastRng = function () { + return pasteBin.getLastRng() || editor.selection.getRng(); + }; + editor.on('paste', function (e) { + var isKeyboardPaste = keyboardPasteEvent.isSet() || keyboardPastePressed.isSet(); + if (isKeyboardPaste) { + keyboardPasteEvent.clear(); + } + var clipboardContent = getClipboardContent(editor, e); + var plainTextMode = pasteFormat.get() === 'text' || keyboardPastePlainTextState; + var internal = hasContentType(clipboardContent, internalHtmlMime()); + keyboardPastePlainTextState = false; + if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) { + pasteBin.remove(); + return; + } + if (!hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, getLastRng())) { + pasteBin.remove(); + return; + } + if (!isKeyboardPaste) { + e.preventDefault(); + } + if (global$a.ie && (!isKeyboardPaste || e.ieFake) && !hasContentType(clipboardContent, 'text/html')) { + pasteBin.create(); + editor.dom.bind(pasteBin.getEl(), 'paste', function (e) { + e.stopPropagation(); + }); + editor.getDoc().execCommand('Paste', false, null); + clipboardContent['text/html'] = pasteBin.getHtml(); + } + if (hasContentType(clipboardContent, 'text/html')) { + e.preventDefault(); + if (!internal) { + internal = isMarked(clipboardContent['text/html']); + } + insertClipboardContent(editor, clipboardContent, isKeyboardPaste, plainTextMode, internal); + } else { + global$9.setEditorTimeout(editor, function () { + insertClipboardContent(editor, clipboardContent, isKeyboardPaste, plainTextMode, internal); + }, 0); + } + }); + }; + var registerEventsAndFilters = function (editor, pasteBin, pasteFormat) { + registerEventHandlers(editor, pasteBin, pasteFormat); + var src; + editor.parser.addNodeFilter('img', function (nodes, name, args) { + var isPasteInsert = function (args) { + return args.data && args.data.paste === true; + }; + var remove = function (node) { + if (!node.attr('data-mce-object') && src !== global$a.transparentSrc) { + node.remove(); + } + }; + var isWebKitFakeUrl = function (src) { + return src.indexOf('webkit-fake-url') === 0; + }; + var isDataUri = function (src) { + return src.indexOf('data:') === 0; + }; + if (!getPasteDataImages(editor) && isPasteInsert(args)) { + var i = nodes.length; + while (i--) { + src = nodes[i].attr('src'); + if (!src) { + continue; + } + if (isWebKitFakeUrl(src)) { + remove(nodes[i]); + } else if (!getAllowHtmlDataUrls(editor) && isDataUri(src)) { + remove(nodes[i]); + } + } + } + }); + }; + + var getPasteBinParent = function (editor) { + return global$a.ie && editor.inline ? document.body : editor.getBody(); + }; + var isExternalPasteBin = function (editor) { + return getPasteBinParent(editor) !== editor.getBody(); + }; + var delegatePasteEvents = function (editor, pasteBinElm, pasteBinDefaultContent) { + if (isExternalPasteBin(editor)) { + editor.dom.bind(pasteBinElm, 'paste keyup', function (_e) { + if (!isDefault(editor, pasteBinDefaultContent)) { + editor.fire('paste'); + } + }); + } + }; + var create = function (editor, lastRngCell, pasteBinDefaultContent) { + var dom = editor.dom, body = editor.getBody(); + lastRngCell.set(editor.selection.getRng()); + var pasteBinElm = editor.dom.add(getPasteBinParent(editor), 'div', { + 'id': 'mcepastebin', + 'class': 'mce-pastebin', + 'contentEditable': true, + 'data-mce-bogus': 'all', + 'style': 'position: fixed; top: 50%; width: 10px; height: 10px; overflow: hidden; opacity: 0' + }, pasteBinDefaultContent); + if (global$a.ie || global$a.gecko) { + dom.setStyle(pasteBinElm, 'left', dom.getStyle(body, 'direction', true) === 'rtl' ? 65535 : -65535); + } + dom.bind(pasteBinElm, 'beforedeactivate focusin focusout', function (e) { + e.stopPropagation(); + }); + delegatePasteEvents(editor, pasteBinElm, pasteBinDefaultContent); + pasteBinElm.focus(); + editor.selection.select(pasteBinElm, true); + }; + var remove = function (editor, lastRngCell) { + if (getEl(editor)) { + var pasteBinClone = void 0; + var lastRng = lastRngCell.get(); + while (pasteBinClone = editor.dom.get('mcepastebin')) { + editor.dom.remove(pasteBinClone); + editor.dom.unbind(pasteBinClone); + } + if (lastRng) { + editor.selection.setRng(lastRng); + } + } + lastRngCell.set(null); + }; + var getEl = function (editor) { + return editor.dom.get('mcepastebin'); + }; + var getHtml = function (editor) { + var copyAndRemove = function (toElm, fromElm) { + toElm.appendChild(fromElm); + editor.dom.remove(fromElm, true); + }; + var pasteBinClones = global$6.grep(getPasteBinParent(editor).childNodes, function (elm) { + return elm.id === 'mcepastebin'; + }); + var pasteBinElm = pasteBinClones.shift(); + global$6.each(pasteBinClones, function (pasteBinClone) { + copyAndRemove(pasteBinElm, pasteBinClone); + }); + var dirtyWrappers = editor.dom.select('div[id=mcepastebin]', pasteBinElm); + for (var i = dirtyWrappers.length - 1; i >= 0; i--) { + var cleanWrapper = editor.dom.create('div'); + pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]); + copyAndRemove(cleanWrapper, dirtyWrappers[i]); + } + return pasteBinElm ? pasteBinElm.innerHTML : ''; + }; + var isDefaultContent = function (pasteBinDefaultContent, content) { + return content === pasteBinDefaultContent; + }; + var isPasteBin = function (elm) { + return elm && elm.id === 'mcepastebin'; + }; + var isDefault = function (editor, pasteBinDefaultContent) { + var pasteBinElm = getEl(editor); + return isPasteBin(pasteBinElm) && isDefaultContent(pasteBinDefaultContent, pasteBinElm.innerHTML); + }; + var PasteBin = function (editor) { + var lastRng = Cell(null); + var pasteBinDefaultContent = '%MCEPASTEBIN%'; + return { + create: function () { + return create(editor, lastRng, pasteBinDefaultContent); + }, + remove: function () { + return remove(editor, lastRng); + }, + getEl: function () { + return getEl(editor); + }, + getHtml: function () { + return getHtml(editor); + }, + getLastRng: lastRng.get, + isDefault: function () { + return isDefault(editor, pasteBinDefaultContent); + }, + isDefaultContent: function (content) { + return isDefaultContent(pasteBinDefaultContent, content); + } + }; + }; + + var Clipboard = function (editor, pasteFormat) { + var pasteBin = PasteBin(editor); + editor.on('PreInit', function () { + return registerEventsAndFilters(editor, pasteBin, pasteFormat); + }); + return { + pasteFormat: pasteFormat, + pasteHtml: function (html, internalFlag) { + return pasteHtml(editor, html, internalFlag); + }, + pasteText: function (text) { + return pasteText(editor, text); + }, + pasteImageData: function (e, rng) { + return pasteImageData(editor, e, rng); + }, + getDataTransferItems: getDataTransferItems, + hasHtmlOrText: hasHtmlOrText, + hasContentType: hasContentType + }; + }; + + var togglePlainTextPaste = function (editor, clipboard) { + if (clipboard.pasteFormat.get() === 'text') { + clipboard.pasteFormat.set('html'); + firePastePlainTextToggle(editor, false); + } else { + clipboard.pasteFormat.set('text'); + firePastePlainTextToggle(editor, true); + } + editor.focus(); + }; + + var register$2 = function (editor, clipboard) { + editor.addCommand('mceTogglePlainTextPaste', function () { + togglePlainTextPaste(editor, clipboard); + }); + editor.addCommand('mceInsertClipboardContent', function (ui, value) { + if (value.content) { + clipboard.pasteHtml(value.content, value.internal); + } + if (value.text) { + clipboard.pasteText(value.text); + } + }); + }; + + var hasWorkingClipboardApi = function (clipboardData) { + return global$a.iOS === false && typeof (clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.setData) === 'function'; + }; + var setHtml5Clipboard = function (clipboardData, html, text) { + if (hasWorkingClipboardApi(clipboardData)) { + try { + clipboardData.clearData(); + clipboardData.setData('text/html', html); + clipboardData.setData('text/plain', text); + clipboardData.setData(internalHtmlMime(), html); + return true; + } catch (e) { + return false; + } + } else { + return false; + } + }; + var setClipboardData = function (evt, data, fallback, done) { + if (setHtml5Clipboard(evt.clipboardData, data.html, data.text)) { + evt.preventDefault(); + done(); + } else { + fallback(data.html, done); + } + }; + var fallback = function (editor) { + return function (html, done) { + var markedHtml = mark(html); + var outer = editor.dom.create('div', { + 'contenteditable': 'false', + 'data-mce-bogus': 'all' + }); + var inner = editor.dom.create('div', { contenteditable: 'true' }, markedHtml); + editor.dom.setStyles(outer, { + position: 'fixed', + top: '0', + left: '-3000px', + width: '1000px', + overflow: 'hidden' + }); + outer.appendChild(inner); + editor.dom.add(editor.getBody(), outer); + var range = editor.selection.getRng(); + inner.focus(); + var offscreenRange = editor.dom.createRng(); + offscreenRange.selectNodeContents(inner); + editor.selection.setRng(offscreenRange); + global$9.setTimeout(function () { + editor.selection.setRng(range); + outer.parentNode.removeChild(outer); + done(); + }, 0); + }; + }; + var getData = function (editor) { + return { + html: editor.selection.getContent({ contextual: true }), + text: editor.selection.getContent({ format: 'text' }) + }; + }; + var isTableSelection = function (editor) { + return !!editor.dom.getParent(editor.selection.getStart(), 'td[data-mce-selected],th[data-mce-selected]', editor.getBody()); + }; + var hasSelectedContent = function (editor) { + return !editor.selection.isCollapsed() || isTableSelection(editor); + }; + var cut = function (editor) { + return function (evt) { + if (hasSelectedContent(editor)) { + setClipboardData(evt, getData(editor), fallback(editor), function () { + if (global$a.browser.isChrome() || global$a.browser.isFirefox()) { + var rng_1 = editor.selection.getRng(); + global$9.setEditorTimeout(editor, function () { + editor.selection.setRng(rng_1); + editor.execCommand('Delete'); + }, 0); + } else { + editor.execCommand('Delete'); + } + }); + } + }; + }; + var copy = function (editor) { + return function (evt) { + if (hasSelectedContent(editor)) { + setClipboardData(evt, getData(editor), fallback(editor), noop); + } + }; + }; + var register$1 = function (editor) { + editor.on('cut', cut(editor)); + editor.on('copy', copy(editor)); + }; + + var global = tinymce.util.Tools.resolve('tinymce.dom.RangeUtils'); + + var getCaretRangeFromEvent = function (editor, e) { + return global.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc()); + }; + var isPlainTextFileUrl = function (content) { + var plainTextContent = content['text/plain']; + return plainTextContent ? plainTextContent.indexOf('file://') === 0 : false; + }; + var setFocusedRange = function (editor, rng) { + editor.focus(); + editor.selection.setRng(rng); + }; + var setup$2 = function (editor, clipboard, draggingInternallyState) { + if (shouldBlockDrop(editor)) { + editor.on('dragend dragover draggesture dragdrop drop drag', function (e) { + e.preventDefault(); + e.stopPropagation(); + }); + } + if (!shouldPasteDataImages(editor)) { + editor.on('drop', function (e) { + var dataTransfer = e.dataTransfer; + if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) { + e.preventDefault(); + } + }); + } + editor.on('drop', function (e) { + var rng = getCaretRangeFromEvent(editor, e); + if (e.isDefaultPrevented() || draggingInternallyState.get()) { + return; + } + var dropContent = clipboard.getDataTransferItems(e.dataTransfer); + var internal = clipboard.hasContentType(dropContent, internalHtmlMime()); + if ((!clipboard.hasHtmlOrText(dropContent) || isPlainTextFileUrl(dropContent)) && clipboard.pasteImageData(e, rng)) { + return; + } + if (rng && shouldFilterDrop(editor)) { + var content_1 = dropContent['mce-internal'] || dropContent['text/html'] || dropContent['text/plain']; + if (content_1) { + e.preventDefault(); + global$9.setEditorTimeout(editor, function () { + editor.undoManager.transact(function () { + if (dropContent['mce-internal']) { + editor.execCommand('Delete'); + } + setFocusedRange(editor, rng); + content_1 = trimHtml(content_1); + if (!dropContent['text/html']) { + clipboard.pasteText(content_1); + } else { + clipboard.pasteHtml(content_1, internal); + } + }); + }); + } + } + }); + editor.on('dragstart', function (_e) { + draggingInternallyState.set(true); + }); + editor.on('dragover dragend', function (e) { + if (shouldPasteDataImages(editor) && draggingInternallyState.get() === false) { + e.preventDefault(); + setFocusedRange(editor, getCaretRangeFromEvent(editor, e)); + } + if (e.type === 'dragend') { + draggingInternallyState.set(false); + } + }); + }; + + var setup$1 = function (editor) { + var plugin = editor.plugins.paste; + var preProcess = getPreProcess(editor); + if (preProcess) { + editor.on('PastePreProcess', function (e) { + preProcess.call(plugin, plugin, e); + }); + } + var postProcess = getPostProcess(editor); + if (postProcess) { + editor.on('PastePostProcess', function (e) { + postProcess.call(plugin, plugin, e); + }); + } + }; + + var addPreProcessFilter = function (editor, filterFunc) { + editor.on('PastePreProcess', function (e) { + e.content = filterFunc(editor, e.content, e.internal, e.wordContent); + }); + }; + var addPostProcessFilter = function (editor, filterFunc) { + editor.on('PastePostProcess', function (e) { + filterFunc(editor, e.node); + }); + }; + var removeExplorerBrElementsAfterBlocks = function (editor, html) { + if (!isWordContent(html)) { + return html; + } + var blockElements = []; + global$6.each(editor.schema.getBlockElements(), function (block, blockName) { + blockElements.push(blockName); + }); + var explorerBlocksRegExp = new RegExp('(?:
 [\\s\\r\\n]+|
)*(<\\/?(' + blockElements.join('|') + ')[^>]*>)(?:
 [\\s\\r\\n]+|
)*', 'g'); + html = filter(html, [[ + explorerBlocksRegExp, + '$1' + ]]); + html = filter(html, [ + [ + /

/g, + '

' + ], + [ + /
/g, + ' ' + ], + [ + /

/g, + '
' + ] + ]); + return html; + }; + var removeWebKitStyles = function (editor, content, internal, isWordHtml) { + if (isWordHtml || internal) { + return content; + } + var webKitStylesSetting = getWebkitStyles(editor); + var webKitStyles; + if (shouldRemoveWebKitStyles(editor) === false || webKitStylesSetting === 'all') { + return content; + } + if (webKitStylesSetting) { + webKitStyles = webKitStylesSetting.split(/[, ]/); + } + if (webKitStyles) { + var dom_1 = editor.dom, node_1 = editor.selection.getNode(); + content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function (all, before, value, after) { + var inputStyles = dom_1.parseStyle(dom_1.decode(value)); + var outputStyles = {}; + if (webKitStyles === 'none') { + return before + after; + } + for (var i = 0; i < webKitStyles.length; i++) { + var inputValue = inputStyles[webKitStyles[i]], currentValue = dom_1.getStyle(node_1, webKitStyles[i], true); + if (/color/.test(webKitStyles[i])) { + inputValue = dom_1.toHex(inputValue); + currentValue = dom_1.toHex(currentValue); + } + if (currentValue !== inputValue) { + outputStyles[webKitStyles[i]] = inputValue; + } + } + var outputStyle = dom_1.serializeStyle(outputStyles, 'span'); + if (outputStyle) { + return before + ' style="' + outputStyle + '"' + after; + } + return before + after; + }); + } else { + content = content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, '$1$3'); + } + content = content.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function (all, before, value, after) { + return before + ' style="' + value + '"' + after; + }); + return content; + }; + var removeUnderlineAndFontInAnchor = function (editor, root) { + editor.$('a', root).find('font,u').each(function (i, node) { + editor.dom.remove(node, true); + }); + }; + var setup = function (editor) { + if (global$a.webkit) { + addPreProcessFilter(editor, removeWebKitStyles); + } + if (global$a.ie) { + addPreProcessFilter(editor, removeExplorerBrElementsAfterBlocks); + addPostProcessFilter(editor, removeUnderlineAndFontInAnchor); + } + }; + + var makeSetupHandler = function (editor, clipboard) { + return function (api) { + api.setActive(clipboard.pasteFormat.get() === 'text'); + var pastePlainTextToggleHandler = function (e) { + return api.setActive(e.state); + }; + editor.on('PastePlainTextToggle', pastePlainTextToggleHandler); + return function () { + return editor.off('PastePlainTextToggle', pastePlainTextToggleHandler); + }; + }; + }; + var register = function (editor, clipboard) { + var onAction = function () { + return editor.execCommand('mceTogglePlainTextPaste'); + }; + editor.ui.registry.addToggleButton('pastetext', { + active: false, + icon: 'paste-text', + tooltip: 'Paste as text', + onAction: onAction, + onSetup: makeSetupHandler(editor, clipboard) + }); + editor.ui.registry.addToggleMenuItem('pastetext', { + text: 'Paste as text', + icon: 'paste-text', + onAction: onAction, + onSetup: makeSetupHandler(editor, clipboard) + }); + }; + + function Plugin () { + global$b.add('paste', function (editor) { + if (hasProPlugin(editor) === false) { + var draggingInternallyState = Cell(false); + var pasteFormat = Cell(isPasteAsTextEnabled(editor) ? 'text' : 'html'); + var clipboard = Clipboard(editor, pasteFormat); + setup(editor); + register(editor, clipboard); + register$2(editor, clipboard); + setup$1(editor); + register$1(editor); + setup$2(editor, clipboard, draggingInternallyState); + return get(clipboard); + } + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var getContentStyle = function (editor) { + return editor.getParam('content_style', '', 'string'); + }; + var shouldUseContentCssCors = function (editor) { + return editor.getParam('content_css_cors', false, 'boolean'); + }; + var getBodyClassByHash = function (editor) { + var bodyClass = editor.getParam('body_class', '', 'hash'); + return bodyClass[editor.id] || ''; + }; + var getBodyClass = function (editor) { + var bodyClass = editor.getParam('body_class', '', 'string'); + if (bodyClass.indexOf('=') === -1) { + return bodyClass; + } else { + return getBodyClassByHash(editor); + } + }; + var getBodyIdByHash = function (editor) { + var bodyId = editor.getParam('body_id', '', 'hash'); + return bodyId[editor.id] || bodyId; + }; + var getBodyId = function (editor) { + var bodyId = editor.getParam('body_id', 'tinymce', 'string'); + if (bodyId.indexOf('=') === -1) { + return bodyId; + } else { + return getBodyIdByHash(editor); + } + }; + + var getPreviewHtml = function (editor) { + var headHtml = ''; + var encode = editor.dom.encode; + var contentStyle = getContentStyle(editor); + headHtml += ''; + var cors = shouldUseContentCssCors(editor) ? ' crossorigin="anonymous"' : ''; + global.each(editor.contentCSS, function (url) { + headHtml += ''; + }); + if (contentStyle) { + headHtml += ''; + } + var bodyId = getBodyId(editor); + var bodyClass = getBodyClass(editor); + var isMetaKeyPressed = global$1.mac ? 'e.metaKey' : 'e.ctrlKey && !e.altKey'; + var preventClicksOnLinksScript = ' '; + var directionality = editor.getBody().dir; + var dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; + var previewHtml = '' + '' + '' + headHtml + '' + '' + editor.getContent() + preventClicksOnLinksScript + '' + ''; + return previewHtml; + }; + + var open = function (editor) { + var content = getPreviewHtml(editor); + var dataApi = editor.windowManager.open({ + title: 'Preview', + size: 'large', + body: { + type: 'panel', + items: [{ + name: 'preview', + type: 'iframe', + sandboxed: true + }] + }, + buttons: [{ + type: 'cancel', + name: 'close', + text: 'Close', + primary: true + }], + initialData: { preview: content } + }); + dataApi.focus('close'); + }; + + var register$1 = function (editor) { + editor.addCommand('mcePreview', function () { + open(editor); + }); + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mcePreview'); + }; + editor.ui.registry.addButton('preview', { + icon: 'preview', + tooltip: 'Preview', + onAction: onAction + }); + editor.ui.registry.addMenuItem('preview', { + icon: 'preview', + text: 'Preview', + onAction: onAction + }); + }; + + function Plugin () { + global$2.add('preview', function (editor) { + register$1(editor); + register(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + var register$1 = function (editor) { + editor.addCommand('mcePrint', function () { + if (global.browser.isIE()) { + editor.getDoc().execCommand('print', false, null); + } else { + editor.getWin().print(); + } + }); + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mcePrint'); + }; + editor.ui.registry.addButton('print', { + icon: 'print', + tooltip: 'Print', + onAction: onAction + }); + editor.ui.registry.addMenuItem('print', { + text: 'Print...', + icon: 'print', + onAction: onAction + }); + }; + + function Plugin () { + global$1.add('print', function (editor) { + register$1(editor); + register(editor); + editor.addShortcut('Meta+P', '', 'mcePrint'); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var unique = 0; + var generate = function (prefix) { + var date = new Date(); + var time = date.getTime(); + var random = Math.floor(Math.random() * 1000000000); + unique++; + return prefix + '_' + random + unique + String(time); + }; + + var createTableHtml = function (cols, rows) { + var html = ''; + html += ''; + for (var y = 0; y < rows; y++) { + html += ''; + for (var x = 0; x < cols; x++) { + html += ''; + } + html += ''; + } + html += ''; + html += '

'; + return html; + }; + var getInsertedElement = function (editor) { + var elms = editor.dom.select('*[data-mce-id]'); + return elms[0]; + }; + var insertTableHtml = function (editor, cols, rows) { + editor.undoManager.transact(function () { + editor.insertContent(createTableHtml(cols, rows)); + var tableElm = getInsertedElement(editor); + tableElm.removeAttribute('data-mce-id'); + var cellElm = editor.dom.select('td,th', tableElm); + editor.selection.setCursorLocation(cellElm[0], 0); + }); + }; + var insertTable = function (editor, cols, rows) { + editor.plugins.table ? editor.plugins.table.insertTable(cols, rows) : insertTableHtml(editor, cols, rows); + }; + var insertBlob = function (editor, base64, blob) { + var blobCache = editor.editorUpload.blobCache; + var blobInfo = blobCache.create(generate('mceu'), blob, base64); + blobCache.add(blobInfo); + editor.insertContent(editor.dom.createHTML('img', { src: blobInfo.blobUri() })); + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Promise'); + + var blobToBase64 = function (blob) { + return new global$2(function (resolve) { + var reader = new FileReader(); + reader.onloadend = function () { + resolve(reader.result.split(',')[1]); + }; + reader.readAsDataURL(blob); + }); + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var pickFile = function (editor) { + return new global$2(function (resolve) { + var fileInput = document.createElement('input'); + fileInput.type = 'file'; + fileInput.accept = 'image/*'; + fileInput.style.position = 'fixed'; + fileInput.style.left = '0'; + fileInput.style.top = '0'; + fileInput.style.opacity = '0.001'; + document.body.appendChild(fileInput); + var changeHandler = function (e) { + resolve(Array.prototype.slice.call(e.target.files)); + }; + fileInput.addEventListener('change', changeHandler); + var cancelHandler = function (e) { + var cleanup = function () { + resolve([]); + fileInput.parentNode.removeChild(fileInput); + }; + if (global$1.os.isAndroid() && e.type !== 'remove') { + global.setEditorTimeout(editor, cleanup, 0); + } else { + cleanup(); + } + editor.off('focusin remove', cancelHandler); + }; + editor.on('focusin remove', cancelHandler); + fileInput.click(); + }); + }; + + var setupButtons = function (editor) { + editor.ui.registry.addButton('quickimage', { + icon: 'image', + tooltip: 'Insert image', + onAction: function () { + pickFile(editor).then(function (files) { + if (files.length > 0) { + var blob_1 = files[0]; + blobToBase64(blob_1).then(function (base64) { + insertBlob(editor, base64, blob_1); + }); + } + }); + } + }); + editor.ui.registry.addButton('quicktable', { + icon: 'table', + tooltip: 'Insert table', + onAction: function () { + insertTable(editor, 2, 2); + } + }); + }; + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var eq = function (t) { + return function (a) { + return t === a; + }; + }; + var isString = isType('string'); + var isObject = isType('object'); + var isArray = isType('array'); + var isBoolean = isSimpleType('boolean'); + var isUndefined = eq(undefined); + var isFunction = isSimpleType('function'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var never = constant(false); + var always = constant(true); + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from + }; + + function ClosestOrAncestor (is, ancestor, scope, a, isRoot) { + if (is(scope, a)) { + return Optional.some(scope); + } else if (isFunction(isRoot) && isRoot(scope)) { + return Optional.none(); + } else { + return ancestor(scope, a, isRoot); + } + } + + var ELEMENT = 1; + + var fromHtml = function (html, scope) { + var doc = scope || document; + var div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + console.error('HTML does not have a single root node', html); + throw new Error('HTML must have a single root node'); + } + return fromDom(div.childNodes[0]); + }; + var fromTag = function (tag, scope) { + var doc = scope || document; + var node = doc.createElement(tag); + return fromDom(node); + }; + var fromText = function (text, scope) { + var doc = scope || document; + var node = doc.createTextNode(text); + return fromDom(node); + }; + var fromDom = function (node) { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + var fromPoint = function (docElm, x, y) { + return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + }; + var SugarElement = { + fromHtml: fromHtml, + fromTag: fromTag, + fromText: fromText, + fromDom: fromDom, + fromPoint: fromPoint + }; + + var is = function (element, selector) { + var dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + var elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + var name = function (element) { + var r = element.dom.nodeName; + return r.toLowerCase(); + }; + + var ancestor$1 = function (scope, predicate, isRoot) { + var element = scope.dom; + var stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + var el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + var closest$1 = function (scope, predicate, isRoot) { + var is = function (s, test) { + return test(s); + }; + return ClosestOrAncestor(is, ancestor$1, scope, predicate, isRoot); + }; + + var ancestor = function (scope, selector, isRoot) { + return ancestor$1(scope, function (e) { + return is(e, selector); + }, isRoot); + }; + var closest = function (scope, selector, isRoot) { + var is$1 = function (element, selector) { + return is(element, selector); + }; + return ClosestOrAncestor(is$1, ancestor, scope, selector, isRoot); + }; + + var validDefaultOrDie = function (value, predicate) { + if (predicate(value)) { + return true; + } + throw new Error('Default value doesn\'t match requested type.'); + }; + var items = function (value, defaultValue) { + if (isArray(value) || isObject(value)) { + throw new Error('expected a string but found: ' + value); + } + if (isUndefined(value)) { + return defaultValue; + } + if (isBoolean(value)) { + return value === false ? '' : defaultValue; + } + return value; + }; + var getToolbarItemsOr_ = function (predicate) { + return function (editor, name, defaultValue) { + validDefaultOrDie(defaultValue, predicate); + var value = editor.getParam(name, defaultValue); + return items(value, defaultValue); + }; + }; + var getToolbarItemsOr = getToolbarItemsOr_(isString); + + var getTextSelectionToolbarItems = function (editor) { + return getToolbarItemsOr(editor, 'quickbars_selection_toolbar', 'bold italic | quicklink h2 h3 blockquote'); + }; + var getInsertToolbarItems = function (editor) { + return getToolbarItemsOr(editor, 'quickbars_insert_toolbar', 'quickimage quicktable'); + }; + var getImageToolbarItems = function (editor) { + return getToolbarItemsOr(editor, 'quickbars_image_toolbar', 'alignleft aligncenter alignright'); + }; + + var addToEditor$1 = function (editor) { + var insertToolbarItems = getInsertToolbarItems(editor); + if (insertToolbarItems.trim().length > 0) { + editor.ui.registry.addContextToolbar('quickblock', { + predicate: function (node) { + var sugarNode = SugarElement.fromDom(node); + var textBlockElementsMap = editor.schema.getTextBlockElements(); + var isRoot = function (elem) { + return elem.dom === editor.getBody(); + }; + return closest(sugarNode, 'table', isRoot).fold(function () { + return closest$1(sugarNode, function (elem) { + return name(elem) in textBlockElementsMap && editor.dom.isEmpty(elem.dom); + }, isRoot).isSome(); + }, never); + }, + items: insertToolbarItems, + position: 'line', + scope: 'editor' + }); + } + }; + + var addToEditor = function (editor) { + var isEditable = function (node) { + return editor.dom.getContentEditableParent(node) !== 'false'; + }; + var isImage = function (node) { + return node.nodeName === 'IMG' || node.nodeName === 'FIGURE' && /image/i.test(node.className); + }; + var imageToolbarItems = getImageToolbarItems(editor); + if (imageToolbarItems.trim().length > 0) { + editor.ui.registry.addContextToolbar('imageselection', { + predicate: isImage, + items: imageToolbarItems, + position: 'node' + }); + } + var textToolbarItems = getTextSelectionToolbarItems(editor); + if (textToolbarItems.trim().length > 0) { + editor.ui.registry.addContextToolbar('textselection', { + predicate: function (node) { + return !isImage(node) && !editor.selection.isCollapsed() && isEditable(node); + }, + items: textToolbarItems, + position: 'selection', + scope: 'editor' + }); + } + }; + + function Plugin () { + global$3.add('quickbars', function (editor) { + setupButtons(editor); + addToEditor$1(editor); + addToEditor(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var enableWhenDirty = function (editor) { + return editor.getParam('save_enablewhendirty', true); + }; + var hasOnSaveCallback = function (editor) { + return !!editor.getParam('save_onsavecallback'); + }; + var hasOnCancelCallback = function (editor) { + return !!editor.getParam('save_oncancelcallback'); + }; + + var displayErrorMessage = function (editor, message) { + editor.notificationManager.open({ + text: message, + type: 'error' + }); + }; + var save = function (editor) { + var formObj = global$1.DOM.getParent(editor.id, 'form'); + if (enableWhenDirty(editor) && !editor.isDirty()) { + return; + } + editor.save(); + if (hasOnSaveCallback(editor)) { + editor.execCallback('save_onsavecallback', editor); + editor.nodeChanged(); + return; + } + if (formObj) { + editor.setDirty(false); + if (!formObj.onsubmit || formObj.onsubmit()) { + if (typeof formObj.submit === 'function') { + formObj.submit(); + } else { + displayErrorMessage(editor, 'Error: Form submit field collision.'); + } + } + editor.nodeChanged(); + } else { + displayErrorMessage(editor, 'Error: No form element found.'); + } + }; + var cancel = function (editor) { + var h = global.trim(editor.startContent); + if (hasOnCancelCallback(editor)) { + editor.execCallback('save_oncancelcallback', editor); + return; + } + editor.resetContent(h); + }; + + var register$1 = function (editor) { + editor.addCommand('mceSave', function () { + save(editor); + }); + editor.addCommand('mceCancel', function () { + cancel(editor); + }); + }; + + var stateToggle = function (editor) { + return function (api) { + var handler = function () { + api.setDisabled(enableWhenDirty(editor) && !editor.isDirty()); + }; + handler(); + editor.on('NodeChange dirty', handler); + return function () { + return editor.off('NodeChange dirty', handler); + }; + }; + }; + var register = function (editor) { + editor.ui.registry.addButton('save', { + icon: 'save', + tooltip: 'Save', + disabled: true, + onAction: function () { + return editor.execCommand('mceSave'); + }, + onSetup: stateToggle(editor) + }); + editor.ui.registry.addButton('cancel', { + icon: 'cancel', + tooltip: 'Cancel', + disabled: true, + onAction: function () { + return editor.execCommand('mceCancel'); + }, + onSetup: stateToggle(editor) + }); + editor.addShortcut('Meta+S', '', 'mceSave'); + }; + + function Plugin () { + global$2.add('save', function (editor) { + register(editor); + register$1(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType$1 = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var isString = isType$1('string'); + var isArray = isType$1('array'); + var isBoolean = isSimpleType('boolean'); + var isNumber = isSimpleType('number'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var never = constant(false); + var always = constant(true); + + var punctuationStr = '[!-#%-*,-\\/:;?@\\[-\\]_{}\xA1\xAB\xB7\xBB\xBF;\xB7\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1361-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u3008\u3009\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30\u2E31\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uff3f\uFF5B\uFF5D\uFF5F-\uFF65]'; + + var punctuation$1 = constant(punctuationStr); + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from + }; + + var punctuation = punctuation$1; + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var nativeSlice = Array.prototype.slice; + var nativePush = Array.prototype.push; + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var each = function (xs, f) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + f(x, i); + } + }; + var eachr = function (xs, f) { + for (var i = xs.length - 1; i >= 0; i--) { + var x = xs[i]; + f(x, i); + } + }; + var groupBy = function (xs, f) { + if (xs.length === 0) { + return []; + } else { + var wasType = f(xs[0]); + var r = []; + var group = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + var type = f(x); + if (type !== wasType) { + r.push(group); + group = []; + } + wasType = type; + group.push(x); + } + if (group.length !== 0) { + r.push(group); + } + return r; + } + }; + var foldl = function (xs, f, acc) { + each(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var flatten = function (xs) { + var r = []; + for (var i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + var bind = function (xs, f) { + return flatten(map(xs, f)); + }; + var sort = function (xs, comparator) { + var copy = nativeSlice.call(xs, 0); + copy.sort(comparator); + return copy; + }; + + var hasOwnProperty = Object.hasOwnProperty; + var has = function (obj, key) { + return hasOwnProperty.call(obj, key); + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + var DOCUMENT = 9; + var DOCUMENT_FRAGMENT = 11; + var ELEMENT = 1; + var TEXT = 3; + + var type = function (element) { + return element.dom.nodeType; + }; + var isType = function (t) { + return function (element) { + return type(element) === t; + }; + }; + var isText$1 = isType(TEXT); + + var rawSet = function (dom, key, value) { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + var set = function (element, key, value) { + rawSet(element.dom, key, value); + }; + + var compareDocumentPosition = function (a, b, match) { + return (a.compareDocumentPosition(b) & match) !== 0; + }; + var documentPositionPreceding = function (a, b) { + return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_PRECEDING); + }; + + var fromHtml = function (html, scope) { + var doc = scope || document; + var div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + console.error('HTML does not have a single root node', html); + throw new Error('HTML must have a single root node'); + } + return fromDom(div.childNodes[0]); + }; + var fromTag = function (tag, scope) { + var doc = scope || document; + var node = doc.createElement(tag); + return fromDom(node); + }; + var fromText = function (text, scope) { + var doc = scope || document; + var node = doc.createTextNode(text); + return fromDom(node); + }; + var fromDom = function (node) { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + var fromPoint = function (docElm, x, y) { + return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + }; + var SugarElement = { + fromHtml: fromHtml, + fromTag: fromTag, + fromText: fromText, + fromDom: fromDom, + fromPoint: fromPoint + }; + + var bypassSelector = function (dom) { + return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0; + }; + var all = function (selector, scope) { + var base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? [] : map(base.querySelectorAll(selector), SugarElement.fromDom); + }; + + var parent = function (element) { + return Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + }; + var children = function (element) { + return map(element.dom.childNodes, SugarElement.fromDom); + }; + var spot = function (element, offset) { + return { + element: element, + offset: offset + }; + }; + var leaf = function (element, offset) { + var cs = children(element); + return cs.length > 0 && offset < cs.length ? spot(cs[offset], 0) : spot(element, offset); + }; + + var before = function (marker, element) { + var parent$1 = parent(marker); + parent$1.each(function (v) { + v.dom.insertBefore(element.dom, marker.dom); + }); + }; + var append = function (parent, element) { + parent.dom.appendChild(element.dom); + }; + var wrap = function (element, wrapper) { + before(element, wrapper); + append(wrapper, element); + }; + + var NodeValue = function (is, name) { + var get = function (element) { + if (!is(element)) { + throw new Error('Can only get ' + name + ' value of a ' + name + ' node'); + } + return getOption(element).getOr(''); + }; + var getOption = function (element) { + return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none(); + }; + var set = function (element, value) { + if (!is(element)) { + throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node'); + } + element.dom.nodeValue = value; + }; + return { + get: get, + getOption: getOption, + set: set + }; + }; + + var api = NodeValue(isText$1, 'text'); + var get$1 = function (element) { + return api.get(element); + }; + + var descendants = function (scope, selector) { + return all(selector, scope); + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker'); + + var isSimpleBoundary = function (dom, node) { + return dom.isBlock(node) || has(dom.schema.getShortEndedElements(), node.nodeName); + }; + var isContentEditableFalse = function (dom, node) { + return dom.getContentEditable(node) === 'false'; + }; + var isContentEditableTrueInCef = function (dom, node) { + return dom.getContentEditable(node) === 'true' && dom.getContentEditableParent(node.parentNode) === 'false'; + }; + var isHidden = function (dom, node) { + return !dom.isBlock(node) && has(dom.schema.getWhiteSpaceElements(), node.nodeName); + }; + var isBoundary = function (dom, node) { + return isSimpleBoundary(dom, node) || isContentEditableFalse(dom, node) || isHidden(dom, node) || isContentEditableTrueInCef(dom, node); + }; + var isText = function (node) { + return node.nodeType === 3; + }; + var nuSection = function () { + return { + sOffset: 0, + fOffset: 0, + elements: [] + }; + }; + var toLeaf = function (node, offset) { + return leaf(SugarElement.fromDom(node), offset); + }; + var walk = function (dom, walkerFn, startNode, callbacks, endNode, skipStart) { + if (skipStart === void 0) { + skipStart = true; + } + var next = skipStart ? walkerFn(false) : startNode; + while (next) { + var isCefNode = isContentEditableFalse(dom, next); + if (isCefNode || isHidden(dom, next)) { + var stopWalking = isCefNode ? callbacks.cef(next) : callbacks.boundary(next); + if (stopWalking) { + break; + } else { + next = walkerFn(true); + continue; + } + } else if (isSimpleBoundary(dom, next)) { + if (callbacks.boundary(next)) { + break; + } + } else if (isText(next)) { + callbacks.text(next); + } + if (next === endNode) { + break; + } else { + next = walkerFn(false); + } + } + }; + var collectTextToBoundary = function (dom, section, node, rootNode, forwards) { + if (isBoundary(dom, node)) { + return; + } + var rootBlock = dom.getParent(rootNode, dom.isBlock); + var walker = new global$1(node, rootBlock); + var walkerFn = forwards ? walker.next.bind(walker) : walker.prev.bind(walker); + walk(dom, walkerFn, node, { + boundary: always, + cef: always, + text: function (next) { + if (forwards) { + section.fOffset += next.length; + } else { + section.sOffset += next.length; + } + section.elements.push(SugarElement.fromDom(next)); + } + }); + }; + var collect = function (dom, rootNode, startNode, endNode, callbacks, skipStart) { + if (skipStart === void 0) { + skipStart = true; + } + var walker = new global$1(startNode, rootNode); + var sections = []; + var current = nuSection(); + collectTextToBoundary(dom, current, startNode, rootNode, false); + var finishSection = function () { + if (current.elements.length > 0) { + sections.push(current); + current = nuSection(); + } + return false; + }; + walk(dom, walker.next.bind(walker), startNode, { + boundary: finishSection, + cef: function (node) { + finishSection(); + if (callbacks) { + sections.push.apply(sections, callbacks.cef(node)); + } + return false; + }, + text: function (next) { + current.elements.push(SugarElement.fromDom(next)); + if (callbacks) { + callbacks.text(next, current); + } + } + }, endNode, skipStart); + if (endNode) { + collectTextToBoundary(dom, current, endNode, rootNode, true); + } + finishSection(); + return sections; + }; + var collectRangeSections = function (dom, rng) { + var start = toLeaf(rng.startContainer, rng.startOffset); + var startNode = start.element.dom; + var end = toLeaf(rng.endContainer, rng.endOffset); + var endNode = end.element.dom; + return collect(dom, rng.commonAncestorContainer, startNode, endNode, { + text: function (node, section) { + if (node === endNode) { + section.fOffset += node.length - end.offset; + } else if (node === startNode) { + section.sOffset += start.offset; + } + }, + cef: function (node) { + var sections = bind(descendants(SugarElement.fromDom(node), '*[contenteditable=true]'), function (e) { + var ceTrueNode = e.dom; + return collect(dom, ceTrueNode, ceTrueNode); + }); + return sort(sections, function (a, b) { + return documentPositionPreceding(a.elements[0].dom, b.elements[0].dom) ? 1 : -1; + }); + } + }, false); + }; + var fromRng = function (dom, rng) { + return rng.collapsed ? [] : collectRangeSections(dom, rng); + }; + var fromNode = function (dom, node) { + var rng = dom.createRng(); + rng.selectNode(node); + return fromRng(dom, rng); + }; + var fromNodes = function (dom, nodes) { + return bind(nodes, function (node) { + return fromNode(dom, node); + }); + }; + + var find$2 = function (text, pattern, start, finish) { + if (start === void 0) { + start = 0; + } + if (finish === void 0) { + finish = text.length; + } + var regex = pattern.regex; + regex.lastIndex = start; + var results = []; + var match; + while (match = regex.exec(text)) { + var matchedText = match[pattern.matchIndex]; + var matchStart = match.index + match[0].indexOf(matchedText); + var matchFinish = matchStart + matchedText.length; + if (matchFinish > finish) { + break; + } + results.push({ + start: matchStart, + finish: matchFinish + }); + regex.lastIndex = matchFinish; + } + return results; + }; + var extract = function (elements, matches) { + var nodePositions = foldl(elements, function (acc, element) { + var content = get$1(element); + var start = acc.last; + var finish = start + content.length; + var positions = bind(matches, function (match, matchIdx) { + if (match.start < finish && match.finish > start) { + return [{ + element: element, + start: Math.max(start, match.start) - start, + finish: Math.min(finish, match.finish) - start, + matchId: matchIdx + }]; + } else { + return []; + } + }); + return { + results: acc.results.concat(positions), + last: finish + }; + }, { + results: [], + last: 0 + }).results; + return groupBy(nodePositions, function (position) { + return position.matchId; + }); + }; + + var find$1 = function (pattern, sections) { + return bind(sections, function (section) { + var elements = section.elements; + var content = map(elements, get$1).join(''); + var positions = find$2(content, pattern, section.sOffset, content.length - section.fOffset); + return extract(elements, positions); + }); + }; + var mark = function (matches, replacementNode) { + eachr(matches, function (match, idx) { + eachr(match, function (pos) { + var wrapper = SugarElement.fromDom(replacementNode.cloneNode(false)); + set(wrapper, 'data-mce-index', idx); + var textNode = pos.element.dom; + if (textNode.length === pos.finish && pos.start === 0) { + wrap(pos.element, wrapper); + } else { + if (textNode.length !== pos.finish) { + textNode.splitText(pos.finish); + } + var matchNode = textNode.splitText(pos.start); + wrap(SugarElement.fromDom(matchNode), wrapper); + } + }); + }); + }; + var findAndMark = function (dom, pattern, node, replacementNode) { + var textSections = fromNode(dom, node); + var matches = find$1(pattern, textSections); + mark(matches, replacementNode); + return matches.length; + }; + var findAndMarkInSelection = function (dom, pattern, selection, replacementNode) { + var bookmark = selection.getBookmark(); + var nodes = dom.select('td[data-mce-selected],th[data-mce-selected]'); + var textSections = nodes.length > 0 ? fromNodes(dom, nodes) : fromRng(dom, selection.getRng()); + var matches = find$1(pattern, textSections); + mark(matches, replacementNode); + selection.moveToBookmark(bookmark); + return matches.length; + }; + + var getElmIndex = function (elm) { + var value = elm.getAttribute('data-mce-index'); + if (typeof value === 'number') { + return '' + value; + } + return value; + }; + var markAllMatches = function (editor, currentSearchState, pattern, inSelection) { + var marker = editor.dom.create('span', { 'data-mce-bogus': 1 }); + marker.className = 'mce-match-marker'; + var node = editor.getBody(); + done(editor, currentSearchState, false); + if (inSelection) { + return findAndMarkInSelection(editor.dom, pattern, editor.selection, marker); + } else { + return findAndMark(editor.dom, pattern, node, marker); + } + }; + var unwrap = function (node) { + var parentNode = node.parentNode; + if (node.firstChild) { + parentNode.insertBefore(node.firstChild, node); + } + node.parentNode.removeChild(node); + }; + var findSpansByIndex = function (editor, index) { + var spans = []; + var nodes = global$2.toArray(editor.getBody().getElementsByTagName('span')); + if (nodes.length) { + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + if (nodeIndex === null || !nodeIndex.length) { + continue; + } + if (nodeIndex === index.toString()) { + spans.push(nodes[i]); + } + } + } + return spans; + }; + var moveSelection = function (editor, currentSearchState, forward) { + var searchState = currentSearchState.get(); + var testIndex = searchState.index; + var dom = editor.dom; + forward = forward !== false; + if (forward) { + if (testIndex + 1 === searchState.count) { + testIndex = 0; + } else { + testIndex++; + } + } else { + if (testIndex - 1 === -1) { + testIndex = searchState.count - 1; + } else { + testIndex--; + } + } + dom.removeClass(findSpansByIndex(editor, searchState.index), 'mce-match-marker-selected'); + var spans = findSpansByIndex(editor, testIndex); + if (spans.length) { + dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected'); + editor.selection.scrollIntoView(spans[0]); + return testIndex; + } + return -1; + }; + var removeNode = function (dom, node) { + var parent = node.parentNode; + dom.remove(node); + if (dom.isEmpty(parent)) { + dom.remove(parent); + } + }; + var escapeSearchText = function (text, wholeWord) { + var escapedText = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&').replace(/\s/g, '[^\\S\\r\\n\\uFEFF]'); + var wordRegex = '(' + escapedText + ')'; + return wholeWord ? '(?:^|\\s|' + punctuation() + ')' + wordRegex + ('(?=$|\\s|' + punctuation() + ')') : wordRegex; + }; + var find = function (editor, currentSearchState, text, matchCase, wholeWord, inSelection) { + var escapedText = escapeSearchText(text, wholeWord); + var pattern = { + regex: new RegExp(escapedText, matchCase ? 'g' : 'gi'), + matchIndex: 1 + }; + var count = markAllMatches(editor, currentSearchState, pattern, inSelection); + if (count) { + var newIndex = moveSelection(editor, currentSearchState, true); + currentSearchState.set({ + index: newIndex, + count: count, + text: text, + matchCase: matchCase, + wholeWord: wholeWord, + inSelection: inSelection + }); + } + return count; + }; + var next = function (editor, currentSearchState) { + var index = moveSelection(editor, currentSearchState, true); + currentSearchState.set(__assign(__assign({}, currentSearchState.get()), { index: index })); + }; + var prev = function (editor, currentSearchState) { + var index = moveSelection(editor, currentSearchState, false); + currentSearchState.set(__assign(__assign({}, currentSearchState.get()), { index: index })); + }; + var isMatchSpan = function (node) { + var matchIndex = getElmIndex(node); + return matchIndex !== null && matchIndex.length > 0; + }; + var replace = function (editor, currentSearchState, text, forward, all) { + var searchState = currentSearchState.get(); + var currentIndex = searchState.index; + var currentMatchIndex, nextIndex = currentIndex; + forward = forward !== false; + var node = editor.getBody(); + var nodes = global$2.grep(global$2.toArray(node.getElementsByTagName('span')), isMatchSpan); + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + var matchIndex = currentMatchIndex = parseInt(nodeIndex, 10); + if (all || matchIndex === searchState.index) { + if (text.length) { + nodes[i].firstChild.nodeValue = text; + unwrap(nodes[i]); + } else { + removeNode(editor.dom, nodes[i]); + } + while (nodes[++i]) { + matchIndex = parseInt(getElmIndex(nodes[i]), 10); + if (matchIndex === currentMatchIndex) { + removeNode(editor.dom, nodes[i]); + } else { + i--; + break; + } + } + if (forward) { + nextIndex--; + } + } else if (currentMatchIndex > currentIndex) { + nodes[i].setAttribute('data-mce-index', String(currentMatchIndex - 1)); + } + } + currentSearchState.set(__assign(__assign({}, searchState), { + count: all ? 0 : searchState.count - 1, + index: nextIndex + })); + if (forward) { + next(editor, currentSearchState); + } else { + prev(editor, currentSearchState); + } + return !all && currentSearchState.get().count > 0; + }; + var done = function (editor, currentSearchState, keepEditorSelection) { + var startContainer, endContainer; + var searchState = currentSearchState.get(); + var nodes = global$2.toArray(editor.getBody().getElementsByTagName('span')); + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + if (nodeIndex !== null && nodeIndex.length) { + if (nodeIndex === searchState.index.toString()) { + if (!startContainer) { + startContainer = nodes[i].firstChild; + } + endContainer = nodes[i].firstChild; + } + unwrap(nodes[i]); + } + } + currentSearchState.set(__assign(__assign({}, searchState), { + index: -1, + count: 0, + text: '' + })); + if (startContainer && endContainer) { + var rng = editor.dom.createRng(); + rng.setStart(startContainer, 0); + rng.setEnd(endContainer, endContainer.data.length); + if (keepEditorSelection !== false) { + editor.selection.setRng(rng); + } + return rng; + } + }; + var hasNext = function (editor, currentSearchState) { + return currentSearchState.get().count > 1; + }; + var hasPrev = function (editor, currentSearchState) { + return currentSearchState.get().count > 1; + }; + + var get = function (editor, currentState) { + var done$1 = function (keepEditorSelection) { + return done(editor, currentState, keepEditorSelection); + }; + var find$1 = function (text, matchCase, wholeWord, inSelection) { + if (inSelection === void 0) { + inSelection = false; + } + return find(editor, currentState, text, matchCase, wholeWord, inSelection); + }; + var next$1 = function () { + return next(editor, currentState); + }; + var prev$1 = function () { + return prev(editor, currentState); + }; + var replace$1 = function (text, forward, all) { + return replace(editor, currentState, text, forward, all); + }; + return { + done: done$1, + find: find$1, + next: next$1, + prev: prev$1, + replace: replace$1 + }; + }; + + var singleton = function (doRevoke) { + var subject = Cell(Optional.none()); + var revoke = function () { + return subject.get().each(doRevoke); + }; + var clear = function () { + revoke(); + subject.set(Optional.none()); + }; + var isSet = function () { + return subject.get().isSome(); + }; + var get = function () { + return subject.get(); + }; + var set = function (s) { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear: clear, + isSet: isSet, + get: get, + set: set + }; + }; + var value = function () { + var subject = singleton(noop); + var on = function (f) { + return subject.get().each(f); + }; + return __assign(__assign({}, subject), { on: on }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + var open = function (editor, currentSearchState) { + var dialogApi = value(); + editor.undoManager.add(); + var selectedText = global$2.trim(editor.selection.getContent({ format: 'text' })); + var updateButtonStates = function (api) { + var updateNext = hasNext(editor, currentSearchState) ? api.enable : api.disable; + updateNext('next'); + var updatePrev = hasPrev(editor, currentSearchState) ? api.enable : api.disable; + updatePrev('prev'); + }; + var updateSearchState = function (api) { + var data = api.getData(); + var current = currentSearchState.get(); + currentSearchState.set(__assign(__assign({}, current), { + matchCase: data.matchcase, + wholeWord: data.wholewords, + inSelection: data.inselection + })); + }; + var disableAll = function (api, disable) { + var buttons = [ + 'replace', + 'replaceall', + 'prev', + 'next' + ]; + var toggle = disable ? api.disable : api.enable; + each(buttons, toggle); + }; + var notFoundAlert = function (api) { + editor.windowManager.alert('Could not find the specified string.', function () { + api.focus('findtext'); + }); + }; + var focusButtonIfRequired = function (api, name) { + if (global.browser.isSafari() && global.deviceType.isTouch() && (name === 'find' || name === 'replace' || name === 'replaceall')) { + api.focus(name); + } + }; + var reset = function (api) { + done(editor, currentSearchState, false); + disableAll(api, true); + updateButtonStates(api); + }; + var doFind = function (api) { + var data = api.getData(); + var last = currentSearchState.get(); + if (!data.findtext.length) { + reset(api); + return; + } + if (last.text === data.findtext && last.matchCase === data.matchcase && last.wholeWord === data.wholewords) { + next(editor, currentSearchState); + } else { + var count = find(editor, currentSearchState, data.findtext, data.matchcase, data.wholewords, data.inselection); + if (count <= 0) { + notFoundAlert(api); + } + disableAll(api, count === 0); + } + updateButtonStates(api); + }; + var initialState = currentSearchState.get(); + var initialData = { + findtext: selectedText, + replacetext: '', + wholewords: initialState.wholeWord, + matchcase: initialState.matchCase, + inselection: initialState.inSelection + }; + var spec = { + title: 'Find and Replace', + size: 'normal', + body: { + type: 'panel', + items: [ + { + type: 'bar', + items: [ + { + type: 'input', + name: 'findtext', + placeholder: 'Find', + maximized: true, + inputMode: 'search' + }, + { + type: 'button', + name: 'prev', + text: 'Previous', + icon: 'action-prev', + disabled: true, + borderless: true + }, + { + type: 'button', + name: 'next', + text: 'Next', + icon: 'action-next', + disabled: true, + borderless: true + } + ] + }, + { + type: 'input', + name: 'replacetext', + placeholder: 'Replace with', + inputMode: 'search' + } + ] + }, + buttons: [ + { + type: 'menu', + name: 'options', + icon: 'preferences', + tooltip: 'Preferences', + align: 'start', + items: [ + { + type: 'togglemenuitem', + name: 'matchcase', + text: 'Match case' + }, + { + type: 'togglemenuitem', + name: 'wholewords', + text: 'Find whole words only' + }, + { + type: 'togglemenuitem', + name: 'inselection', + text: 'Find in selection' + } + ] + }, + { + type: 'custom', + name: 'find', + text: 'Find', + primary: true + }, + { + type: 'custom', + name: 'replace', + text: 'Replace', + disabled: true + }, + { + type: 'custom', + name: 'replaceall', + text: 'Replace all', + disabled: true + } + ], + initialData: initialData, + onChange: function (api, details) { + if (details.name === 'findtext' && currentSearchState.get().count > 0) { + reset(api); + } + }, + onAction: function (api, details) { + var data = api.getData(); + switch (details.name) { + case 'find': + doFind(api); + break; + case 'replace': + if (!replace(editor, currentSearchState, data.replacetext)) { + reset(api); + } else { + updateButtonStates(api); + } + break; + case 'replaceall': + replace(editor, currentSearchState, data.replacetext, true, true); + reset(api); + break; + case 'prev': + prev(editor, currentSearchState); + updateButtonStates(api); + break; + case 'next': + next(editor, currentSearchState); + updateButtonStates(api); + break; + case 'matchcase': + case 'wholewords': + case 'inselection': + updateSearchState(api); + reset(api); + break; + } + focusButtonIfRequired(api, details.name); + }, + onSubmit: function (api) { + doFind(api); + focusButtonIfRequired(api, 'find'); + }, + onClose: function () { + editor.focus(); + done(editor, currentSearchState); + editor.undoManager.add(); + } + }; + dialogApi.set(editor.windowManager.open(spec, { inline: 'toolbar' })); + }; + + var register$1 = function (editor, currentSearchState) { + editor.addCommand('SearchReplace', function () { + open(editor, currentSearchState); + }); + }; + + var showDialog = function (editor, currentSearchState) { + return function () { + open(editor, currentSearchState); + }; + }; + var register = function (editor, currentSearchState) { + editor.ui.registry.addMenuItem('searchreplace', { + text: 'Find and replace...', + shortcut: 'Meta+F', + onAction: showDialog(editor, currentSearchState), + icon: 'search' + }); + editor.ui.registry.addButton('searchreplace', { + tooltip: 'Find and replace', + onAction: showDialog(editor, currentSearchState), + icon: 'search' + }); + editor.shortcuts.add('Meta+F', '', showDialog(editor, currentSearchState)); + }; + + function Plugin () { + global$3.add('searchreplace', function (editor) { + var currentSearchState = Cell({ + index: -1, + count: 0, + text: '', + matchCase: false, + wholeWord: false, + inSelection: false + }); + register$1(editor, currentSearchState); + register(editor, currentSearchState); + return get(editor, currentSearchState); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var hasProPlugin = function (editor) { + if (editor.hasPlugin('tinymcespellchecker', true)) { + if (typeof window.console !== 'undefined' && window.console.log) { + window.console.log('Spell Checker Pro is incompatible with Spell Checker plugin! ' + 'Remove \'spellchecker\' from the \'plugins\' option.'); + } + return true; + } else { + return false; + } + }; + + var hasOwnProperty = Object.hasOwnProperty; + var isEmpty = function (r) { + for (var x in r) { + if (hasOwnProperty.call(r, x)) { + return false; + } + } + return true; + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.URI'); + + var global = tinymce.util.Tools.resolve('tinymce.util.XHR'); + + var fireSpellcheckStart = function (editor) { + return editor.fire('SpellcheckStart'); + }; + var fireSpellcheckEnd = function (editor) { + return editor.fire('SpellcheckEnd'); + }; + + var getLanguages = function (editor) { + var defaultLanguages = 'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr_FR,German=de,Italian=it,Polish=pl,Portuguese=pt_BR,Spanish=es,Swedish=sv'; + return editor.getParam('spellchecker_languages', defaultLanguages); + }; + var getLanguage = function (editor) { + var defaultLanguage = editor.getParam('language', 'en'); + return editor.getParam('spellchecker_language', defaultLanguage); + }; + var getRpcUrl = function (editor) { + return editor.getParam('spellchecker_rpc_url'); + }; + var getSpellcheckerCallback = function (editor) { + return editor.getParam('spellchecker_callback'); + }; + var getSpellcheckerWordcharPattern = function (editor) { + var defaultPattern = new RegExp('[^' + '\\s!"#$%&()*+,-./:;<=>?@[\\]^_{|}`' + '\xA7\xA9\xAB\xAE\xB1\xB6\xB7\xB8\xBB' + '\xBC\xBD\xBE\xBF\xD7\xF7\xA4\u201D\u201C\u201E\xA0\u2002\u2003\u2009' + ']+', 'g'); + return editor.getParam('spellchecker_wordchar_pattern', defaultPattern); + }; + + var isContentEditableFalse = function (node) { + return node && node.nodeType === 1 && node.contentEditable === 'false'; + }; + var DomTextMatcher = function (node, editor) { + var m, matches = []; + var dom = editor.dom; + var blockElementsMap = editor.schema.getBlockElements(); + var hiddenTextElementsMap = editor.schema.getWhiteSpaceElements(); + var shortEndedElementsMap = editor.schema.getShortEndedElements(); + var createMatch = function (m, data) { + if (!m[0]) { + throw new Error('findAndReplaceDOMText cannot handle zero-length matches'); + } + return { + start: m.index, + end: m.index + m[0].length, + text: m[0], + data: data + }; + }; + var getText = function (node) { + if (node.nodeType === 3) { + return node.data; + } + if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) { + return ''; + } + if (isContentEditableFalse(node)) { + return '\n'; + } + var txt = ''; + if (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) { + txt += '\n'; + } + if (node = node.firstChild) { + do { + txt += getText(node); + } while (node = node.nextSibling); + } + return txt; + }; + var stepThroughMatches = function (node, matches, replaceFn) { + var startNode, endNode, startNodeIndex, endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, matchLocation, matchIndex = 0; + matches = matches.slice(0); + matches.sort(function (a, b) { + return a.start - b.start; + }); + matchLocation = matches.shift(); + out: + while (true) { + if (blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName] || isContentEditableFalse(curNode)) { + atIndex++; + } + if (curNode.nodeType === 3) { + if (!endNode && curNode.length + atIndex >= matchLocation.end) { + endNode = curNode; + endNodeIndex = matchLocation.end - atIndex; + } else if (startNode) { + innerNodes.push(curNode); + } + if (!startNode && curNode.length + atIndex > matchLocation.start) { + startNode = curNode; + startNodeIndex = matchLocation.start - atIndex; + } + atIndex += curNode.length; + } + if (startNode && endNode) { + curNode = replaceFn({ + startNode: startNode, + startNodeIndex: startNodeIndex, + endNode: endNode, + endNodeIndex: endNodeIndex, + innerNodes: innerNodes, + match: matchLocation.text, + matchIndex: matchIndex + }); + atIndex -= endNode.length - endNodeIndex; + startNode = null; + endNode = null; + innerNodes = []; + matchLocation = matches.shift(); + matchIndex++; + if (!matchLocation) { + break; + } + } else if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { + if (!isContentEditableFalse(curNode)) { + curNode = curNode.firstChild; + continue; + } + } else if (curNode.nextSibling) { + curNode = curNode.nextSibling; + continue; + } + while (true) { + if (curNode.nextSibling) { + curNode = curNode.nextSibling; + break; + } else if (curNode.parentNode !== node) { + curNode = curNode.parentNode; + } else { + break out; + } + } + } + }; + var genReplacer = function (callback) { + var makeReplacementNode = function (fill, matchIndex) { + var match = matches[matchIndex]; + if (!match.stencil) { + match.stencil = callback(match); + } + var clone = match.stencil.cloneNode(false); + clone.setAttribute('data-mce-index', '' + matchIndex); + if (fill) { + clone.appendChild(dom.doc.createTextNode(fill)); + } + return clone; + }; + return function (range) { + var before; + var after; + var parentNode; + var startNode = range.startNode; + var endNode = range.endNode; + var matchIndex = range.matchIndex; + var doc = dom.doc; + if (startNode === endNode) { + var node_1 = startNode; + parentNode = node_1.parentNode; + if (range.startNodeIndex > 0) { + before = doc.createTextNode(node_1.data.substring(0, range.startNodeIndex)); + parentNode.insertBefore(before, node_1); + } + var el = makeReplacementNode(range.match, matchIndex); + parentNode.insertBefore(el, node_1); + if (range.endNodeIndex < node_1.length) { + after = doc.createTextNode(node_1.data.substring(range.endNodeIndex)); + parentNode.insertBefore(after, node_1); + } + node_1.parentNode.removeChild(node_1); + return el; + } + before = doc.createTextNode(startNode.data.substring(0, range.startNodeIndex)); + after = doc.createTextNode(endNode.data.substring(range.endNodeIndex)); + var elA = makeReplacementNode(startNode.data.substring(range.startNodeIndex), matchIndex); + for (var i = 0, l = range.innerNodes.length; i < l; ++i) { + var innerNode = range.innerNodes[i]; + var innerEl = makeReplacementNode(innerNode.data, matchIndex); + innerNode.parentNode.replaceChild(innerEl, innerNode); + } + var elB = makeReplacementNode(endNode.data.substring(0, range.endNodeIndex), matchIndex); + parentNode = startNode.parentNode; + parentNode.insertBefore(before, startNode); + parentNode.insertBefore(elA, startNode); + parentNode.removeChild(startNode); + parentNode = endNode.parentNode; + parentNode.insertBefore(elB, endNode); + parentNode.insertBefore(after, endNode); + parentNode.removeChild(endNode); + return elB; + }; + }; + var unwrapElement = function (element) { + var parentNode = element.parentNode; + while (element.childNodes.length > 0) { + parentNode.insertBefore(element.childNodes[0], element); + } + parentNode.removeChild(element); + }; + var hasClass = function (elm) { + return elm.className.indexOf('mce-spellchecker-word') !== -1; + }; + var getWrappersByIndex = function (index) { + var elements = node.getElementsByTagName('*'), wrappers = []; + index = typeof index === 'number' ? '' + index : null; + for (var i = 0; i < elements.length; i++) { + var element = elements[i], dataIndex = element.getAttribute('data-mce-index'); + if (dataIndex !== null && dataIndex.length && hasClass(element)) { + if (dataIndex === index || index === null) { + wrappers.push(element); + } + } + } + return wrappers; + }; + var indexOf = function (match) { + var i = matches.length; + while (i--) { + if (matches[i] === match) { + return i; + } + } + return -1; + }; + function filter(callback) { + var filteredMatches = []; + each(function (match, i) { + if (callback(match, i)) { + filteredMatches.push(match); + } + }); + matches = filteredMatches; + return this; + } + function each(callback) { + for (var i = 0, l = matches.length; i < l; i++) { + if (callback(matches[i], i) === false) { + break; + } + } + return this; + } + function wrap(callback) { + if (matches.length) { + stepThroughMatches(node, matches, genReplacer(callback)); + } + return this; + } + function find(regex, data) { + if (text && regex.global) { + while (m = regex.exec(text)) { + matches.push(createMatch(m, data)); + } + } + return this; + } + function unwrap(match) { + var i; + var elements = getWrappersByIndex(match ? indexOf(match) : null); + i = elements.length; + while (i--) { + unwrapElement(elements[i]); + } + return this; + } + var matchFromElement = function (element) { + return matches[element.getAttribute('data-mce-index')]; + }; + var elementFromMatch = function (match) { + return getWrappersByIndex(indexOf(match))[0]; + }; + function add(start, length, data) { + matches.push({ + start: start, + end: start + length, + text: text.substr(start, length), + data: data + }); + return this; + } + var rangeFromMatch = function (match) { + var wrappers = getWrappersByIndex(indexOf(match)); + var rng = editor.dom.createRng(); + rng.setStartBefore(wrappers[0]); + rng.setEndAfter(wrappers[wrappers.length - 1]); + return rng; + }; + var replace = function (match, text) { + var rng = rangeFromMatch(match); + rng.deleteContents(); + if (text.length > 0) { + rng.insertNode(editor.dom.doc.createTextNode(text)); + } + return rng; + }; + function reset() { + matches.splice(0, matches.length); + unwrap(); + return this; + } + var text = getText(node); + return { + text: text, + matches: matches, + each: each, + filter: filter, + reset: reset, + matchFromElement: matchFromElement, + elementFromMatch: elementFromMatch, + find: find, + add: add, + wrap: wrap, + unwrap: unwrap, + replace: replace, + rangeFromMatch: rangeFromMatch, + indexOf: indexOf + }; + }; + + var getTextMatcher = function (editor, textMatcherState) { + if (!textMatcherState.get()) { + var textMatcher = DomTextMatcher(editor.getBody(), editor); + textMatcherState.set(textMatcher); + } + return textMatcherState.get(); + }; + var defaultSpellcheckCallback = function (editor, pluginUrl, currentLanguageState) { + return function (method, text, doneCallback, errorCallback) { + var data = { + method: method, + lang: currentLanguageState.get() + }; + var postData = ''; + data[method === 'addToDictionary' ? 'word' : 'text'] = text; + global$2.each(data, function (value, key) { + if (postData) { + postData += '&'; + } + postData += key + '=' + encodeURIComponent(value); + }); + global.send({ + url: new global$1(pluginUrl).toAbsolute(getRpcUrl(editor)), + type: 'post', + content_type: 'application/x-www-form-urlencoded', + data: postData, + success: function (result) { + var parseResult = JSON.parse(result); + if (!parseResult) { + var message = editor.translate('Server response wasn\'t proper JSON.'); + errorCallback(message); + } else if (parseResult.error) { + errorCallback(parseResult.error); + } else { + doneCallback(parseResult); + } + }, + error: function () { + var message = editor.translate('The spelling service was not found: (') + getRpcUrl(editor) + editor.translate(')'); + errorCallback(message); + } + }); + }; + }; + var sendRpcCall = function (editor, pluginUrl, currentLanguageState, name, data, successCallback, errorCallback) { + var userSpellcheckCallback = getSpellcheckerCallback(editor); + var spellCheckCallback = userSpellcheckCallback ? userSpellcheckCallback : defaultSpellcheckCallback(editor, pluginUrl, currentLanguageState); + spellCheckCallback.call(editor.plugins.spellchecker, name, data, successCallback, errorCallback); + }; + var spellcheck = function (editor, pluginUrl, startedState, textMatcherState, lastSuggestionsState, currentLanguageState) { + if (finish(editor, startedState, textMatcherState)) { + return; + } + var errorCallback = function (message) { + editor.notificationManager.open({ + text: message, + type: 'error' + }); + editor.setProgressState(false); + finish(editor, startedState, textMatcherState); + }; + var successCallback = function (data) { + markErrors(editor, startedState, textMatcherState, lastSuggestionsState, data); + }; + editor.setProgressState(true); + sendRpcCall(editor, pluginUrl, currentLanguageState, 'spellcheck', getTextMatcher(editor, textMatcherState).text, successCallback, errorCallback); + editor.focus(); + }; + var checkIfFinished = function (editor, startedState, textMatcherState) { + if (!editor.dom.select('span.mce-spellchecker-word').length) { + finish(editor, startedState, textMatcherState); + } + }; + var addToDictionary = function (editor, pluginUrl, startedState, textMatcherState, currentLanguageState, word, spans) { + editor.setProgressState(true); + sendRpcCall(editor, pluginUrl, currentLanguageState, 'addToDictionary', word, function () { + editor.setProgressState(false); + editor.dom.remove(spans, true); + checkIfFinished(editor, startedState, textMatcherState); + }, function (message) { + editor.notificationManager.open({ + text: message, + type: 'error' + }); + editor.setProgressState(false); + }); + }; + var ignoreWord = function (editor, startedState, textMatcherState, word, spans, all) { + editor.selection.collapse(); + if (all) { + global$2.each(editor.dom.select('span.mce-spellchecker-word'), function (span) { + if (span.getAttribute('data-mce-word') === word) { + editor.dom.remove(span, true); + } + }); + } else { + editor.dom.remove(spans, true); + } + checkIfFinished(editor, startedState, textMatcherState); + }; + var finish = function (editor, startedState, textMatcherState) { + var bookmark = editor.selection.getBookmark(); + getTextMatcher(editor, textMatcherState).reset(); + editor.selection.moveToBookmark(bookmark); + textMatcherState.set(null); + if (startedState.get()) { + startedState.set(false); + fireSpellcheckEnd(editor); + return true; + } + }; + var getElmIndex = function (elm) { + var value = elm.getAttribute('data-mce-index'); + if (typeof value === 'number') { + return '' + value; + } + return value; + }; + var findSpansByIndex = function (editor, index) { + var spans = []; + var nodes = global$2.toArray(editor.getBody().getElementsByTagName('span')); + if (nodes.length) { + for (var i = 0; i < nodes.length; i++) { + var nodeIndex = getElmIndex(nodes[i]); + if (nodeIndex === null || !nodeIndex.length) { + continue; + } + if (nodeIndex === index.toString()) { + spans.push(nodes[i]); + } + } + } + return spans; + }; + var markErrors = function (editor, startedState, textMatcherState, lastSuggestionsState, data) { + var hasDictionarySupport = !!data.dictionary; + var suggestions = data.words; + editor.setProgressState(false); + if (isEmpty(suggestions)) { + var message = editor.translate('No misspellings found.'); + editor.notificationManager.open({ + text: message, + type: 'info' + }); + startedState.set(false); + return; + } + lastSuggestionsState.set({ + suggestions: suggestions, + hasDictionarySupport: hasDictionarySupport + }); + var bookmark = editor.selection.getBookmark(); + getTextMatcher(editor, textMatcherState).find(getSpellcheckerWordcharPattern(editor)).filter(function (match) { + return !!suggestions[match.text]; + }).wrap(function (match) { + return editor.dom.create('span', { + 'class': 'mce-spellchecker-word', + 'aria-invalid': 'spelling', + 'data-mce-bogus': 1, + 'data-mce-word': match.text + }); + }); + editor.selection.moveToBookmark(bookmark); + startedState.set(true); + fireSpellcheckStart(editor); + }; + + var get = function (editor, startedState, lastSuggestionsState, textMatcherState, currentLanguageState) { + var getWordCharPattern = function () { + return getSpellcheckerWordcharPattern(editor); + }; + var markErrors$1 = function (data) { + markErrors(editor, startedState, textMatcherState, lastSuggestionsState, data); + }; + return { + getTextMatcher: textMatcherState.get, + getWordCharPattern: getWordCharPattern, + markErrors: markErrors$1, + getLanguage: currentLanguageState.get + }; + }; + + var register$1 = function (editor, pluginUrl, startedState, textMatcherState, lastSuggestionsState, currentLanguageState) { + editor.addCommand('mceSpellCheck', function () { + spellcheck(editor, pluginUrl, startedState, textMatcherState, lastSuggestionsState, currentLanguageState); + }); + }; + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var spellcheckerEvents = 'SpellcheckStart SpellcheckEnd'; + var buildMenuItems = function (listName, languageValues) { + var items = []; + global$2.each(languageValues, function (languageValue) { + items.push({ + selectable: true, + text: languageValue.name, + data: languageValue.value + }); + }); + return items; + }; + var getItems = function (editor) { + return global$2.map(getLanguages(editor).split(','), function (langPair) { + var langPairs = langPair.split('='); + return { + name: langPairs[0], + value: langPairs[1] + }; + }); + }; + var register = function (editor, pluginUrl, startedState, textMatcherState, currentLanguageState, lastSuggestionsState) { + var languageMenuItems = buildMenuItems('Language', getItems(editor)); + var startSpellchecking = function () { + spellcheck(editor, pluginUrl, startedState, textMatcherState, lastSuggestionsState, currentLanguageState); + }; + var buttonArgs = { + tooltip: 'Spellcheck', + onAction: startSpellchecking, + icon: 'spell-check', + onSetup: function (buttonApi) { + var setButtonState = function () { + buttonApi.setActive(startedState.get()); + }; + editor.on(spellcheckerEvents, setButtonState); + return function () { + editor.off(spellcheckerEvents, setButtonState); + }; + } + }; + var splitButtonArgs = __assign(__assign({}, buttonArgs), { + type: 'splitbutton', + select: function (value) { + return value === currentLanguageState.get(); + }, + fetch: function (callback) { + var items = global$2.map(languageMenuItems, function (languageItem) { + return { + type: 'choiceitem', + value: languageItem.data, + text: languageItem.text + }; + }); + callback(items); + }, + onItemAction: function (splitButtonApi, value) { + currentLanguageState.set(value); + } + }); + if (languageMenuItems.length > 1) { + editor.ui.registry.addSplitButton('spellchecker', splitButtonArgs); + } else { + editor.ui.registry.addToggleButton('spellchecker', buttonArgs); + } + editor.ui.registry.addToggleMenuItem('spellchecker', { + text: 'Spellcheck', + icon: 'spell-check', + onSetup: function (menuApi) { + menuApi.setActive(startedState.get()); + var setMenuItemCheck = function () { + menuApi.setActive(startedState.get()); + }; + editor.on(spellcheckerEvents, setMenuItemCheck); + return function () { + editor.off(spellcheckerEvents, setMenuItemCheck); + }; + }, + onAction: startSpellchecking + }); + }; + + var ignoreAll = true; + var getSuggestions = function (editor, pluginUrl, lastSuggestionsState, startedState, textMatcherState, currentLanguageState, word, spans) { + var items = []; + var suggestions = lastSuggestionsState.get().suggestions[word]; + global$2.each(suggestions, function (suggestion) { + items.push({ + text: suggestion, + onAction: function () { + editor.insertContent(editor.dom.encode(suggestion)); + editor.dom.remove(spans); + checkIfFinished(editor, startedState, textMatcherState); + } + }); + }); + var hasDictionarySupport = lastSuggestionsState.get().hasDictionarySupport; + if (hasDictionarySupport) { + items.push({ type: 'separator' }); + items.push({ + text: 'Add to dictionary', + onAction: function () { + addToDictionary(editor, pluginUrl, startedState, textMatcherState, currentLanguageState, word, spans); + } + }); + } + items.push.apply(items, [ + { type: 'separator' }, + { + text: 'Ignore', + onAction: function () { + ignoreWord(editor, startedState, textMatcherState, word, spans); + } + }, + { + text: 'Ignore all', + onAction: function () { + ignoreWord(editor, startedState, textMatcherState, word, spans, ignoreAll); + } + } + ]); + return items; + }; + var setup = function (editor, pluginUrl, lastSuggestionsState, startedState, textMatcherState, currentLanguageState) { + var update = function (element) { + var target = element; + if (target.className === 'mce-spellchecker-word') { + var spans = findSpansByIndex(editor, getElmIndex(target)); + if (spans.length > 0) { + var rng = editor.dom.createRng(); + rng.setStartBefore(spans[0]); + rng.setEndAfter(spans[spans.length - 1]); + editor.selection.setRng(rng); + return getSuggestions(editor, pluginUrl, lastSuggestionsState, startedState, textMatcherState, currentLanguageState, target.getAttribute('data-mce-word'), spans); + } + } else { + return []; + } + }; + editor.ui.registry.addContextMenu('spellchecker', { update: update }); + }; + + function Plugin () { + global$3.add('spellchecker', function (editor, pluginUrl) { + if (hasProPlugin(editor) === false) { + console.warn('The spellchecker plugin has been deprecated and marked for removal in TinyMCE 6.0'); + var startedState = Cell(false); + var currentLanguageState = Cell(getLanguage(editor)); + var textMatcherState = Cell(null); + var lastSuggestionsState = Cell(null); + register(editor, pluginUrl, startedState, textMatcherState, currentLanguageState, lastSuggestionsState); + setup(editor, pluginUrl, lastSuggestionsState, startedState, textMatcherState, currentLanguageState); + register$1(editor, pluginUrl, startedState, textMatcherState, lastSuggestionsState, currentLanguageState); + return get(editor, startedState, lastSuggestionsState, textMatcherState, currentLanguageState); + } + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$6 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$5 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$4 = tinymce.util.Tools.resolve('tinymce.EditorManager'); + + var global$3 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var global = tinymce.util.Tools.resolve('tinymce.util.VK'); + + var getTabFocusElements = function (editor) { + return editor.getParam('tabfocus_elements', ':prev,:next'); + }; + var getTabFocus = function (editor) { + return editor.getParam('tab_focus', getTabFocusElements(editor)); + }; + + var DOM = global$5.DOM; + var tabCancel = function (e) { + if (e.keyCode === global.TAB && !e.ctrlKey && !e.altKey && !e.metaKey) { + e.preventDefault(); + } + }; + var setup = function (editor) { + var tabHandler = function (e) { + var x; + if (e.keyCode !== global.TAB || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented()) { + return; + } + var find = function (direction) { + var el = DOM.select(':input:enabled,*[tabindex]:not(iframe)'); + var canSelectRecursive = function (e) { + var castElem = e; + return e.nodeName === 'BODY' || castElem.type !== 'hidden' && castElem.style.display !== 'none' && castElem.style.visibility !== 'hidden' && canSelectRecursive(e.parentNode); + }; + var canSelect = function (el) { + return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && global$4.get(e.id) && el.tabIndex !== -1 && canSelectRecursive(el); + }; + global$1.each(el, function (e, i) { + if (e.id === editor.id) { + x = i; + return false; + } + }); + if (direction > 0) { + for (var i = x + 1; i < el.length; i++) { + if (canSelect(el[i])) { + return el[i]; + } + } + } else { + for (var i = x - 1; i >= 0; i--) { + if (canSelect(el[i])) { + return el[i]; + } + } + } + return null; + }; + var v = global$1.explode(getTabFocus(editor)); + if (v.length === 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + var el; + if (e.shiftKey) { + if (v[0] === ':prev') { + el = find(-1); + } else { + el = DOM.get(v[0]); + } + } else { + if (v[1] === ':next') { + el = find(1); + } else { + el = DOM.get(v[1]); + } + } + if (el) { + var focusEditor = global$4.get(el.id || el.name); + if (el.id && focusEditor) { + focusEditor.focus(); + } else { + global$2.setTimeout(function () { + if (!global$3.webkit) { + window.focus(); + } + el.focus(); + }, 10); + } + e.preventDefault(); + } + }; + editor.on('init', function () { + if (editor.inline) { + DOM.setAttrib(editor.getBody(), 'tabIndex', null); + } + editor.on('keyup', tabCancel); + if (global$3.gecko) { + editor.on('keypress keydown', tabHandler); + } else { + editor.on('keydown', tabHandler); + } + }); + }; + + function Plugin () { + global$6.add('tabfocus', function (editor) { + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType$1 = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var eq$2 = function (t) { + return function (a) { + return t === a; + }; + }; + var isString = isType$1('string'); + var isObject = isType$1('object'); + var isArray = isType$1('array'); + var isNull = eq$2(null); + var isBoolean = isSimpleType('boolean'); + var isUndefined = eq$2(undefined); + var isNullable = function (a) { + return a === null || a === undefined; + }; + var isNonNullable = function (a) { + return !isNullable(a); + }; + var isFunction = isSimpleType('function'); + var isNumber = isSimpleType('number'); + + var noop = function () { + }; + var compose = function (fa, fb) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + return fa(fb.apply(null, args)); + }; + }; + var compose1 = function (fbc, fab) { + return function (a) { + return fbc(fab(a)); + }; + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var tripleEquals = function (a, b) { + return a === b; + }; + function curry(fn) { + var initialArgs = []; + for (var _i = 1; _i < arguments.length; _i++) { + initialArgs[_i - 1] = arguments[_i]; + } + return function () { + var restArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + restArgs[_i] = arguments[_i]; + } + var all = initialArgs.concat(restArgs); + return fn.apply(null, all); + }; + } + var not = function (f) { + return function (t) { + return !f(t); + }; + }; + var die = function (msg) { + return function () { + throw new Error(msg); + }; + }; + var never = constant(false); + var always = constant(true); + + var none$2 = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none$2, + each: noop, + bind: none$2, + exists: never, + forall: always, + filter: function () { + return none$2(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from$1 = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none$2, + from: from$1 + }; + + var nativeSlice = Array.prototype.slice; + var nativeIndexOf = Array.prototype.indexOf; + var nativePush = Array.prototype.push; + var rawIndexOf = function (ts, t) { + return nativeIndexOf.call(ts, t); + }; + var contains$2 = function (xs, x) { + return rawIndexOf(xs, x) > -1; + }; + var exists = function (xs, pred) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return true; + } + } + return false; + }; + var range$1 = function (num, f) { + var r = []; + for (var i = 0; i < num; i++) { + r.push(f(i)); + } + return r; + }; + var map$1 = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var each$2 = function (xs, f) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + f(x, i); + } + }; + var eachr = function (xs, f) { + for (var i = xs.length - 1; i >= 0; i--) { + var x = xs[i]; + f(x, i); + } + }; + var partition = function (xs, pred) { + var pass = []; + var fail = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + var arr = pred(x, i) ? pass : fail; + arr.push(x); + } + return { + pass: pass, + fail: fail + }; + }; + var filter$2 = function (xs, pred) { + var r = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + var foldr = function (xs, f, acc) { + eachr(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var foldl = function (xs, f, acc) { + each$2(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var findUntil = function (xs, pred, until) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + var find$1 = function (xs, pred) { + return findUntil(xs, pred, never); + }; + var findIndex = function (xs, pred) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return Optional.some(i); + } + } + return Optional.none(); + }; + var flatten$1 = function (xs) { + var r = []; + for (var i = 0, len = xs.length; i < len; ++i) { + if (!isArray(xs[i])) { + throw new Error('Arr.flatten item ' + i + ' was not an array, input: ' + xs); + } + nativePush.apply(r, xs[i]); + } + return r; + }; + var bind$2 = function (xs, f) { + return flatten$1(map$1(xs, f)); + }; + var forall = function (xs, pred) { + for (var i = 0, len = xs.length; i < len; ++i) { + var x = xs[i]; + if (pred(x, i) !== true) { + return false; + } + } + return true; + }; + var reverse = function (xs) { + var r = nativeSlice.call(xs, 0); + r.reverse(); + return r; + }; + var mapToObject = function (xs, f) { + var r = {}; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + r[String(x)] = f(x, i); + } + return r; + }; + var pure = function (x) { + return [x]; + }; + var sort$1 = function (xs, comparator) { + var copy = nativeSlice.call(xs, 0); + copy.sort(comparator); + return copy; + }; + var get$d = function (xs, i) { + return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + }; + var head = function (xs) { + return get$d(xs, 0); + }; + var last$2 = function (xs) { + return get$d(xs, xs.length - 1); + }; + var findMap = function (arr, f) { + for (var i = 0; i < arr.length; i++) { + var r = f(arr[i], i); + if (r.isSome()) { + return r; + } + } + return Optional.none(); + }; + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + } + + var cached = function (f) { + var called = false; + var r; + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (!called) { + called = true; + r = f.apply(null, args); + } + return r; + }; + }; + + var DeviceType = function (os, browser, userAgent, mediaMatch) { + var isiPad = os.isiOS() && /ipad/i.test(userAgent) === true; + var isiPhone = os.isiOS() && !isiPad; + var isMobile = os.isiOS() || os.isAndroid(); + var isTouch = isMobile || mediaMatch('(pointer:coarse)'); + var isTablet = isiPad || !isiPhone && isMobile && mediaMatch('(min-device-width:768px)'); + var isPhone = isiPhone || isMobile && !isTablet; + var iOSwebview = browser.isSafari() && os.isiOS() && /safari/i.test(userAgent) === false; + var isDesktop = !isPhone && !isTablet && !iOSwebview; + return { + isiPad: constant(isiPad), + isiPhone: constant(isiPhone), + isTablet: constant(isTablet), + isPhone: constant(isPhone), + isTouch: constant(isTouch), + isAndroid: os.isAndroid, + isiOS: os.isiOS, + isWebView: constant(iOSwebview), + isDesktop: constant(isDesktop) + }; + }; + + var firstMatch = function (regexes, s) { + for (var i = 0; i < regexes.length; i++) { + var x = regexes[i]; + if (x.test(s)) { + return x; + } + } + return undefined; + }; + var find = function (regexes, agent) { + var r = firstMatch(regexes, agent); + if (!r) { + return { + major: 0, + minor: 0 + }; + } + var group = function (i) { + return Number(agent.replace(r, '$' + i)); + }; + return nu$2(group(1), group(2)); + }; + var detect$6 = function (versionRegexes, agent) { + var cleanedAgent = String(agent).toLowerCase(); + if (versionRegexes.length === 0) { + return unknown$2(); + } + return find(versionRegexes, cleanedAgent); + }; + var unknown$2 = function () { + return nu$2(0, 0); + }; + var nu$2 = function (major, minor) { + return { + major: major, + minor: minor + }; + }; + var Version = { + nu: nu$2, + detect: detect$6, + unknown: unknown$2 + }; + + var detectBrowser$1 = function (browsers, userAgentData) { + return findMap(userAgentData.brands, function (uaBrand) { + var lcBrand = uaBrand.brand.toLowerCase(); + return find$1(browsers, function (browser) { + var _a; + return lcBrand === ((_a = browser.brand) === null || _a === void 0 ? void 0 : _a.toLowerCase()); + }).map(function (info) { + return { + current: info.name, + version: Version.nu(parseInt(uaBrand.version, 10), 0) + }; + }); + }); + }; + + var detect$5 = function (candidates, userAgent) { + var agent = String(userAgent).toLowerCase(); + return find$1(candidates, function (candidate) { + return candidate.search(agent); + }); + }; + var detectBrowser = function (browsers, userAgent) { + return detect$5(browsers, userAgent).map(function (browser) { + var version = Version.detect(browser.versionRegexes, userAgent); + return { + current: browser.name, + version: version + }; + }); + }; + var detectOs = function (oses, userAgent) { + return detect$5(oses, userAgent).map(function (os) { + var version = Version.detect(os.versionRegexes, userAgent); + return { + current: os.name, + version: version + }; + }); + }; + + var removeFromStart = function (str, numChars) { + return str.substring(numChars); + }; + + var checkRange = function (str, substr, start) { + return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + }; + var removeLeading = function (str, prefix) { + return startsWith(str, prefix) ? removeFromStart(str, prefix.length) : str; + }; + var contains$1 = function (str, substr) { + return str.indexOf(substr) !== -1; + }; + var startsWith = function (str, prefix) { + return checkRange(str, prefix, 0); + }; + var endsWith = function (str, suffix) { + return checkRange(str, suffix, str.length - suffix.length); + }; + var blank = function (r) { + return function (s) { + return s.replace(r, ''); + }; + }; + var trim = blank(/^\s+|\s+$/g); + var isNotEmpty = function (s) { + return s.length > 0; + }; + var isEmpty$1 = function (s) { + return !isNotEmpty(s); + }; + + var normalVersionRegex = /.*?version\/\ ?([0-9]+)\.([0-9]+).*/; + var checkContains = function (target) { + return function (uastring) { + return contains$1(uastring, target); + }; + }; + var browsers = [ + { + name: 'Edge', + versionRegexes: [/.*?edge\/ ?([0-9]+)\.([0-9]+)$/], + search: function (uastring) { + return contains$1(uastring, 'edge/') && contains$1(uastring, 'chrome') && contains$1(uastring, 'safari') && contains$1(uastring, 'applewebkit'); + } + }, + { + name: 'Chrome', + brand: 'Chromium', + versionRegexes: [ + /.*?chrome\/([0-9]+)\.([0-9]+).*/, + normalVersionRegex + ], + search: function (uastring) { + return contains$1(uastring, 'chrome') && !contains$1(uastring, 'chromeframe'); + } + }, + { + name: 'IE', + versionRegexes: [ + /.*?msie\ ?([0-9]+)\.([0-9]+).*/, + /.*?rv:([0-9]+)\.([0-9]+).*/ + ], + search: function (uastring) { + return contains$1(uastring, 'msie') || contains$1(uastring, 'trident'); + } + }, + { + name: 'Opera', + versionRegexes: [ + normalVersionRegex, + /.*?opera\/([0-9]+)\.([0-9]+).*/ + ], + search: checkContains('opera') + }, + { + name: 'Firefox', + versionRegexes: [/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/], + search: checkContains('firefox') + }, + { + name: 'Safari', + versionRegexes: [ + normalVersionRegex, + /.*?cpu os ([0-9]+)_([0-9]+).*/ + ], + search: function (uastring) { + return (contains$1(uastring, 'safari') || contains$1(uastring, 'mobile/')) && contains$1(uastring, 'applewebkit'); + } + } + ]; + var oses = [ + { + name: 'Windows', + search: checkContains('win'), + versionRegexes: [/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'iOS', + search: function (uastring) { + return contains$1(uastring, 'iphone') || contains$1(uastring, 'ipad'); + }, + versionRegexes: [ + /.*?version\/\ ?([0-9]+)\.([0-9]+).*/, + /.*cpu os ([0-9]+)_([0-9]+).*/, + /.*cpu iphone os ([0-9]+)_([0-9]+).*/ + ] + }, + { + name: 'Android', + search: checkContains('android'), + versionRegexes: [/.*?android\ ?([0-9]+)\.([0-9]+).*/] + }, + { + name: 'OSX', + search: checkContains('mac os x'), + versionRegexes: [/.*?mac\ os\ x\ ?([0-9]+)_([0-9]+).*/] + }, + { + name: 'Linux', + search: checkContains('linux'), + versionRegexes: [] + }, + { + name: 'Solaris', + search: checkContains('sunos'), + versionRegexes: [] + }, + { + name: 'FreeBSD', + search: checkContains('freebsd'), + versionRegexes: [] + }, + { + name: 'ChromeOS', + search: checkContains('cros'), + versionRegexes: [/.*?chrome\/([0-9]+)\.([0-9]+).*/] + } + ]; + var PlatformInfo = { + browsers: constant(browsers), + oses: constant(oses) + }; + + var edge = 'Edge'; + var chrome = 'Chrome'; + var ie = 'IE'; + var opera = 'Opera'; + var firefox = 'Firefox'; + var safari = 'Safari'; + var unknown$1 = function () { + return nu$1({ + current: undefined, + version: Version.unknown() + }); + }; + var nu$1 = function (info) { + var current = info.current; + var version = info.version; + var isBrowser = function (name) { + return function () { + return current === name; + }; + }; + return { + current: current, + version: version, + isEdge: isBrowser(edge), + isChrome: isBrowser(chrome), + isIE: isBrowser(ie), + isOpera: isBrowser(opera), + isFirefox: isBrowser(firefox), + isSafari: isBrowser(safari) + }; + }; + var Browser = { + unknown: unknown$1, + nu: nu$1, + edge: constant(edge), + chrome: constant(chrome), + ie: constant(ie), + opera: constant(opera), + firefox: constant(firefox), + safari: constant(safari) + }; + + var windows = 'Windows'; + var ios = 'iOS'; + var android = 'Android'; + var linux = 'Linux'; + var osx = 'OSX'; + var solaris = 'Solaris'; + var freebsd = 'FreeBSD'; + var chromeos = 'ChromeOS'; + var unknown = function () { + return nu({ + current: undefined, + version: Version.unknown() + }); + }; + var nu = function (info) { + var current = info.current; + var version = info.version; + var isOS = function (name) { + return function () { + return current === name; + }; + }; + return { + current: current, + version: version, + isWindows: isOS(windows), + isiOS: isOS(ios), + isAndroid: isOS(android), + isOSX: isOS(osx), + isLinux: isOS(linux), + isSolaris: isOS(solaris), + isFreeBSD: isOS(freebsd), + isChromeOS: isOS(chromeos) + }; + }; + var OperatingSystem = { + unknown: unknown, + nu: nu, + windows: constant(windows), + ios: constant(ios), + android: constant(android), + linux: constant(linux), + osx: constant(osx), + solaris: constant(solaris), + freebsd: constant(freebsd), + chromeos: constant(chromeos) + }; + + var detect$4 = function (userAgent, userAgentDataOpt, mediaMatch) { + var browsers = PlatformInfo.browsers(); + var oses = PlatformInfo.oses(); + var browser = userAgentDataOpt.bind(function (userAgentData) { + return detectBrowser$1(browsers, userAgentData); + }).orThunk(function () { + return detectBrowser(browsers, userAgent); + }).fold(Browser.unknown, Browser.nu); + var os = detectOs(oses, userAgent).fold(OperatingSystem.unknown, OperatingSystem.nu); + var deviceType = DeviceType(os, browser, userAgent, mediaMatch); + return { + browser: browser, + os: os, + deviceType: deviceType + }; + }; + var PlatformDetection = { detect: detect$4 }; + + var mediaMatch = function (query) { + return window.matchMedia(query).matches; + }; + var platform = cached(function () { + return PlatformDetection.detect(navigator.userAgent, Optional.from(navigator.userAgentData), mediaMatch); + }); + var detect$3 = function () { + return platform(); + }; + + var compareDocumentPosition = function (a, b, match) { + return (a.compareDocumentPosition(b) & match) !== 0; + }; + var documentPositionContainedBy = function (a, b) { + return compareDocumentPosition(a, b, Node.DOCUMENT_POSITION_CONTAINED_BY); + }; + + var COMMENT = 8; + var DOCUMENT = 9; + var DOCUMENT_FRAGMENT = 11; + var ELEMENT = 1; + var TEXT = 3; + + var fromHtml$1 = function (html, scope) { + var doc = scope || document; + var div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + console.error('HTML does not have a single root node', html); + throw new Error('HTML must have a single root node'); + } + return fromDom$1(div.childNodes[0]); + }; + var fromTag = function (tag, scope) { + var doc = scope || document; + var node = doc.createElement(tag); + return fromDom$1(node); + }; + var fromText = function (text, scope) { + var doc = scope || document; + var node = doc.createTextNode(text); + return fromDom$1(node); + }; + var fromDom$1 = function (node) { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + var fromPoint$1 = function (docElm, x, y) { + return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom$1); + }; + var SugarElement = { + fromHtml: fromHtml$1, + fromTag: fromTag, + fromText: fromText, + fromDom: fromDom$1, + fromPoint: fromPoint$1 + }; + + var is$2 = function (element, selector) { + var dom = element.dom; + if (dom.nodeType !== ELEMENT) { + return false; + } else { + var elem = dom; + if (elem.matches !== undefined) { + return elem.matches(selector); + } else if (elem.msMatchesSelector !== undefined) { + return elem.msMatchesSelector(selector); + } else if (elem.webkitMatchesSelector !== undefined) { + return elem.webkitMatchesSelector(selector); + } else if (elem.mozMatchesSelector !== undefined) { + return elem.mozMatchesSelector(selector); + } else { + throw new Error('Browser lacks native selectors'); + } + } + }; + var bypassSelector = function (dom) { + return dom.nodeType !== ELEMENT && dom.nodeType !== DOCUMENT && dom.nodeType !== DOCUMENT_FRAGMENT || dom.childElementCount === 0; + }; + var all$1 = function (selector, scope) { + var base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? [] : map$1(base.querySelectorAll(selector), SugarElement.fromDom); + }; + var one = function (selector, scope) { + var base = scope === undefined ? document : scope.dom; + return bypassSelector(base) ? Optional.none() : Optional.from(base.querySelector(selector)).map(SugarElement.fromDom); + }; + + var eq$1 = function (e1, e2) { + return e1.dom === e2.dom; + }; + var regularContains = function (e1, e2) { + var d1 = e1.dom; + var d2 = e2.dom; + return d1 === d2 ? false : d1.contains(d2); + }; + var ieContains = function (e1, e2) { + return documentPositionContainedBy(e1.dom, e2.dom); + }; + var contains = function (e1, e2) { + return detect$3().browser.isIE() ? ieContains(e1, e2) : regularContains(e1, e2); + }; + var is$1 = is$2; + + var keys = Object.keys; + var hasOwnProperty = Object.hasOwnProperty; + var each$1 = function (obj, f) { + var props = keys(obj); + for (var k = 0, len = props.length; k < len; k++) { + var i = props[k]; + var x = obj[i]; + f(x, i); + } + }; + var map = function (obj, f) { + return tupleMap(obj, function (x, i) { + return { + k: i, + v: f(x, i) + }; + }); + }; + var tupleMap = function (obj, f) { + var r = {}; + each$1(obj, function (x, i) { + var tuple = f(x, i); + r[tuple.k] = tuple.v; + }); + return r; + }; + var objAcc = function (r) { + return function (x, i) { + r[i] = x; + }; + }; + var internalFilter = function (obj, pred, onTrue, onFalse) { + var r = {}; + each$1(obj, function (x, i) { + (pred(x, i) ? onTrue : onFalse)(x, i); + }); + return r; + }; + var filter$1 = function (obj, pred) { + var t = {}; + internalFilter(obj, pred, objAcc(t), noop); + return t; + }; + var mapToArray = function (obj, f) { + var r = []; + each$1(obj, function (value, name) { + r.push(f(value, name)); + }); + return r; + }; + var values = function (obj) { + return mapToArray(obj, identity); + }; + var size = function (obj) { + return keys(obj).length; + }; + var get$c = function (obj, key) { + return has$1(obj, key) ? Optional.from(obj[key]) : Optional.none(); + }; + var has$1 = function (obj, key) { + return hasOwnProperty.call(obj, key); + }; + var hasNonNullableKey = function (obj, key) { + return has$1(obj, key) && obj[key] !== undefined && obj[key] !== null; + }; + var isEmpty = function (r) { + for (var x in r) { + if (hasOwnProperty.call(r, x)) { + return false; + } + } + return true; + }; + + var validSectionList = [ + 'tfoot', + 'thead', + 'tbody', + 'colgroup' + ]; + var isValidSection = function (parentName) { + return contains$2(validSectionList, parentName); + }; + var grid = function (rows, columns) { + return { + rows: rows, + columns: columns + }; + }; + var address = function (row, column) { + return { + row: row, + column: column + }; + }; + var detail = function (element, rowspan, colspan) { + return { + element: element, + rowspan: rowspan, + colspan: colspan + }; + }; + var detailnew = function (element, rowspan, colspan, isNew) { + return { + element: element, + rowspan: rowspan, + colspan: colspan, + isNew: isNew + }; + }; + var extended = function (element, rowspan, colspan, row, column, isLocked) { + return { + element: element, + rowspan: rowspan, + colspan: colspan, + row: row, + column: column, + isLocked: isLocked + }; + }; + var rowdetail = function (element, cells, section) { + return { + element: element, + cells: cells, + section: section + }; + }; + var rowdetailnew = function (element, cells, section, isNew) { + return { + element: element, + cells: cells, + section: section, + isNew: isNew + }; + }; + var elementnew = function (element, isNew, isLocked) { + return { + element: element, + isNew: isNew, + isLocked: isLocked + }; + }; + var rowcells = function (element, cells, section, isNew) { + return { + element: element, + cells: cells, + section: section, + isNew: isNew + }; + }; + var bounds = function (startRow, startCol, finishRow, finishCol) { + return { + startRow: startRow, + startCol: startCol, + finishRow: finishRow, + finishCol: finishCol + }; + }; + var columnext = function (element, colspan, column) { + return { + element: element, + colspan: colspan, + column: column + }; + }; + var colgroup = function (element, columns) { + return { + element: element, + columns: columns + }; + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + var name = function (element) { + var r = element.dom.nodeName; + return r.toLowerCase(); + }; + var type$1 = function (element) { + return element.dom.nodeType; + }; + var isType = function (t) { + return function (element) { + return type$1(element) === t; + }; + }; + var isComment = function (element) { + return type$1(element) === COMMENT || name(element) === '#comment'; + }; + var isElement = isType(ELEMENT); + var isText = isType(TEXT); + var isDocument = isType(DOCUMENT); + var isDocumentFragment = isType(DOCUMENT_FRAGMENT); + var isTag = function (tag) { + return function (e) { + return isElement(e) && name(e) === tag; + }; + }; + + var owner = function (element) { + return SugarElement.fromDom(element.dom.ownerDocument); + }; + var documentOrOwner = function (dos) { + return isDocument(dos) ? dos : owner(dos); + }; + var defaultView = function (element) { + return SugarElement.fromDom(documentOrOwner(element).dom.defaultView); + }; + var parent = function (element) { + return Optional.from(element.dom.parentNode).map(SugarElement.fromDom); + }; + var parents = function (element, isRoot) { + var stop = isFunction(isRoot) ? isRoot : never; + var dom = element.dom; + var ret = []; + while (dom.parentNode !== null && dom.parentNode !== undefined) { + var rawParent = dom.parentNode; + var p = SugarElement.fromDom(rawParent); + ret.push(p); + if (stop(p) === true) { + break; + } else { + dom = rawParent; + } + } + return ret; + }; + var offsetParent = function (element) { + return Optional.from(element.dom.offsetParent).map(SugarElement.fromDom); + }; + var prevSibling = function (element) { + return Optional.from(element.dom.previousSibling).map(SugarElement.fromDom); + }; + var nextSibling = function (element) { + return Optional.from(element.dom.nextSibling).map(SugarElement.fromDom); + }; + var children$3 = function (element) { + return map$1(element.dom.childNodes, SugarElement.fromDom); + }; + var child$3 = function (element, index) { + var cs = element.dom.childNodes; + return Optional.from(cs[index]).map(SugarElement.fromDom); + }; + var firstChild = function (element) { + return child$3(element, 0); + }; + + var isShadowRoot = function (dos) { + return isDocumentFragment(dos) && isNonNullable(dos.dom.host); + }; + var supported = isFunction(Element.prototype.attachShadow) && isFunction(Node.prototype.getRootNode); + var isSupported$1 = constant(supported); + var getRootNode = supported ? function (e) { + return SugarElement.fromDom(e.dom.getRootNode()); + } : documentOrOwner; + var getShadowRoot = function (e) { + var r = getRootNode(e); + return isShadowRoot(r) ? Optional.some(r) : Optional.none(); + }; + var getShadowHost = function (e) { + return SugarElement.fromDom(e.dom.host); + }; + var getOriginalEventTarget = function (event) { + if (isSupported$1() && isNonNullable(event.target)) { + var el = SugarElement.fromDom(event.target); + if (isElement(el) && isOpenShadowHost(el)) { + if (event.composed && event.composedPath) { + var composedPath = event.composedPath(); + if (composedPath) { + return head(composedPath); + } + } + } + } + return Optional.from(event.target); + }; + var isOpenShadowHost = function (element) { + return isNonNullable(element.dom.shadowRoot); + }; + + var inBody = function (element) { + var dom = isText(element) ? element.dom.parentNode : element.dom; + if (dom === undefined || dom === null || dom.ownerDocument === null) { + return false; + } + var doc = dom.ownerDocument; + return getShadowRoot(SugarElement.fromDom(dom)).fold(function () { + return doc.body.contains(dom); + }, compose1(inBody, getShadowHost)); + }; + var body$1 = function () { + return getBody$1(SugarElement.fromDom(document)); + }; + var getBody$1 = function (doc) { + var b = doc.dom.body; + if (b === null || b === undefined) { + throw new Error('Body is not available yet'); + } + return SugarElement.fromDom(b); + }; + + var ancestors$4 = function (scope, predicate, isRoot) { + return filter$2(parents(scope, isRoot), predicate); + }; + var children$2 = function (scope, predicate) { + return filter$2(children$3(scope), predicate); + }; + var descendants$1 = function (scope, predicate) { + var result = []; + each$2(children$3(scope), function (x) { + if (predicate(x)) { + result = result.concat([x]); + } + result = result.concat(descendants$1(x, predicate)); + }); + return result; + }; + + var ancestors$3 = function (scope, selector, isRoot) { + return ancestors$4(scope, function (e) { + return is$2(e, selector); + }, isRoot); + }; + var children$1 = function (scope, selector) { + return children$2(scope, function (e) { + return is$2(e, selector); + }); + }; + var descendants = function (scope, selector) { + return all$1(selector, scope); + }; + + function ClosestOrAncestor (is, ancestor, scope, a, isRoot) { + if (is(scope, a)) { + return Optional.some(scope); + } else if (isFunction(isRoot) && isRoot(scope)) { + return Optional.none(); + } else { + return ancestor(scope, a, isRoot); + } + } + + var ancestor$2 = function (scope, predicate, isRoot) { + var element = scope.dom; + var stop = isFunction(isRoot) ? isRoot : never; + while (element.parentNode) { + element = element.parentNode; + var el = SugarElement.fromDom(element); + if (predicate(el)) { + return Optional.some(el); + } else if (stop(el)) { + break; + } + } + return Optional.none(); + }; + var closest$2 = function (scope, predicate, isRoot) { + var is = function (s, test) { + return test(s); + }; + return ClosestOrAncestor(is, ancestor$2, scope, predicate, isRoot); + }; + var child$2 = function (scope, predicate) { + var pred = function (node) { + return predicate(SugarElement.fromDom(node)); + }; + var result = find$1(scope.dom.childNodes, pred); + return result.map(SugarElement.fromDom); + }; + var descendant$1 = function (scope, predicate) { + var descend = function (node) { + for (var i = 0; i < node.childNodes.length; i++) { + var child_1 = SugarElement.fromDom(node.childNodes[i]); + if (predicate(child_1)) { + return Optional.some(child_1); + } + var res = descend(node.childNodes[i]); + if (res.isSome()) { + return res; + } + } + return Optional.none(); + }; + return descend(scope.dom); + }; + + var ancestor$1 = function (scope, selector, isRoot) { + return ancestor$2(scope, function (e) { + return is$2(e, selector); + }, isRoot); + }; + var child$1 = function (scope, selector) { + return child$2(scope, function (e) { + return is$2(e, selector); + }); + }; + var descendant = function (scope, selector) { + return one(selector, scope); + }; + var closest$1 = function (scope, selector, isRoot) { + var is = function (element, selector) { + return is$2(element, selector); + }; + return ClosestOrAncestor(is, ancestor$1, scope, selector, isRoot); + }; + + var rawSet = function (dom, key, value) { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + var set$2 = function (element, key, value) { + rawSet(element.dom, key, value); + }; + var setAll$1 = function (element, attrs) { + var dom = element.dom; + each$1(attrs, function (v, k) { + rawSet(dom, k, v); + }); + }; + var get$b = function (element, key) { + var v = element.dom.getAttribute(key); + return v === null ? undefined : v; + }; + var getOpt = function (element, key) { + return Optional.from(get$b(element, key)); + }; + var remove$7 = function (element, key) { + element.dom.removeAttribute(key); + }; + var clone$2 = function (element) { + return foldl(element.dom.attributes, function (acc, attr) { + acc[attr.name] = attr.value; + return acc; + }, {}); + }; + + var is = function (lhs, rhs, comparator) { + if (comparator === void 0) { + comparator = tripleEquals; + } + return lhs.exists(function (left) { + return comparator(left, rhs); + }); + }; + var cat = function (arr) { + var r = []; + var push = function (x) { + r.push(x); + }; + for (var i = 0; i < arr.length; i++) { + arr[i].each(push); + } + return r; + }; + var lift2 = function (oa, ob, f) { + return oa.isSome() && ob.isSome() ? Optional.some(f(oa.getOrDie(), ob.getOrDie())) : Optional.none(); + }; + var bindFrom = function (a, f) { + return a !== undefined && a !== null ? f(a) : Optional.none(); + }; + var flatten = function (oot) { + return oot.bind(identity); + }; + var someIf = function (b, a) { + return b ? Optional.some(a) : Optional.none(); + }; + + var isSupported = function (dom) { + return dom.style !== undefined && isFunction(dom.style.getPropertyValue); + }; + + var internalSet = function (dom, property, value) { + if (!isString(value)) { + console.error('Invalid call to CSS.set. Property ', property, ':: Value ', value, ':: Element ', dom); + throw new Error('CSS value must be a string: ' + value); + } + if (isSupported(dom)) { + dom.style.setProperty(property, value); + } + }; + var internalRemove = function (dom, property) { + if (isSupported(dom)) { + dom.style.removeProperty(property); + } + }; + var set$1 = function (element, property, value) { + var dom = element.dom; + internalSet(dom, property, value); + }; + var setAll = function (element, css) { + var dom = element.dom; + each$1(css, function (v, k) { + internalSet(dom, k, v); + }); + }; + var get$a = function (element, property) { + var dom = element.dom; + var styles = window.getComputedStyle(dom); + var r = styles.getPropertyValue(property); + return r === '' && !inBody(element) ? getUnsafeProperty(dom, property) : r; + }; + var getUnsafeProperty = function (dom, property) { + return isSupported(dom) ? dom.style.getPropertyValue(property) : ''; + }; + var getRaw$2 = function (element, property) { + var dom = element.dom; + var raw = getUnsafeProperty(dom, property); + return Optional.from(raw).filter(function (r) { + return r.length > 0; + }); + }; + var remove$6 = function (element, property) { + var dom = element.dom; + internalRemove(dom, property); + if (is(getOpt(element, 'style').map(trim), '')) { + remove$7(element, 'style'); + } + }; + var copy$2 = function (source, target) { + var sourceDom = source.dom; + var targetDom = target.dom; + if (isSupported(sourceDom) && isSupported(targetDom)) { + targetDom.style.cssText = sourceDom.style.cssText; + } + }; + + var getAttrValue = function (cell, name, fallback) { + if (fallback === void 0) { + fallback = 0; + } + return getOpt(cell, name).map(function (value) { + return parseInt(value, 10); + }).getOr(fallback); + }; + var getSpan = function (cell, type) { + return getAttrValue(cell, type, 1); + }; + var hasColspan = function (cell) { + return getSpan(cell, 'colspan') > 1; + }; + var hasRowspan = function (cell) { + return getSpan(cell, 'rowspan') > 1; + }; + var getCssValue = function (element, property) { + return parseInt(get$a(element, property), 10); + }; + var minWidth = constant(10); + var minHeight = constant(10); + + var firstLayer = function (scope, selector) { + return filterFirstLayer(scope, selector, always); + }; + var filterFirstLayer = function (scope, selector, predicate) { + return bind$2(children$3(scope), function (x) { + if (is$2(x, selector)) { + return predicate(x) ? [x] : []; + } else { + return filterFirstLayer(x, selector, predicate); + } + }); + }; + + var lookup = function (tags, element, isRoot) { + if (isRoot === void 0) { + isRoot = never; + } + if (isRoot(element)) { + return Optional.none(); + } + if (contains$2(tags, name(element))) { + return Optional.some(element); + } + var isRootOrUpperTable = function (elm) { + return is$2(elm, 'table') || isRoot(elm); + }; + return ancestor$1(element, tags.join(','), isRootOrUpperTable); + }; + var cell = function (element, isRoot) { + return lookup([ + 'td', + 'th' + ], element, isRoot); + }; + var cells$1 = function (ancestor) { + return firstLayer(ancestor, 'th,td'); + }; + var columns$1 = function (ancestor) { + if (is$2(ancestor, 'colgroup')) { + return children$1(ancestor, 'col'); + } else { + return bind$2(columnGroups(ancestor), function (columnGroup) { + return children$1(columnGroup, 'col'); + }); + } + }; + var table = function (element, isRoot) { + return closest$1(element, 'table', isRoot); + }; + var rows$1 = function (ancestor) { + return firstLayer(ancestor, 'tr'); + }; + var columnGroups = function (ancestor) { + return table(ancestor).fold(constant([]), function (table) { + return children$1(table, 'colgroup'); + }); + }; + + var fromRowsOrColGroups = function (elems, getSection) { + return map$1(elems, function (row) { + if (name(row) === 'colgroup') { + var cells = map$1(columns$1(row), function (column) { + var colspan = getAttrValue(column, 'span', 1); + return detail(column, 1, colspan); + }); + return rowdetail(row, cells, 'colgroup'); + } else { + var cells = map$1(cells$1(row), function (cell) { + var rowspan = getAttrValue(cell, 'rowspan', 1); + var colspan = getAttrValue(cell, 'colspan', 1); + return detail(cell, rowspan, colspan); + }); + return rowdetail(row, cells, getSection(row)); + } + }); + }; + var getParentSection = function (group) { + return parent(group).map(function (parent) { + var parentName = name(parent); + return isValidSection(parentName) ? parentName : 'tbody'; + }).getOr('tbody'); + }; + var fromTable$1 = function (table) { + var rows = rows$1(table); + var columnGroups$1 = columnGroups(table); + var elems = __spreadArray(__spreadArray([], columnGroups$1), rows); + return fromRowsOrColGroups(elems, getParentSection); + }; + var fromPastedRows = function (elems, section) { + return fromRowsOrColGroups(elems, function () { + return section; + }); + }; + + var addCells = function (gridRow, index, cells) { + var existingCells = gridRow.cells; + var before = existingCells.slice(0, index); + var after = existingCells.slice(index); + var newCells = before.concat(cells).concat(after); + return setCells(gridRow, newCells); + }; + var addCell = function (gridRow, index, cell) { + return addCells(gridRow, index, [cell]); + }; + var mutateCell = function (gridRow, index, cell) { + var cells = gridRow.cells; + cells[index] = cell; + }; + var setCells = function (gridRow, cells) { + return rowcells(gridRow.element, cells, gridRow.section, gridRow.isNew); + }; + var mapCells = function (gridRow, f) { + var cells = gridRow.cells; + var r = map$1(cells, f); + return rowcells(gridRow.element, r, gridRow.section, gridRow.isNew); + }; + var getCell = function (gridRow, index) { + return gridRow.cells[index]; + }; + var getCellElement = function (gridRow, index) { + return getCell(gridRow, index).element; + }; + var cellLength = function (gridRow) { + return gridRow.cells.length; + }; + var extractGridDetails = function (grid) { + var result = partition(grid, function (row) { + return row.section === 'colgroup'; + }); + return { + rows: result.fail, + cols: result.pass + }; + }; + var clone$1 = function (gridRow, cloneRow, cloneCell) { + var newCells = map$1(gridRow.cells, cloneCell); + return rowcells(cloneRow(gridRow.element), newCells, gridRow.section, true); + }; + + var LOCKED_COL_ATTR = 'data-snooker-locked-cols'; + var getLockedColumnsFromTable = function (table) { + return getOpt(table, LOCKED_COL_ATTR).bind(function (lockedColStr) { + return Optional.from(lockedColStr.match(/\d+/g)); + }).map(function (lockedCols) { + return mapToObject(lockedCols, always); + }); + }; + var getLockedColumnsFromGrid = function (grid) { + var locked = foldl(extractGridDetails(grid).rows, function (acc, row) { + each$2(row.cells, function (cell, idx) { + if (cell.isLocked) { + acc[idx] = true; + } + }); + return acc; + }, {}); + var lockedArr = mapToArray(locked, function (_val, key) { + return parseInt(key, 10); + }); + return sort$1(lockedArr); + }; + + var key = function (row, column) { + return row + ',' + column; + }; + var getAt = function (warehouse, row, column) { + return Optional.from(warehouse.access[key(row, column)]); + }; + var findItem = function (warehouse, item, comparator) { + var filtered = filterItems(warehouse, function (detail) { + return comparator(item, detail.element); + }); + return filtered.length > 0 ? Optional.some(filtered[0]) : Optional.none(); + }; + var filterItems = function (warehouse, predicate) { + var all = bind$2(warehouse.all, function (r) { + return r.cells; + }); + return filter$2(all, predicate); + }; + var generateColumns = function (rowData) { + var columnsGroup = {}; + var index = 0; + each$2(rowData.cells, function (column) { + var colspan = column.colspan; + range$1(colspan, function (columnIndex) { + var colIndex = index + columnIndex; + columnsGroup[colIndex] = columnext(column.element, colspan, colIndex); + }); + index += colspan; + }); + return columnsGroup; + }; + var generate$1 = function (list) { + var access = {}; + var cells = []; + var columns = {}; + var colgroups = []; + var tableOpt = head(list).map(function (rowData) { + return rowData.element; + }).bind(table); + var lockedColumns = tableOpt.bind(getLockedColumnsFromTable).getOr({}); + var maxRows = 0; + var maxColumns = 0; + var rowCount = 0; + each$2(list, function (rowData) { + if (rowData.section === 'colgroup') { + columns = generateColumns(rowData); + colgroups = [colgroup(rowData.element, values(columns))]; + } else { + var currentRow_1 = []; + each$2(rowData.cells, function (rowCell) { + var start = 0; + while (access[key(rowCount, start)] !== undefined) { + start++; + } + var isLocked = hasNonNullableKey(lockedColumns, start.toString()); + var current = extended(rowCell.element, rowCell.rowspan, rowCell.colspan, rowCount, start, isLocked); + for (var occupiedColumnPosition = 0; occupiedColumnPosition < rowCell.colspan; occupiedColumnPosition++) { + for (var occupiedRowPosition = 0; occupiedRowPosition < rowCell.rowspan; occupiedRowPosition++) { + var rowPosition = rowCount + occupiedRowPosition; + var columnPosition = start + occupiedColumnPosition; + var newpos = key(rowPosition, columnPosition); + access[newpos] = current; + maxColumns = Math.max(maxColumns, columnPosition + 1); + } + } + currentRow_1.push(current); + }); + maxRows++; + cells.push(rowdetail(rowData.element, currentRow_1, rowData.section)); + rowCount++; + } + }); + var grid$1 = grid(maxRows, maxColumns); + return { + grid: grid$1, + access: access, + all: cells, + columns: columns, + colgroups: colgroups + }; + }; + var fromTable = function (table) { + var list = fromTable$1(table); + return generate$1(list); + }; + var justCells = function (warehouse) { + return bind$2(warehouse.all, function (w) { + return w.cells; + }); + }; + var justColumns = function (warehouse) { + return values(warehouse.columns); + }; + var hasColumns = function (warehouse) { + return keys(warehouse.columns).length > 0; + }; + var getColumnAt = function (warehouse, columnIndex) { + return Optional.from(warehouse.columns[columnIndex]); + }; + var Warehouse = { + fromTable: fromTable, + generate: generate$1, + getAt: getAt, + findItem: findItem, + filterItems: filterItems, + justCells: justCells, + justColumns: justColumns, + hasColumns: hasColumns, + getColumnAt: getColumnAt + }; + + var inSelection = function (bounds, detail) { + var leftEdge = detail.column; + var rightEdge = detail.column + detail.colspan - 1; + var topEdge = detail.row; + var bottomEdge = detail.row + detail.rowspan - 1; + return leftEdge <= bounds.finishCol && rightEdge >= bounds.startCol && (topEdge <= bounds.finishRow && bottomEdge >= bounds.startRow); + }; + var isWithin = function (bounds, detail) { + return detail.column >= bounds.startCol && detail.column + detail.colspan - 1 <= bounds.finishCol && detail.row >= bounds.startRow && detail.row + detail.rowspan - 1 <= bounds.finishRow; + }; + var isRectangular = function (warehouse, bounds) { + var isRect = true; + var detailIsWithin = curry(isWithin, bounds); + for (var i = bounds.startRow; i <= bounds.finishRow; i++) { + for (var j = bounds.startCol; j <= bounds.finishCol; j++) { + isRect = isRect && Warehouse.getAt(warehouse, i, j).exists(detailIsWithin); + } + } + return isRect ? Optional.some(bounds) : Optional.none(); + }; + + var getBounds = function (detailA, detailB) { + return bounds(Math.min(detailA.row, detailB.row), Math.min(detailA.column, detailB.column), Math.max(detailA.row + detailA.rowspan - 1, detailB.row + detailB.rowspan - 1), Math.max(detailA.column + detailA.colspan - 1, detailB.column + detailB.colspan - 1)); + }; + var getAnyBox = function (warehouse, startCell, finishCell) { + var startCoords = Warehouse.findItem(warehouse, startCell, eq$1); + var finishCoords = Warehouse.findItem(warehouse, finishCell, eq$1); + return startCoords.bind(function (sc) { + return finishCoords.map(function (fc) { + return getBounds(sc, fc); + }); + }); + }; + var getBox$1 = function (warehouse, startCell, finishCell) { + return getAnyBox(warehouse, startCell, finishCell).bind(function (bounds) { + return isRectangular(warehouse, bounds); + }); + }; + + var moveBy$1 = function (warehouse, cell, row, column) { + return Warehouse.findItem(warehouse, cell, eq$1).bind(function (detail) { + var startRow = row > 0 ? detail.row + detail.rowspan - 1 : detail.row; + var startCol = column > 0 ? detail.column + detail.colspan - 1 : detail.column; + var dest = Warehouse.getAt(warehouse, startRow + row, startCol + column); + return dest.map(function (d) { + return d.element; + }); + }); + }; + var intercepts$1 = function (warehouse, start, finish) { + return getAnyBox(warehouse, start, finish).map(function (bounds) { + var inside = Warehouse.filterItems(warehouse, curry(inSelection, bounds)); + return map$1(inside, function (detail) { + return detail.element; + }); + }); + }; + var parentCell = function (warehouse, innerCell) { + var isContainedBy = function (c1, c2) { + return contains(c2, c1); + }; + return Warehouse.findItem(warehouse, innerCell, isContainedBy).map(function (detail) { + return detail.element; + }); + }; + + var moveBy = function (cell, deltaRow, deltaColumn) { + return table(cell).bind(function (table) { + var warehouse = getWarehouse(table); + return moveBy$1(warehouse, cell, deltaRow, deltaColumn); + }); + }; + var intercepts = function (table, first, last) { + var warehouse = getWarehouse(table); + return intercepts$1(warehouse, first, last); + }; + var nestedIntercepts = function (table, first, firstTable, last, lastTable) { + var warehouse = getWarehouse(table); + var optStartCell = eq$1(table, firstTable) ? Optional.some(first) : parentCell(warehouse, first); + var optLastCell = eq$1(table, lastTable) ? Optional.some(last) : parentCell(warehouse, last); + return optStartCell.bind(function (startCell) { + return optLastCell.bind(function (lastCell) { + return intercepts$1(warehouse, startCell, lastCell); + }); + }); + }; + var getBox = function (table, first, last) { + var warehouse = getWarehouse(table); + return getBox$1(warehouse, first, last); + }; + var getWarehouse = Warehouse.fromTable; + + var before$4 = function (marker, element) { + var parent$1 = parent(marker); + parent$1.each(function (v) { + v.dom.insertBefore(element.dom, marker.dom); + }); + }; + var after$5 = function (marker, element) { + var sibling = nextSibling(marker); + sibling.fold(function () { + var parent$1 = parent(marker); + parent$1.each(function (v) { + append$1(v, element); + }); + }, function (v) { + before$4(v, element); + }); + }; + var prepend = function (parent, element) { + var firstChild$1 = firstChild(parent); + firstChild$1.fold(function () { + append$1(parent, element); + }, function (v) { + parent.dom.insertBefore(element.dom, v.dom); + }); + }; + var append$1 = function (parent, element) { + parent.dom.appendChild(element.dom); + }; + var appendAt = function (parent, element, index) { + child$3(parent, index).fold(function () { + append$1(parent, element); + }, function (v) { + before$4(v, element); + }); + }; + var wrap = function (element, wrapper) { + before$4(element, wrapper); + append$1(wrapper, element); + }; + + var before$3 = function (marker, elements) { + each$2(elements, function (x) { + before$4(marker, x); + }); + }; + var after$4 = function (marker, elements) { + each$2(elements, function (x, i) { + var e = i === 0 ? marker : elements[i - 1]; + after$5(e, x); + }); + }; + var append = function (parent, elements) { + each$2(elements, function (x) { + append$1(parent, x); + }); + }; + + var empty = function (element) { + element.dom.textContent = ''; + each$2(children$3(element), function (rogue) { + remove$5(rogue); + }); + }; + var remove$5 = function (element) { + var dom = element.dom; + if (dom.parentNode !== null) { + dom.parentNode.removeChild(dom); + } + }; + var unwrap = function (wrapper) { + var children = children$3(wrapper); + if (children.length > 0) { + before$3(wrapper, children); + } + remove$5(wrapper); + }; + + var NodeValue = function (is, name) { + var get = function (element) { + if (!is(element)) { + throw new Error('Can only get ' + name + ' value of a ' + name + ' node'); + } + return getOption(element).getOr(''); + }; + var getOption = function (element) { + return is(element) ? Optional.from(element.dom.nodeValue) : Optional.none(); + }; + var set = function (element, value) { + if (!is(element)) { + throw new Error('Can only set raw ' + name + ' value of a ' + name + ' node'); + } + element.dom.nodeValue = value; + }; + return { + get: get, + getOption: getOption, + set: set + }; + }; + + var api$2 = NodeValue(isText, 'text'); + var get$9 = function (element) { + return api$2.get(element); + }; + var getOption = function (element) { + return api$2.getOption(element); + }; + var set = function (element, value) { + return api$2.set(element, value); + }; + + var TagBoundaries = [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'li', + 'table', + 'thead', + 'tbody', + 'tfoot', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + + function DomUniverse () { + var clone = function (element) { + return SugarElement.fromDom(element.dom.cloneNode(false)); + }; + var document = function (element) { + return documentOrOwner(element).dom; + }; + var isBoundary = function (element) { + if (!isElement(element)) { + return false; + } + if (name(element) === 'body') { + return true; + } + return contains$2(TagBoundaries, name(element)); + }; + var isEmptyTag = function (element) { + if (!isElement(element)) { + return false; + } + return contains$2([ + 'br', + 'img', + 'hr', + 'input' + ], name(element)); + }; + var isNonEditable = function (element) { + return isElement(element) && get$b(element, 'contenteditable') === 'false'; + }; + var comparePosition = function (element, other) { + return element.dom.compareDocumentPosition(other.dom); + }; + var copyAttributesTo = function (source, destination) { + var as = clone$2(source); + setAll$1(destination, as); + }; + var isSpecial = function (element) { + var tag = name(element); + return contains$2([ + 'script', + 'noscript', + 'iframe', + 'noframes', + 'noembed', + 'title', + 'style', + 'textarea', + 'xmp' + ], tag); + }; + var getLanguage = function (element) { + return isElement(element) ? getOpt(element, 'lang') : Optional.none(); + }; + return { + up: constant({ + selector: ancestor$1, + closest: closest$1, + predicate: ancestor$2, + all: parents + }), + down: constant({ + selector: descendants, + predicate: descendants$1 + }), + styles: constant({ + get: get$a, + getRaw: getRaw$2, + set: set$1, + remove: remove$6 + }), + attrs: constant({ + get: get$b, + set: set$2, + remove: remove$7, + copyTo: copyAttributesTo + }), + insert: constant({ + before: before$4, + after: after$5, + afterAll: after$4, + append: append$1, + appendAll: append, + prepend: prepend, + wrap: wrap + }), + remove: constant({ + unwrap: unwrap, + remove: remove$5 + }), + create: constant({ + nu: SugarElement.fromTag, + clone: clone, + text: SugarElement.fromText + }), + query: constant({ + comparePosition: comparePosition, + prevSibling: prevSibling, + nextSibling: nextSibling + }), + property: constant({ + children: children$3, + name: name, + parent: parent, + document: document, + isText: isText, + isComment: isComment, + isElement: isElement, + isSpecial: isSpecial, + getLanguage: getLanguage, + getText: get$9, + setText: set, + isBoundary: isBoundary, + isEmptyTag: isEmptyTag, + isNonEditable: isNonEditable + }), + eq: eq$1, + is: is$1 + }; + } + + var all = function (universe, look, elements, f) { + var head = elements[0]; + var tail = elements.slice(1); + return f(universe, look, head, tail); + }; + var oneAll = function (universe, look, elements) { + return elements.length > 0 ? all(universe, look, elements, unsafeOne) : Optional.none(); + }; + var unsafeOne = function (universe, look, head, tail) { + var start = look(universe, head); + return foldr(tail, function (b, a) { + var current = look(universe, a); + return commonElement(universe, b, current); + }, start); + }; + var commonElement = function (universe, start, end) { + return start.bind(function (s) { + return end.filter(curry(universe.eq, s)); + }); + }; + + var eq = function (universe, item) { + return curry(universe.eq, item); + }; + var ancestors$2 = function (universe, start, end, isRoot) { + if (isRoot === void 0) { + isRoot = never; + } + var ps1 = [start].concat(universe.up().all(start)); + var ps2 = [end].concat(universe.up().all(end)); + var prune = function (path) { + var index = findIndex(path, isRoot); + return index.fold(function () { + return path; + }, function (ind) { + return path.slice(0, ind + 1); + }); + }; + var pruned1 = prune(ps1); + var pruned2 = prune(ps2); + var shared = find$1(pruned1, function (x) { + return exists(pruned2, eq(universe, x)); + }); + return { + firstpath: pruned1, + secondpath: pruned2, + shared: shared + }; + }; + + var sharedOne$1 = oneAll; + var ancestors$1 = ancestors$2; + + var universe$3 = DomUniverse(); + var sharedOne = function (look, elements) { + return sharedOne$1(universe$3, function (_universe, element) { + return look(element); + }, elements); + }; + var ancestors = function (start, finish, isRoot) { + return ancestors$1(universe$3, start, finish, isRoot); + }; + + var lookupTable = function (container) { + return ancestor$1(container, 'table'); + }; + var identify = function (start, finish, isRoot) { + var getIsRoot = function (rootTable) { + return function (element) { + return isRoot !== undefined && isRoot(element) || eq$1(element, rootTable); + }; + }; + if (eq$1(start, finish)) { + return Optional.some({ + boxes: Optional.some([start]), + start: start, + finish: finish + }); + } else { + return lookupTable(start).bind(function (startTable) { + return lookupTable(finish).bind(function (finishTable) { + if (eq$1(startTable, finishTable)) { + return Optional.some({ + boxes: intercepts(startTable, start, finish), + start: start, + finish: finish + }); + } else if (contains(startTable, finishTable)) { + var ancestorCells = ancestors$3(finish, 'td,th', getIsRoot(startTable)); + var finishCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : finish; + return Optional.some({ + boxes: nestedIntercepts(startTable, start, startTable, finish, finishTable), + start: start, + finish: finishCell + }); + } else if (contains(finishTable, startTable)) { + var ancestorCells = ancestors$3(start, 'td,th', getIsRoot(finishTable)); + var startCell = ancestorCells.length > 0 ? ancestorCells[ancestorCells.length - 1] : start; + return Optional.some({ + boxes: nestedIntercepts(finishTable, start, startTable, finish, finishTable), + start: start, + finish: startCell + }); + } else { + return ancestors(start, finish).shared.bind(function (lca) { + return closest$1(lca, 'table', isRoot).bind(function (lcaTable) { + var finishAncestorCells = ancestors$3(finish, 'td,th', getIsRoot(lcaTable)); + var finishCell = finishAncestorCells.length > 0 ? finishAncestorCells[finishAncestorCells.length - 1] : finish; + var startAncestorCells = ancestors$3(start, 'td,th', getIsRoot(lcaTable)); + var startCell = startAncestorCells.length > 0 ? startAncestorCells[startAncestorCells.length - 1] : start; + return Optional.some({ + boxes: nestedIntercepts(lcaTable, start, startTable, finish, finishTable), + start: startCell, + finish: finishCell + }); + }); + }); + } + }); + }); + } + }; + var retrieve$1 = function (container, selector) { + var sels = descendants(container, selector); + return sels.length > 0 ? Optional.some(sels) : Optional.none(); + }; + var getLast = function (boxes, lastSelectedSelector) { + return find$1(boxes, function (box) { + return is$2(box, lastSelectedSelector); + }); + }; + var getEdges = function (container, firstSelectedSelector, lastSelectedSelector) { + return descendant(container, firstSelectedSelector).bind(function (first) { + return descendant(container, lastSelectedSelector).bind(function (last) { + return sharedOne(lookupTable, [ + first, + last + ]).map(function (table) { + return { + first: first, + last: last, + table: table + }; + }); + }); + }); + }; + var expandTo = function (finish, firstSelectedSelector) { + return ancestor$1(finish, 'table').bind(function (table) { + return descendant(table, firstSelectedSelector).bind(function (start) { + return identify(start, finish).bind(function (identified) { + return identified.boxes.map(function (boxes) { + return { + boxes: boxes, + start: identified.start, + finish: identified.finish + }; + }); + }); + }); + }); + }; + var shiftSelection = function (boxes, deltaRow, deltaColumn, firstSelectedSelector, lastSelectedSelector) { + return getLast(boxes, lastSelectedSelector).bind(function (last) { + return moveBy(last, deltaRow, deltaColumn).bind(function (finish) { + return expandTo(finish, firstSelectedSelector); + }); + }); + }; + + var retrieve = function (container, selector) { + return retrieve$1(container, selector); + }; + var retrieveBox = function (container, firstSelectedSelector, lastSelectedSelector) { + return getEdges(container, firstSelectedSelector, lastSelectedSelector).bind(function (edges) { + var isRoot = function (ancestor) { + return eq$1(container, ancestor); + }; + var sectionSelector = 'thead,tfoot,tbody,table'; + var firstAncestor = ancestor$1(edges.first, sectionSelector, isRoot); + var lastAncestor = ancestor$1(edges.last, sectionSelector, isRoot); + return firstAncestor.bind(function (fA) { + return lastAncestor.bind(function (lA) { + return eq$1(fA, lA) ? getBox(edges.table, edges.first, edges.last) : Optional.none(); + }); + }); + }); + }; + + var generate = function (cases) { + if (!isArray(cases)) { + throw new Error('cases must be an array'); + } + if (cases.length === 0) { + throw new Error('there must be at least one case'); + } + var constructors = []; + var adt = {}; + each$2(cases, function (acase, count) { + var keys$1 = keys(acase); + if (keys$1.length !== 1) { + throw new Error('one and only one name per case'); + } + var key = keys$1[0]; + var value = acase[key]; + if (adt[key] !== undefined) { + throw new Error('duplicate key detected:' + key); + } else if (key === 'cata') { + throw new Error('cannot have a case named cata (sorry)'); + } else if (!isArray(value)) { + throw new Error('case arguments must be an array'); + } + constructors.push(key); + adt[key] = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var argLength = args.length; + if (argLength !== value.length) { + throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength); + } + var match = function (branches) { + var branchKeys = keys(branches); + if (constructors.length !== branchKeys.length) { + throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\nActual: ' + branchKeys.join(',')); + } + var allReqd = forall(constructors, function (reqKey) { + return contains$2(branchKeys, reqKey); + }); + if (!allReqd) { + throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', ')); + } + return branches[key].apply(null, args); + }; + return { + fold: function () { + var foldArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + foldArgs[_i] = arguments[_i]; + } + if (foldArgs.length !== cases.length) { + throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length); + } + var target = foldArgs[count]; + return target.apply(null, args); + }, + match: match, + log: function (label) { + console.log(label, { + constructors: constructors, + constructor: key, + params: args + }); + } + }; + }; + }); + return adt; + }; + var Adt = { generate: generate }; + + var type = Adt.generate([ + { none: [] }, + { multiple: ['elements'] }, + { single: ['element'] } + ]); + var cata$2 = function (subject, onNone, onMultiple, onSingle) { + return subject.fold(onNone, onMultiple, onSingle); + }; + var none$1 = type.none; + var multiple = type.multiple; + var single = type.single; + + var Selections = function (lazyRoot, getStart, selectedSelector) { + var get = function () { + return retrieve(lazyRoot(), selectedSelector).fold(function () { + return getStart().fold(none$1, single); + }, function (cells) { + return multiple(cells); + }); + }; + return { get: get }; + }; + + var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var clone = function (original, isDeep) { + return SugarElement.fromDom(original.dom.cloneNode(isDeep)); + }; + var shallow = function (original) { + return clone(original, false); + }; + var deep = function (original) { + return clone(original, true); + }; + var shallowAs = function (original, tag) { + var nu = SugarElement.fromTag(tag); + var attributes = clone$2(original); + setAll$1(nu, attributes); + return nu; + }; + var copy$1 = function (original, tag) { + var nu = shallowAs(original, tag); + var cloneChildren = children$3(deep(original)); + append(nu, cloneChildren); + return nu; + }; + var mutate$1 = function (original, tag) { + var nu = shallowAs(original, tag); + before$4(original, nu); + var children = children$3(original); + append(nu, children); + remove$5(original); + return nu; + }; + + var Dimension = function (name, getOffset) { + var set = function (element, h) { + if (!isNumber(h) && !h.match(/^[0-9]+$/)) { + throw new Error(name + '.set accepts only positive integer values. Value was ' + h); + } + var dom = element.dom; + if (isSupported(dom)) { + dom.style[name] = h + 'px'; + } + }; + var get = function (element) { + var r = getOffset(element); + if (r <= 0 || r === null) { + var css = get$a(element, name); + return parseFloat(css) || 0; + } + return r; + }; + var getOuter = get; + var aggregate = function (element, properties) { + return foldl(properties, function (acc, property) { + var val = get$a(element, property); + var value = val === undefined ? 0 : parseInt(val, 10); + return isNaN(value) ? acc : acc + value; + }, 0); + }; + var max = function (element, value, properties) { + var cumulativeInclusions = aggregate(element, properties); + var absoluteMax = value > cumulativeInclusions ? value - cumulativeInclusions : 0; + return absoluteMax; + }; + return { + set: set, + get: get, + getOuter: getOuter, + aggregate: aggregate, + max: max + }; + }; + + var api$1 = Dimension('width', function (element) { + return element.dom.offsetWidth; + }); + var get$8 = function (element) { + return api$1.get(element); + }; + var getOuter$2 = function (element) { + return api$1.getOuter(element); + }; + + var columns = function (warehouse, isValidCell) { + if (isValidCell === void 0) { + isValidCell = always; + } + var grid = warehouse.grid; + var cols = range$1(grid.columns, identity); + var rowsArr = range$1(grid.rows, identity); + return map$1(cols, function (col) { + var getBlock = function () { + return bind$2(rowsArr, function (r) { + return Warehouse.getAt(warehouse, r, col).filter(function (detail) { + return detail.column === col; + }).toArray(); + }); + }; + var isValid = function (detail) { + return detail.colspan === 1 && isValidCell(detail.element); + }; + var getFallback = function () { + return Warehouse.getAt(warehouse, 0, col); + }; + return decide(getBlock, isValid, getFallback); + }); + }; + var decide = function (getBlock, isValid, getFallback) { + var inBlock = getBlock(); + var validInBlock = find$1(inBlock, isValid); + var detailOption = validInBlock.orThunk(function () { + return Optional.from(inBlock[0]).orThunk(getFallback); + }); + return detailOption.map(function (detail) { + return detail.element; + }); + }; + var rows = function (warehouse) { + var grid = warehouse.grid; + var rowsArr = range$1(grid.rows, identity); + var cols = range$1(grid.columns, identity); + return map$1(rowsArr, function (row) { + var getBlock = function () { + return bind$2(cols, function (c) { + return Warehouse.getAt(warehouse, row, c).filter(function (detail) { + return detail.row === row; + }).fold(constant([]), function (detail) { + return [detail]; + }); + }); + }; + var isSingle = function (detail) { + return detail.rowspan === 1; + }; + var getFallback = function () { + return Warehouse.getAt(warehouse, row, 0); + }; + return decide(getBlock, isSingle, getFallback); + }); + }; + + var deduce = function (xs, index) { + if (index < 0 || index >= xs.length - 1) { + return Optional.none(); + } + var current = xs[index].fold(function () { + var rest = reverse(xs.slice(0, index)); + return findMap(rest, function (a, i) { + return a.map(function (aa) { + return { + value: aa, + delta: i + 1 + }; + }); + }); + }, function (c) { + return Optional.some({ + value: c, + delta: 0 + }); + }); + var next = xs[index + 1].fold(function () { + var rest = xs.slice(index + 1); + return findMap(rest, function (a, i) { + return a.map(function (aa) { + return { + value: aa, + delta: i + 1 + }; + }); + }); + }, function (n) { + return Optional.some({ + value: n, + delta: 1 + }); + }); + return current.bind(function (c) { + return next.map(function (n) { + var extras = n.delta + c.delta; + return Math.abs(n.value - c.value) / extras; + }); + }); + }; + + var onDirection = function (isLtr, isRtl) { + return function (element) { + return getDirection(element) === 'rtl' ? isRtl : isLtr; + }; + }; + var getDirection = function (element) { + return get$a(element, 'direction') === 'rtl' ? 'rtl' : 'ltr'; + }; + + var api = Dimension('height', function (element) { + var dom = element.dom; + return inBody(element) ? dom.getBoundingClientRect().height : dom.offsetHeight; + }); + var get$7 = function (element) { + return api.get(element); + }; + var getOuter$1 = function (element) { + return api.getOuter(element); + }; + + var r = function (left, top) { + var translate = function (x, y) { + return r(left + x, top + y); + }; + return { + left: left, + top: top, + translate: translate + }; + }; + var SugarPosition = r; + + var boxPosition = function (dom) { + var box = dom.getBoundingClientRect(); + return SugarPosition(box.left, box.top); + }; + var firstDefinedOrZero = function (a, b) { + if (a !== undefined) { + return a; + } else { + return b !== undefined ? b : 0; + } + }; + var absolute = function (element) { + var doc = element.dom.ownerDocument; + var body = doc.body; + var win = doc.defaultView; + var html = doc.documentElement; + if (body === element.dom) { + return SugarPosition(body.offsetLeft, body.offsetTop); + } + var scrollTop = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageYOffset, html.scrollTop); + var scrollLeft = firstDefinedOrZero(win === null || win === void 0 ? void 0 : win.pageXOffset, html.scrollLeft); + var clientTop = firstDefinedOrZero(html.clientTop, body.clientTop); + var clientLeft = firstDefinedOrZero(html.clientLeft, body.clientLeft); + return viewport(element).translate(scrollLeft - clientLeft, scrollTop - clientTop); + }; + var viewport = function (element) { + var dom = element.dom; + var doc = dom.ownerDocument; + var body = doc.body; + if (body === dom) { + return SugarPosition(body.offsetLeft, body.offsetTop); + } + if (!inBody(element)) { + return SugarPosition(0, 0); + } + return boxPosition(dom); + }; + + var rowInfo = function (row, y) { + return { + row: row, + y: y + }; + }; + var colInfo = function (col, x) { + return { + col: col, + x: x + }; + }; + var rtlEdge = function (cell) { + var pos = absolute(cell); + return pos.left + getOuter$2(cell); + }; + var ltrEdge = function (cell) { + return absolute(cell).left; + }; + var getLeftEdge = function (index, cell) { + return colInfo(index, ltrEdge(cell)); + }; + var getRightEdge = function (index, cell) { + return colInfo(index, rtlEdge(cell)); + }; + var getTop$1 = function (cell) { + return absolute(cell).top; + }; + var getTopEdge = function (index, cell) { + return rowInfo(index, getTop$1(cell)); + }; + var getBottomEdge = function (index, cell) { + return rowInfo(index, getTop$1(cell) + getOuter$1(cell)); + }; + var findPositions = function (getInnerEdge, getOuterEdge, array) { + if (array.length === 0) { + return []; + } + var lines = map$1(array.slice(1), function (cellOption, index) { + return cellOption.map(function (cell) { + return getInnerEdge(index, cell); + }); + }); + var lastLine = array[array.length - 1].map(function (cell) { + return getOuterEdge(array.length - 1, cell); + }); + return lines.concat([lastLine]); + }; + var negate = function (step) { + return -step; + }; + var height = { + delta: identity, + positions: function (optElements) { + return findPositions(getTopEdge, getBottomEdge, optElements); + }, + edge: getTop$1 + }; + var ltr$1 = { + delta: identity, + edge: ltrEdge, + positions: function (optElements) { + return findPositions(getLeftEdge, getRightEdge, optElements); + } + }; + var rtl$1 = { + delta: negate, + edge: rtlEdge, + positions: function (optElements) { + return findPositions(getRightEdge, getLeftEdge, optElements); + } + }; + var detect$2 = onDirection(ltr$1, rtl$1); + var width = { + delta: function (amount, table) { + return detect$2(table).delta(amount, table); + }, + positions: function (cols, table) { + return detect$2(table).positions(cols, table); + }, + edge: function (cell) { + return detect$2(cell).edge(cell); + } + }; + + var units = { + unsupportedLength: [ + 'em', + 'ex', + 'cap', + 'ch', + 'ic', + 'rem', + 'lh', + 'rlh', + 'vw', + 'vh', + 'vi', + 'vb', + 'vmin', + 'vmax', + 'cm', + 'mm', + 'Q', + 'in', + 'pc', + 'pt', + 'px' + ], + fixed: [ + 'px', + 'pt' + ], + relative: ['%'], + empty: [''] + }; + var pattern = function () { + var decimalDigits = '[0-9]+'; + var signedInteger = '[+-]?' + decimalDigits; + var exponentPart = '[eE]' + signedInteger; + var dot = '\\.'; + var opt = function (input) { + return '(?:' + input + ')?'; + }; + var unsignedDecimalLiteral = [ + 'Infinity', + decimalDigits + dot + opt(decimalDigits) + opt(exponentPart), + dot + decimalDigits + opt(exponentPart), + decimalDigits + opt(exponentPart) + ].join('|'); + var float = '[+-]?(?:' + unsignedDecimalLiteral + ')'; + return new RegExp('^(' + float + ')(.*)$'); + }(); + var isUnit = function (unit, accepted) { + return exists(accepted, function (acc) { + return exists(units[acc], function (check) { + return unit === check; + }); + }); + }; + var parse = function (input, accepted) { + var match = Optional.from(pattern.exec(input)); + return match.bind(function (array) { + var value = Number(array[1]); + var unitRaw = array[2]; + if (isUnit(unitRaw, accepted)) { + return Optional.some({ + value: value, + unit: unitRaw + }); + } else { + return Optional.none(); + } + }); + }; + + var needManualCalc = function () { + var browser = detect$3().browser; + return browser.isIE() || browser.isEdge(); + }; + var toNumber = function (px, fallback) { + var num = parseFloat(px); + return isNaN(num) ? fallback : num; + }; + var getProp = function (elm, name, fallback) { + return toNumber(get$a(elm, name), fallback); + }; + var getCalculatedHeight = function (cell) { + var height = cell.dom.getBoundingClientRect().height; + var boxSizing = get$a(cell, 'box-sizing'); + if (boxSizing === 'border-box') { + return height; + } else { + var paddingTop = getProp(cell, 'padding-top', 0); + var paddingBottom = getProp(cell, 'padding-bottom', 0); + var borderTop = getProp(cell, 'border-top-width', 0); + var borderBottom = getProp(cell, 'border-bottom-width', 0); + var borders = borderTop + borderBottom; + return height - paddingTop - paddingBottom - borders; + } + }; + var getCalculatedWidth = function (cell) { + var width = cell.dom.getBoundingClientRect().width; + var boxSizing = get$a(cell, 'box-sizing'); + if (boxSizing === 'border-box') { + return width; + } else { + var paddingLeft = getProp(cell, 'padding-left', 0); + var paddingRight = getProp(cell, 'padding-right', 0); + var borderLeft = getProp(cell, 'border-left-width', 0); + var borderRight = getProp(cell, 'border-right-width', 0); + var borders = borderLeft + borderRight; + return width - paddingLeft - paddingRight - borders; + } + }; + var getHeight$1 = function (cell) { + return needManualCalc() ? getCalculatedHeight(cell) : getProp(cell, 'height', get$7(cell)); + }; + var getWidth = function (cell) { + return needManualCalc() ? getCalculatedWidth(cell) : getProp(cell, 'width', get$8(cell)); + }; + + var rPercentageBasedSizeRegex = /(\d+(\.\d+)?)%/; + var rPixelBasedSizeRegex = /(\d+(\.\d+)?)px|em/; + var getPercentSize = function (elm, getter) { + var relativeParent = offsetParent(elm).getOr(getBody$1(owner(elm))); + return getter(elm) / getter(relativeParent) * 100; + }; + var setPixelWidth = function (cell, amount) { + set$1(cell, 'width', amount + 'px'); + }; + var setPercentageWidth = function (cell, amount) { + set$1(cell, 'width', amount + '%'); + }; + var setHeight = function (cell, amount) { + set$1(cell, 'height', amount + 'px'); + }; + var getHeightValue = function (cell) { + return getRaw$2(cell, 'height').getOrThunk(function () { + return getHeight$1(cell) + 'px'; + }); + }; + var convert = function (cell, number, getter, setter) { + var newSize = table(cell).map(function (table) { + var total = getter(table); + return Math.floor(number / 100 * total); + }).getOr(number); + setter(cell, newSize); + return newSize; + }; + var normalizePixelSize = function (value, cell, getter, setter) { + var number = parseInt(value, 10); + return endsWith(value, '%') && name(cell) !== 'table' ? convert(cell, number, getter, setter) : number; + }; + var getTotalHeight = function (cell) { + var value = getHeightValue(cell); + if (!value) { + return get$7(cell); + } + return normalizePixelSize(value, cell, get$7, setHeight); + }; + var get$6 = function (cell, type, f) { + var v = f(cell); + var span = getSpan(cell, type); + return v / span; + }; + var getRawWidth$1 = function (element) { + var cssWidth = getRaw$2(element, 'width'); + return cssWidth.fold(function () { + return Optional.from(get$b(element, 'width')); + }, function (width) { + return Optional.some(width); + }); + }; + var normalizePercentageWidth = function (cellWidth, tableSize) { + return cellWidth / tableSize.pixelWidth() * 100; + }; + var choosePercentageSize = function (element, width, tableSize) { + var percentMatch = rPercentageBasedSizeRegex.exec(width); + if (percentMatch !== null) { + return parseFloat(percentMatch[1]); + } else { + var intWidth = getWidth(element); + return normalizePercentageWidth(intWidth, tableSize); + } + }; + var getPercentageWidth = function (cell, tableSize) { + var width = getRawWidth$1(cell); + return width.fold(function () { + var intWidth = get$8(cell); + return normalizePercentageWidth(intWidth, tableSize); + }, function (w) { + return choosePercentageSize(cell, w, tableSize); + }); + }; + var normalizePixelWidth = function (cellWidth, tableSize) { + return cellWidth / 100 * tableSize.pixelWidth(); + }; + var choosePixelSize = function (element, width, tableSize) { + var pixelMatch = rPixelBasedSizeRegex.exec(width); + if (pixelMatch !== null) { + return parseInt(pixelMatch[1], 10); + } + var percentMatch = rPercentageBasedSizeRegex.exec(width); + if (percentMatch !== null) { + var floatWidth = parseFloat(percentMatch[1]); + return normalizePixelWidth(floatWidth, tableSize); + } + return getWidth(element); + }; + var getPixelWidth$1 = function (cell, tableSize) { + var width = getRawWidth$1(cell); + return width.fold(function () { + return getWidth(cell); + }, function (w) { + return choosePixelSize(cell, w, tableSize); + }); + }; + var getHeight = function (cell) { + return get$6(cell, 'rowspan', getTotalHeight); + }; + var getGenericWidth = function (cell) { + var width = getRawWidth$1(cell); + return width.bind(function (w) { + return parse(w, [ + 'fixed', + 'relative', + 'empty' + ]); + }); + }; + var setGenericWidth = function (cell, amount, unit) { + set$1(cell, 'width', amount + unit); + }; + var getPixelTableWidth = function (table) { + return get$8(table) + 'px'; + }; + var getPercentTableWidth$1 = function (table) { + return getPercentSize(table, get$8) + '%'; + }; + var isPercentSizing$1 = function (table) { + return getRawWidth$1(table).exists(function (size) { + return rPercentageBasedSizeRegex.test(size); + }); + }; + var isPixelSizing$1 = function (table) { + return getRawWidth$1(table).exists(function (size) { + return rPixelBasedSizeRegex.test(size); + }); + }; + var isNoneSizing$1 = function (table) { + return getRawWidth$1(table).isNone(); + }; + var percentageBasedSizeRegex = constant(rPercentageBasedSizeRegex); + var pixelBasedSizeRegex = constant(rPixelBasedSizeRegex); + + var isCol$1 = isTag('col'); + var getRaw$1 = function (cell, property, getter) { + return getRaw$2(cell, property).getOrThunk(function () { + return getter(cell) + 'px'; + }); + }; + var getRawW = function (cell, tableSize) { + var fallback = function (e) { + return isCol$1(e) ? get$8(e) : getPixelWidth$1(e, tableSize); + }; + return getRaw$1(cell, 'width', fallback); + }; + var getRawH = function (cell) { + return getRaw$1(cell, 'height', getHeight); + }; + var justCols = function (warehouse) { + return map$1(Warehouse.justColumns(warehouse), function (column) { + return Optional.from(column.element); + }); + }; + var hasRawStyle = function (cell, prop) { + return getRaw$2(cell, prop).isSome(); + }; + var isValidColumn = function (cell) { + return !isCol$1(cell) || hasRawStyle(cell, 'width'); + }; + var getDimension = function (cellOpt, index, backups, filter, getter, fallback) { + return cellOpt.filter(filter).fold(function () { + return fallback(deduce(backups, index)); + }, function (cell) { + return getter(cell); + }); + }; + var getWidthFrom = function (warehouse, table, getWidth, fallback, tableSize) { + var columnCells = columns(warehouse, function (cell) { + return hasRawStyle(cell, 'width'); + }); + var columns$1 = Warehouse.hasColumns(warehouse) ? justCols(warehouse) : columnCells; + var backups = [Optional.some(width.edge(table))].concat(map$1(width.positions(columnCells, table), function (pos) { + return pos.map(function (p) { + return p.x; + }); + })); + var colFilter = not(hasColspan); + return map$1(columns$1, function (cellOption, c) { + return getDimension(cellOption, c, backups, colFilter, function (column) { + if (isValidColumn(column)) { + return getWidth(column, tableSize); + } else { + var cell = bindFrom(columnCells[c], identity); + return getDimension(cell, c, backups, colFilter, function (cell) { + return fallback(Optional.some(get$8(cell))); + }, fallback); + } + }, fallback); + }); + }; + var getDeduced = function (deduced) { + return deduced.map(function (d) { + return d + 'px'; + }).getOr(''); + }; + var getRawWidths = function (warehouse, table, tableSize) { + return getWidthFrom(warehouse, table, getRawW, getDeduced, tableSize); + }; + var getPercentageWidths = function (warehouse, table, tableSize) { + return getWidthFrom(warehouse, table, getPercentageWidth, function (deduced) { + return deduced.fold(function () { + return tableSize.minCellWidth(); + }, function (cellWidth) { + return cellWidth / tableSize.pixelWidth() * 100; + }); + }, tableSize); + }; + var getPixelWidths = function (warehouse, table, tableSize) { + return getWidthFrom(warehouse, table, getPixelWidth$1, function (deduced) { + return deduced.getOrThunk(tableSize.minCellWidth); + }, tableSize); + }; + var getHeightFrom = function (warehouse, table, direction, getHeight, fallback) { + var rows$1 = rows(warehouse); + var backups = [Optional.some(direction.edge(table))].concat(map$1(direction.positions(rows$1, table), function (pos) { + return pos.map(function (p) { + return p.y; + }); + })); + return map$1(rows$1, function (cellOption, c) { + return getDimension(cellOption, c, backups, not(hasRowspan), getHeight, fallback); + }); + }; + var getPixelHeights = function (warehouse, table, direction) { + return getHeightFrom(warehouse, table, direction, getHeight, function (deduced) { + return deduced.getOrThunk(minHeight); + }); + }; + var getRawHeights = function (warehouse, table, direction) { + return getHeightFrom(warehouse, table, direction, getRawH, getDeduced); + }; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var noneSize = function (table) { + var getWidth = function () { + return get$8(table); + }; + var zero = constant(0); + var getWidths = function (warehouse, tableSize) { + return getPixelWidths(warehouse, table, tableSize); + }; + return { + width: getWidth, + pixelWidth: getWidth, + getWidths: getWidths, + getCellDelta: zero, + singleColumnWidth: constant([0]), + minCellWidth: zero, + setElementWidth: noop, + adjustTableWidth: noop, + isRelative: true, + label: 'none' + }; + }; + var percentageSize = function (initialWidth, table) { + var floatWidth = Cell(parseFloat(initialWidth)); + var pixelWidth = Cell(get$8(table)); + var getCellDelta = function (delta) { + return delta / pixelWidth.get() * 100; + }; + var singleColumnWidth = function (w, _delta) { + return [100 - w]; + }; + var minCellWidth = function () { + return minWidth() / pixelWidth.get() * 100; + }; + var adjustTableWidth = function (delta) { + var currentWidth = floatWidth.get(); + var change = delta / 100 * currentWidth; + var newWidth = currentWidth + change; + setPercentageWidth(table, newWidth); + floatWidth.set(newWidth); + pixelWidth.set(get$8(table)); + }; + var getWidths = function (warehouse, tableSize) { + return getPercentageWidths(warehouse, table, tableSize); + }; + return { + width: floatWidth.get, + pixelWidth: pixelWidth.get, + getWidths: getWidths, + getCellDelta: getCellDelta, + singleColumnWidth: singleColumnWidth, + minCellWidth: minCellWidth, + setElementWidth: setPercentageWidth, + adjustTableWidth: adjustTableWidth, + isRelative: true, + label: 'percent' + }; + }; + var pixelSize = function (initialWidth, table) { + var width = Cell(initialWidth); + var getWidth = width.get; + var getCellDelta = identity; + var singleColumnWidth = function (w, delta) { + var newNext = Math.max(minWidth(), w + delta); + return [newNext - w]; + }; + var adjustTableWidth = function (delta) { + var newWidth = getWidth() + delta; + setPixelWidth(table, newWidth); + width.set(newWidth); + }; + var getWidths = function (warehouse, tableSize) { + return getPixelWidths(warehouse, table, tableSize); + }; + return { + width: getWidth, + pixelWidth: getWidth, + getWidths: getWidths, + getCellDelta: getCellDelta, + singleColumnWidth: singleColumnWidth, + minCellWidth: minWidth, + setElementWidth: setPixelWidth, + adjustTableWidth: adjustTableWidth, + isRelative: false, + label: 'pixel' + }; + }; + var chooseSize = function (element, width) { + var percentMatch = percentageBasedSizeRegex().exec(width); + if (percentMatch !== null) { + return percentageSize(percentMatch[1], element); + } + var pixelMatch = pixelBasedSizeRegex().exec(width); + if (pixelMatch !== null) { + var intWidth = parseInt(pixelMatch[1], 10); + return pixelSize(intWidth, element); + } + var fallbackWidth = get$8(element); + return pixelSize(fallbackWidth, element); + }; + var getTableSize = function (table) { + var width = getRawWidth$1(table); + return width.fold(function () { + return noneSize(table); + }, function (w) { + return chooseSize(table, w); + }); + }; + var TableSize = { + getTableSize: getTableSize, + pixelSize: pixelSize, + percentageSize: percentageSize, + noneSize: noneSize + }; + + var statsStruct = function (minRow, minCol, maxRow, maxCol, allCells, selectedCells) { + return { + minRow: minRow, + minCol: minCol, + maxRow: maxRow, + maxCol: maxCol, + allCells: allCells, + selectedCells: selectedCells + }; + }; + var findSelectedStats = function (house, isSelected) { + var totalColumns = house.grid.columns; + var totalRows = house.grid.rows; + var minRow = totalRows; + var minCol = totalColumns; + var maxRow = 0; + var maxCol = 0; + var allCells = []; + var selectedCells = []; + each$1(house.access, function (detail) { + allCells.push(detail); + if (isSelected(detail)) { + selectedCells.push(detail); + var startRow = detail.row; + var endRow = startRow + detail.rowspan - 1; + var startCol = detail.column; + var endCol = startCol + detail.colspan - 1; + if (startRow < minRow) { + minRow = startRow; + } else if (endRow > maxRow) { + maxRow = endRow; + } + if (startCol < minCol) { + minCol = startCol; + } else if (endCol > maxCol) { + maxCol = endCol; + } + } + }); + return statsStruct(minRow, minCol, maxRow, maxCol, allCells, selectedCells); + }; + var makeCell = function (list, seenSelected, rowIndex) { + var row = list[rowIndex].element; + var td = SugarElement.fromTag('td'); + append$1(td, SugarElement.fromTag('br')); + var f = seenSelected ? append$1 : prepend; + f(row, td); + }; + var fillInGaps = function (list, house, stats, isSelected) { + var totalColumns = house.grid.columns; + var totalRows = house.grid.rows; + for (var i = 0; i < totalRows; i++) { + var seenSelected = false; + for (var j = 0; j < totalColumns; j++) { + if (!(i < stats.minRow || i > stats.maxRow || j < stats.minCol || j > stats.maxCol)) { + var needCell = Warehouse.getAt(house, i, j).filter(isSelected).isNone(); + if (needCell) { + makeCell(list, seenSelected, i); + } else { + seenSelected = true; + } + } + } + } + }; + var clean = function (replica, stats, house, widthDelta) { + each$1(house.columns, function (col) { + if (col.column < stats.minCol || col.column > stats.maxCol) { + remove$5(col.element); + } + }); + var emptyRows = filter$2(firstLayer(replica, 'tr'), function (row) { + return row.dom.childElementCount === 0; + }); + each$2(emptyRows, remove$5); + if (stats.minCol === stats.maxCol || stats.minRow === stats.maxRow) { + each$2(firstLayer(replica, 'th,td'), function (cell) { + remove$7(cell, 'rowspan'); + remove$7(cell, 'colspan'); + }); + } + remove$7(replica, LOCKED_COL_ATTR); + remove$7(replica, 'data-snooker-col-series'); + var tableSize = TableSize.getTableSize(replica); + tableSize.adjustTableWidth(widthDelta); + }; + var getTableWidthDelta = function (table, warehouse, tableSize, stats) { + if (stats.minCol === 0 && warehouse.grid.columns === stats.maxCol + 1) { + return 0; + } + var colWidths = getPixelWidths(warehouse, table, tableSize); + var allColsWidth = foldl(colWidths, function (acc, width) { + return acc + width; + }, 0); + var selectedColsWidth = foldl(colWidths.slice(stats.minCol, stats.maxCol + 1), function (acc, width) { + return acc + width; + }, 0); + var newWidth = selectedColsWidth / allColsWidth * tableSize.pixelWidth(); + var delta = newWidth - tableSize.pixelWidth(); + return tableSize.getCellDelta(delta); + }; + var extract$1 = function (table, selectedSelector) { + var isSelected = function (detail) { + return is$2(detail.element, selectedSelector); + }; + var replica = deep(table); + var list = fromTable$1(replica); + var tableSize = TableSize.getTableSize(table); + var replicaHouse = Warehouse.generate(list); + var replicaStats = findSelectedStats(replicaHouse, isSelected); + var selector = 'th:not(' + selectedSelector + ')' + ',td:not(' + selectedSelector + ')'; + var unselectedCells = filterFirstLayer(replica, 'th,td', function (cell) { + return is$2(cell, selector); + }); + each$2(unselectedCells, remove$5); + fillInGaps(list, replicaHouse, replicaStats, isSelected); + var house = Warehouse.fromTable(table); + var widthDelta = getTableWidthDelta(table, house, tableSize, replicaStats); + clean(replica, replicaStats, replicaHouse, widthDelta); + return replica; + }; + + var nbsp = '\xA0'; + + var getEnd = function (element) { + return name(element) === 'img' ? 1 : getOption(element).fold(function () { + return children$3(element).length; + }, function (v) { + return v.length; + }); + }; + var isTextNodeWithCursorPosition = function (el) { + return getOption(el).filter(function (text) { + return text.trim().length !== 0 || text.indexOf(nbsp) > -1; + }).isSome(); + }; + var elementsWithCursorPosition = [ + 'img', + 'br' + ]; + var isCursorPosition = function (elem) { + var hasCursorPosition = isTextNodeWithCursorPosition(elem); + return hasCursorPosition || contains$2(elementsWithCursorPosition, name(elem)); + }; + + var first = function (element) { + return descendant$1(element, isCursorPosition); + }; + var last$1 = function (element) { + return descendantRtl(element, isCursorPosition); + }; + var descendantRtl = function (scope, predicate) { + var descend = function (element) { + var children = children$3(element); + for (var i = children.length - 1; i >= 0; i--) { + var child = children[i]; + if (predicate(child)) { + return Optional.some(child); + } + var res = descend(child); + if (res.isSome()) { + return res; + } + } + return Optional.none(); + }; + return descend(scope); + }; + + var transferableAttributes = { + scope: [ + 'row', + 'col' + ] + }; + var createCell = function (doc) { + return function () { + var td = SugarElement.fromTag('td', doc.dom); + append$1(td, SugarElement.fromTag('br', doc.dom)); + return td; + }; + }; + var createCol = function (doc) { + return function () { + return SugarElement.fromTag('col', doc.dom); + }; + }; + var createColgroup = function (doc) { + return function () { + return SugarElement.fromTag('colgroup', doc.dom); + }; + }; + var createRow$1 = function (doc) { + return function () { + return SugarElement.fromTag('tr', doc.dom); + }; + }; + var replace$1 = function (cell, tag, attrs) { + var replica = copy$1(cell, tag); + each$1(attrs, function (v, k) { + if (v === null) { + remove$7(replica, k); + } else { + set$2(replica, k, v); + } + }); + return replica; + }; + var pasteReplace = function (cell) { + return cell; + }; + var cloneFormats = function (oldCell, newCell, formats) { + var first$1 = first(oldCell); + return first$1.map(function (firstText) { + var formatSelector = formats.join(','); + var parents = ancestors$3(firstText, formatSelector, function (element) { + return eq$1(element, oldCell); + }); + return foldr(parents, function (last, parent) { + var clonedFormat = shallow(parent); + remove$7(clonedFormat, 'contenteditable'); + append$1(last, clonedFormat); + return clonedFormat; + }, newCell); + }).getOr(newCell); + }; + var cloneAppropriateAttributes = function (original, clone) { + each$1(transferableAttributes, function (validAttributes, attributeName) { + return getOpt(original, attributeName).filter(function (attribute) { + return contains$2(validAttributes, attribute); + }).each(function (attribute) { + return set$2(clone, attributeName, attribute); + }); + }); + }; + var cellOperations = function (mutate, doc, formatsToClone) { + var cloneCss = function (prev, clone) { + copy$2(prev.element, clone); + remove$6(clone, 'height'); + if (prev.colspan !== 1) { + remove$6(clone, 'width'); + } + }; + var newCell = function (prev) { + var td = SugarElement.fromTag(name(prev.element), doc.dom); + var formats = formatsToClone.getOr([ + 'strong', + 'em', + 'b', + 'i', + 'span', + 'font', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'p', + 'div' + ]); + var lastNode = formats.length > 0 ? cloneFormats(prev.element, td, formats) : td; + append$1(lastNode, SugarElement.fromTag('br')); + cloneCss(prev, td); + cloneAppropriateAttributes(prev.element, td); + mutate(prev.element, td); + return td; + }; + var newCol = function (prev) { + var col = SugarElement.fromTag(name(prev.element), doc.dom); + cloneCss(prev, col); + mutate(prev.element, col); + return col; + }; + return { + col: newCol, + colgroup: createColgroup(doc), + row: createRow$1(doc), + cell: newCell, + replace: replace$1, + gap: createCell(doc) + }; + }; + var paste$1 = function (doc) { + return { + col: createCol(doc), + colgroup: createColgroup(doc), + row: createRow$1(doc), + cell: createCell(doc), + replace: pasteReplace, + gap: createCell(doc) + }; + }; + + var fromHtml = function (html, scope) { + var doc = scope || document; + var div = doc.createElement('div'); + div.innerHTML = html; + return children$3(SugarElement.fromDom(div)); + }; + var fromDom = function (nodes) { + return map$1(nodes, SugarElement.fromDom); + }; + + var getNodeName = function (elm) { + return elm.nodeName.toLowerCase(); + }; + var getBody = function (editor) { + return SugarElement.fromDom(editor.getBody()); + }; + var getPixelWidth = function (elm) { + return elm.getBoundingClientRect().width; + }; + var getPixelHeight = function (elm) { + return elm.getBoundingClientRect().height; + }; + var getIsRoot = function (editor) { + return function (element) { + return eq$1(element, getBody(editor)); + }; + }; + var removePxSuffix = function (size) { + return size ? size.replace(/px$/, '') : ''; + }; + var addPxSuffix = function (size) { + return /^\d+(\.\d+)?$/.test(size) ? size + 'px' : size; + }; + var removeDataStyle = function (table) { + remove$7(table, 'data-mce-style'); + var removeStyleAttribute = function (element) { + return remove$7(element, 'data-mce-style'); + }; + each$2(cells$1(table), removeStyleAttribute); + each$2(columns$1(table), removeStyleAttribute); + }; + var getRawWidth = function (editor, elm) { + var raw = editor.dom.getStyle(elm, 'width') || editor.dom.getAttrib(elm, 'width'); + return Optional.from(raw).filter(isNotEmpty); + }; + var isPercentage$1 = function (value) { + return /^(\d+(\.\d+)?)%$/.test(value); + }; + var isPixel = function (value) { + return /^(\d+(\.\d+)?)px$/.test(value); + }; + var getSelectionStart = function (editor) { + return SugarElement.fromDom(editor.selection.getStart()); + }; + var getSelectionEnd = function (editor) { + return SugarElement.fromDom(editor.selection.getEnd()); + }; + + var selection = function (selections) { + return cata$2(selections.get(), constant([]), identity, pure); + }; + var unmergable = function (selections) { + var hasSpan = function (elem, type) { + return getOpt(elem, type).exists(function (span) { + return parseInt(span, 10) > 1; + }); + }; + var hasRowOrColSpan = function (elem) { + return hasSpan(elem, 'rowspan') || hasSpan(elem, 'colspan'); + }; + var candidates = selection(selections); + return candidates.length > 0 && forall(candidates, hasRowOrColSpan) ? Optional.some(candidates) : Optional.none(); + }; + var mergable = function (table, selections, ephemera) { + return cata$2(selections.get(), Optional.none, function (cells) { + if (cells.length <= 1) { + return Optional.none(); + } else { + return retrieveBox(table, ephemera.firstSelectedSelector, ephemera.lastSelectedSelector).map(function (bounds) { + return { + bounds: bounds, + cells: cells + }; + }); + } + }, Optional.none); + }; + + var strSelected = 'data-mce-selected'; + var strSelectedSelector = 'td[' + strSelected + '],th[' + strSelected + ']'; + var strAttributeSelector = '[' + strSelected + ']'; + var strFirstSelected = 'data-mce-first-selected'; + var strFirstSelectedSelector = 'td[' + strFirstSelected + '],th[' + strFirstSelected + ']'; + var strLastSelected = 'data-mce-last-selected'; + var strLastSelectedSelector = 'td[' + strLastSelected + '],th[' + strLastSelected + ']'; + var attributeSelector = strAttributeSelector; + var ephemera = { + selected: strSelected, + selectedSelector: strSelectedSelector, + firstSelected: strFirstSelected, + firstSelectedSelector: strFirstSelectedSelector, + lastSelected: strLastSelected, + lastSelectedSelector: strLastSelectedSelector + }; + + var noMenu = function (cell) { + return { + element: cell, + mergable: Optional.none(), + unmergable: Optional.none(), + selection: [cell] + }; + }; + var forMenu = function (selections, table, cell) { + return { + element: cell, + mergable: mergable(table, selections, ephemera), + unmergable: unmergable(selections), + selection: selection(selections) + }; + }; + var paste = function (element, clipboard, generators) { + return { + element: element, + clipboard: clipboard, + generators: generators + }; + }; + var pasteRows = function (selections, cell, clipboard, generators) { + return { + selection: selection(selections), + clipboard: clipboard, + generators: generators + }; + }; + + var getSelectionCellFallback = function (element) { + return table(element).bind(function (table) { + return retrieve(table, ephemera.firstSelectedSelector); + }).fold(constant(element), function (cells) { + return cells[0]; + }); + }; + var getSelectionFromSelector = function (selector) { + return function (initCell, isRoot) { + var cellName = name(initCell); + var cell = cellName === 'col' || cellName === 'colgroup' ? getSelectionCellFallback(initCell) : initCell; + return closest$1(cell, selector, isRoot); + }; + }; + var getSelectionCellOrCaption = getSelectionFromSelector('th,td,caption'); + var getSelectionCell = getSelectionFromSelector('th,td'); + var getCellsFromSelection = function (selections) { + return selection(selections); + }; + var getRowsFromSelection = function (selected, selector) { + var cellOpt = getSelectionCell(selected); + var rowsOpt = cellOpt.bind(function (cell) { + return table(cell); + }).map(function (table) { + return rows$1(table); + }); + return lift2(cellOpt, rowsOpt, function (cell, rows) { + return filter$2(rows, function (row) { + return exists(fromDom(row.dom.cells), function (rowCell) { + return get$b(rowCell, selector) === '1' || eq$1(rowCell, cell); + }); + }); + }).getOr([]); + }; + + var extractSelected = function (cells) { + return table(cells[0]).map(function (table) { + var replica = extract$1(table, attributeSelector); + removeDataStyle(replica); + return [replica]; + }); + }; + var serializeElements = function (editor, elements) { + return map$1(elements, function (elm) { + return editor.selection.serializer.serialize(elm.dom, {}); + }).join(''); + }; + var getTextContent = function (elements) { + return map$1(elements, function (element) { + return element.dom.innerText; + }).join(''); + }; + var registerEvents = function (editor, selections, actions) { + editor.on('BeforeGetContent', function (e) { + var multiCellContext = function (cells) { + e.preventDefault(); + extractSelected(cells).each(function (elements) { + e.content = e.format === 'text' ? getTextContent(elements) : serializeElements(editor, elements); + }); + }; + if (e.selection === true) { + cata$2(selections.get(), noop, multiCellContext, noop); + } + }); + editor.on('BeforeSetContent', function (e) { + if (e.selection === true && e.paste === true) { + var selectedCells = getCellsFromSelection(selections); + head(selectedCells).each(function (cell) { + table(cell).each(function (table) { + var elements = filter$2(fromHtml(e.content), function (content) { + return name(content) !== 'meta'; + }); + var isTable = isTag('table'); + if (elements.length === 1 && isTable(elements[0])) { + e.preventDefault(); + var doc = SugarElement.fromDom(editor.getDoc()); + var generators = paste$1(doc); + var targets = paste(cell, elements[0], generators); + actions.pasteCells(table, targets).each(function () { + editor.focus(); + }); + } + }); + }); + } + }); + }; + + var adt$7 = Adt.generate([ + { none: [] }, + { only: ['index'] }, + { + left: [ + 'index', + 'next' + ] + }, + { + middle: [ + 'prev', + 'index', + 'next' + ] + }, + { + right: [ + 'prev', + 'index' + ] + } + ]); + var ColumnContext = __assign({}, adt$7); + + var neighbours = function (input, index) { + if (input.length === 0) { + return ColumnContext.none(); + } + if (input.length === 1) { + return ColumnContext.only(0); + } + if (index === 0) { + return ColumnContext.left(0, 1); + } + if (index === input.length - 1) { + return ColumnContext.right(index - 1, index); + } + if (index > 0 && index < input.length - 1) { + return ColumnContext.middle(index - 1, index, index + 1); + } + return ColumnContext.none(); + }; + var determine = function (input, column, step, tableSize, resize) { + var result = input.slice(0); + var context = neighbours(input, column); + var onNone = constant(map$1(result, constant(0))); + var onOnly = function (index) { + return tableSize.singleColumnWidth(result[index], step); + }; + var onLeft = function (index, next) { + return resize.calcLeftEdgeDeltas(result, index, next, step, tableSize.minCellWidth(), tableSize.isRelative); + }; + var onMiddle = function (prev, index, next) { + return resize.calcMiddleDeltas(result, prev, index, next, step, tableSize.minCellWidth(), tableSize.isRelative); + }; + var onRight = function (prev, index) { + return resize.calcRightEdgeDeltas(result, prev, index, step, tableSize.minCellWidth(), tableSize.isRelative); + }; + return context.fold(onNone, onOnly, onLeft, onMiddle, onRight); + }; + + var total = function (start, end, measures) { + var r = 0; + for (var i = start; i < end; i++) { + r += measures[i] !== undefined ? measures[i] : 0; + } + return r; + }; + var recalculateWidthForCells = function (warehouse, widths) { + var all = Warehouse.justCells(warehouse); + return map$1(all, function (cell) { + var width = total(cell.column, cell.column + cell.colspan, widths); + return { + element: cell.element, + width: width, + colspan: cell.colspan + }; + }); + }; + var recalculateWidthForColumns = function (warehouse, widths) { + var groups = Warehouse.justColumns(warehouse); + return map$1(groups, function (column, index) { + return { + element: column.element, + width: widths[index], + colspan: column.colspan + }; + }); + }; + var recalculateHeightForCells = function (warehouse, heights) { + var all = Warehouse.justCells(warehouse); + return map$1(all, function (cell) { + var height = total(cell.row, cell.row + cell.rowspan, heights); + return { + element: cell.element, + height: height, + rowspan: cell.rowspan + }; + }); + }; + var matchRowHeight = function (warehouse, heights) { + return map$1(warehouse.all, function (row, i) { + return { + element: row.element, + height: heights[i] + }; + }); + }; + + var sumUp = function (newSize) { + return foldr(newSize, function (b, a) { + return b + a; + }, 0); + }; + var recalculate = function (warehouse, widths) { + if (Warehouse.hasColumns(warehouse)) { + return recalculateWidthForColumns(warehouse, widths); + } else { + return recalculateWidthForCells(warehouse, widths); + } + }; + var recalculateAndApply = function (warehouse, widths, tableSize) { + var newSizes = recalculate(warehouse, widths); + each$2(newSizes, function (cell) { + tableSize.setElementWidth(cell.element, cell.width); + }); + }; + var adjustWidth = function (table, delta, index, resizing, tableSize) { + var warehouse = Warehouse.fromTable(table); + var step = tableSize.getCellDelta(delta); + var widths = tableSize.getWidths(warehouse, tableSize); + var isLastColumn = index === warehouse.grid.columns - 1; + var clampedStep = resizing.clampTableDelta(widths, index, step, tableSize.minCellWidth(), isLastColumn); + var deltas = determine(widths, index, clampedStep, tableSize, resizing); + var newWidths = map$1(deltas, function (dx, i) { + return dx + widths[i]; + }); + recalculateAndApply(warehouse, newWidths, tableSize); + resizing.resizeTable(tableSize.adjustTableWidth, clampedStep, isLastColumn); + }; + var adjustHeight = function (table, delta, index, direction) { + var warehouse = Warehouse.fromTable(table); + var heights = getPixelHeights(warehouse, table, direction); + var newHeights = map$1(heights, function (dy, i) { + return index === i ? Math.max(delta + dy, minHeight()) : dy; + }); + var newCellSizes = recalculateHeightForCells(warehouse, newHeights); + var newRowSizes = matchRowHeight(warehouse, newHeights); + each$2(newRowSizes, function (row) { + setHeight(row.element, row.height); + }); + each$2(newCellSizes, function (cell) { + setHeight(cell.element, cell.height); + }); + var total = sumUp(newHeights); + setHeight(table, total); + }; + var adjustAndRedistributeWidths$1 = function (_table, list, details, tableSize, resizeBehaviour) { + var warehouse = Warehouse.generate(list); + var sizes = tableSize.getWidths(warehouse, tableSize); + var tablePixelWidth = tableSize.pixelWidth(); + var _a = resizeBehaviour.calcRedestributedWidths(sizes, tablePixelWidth, details.pixelDelta, tableSize.isRelative), newSizes = _a.newSizes, delta = _a.delta; + recalculateAndApply(warehouse, newSizes, tableSize); + tableSize.adjustTableWidth(delta); + }; + var adjustWidthTo = function (_table, list, _info, tableSize) { + var warehouse = Warehouse.generate(list); + var widths = tableSize.getWidths(warehouse, tableSize); + recalculateAndApply(warehouse, widths, tableSize); + }; + + var zero = function (array) { + return map$1(array, constant(0)); + }; + var surround = function (sizes, startIndex, endIndex, results, f) { + return f(sizes.slice(0, startIndex)).concat(results).concat(f(sizes.slice(endIndex))); + }; + var clampDeltaHelper = function (predicate) { + return function (sizes, index, delta, minCellSize) { + if (!predicate(delta)) { + return delta; + } else { + var newSize = Math.max(minCellSize, sizes[index] - Math.abs(delta)); + var diff = Math.abs(newSize - sizes[index]); + return delta >= 0 ? diff : -diff; + } + }; + }; + var clampNegativeDelta = clampDeltaHelper(function (delta) { + return delta < 0; + }); + var clampDelta = clampDeltaHelper(always); + var resizeTable = function () { + var calcFixedDeltas = function (sizes, index, next, delta, minCellSize) { + var clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize); + return surround(sizes, index, next + 1, [ + clampedDelta, + 0 + ], zero); + }; + var calcRelativeDeltas = function (sizes, index, delta, minCellSize) { + var ratio = (100 + delta) / 100; + var newThis = Math.max(minCellSize, (sizes[index] + delta) / ratio); + return map$1(sizes, function (size, idx) { + var newSize = idx === index ? newThis : size / ratio; + return newSize - size; + }); + }; + var calcLeftEdgeDeltas = function (sizes, index, next, delta, minCellSize, isRelative) { + if (isRelative) { + return calcRelativeDeltas(sizes, index, delta, minCellSize); + } else { + return calcFixedDeltas(sizes, index, next, delta, minCellSize); + } + }; + var calcMiddleDeltas = function (sizes, _prev, index, next, delta, minCellSize, isRelative) { + return calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize, isRelative); + }; + var resizeTable = function (resizer, delta) { + return resizer(delta); + }; + var calcRightEdgeDeltas = function (sizes, _prev, index, delta, minCellSize, isRelative) { + if (isRelative) { + return calcRelativeDeltas(sizes, index, delta, minCellSize); + } else { + var clampedDelta = clampNegativeDelta(sizes, index, delta, minCellSize); + return zero(sizes.slice(0, index)).concat([clampedDelta]); + } + }; + var calcRedestributedWidths = function (sizes, totalWidth, pixelDelta, isRelative) { + if (isRelative) { + var tableWidth = totalWidth + pixelDelta; + var ratio_1 = tableWidth / totalWidth; + var newSizes = map$1(sizes, function (size) { + return size / ratio_1; + }); + return { + delta: ratio_1 * 100 - 100, + newSizes: newSizes + }; + } else { + return { + delta: pixelDelta, + newSizes: sizes + }; + } + }; + return { + resizeTable: resizeTable, + clampTableDelta: clampNegativeDelta, + calcLeftEdgeDeltas: calcLeftEdgeDeltas, + calcMiddleDeltas: calcMiddleDeltas, + calcRightEdgeDeltas: calcRightEdgeDeltas, + calcRedestributedWidths: calcRedestributedWidths + }; + }; + var preserveTable = function () { + var calcLeftEdgeDeltas = function (sizes, index, next, delta, minCellSize) { + var idx = delta >= 0 ? next : index; + var clampedDelta = clampDelta(sizes, idx, delta, minCellSize); + return surround(sizes, index, next + 1, [ + clampedDelta, + -clampedDelta + ], zero); + }; + var calcMiddleDeltas = function (sizes, _prev, index, next, delta, minCellSize) { + return calcLeftEdgeDeltas(sizes, index, next, delta, minCellSize); + }; + var resizeTable = function (resizer, delta, isLastColumn) { + if (isLastColumn) { + resizer(delta); + } + }; + var calcRightEdgeDeltas = function (sizes, _prev, _index, delta, _minCellSize, isRelative) { + if (isRelative) { + return zero(sizes); + } else { + var diff = delta / sizes.length; + return map$1(sizes, constant(diff)); + } + }; + var clampTableDelta = function (sizes, index, delta, minCellSize, isLastColumn) { + if (isLastColumn) { + if (delta >= 0) { + return delta; + } else { + var maxDelta = foldl(sizes, function (a, b) { + return a + b - minCellSize; + }, 0); + return Math.max(-maxDelta, delta); + } + } else { + return clampNegativeDelta(sizes, index, delta, minCellSize); + } + }; + var calcRedestributedWidths = function (sizes, _totalWidth, _pixelDelta, _isRelative) { + return { + delta: 0, + newSizes: sizes + }; + }; + return { + resizeTable: resizeTable, + clampTableDelta: clampTableDelta, + calcLeftEdgeDeltas: calcLeftEdgeDeltas, + calcMiddleDeltas: calcMiddleDeltas, + calcRightEdgeDeltas: calcRightEdgeDeltas, + calcRedestributedWidths: calcRedestributedWidths + }; + }; + + var only = function (element, isResizable) { + var parent = Optional.from(element.dom.documentElement).map(SugarElement.fromDom).getOr(element); + return { + parent: constant(parent), + view: constant(element), + origin: constant(SugarPosition(0, 0)), + isResizable: isResizable + }; + }; + var detached = function (editable, chrome, isResizable) { + var origin = function () { + return absolute(chrome); + }; + return { + parent: constant(chrome), + view: constant(editable), + origin: origin, + isResizable: isResizable + }; + }; + var body = function (editable, chrome, isResizable) { + return { + parent: constant(chrome), + view: constant(editable), + origin: constant(SugarPosition(0, 0)), + isResizable: isResizable + }; + }; + var ResizeWire = { + only: only, + detached: detached, + body: body + }; + + var adt$6 = Adt.generate([ + { invalid: ['raw'] }, + { pixels: ['value'] }, + { percent: ['value'] } + ]); + var validateFor = function (suffix, type, value) { + var rawAmount = value.substring(0, value.length - suffix.length); + var amount = parseFloat(rawAmount); + return rawAmount === amount.toString() ? type(amount) : adt$6.invalid(value); + }; + var from = function (value) { + if (endsWith(value, '%')) { + return validateFor('%', adt$6.percent, value); + } + if (endsWith(value, 'px')) { + return validateFor('px', adt$6.pixels, value); + } + return adt$6.invalid(value); + }; + var Size = __assign(__assign({}, adt$6), { from: from }); + + var redistributeToPercent = function (widths, totalWidth) { + return map$1(widths, function (w) { + var colType = Size.from(w); + return colType.fold(function () { + return w; + }, function (px) { + var ratio = px / totalWidth * 100; + return ratio + '%'; + }, function (pc) { + return pc + '%'; + }); + }); + }; + var redistributeToPx = function (widths, totalWidth, newTotalWidth) { + var scale = newTotalWidth / totalWidth; + return map$1(widths, function (w) { + var colType = Size.from(w); + return colType.fold(function () { + return w; + }, function (px) { + return px * scale + 'px'; + }, function (pc) { + return pc / 100 * newTotalWidth + 'px'; + }); + }); + }; + var redistributeEmpty = function (newWidthType, columns) { + var f = newWidthType.fold(function () { + return constant(''); + }, function (pixels) { + var num = pixels / columns; + return constant(num + 'px'); + }, function () { + var num = 100 / columns; + return constant(num + '%'); + }); + return range$1(columns, f); + }; + var redistributeValues = function (newWidthType, widths, totalWidth) { + return newWidthType.fold(function () { + return widths; + }, function (px) { + return redistributeToPx(widths, totalWidth, px); + }, function (_pc) { + return redistributeToPercent(widths, totalWidth); + }); + }; + var redistribute$1 = function (widths, totalWidth, newWidth) { + var newType = Size.from(newWidth); + var floats = forall(widths, function (s) { + return s === '0px'; + }) ? redistributeEmpty(newType, widths.length) : redistributeValues(newType, widths, totalWidth); + return normalize(floats); + }; + var sum = function (values, fallback) { + if (values.length === 0) { + return fallback; + } + return foldr(values, function (rest, v) { + return Size.from(v).fold(constant(0), identity, identity) + rest; + }, 0); + }; + var roundDown = function (num, unit) { + var floored = Math.floor(num); + return { + value: floored + unit, + remainder: num - floored + }; + }; + var add$3 = function (value, amount) { + return Size.from(value).fold(constant(value), function (px) { + return px + amount + 'px'; + }, function (pc) { + return pc + amount + '%'; + }); + }; + var normalize = function (values) { + if (values.length === 0) { + return values; + } + var scan = foldr(values, function (rest, value) { + var info = Size.from(value).fold(function () { + return { + value: value, + remainder: 0 + }; + }, function (num) { + return roundDown(num, 'px'); + }, function (num) { + return { + value: num + '%', + remainder: 0 + }; + }); + return { + output: [info.value].concat(rest.output), + remainder: rest.remainder + info.remainder + }; + }, { + output: [], + remainder: 0 + }); + var r = scan.output; + return r.slice(0, r.length - 1).concat([add$3(r[r.length - 1], Math.round(scan.remainder))]); + }; + var validate = Size.from; + + var redistributeToW = function (newWidths, cells, unit) { + each$2(cells, function (cell) { + var widths = newWidths.slice(cell.column, cell.colspan + cell.column); + var w = sum(widths, minWidth()); + set$1(cell.element, 'width', w + unit); + }); + }; + var redistributeToColumns = function (newWidths, columns, unit) { + each$2(columns, function (column, index) { + var width = sum([newWidths[index]], minWidth()); + set$1(column.element, 'width', width + unit); + }); + }; + var redistributeToH = function (newHeights, rows, cells, unit) { + each$2(cells, function (cell) { + var heights = newHeights.slice(cell.row, cell.rowspan + cell.row); + var h = sum(heights, minHeight()); + set$1(cell.element, 'height', h + unit); + }); + each$2(rows, function (row, i) { + set$1(row.element, 'height', newHeights[i]); + }); + }; + var getUnit = function (newSize) { + return validate(newSize).fold(constant('px'), constant('px'), constant('%')); + }; + var redistribute = function (table, optWidth, optHeight, tableSize) { + var warehouse = Warehouse.fromTable(table); + var rows = warehouse.all; + var cells = Warehouse.justCells(warehouse); + var columns = Warehouse.justColumns(warehouse); + optWidth.each(function (newWidth) { + var widthUnit = getUnit(newWidth); + var totalWidth = get$8(table); + var oldWidths = getRawWidths(warehouse, table, tableSize); + var nuWidths = redistribute$1(oldWidths, totalWidth, newWidth); + if (Warehouse.hasColumns(warehouse)) { + redistributeToColumns(nuWidths, columns, widthUnit); + } else { + redistributeToW(nuWidths, cells, widthUnit); + } + set$1(table, 'width', newWidth); + }); + optHeight.each(function (newHeight) { + var hUnit = getUnit(newHeight); + var totalHeight = get$7(table); + var oldHeights = getRawHeights(warehouse, table, height); + var nuHeights = redistribute$1(oldHeights, totalHeight, newHeight); + redistributeToH(nuHeights, rows, cells, hUnit); + set$1(table, 'height', newHeight); + }); + }; + var isPercentSizing = isPercentSizing$1; + var isPixelSizing = isPixelSizing$1; + var isNoneSizing = isNoneSizing$1; + var getPercentTableWidth = getPercentTableWidth$1; + + var getGridSize = function (table) { + var warehouse = Warehouse.fromTable(table); + return warehouse.grid; + }; + + var Event = function (fields) { + var handlers = []; + var bind = function (handler) { + if (handler === undefined) { + throw new Error('Event bind error: undefined handler'); + } + handlers.push(handler); + }; + var unbind = function (handler) { + handlers = filter$2(handlers, function (h) { + return h !== handler; + }); + }; + var trigger = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var event = {}; + each$2(fields, function (name, i) { + event[name] = args[i]; + }); + each$2(handlers, function (handler) { + handler(event); + }); + }; + return { + bind: bind, + unbind: unbind, + trigger: trigger + }; + }; + + var create$4 = function (typeDefs) { + var registry = map(typeDefs, function (event) { + return { + bind: event.bind, + unbind: event.unbind + }; + }); + var trigger = map(typeDefs, function (event) { + return event.trigger; + }); + return { + registry: registry, + trigger: trigger + }; + }; + + var last = function (fn, rate) { + var timer = null; + var cancel = function () { + if (!isNull(timer)) { + clearTimeout(timer); + timer = null; + } + }; + var throttle = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + cancel(); + timer = setTimeout(function () { + timer = null; + fn.apply(null, args); + }, rate); + }; + return { + cancel: cancel, + throttle: throttle + }; + }; + + var sort = function (arr) { + return arr.slice(0).sort(); + }; + var reqMessage = function (required, keys) { + throw new Error('All required keys (' + sort(required).join(', ') + ') were not specified. Specified keys were: ' + sort(keys).join(', ') + '.'); + }; + var unsuppMessage = function (unsupported) { + throw new Error('Unsupported keys for object: ' + sort(unsupported).join(', ')); + }; + var validateStrArr = function (label, array) { + if (!isArray(array)) { + throw new Error('The ' + label + ' fields must be an array. Was: ' + array + '.'); + } + each$2(array, function (a) { + if (!isString(a)) { + throw new Error('The value ' + a + ' in the ' + label + ' fields was not a string.'); + } + }); + }; + var invalidTypeMessage = function (incorrect, type) { + throw new Error('All values need to be of type: ' + type + '. Keys (' + sort(incorrect).join(', ') + ') were not.'); + }; + var checkDupes = function (everything) { + var sorted = sort(everything); + var dupe = find$1(sorted, function (s, i) { + return i < sorted.length - 1 && s === sorted[i + 1]; + }); + dupe.each(function (d) { + throw new Error('The field: ' + d + ' occurs more than once in the combined fields: [' + sorted.join(', ') + '].'); + }); + }; + + var base = function (handleUnsupported, required) { + return baseWith(handleUnsupported, required, { + validate: isFunction, + label: 'function' + }); + }; + var baseWith = function (handleUnsupported, required, pred) { + if (required.length === 0) { + throw new Error('You must specify at least one required field.'); + } + validateStrArr('required', required); + checkDupes(required); + return function (obj) { + var keys$1 = keys(obj); + var allReqd = forall(required, function (req) { + return contains$2(keys$1, req); + }); + if (!allReqd) { + reqMessage(required, keys$1); + } + handleUnsupported(required, keys$1); + var invalidKeys = filter$2(required, function (key) { + return !pred.validate(obj[key], key); + }); + if (invalidKeys.length > 0) { + invalidTypeMessage(invalidKeys, pred.label); + } + return obj; + }; + }; + var handleExact = function (required, keys) { + var unsupported = filter$2(keys, function (key) { + return !contains$2(required, key); + }); + if (unsupported.length > 0) { + unsuppMessage(unsupported); + } + }; + var exactly = function (required) { + return base(handleExact, required); + }; + + var DragMode = exactly([ + 'compare', + 'extract', + 'mutate', + 'sink' + ]); + var DragSink = exactly([ + 'element', + 'start', + 'stop', + 'destroy' + ]); + var DragApi = exactly([ + 'forceDrop', + 'drop', + 'move', + 'delayDrop' + ]); + + var InDrag = function () { + var previous = Optional.none(); + var reset = function () { + previous = Optional.none(); + }; + var update = function (mode, nu) { + var result = previous.map(function (old) { + return mode.compare(old, nu); + }); + previous = Optional.some(nu); + return result; + }; + var onEvent = function (event, mode) { + var dataOption = mode.extract(event); + dataOption.each(function (data) { + var offset = update(mode, data); + offset.each(function (d) { + events.trigger.move(d); + }); + }); + }; + var events = create$4({ move: Event(['info']) }); + return { + onEvent: onEvent, + reset: reset, + events: events.registry + }; + }; + + var NoDrag = function () { + var events = create$4({ move: Event(['info']) }); + return { + onEvent: noop, + reset: noop, + events: events.registry + }; + }; + + var Movement = function () { + var noDragState = NoDrag(); + var inDragState = InDrag(); + var dragState = noDragState; + var on = function () { + dragState.reset(); + dragState = inDragState; + }; + var off = function () { + dragState.reset(); + dragState = noDragState; + }; + var onEvent = function (event, mode) { + dragState.onEvent(event, mode); + }; + var isOn = function () { + return dragState === inDragState; + }; + return { + on: on, + off: off, + isOn: isOn, + onEvent: onEvent, + events: inDragState.events + }; + }; + + var setup = function (mutation, mode, settings) { + var active = false; + var events = create$4({ + start: Event([]), + stop: Event([]) + }); + var movement = Movement(); + var drop = function () { + sink.stop(); + if (movement.isOn()) { + movement.off(); + events.trigger.stop(); + } + }; + var throttledDrop = last(drop, 200); + var go = function (parent) { + sink.start(parent); + movement.on(); + events.trigger.start(); + }; + var mousemove = function (event) { + throttledDrop.cancel(); + movement.onEvent(event, mode); + }; + movement.events.move.bind(function (event) { + mode.mutate(mutation, event.info); + }); + var on = function () { + active = true; + }; + var off = function () { + active = false; + }; + var runIfActive = function (f) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + if (active) { + f.apply(null, args); + } + }; + }; + var sink = mode.sink(DragApi({ + forceDrop: drop, + drop: runIfActive(drop), + move: runIfActive(mousemove), + delayDrop: runIfActive(throttledDrop.throttle) + }), settings); + var destroy = function () { + sink.destroy(); + }; + return { + element: sink.element, + go: go, + on: on, + off: off, + destroy: destroy, + events: events.registry + }; + }; + + var mkEvent = function (target, x, y, stop, prevent, kill, raw) { + return { + target: target, + x: x, + y: y, + stop: stop, + prevent: prevent, + kill: kill, + raw: raw + }; + }; + var fromRawEvent$1 = function (rawEvent) { + var target = SugarElement.fromDom(getOriginalEventTarget(rawEvent).getOr(rawEvent.target)); + var stop = function () { + return rawEvent.stopPropagation(); + }; + var prevent = function () { + return rawEvent.preventDefault(); + }; + var kill = compose(prevent, stop); + return mkEvent(target, rawEvent.clientX, rawEvent.clientY, stop, prevent, kill, rawEvent); + }; + var handle$2 = function (filter, handler) { + return function (rawEvent) { + if (filter(rawEvent)) { + handler(fromRawEvent$1(rawEvent)); + } + }; + }; + var binder = function (element, event, filter, handler, useCapture) { + var wrapped = handle$2(filter, handler); + element.dom.addEventListener(event, wrapped, useCapture); + return { unbind: curry(unbind, element, event, wrapped, useCapture) }; + }; + var bind$1 = function (element, event, filter, handler) { + return binder(element, event, filter, handler, false); + }; + var unbind = function (element, event, handler, useCapture) { + element.dom.removeEventListener(event, handler, useCapture); + }; + + var filter = always; + var bind = function (element, event, handler) { + return bind$1(element, event, filter, handler); + }; + var fromRawEvent = fromRawEvent$1; + + var read = function (element, attr) { + var value = get$b(element, attr); + return value === undefined || value === '' ? [] : value.split(' '); + }; + var add$2 = function (element, attr, id) { + var old = read(element, attr); + var nu = old.concat([id]); + set$2(element, attr, nu.join(' ')); + return true; + }; + var remove$4 = function (element, attr, id) { + var nu = filter$2(read(element, attr), function (v) { + return v !== id; + }); + if (nu.length > 0) { + set$2(element, attr, nu.join(' ')); + } else { + remove$7(element, attr); + } + return false; + }; + + var supports = function (element) { + return element.dom.classList !== undefined; + }; + var get$5 = function (element) { + return read(element, 'class'); + }; + var add$1 = function (element, clazz) { + return add$2(element, 'class', clazz); + }; + var remove$3 = function (element, clazz) { + return remove$4(element, 'class', clazz); + }; + + var add = function (element, clazz) { + if (supports(element)) { + element.dom.classList.add(clazz); + } else { + add$1(element, clazz); + } + }; + var cleanClass = function (element) { + var classList = supports(element) ? element.dom.classList : get$5(element); + if (classList.length === 0) { + remove$7(element, 'class'); + } + }; + var remove$2 = function (element, clazz) { + if (supports(element)) { + var classList = element.dom.classList; + classList.remove(clazz); + } else { + remove$3(element, clazz); + } + cleanClass(element); + }; + var has = function (element, clazz) { + return supports(element) && element.dom.classList.contains(clazz); + }; + + var css = function (namespace) { + var dashNamespace = namespace.replace(/\./g, '-'); + var resolve = function (str) { + return dashNamespace + '-' + str; + }; + return { resolve: resolve }; + }; + + var styles$1 = css('ephox-dragster'); + var resolve$1 = styles$1.resolve; + + var Blocker = function (options) { + var settings = __assign({ layerClass: resolve$1('blocker') }, options); + var div = SugarElement.fromTag('div'); + set$2(div, 'role', 'presentation'); + setAll(div, { + position: 'fixed', + left: '0px', + top: '0px', + width: '100%', + height: '100%' + }); + add(div, resolve$1('blocker')); + add(div, settings.layerClass); + var element = constant(div); + var destroy = function () { + remove$5(div); + }; + return { + element: element, + destroy: destroy + }; + }; + + var compare = function (old, nu) { + return SugarPosition(nu.left - old.left, nu.top - old.top); + }; + var extract = function (event) { + return Optional.some(SugarPosition(event.x, event.y)); + }; + var mutate = function (mutation, info) { + mutation.mutate(info.left, info.top); + }; + var sink = function (dragApi, settings) { + var blocker = Blocker(settings); + var mdown = bind(blocker.element(), 'mousedown', dragApi.forceDrop); + var mup = bind(blocker.element(), 'mouseup', dragApi.drop); + var mmove = bind(blocker.element(), 'mousemove', dragApi.move); + var mout = bind(blocker.element(), 'mouseout', dragApi.delayDrop); + var destroy = function () { + blocker.destroy(); + mup.unbind(); + mmove.unbind(); + mout.unbind(); + mdown.unbind(); + }; + var start = function (parent) { + append$1(parent, blocker.element()); + }; + var stop = function () { + remove$5(blocker.element()); + }; + return DragSink({ + element: blocker.element, + start: start, + stop: stop, + destroy: destroy + }); + }; + var MouseDrag = DragMode({ + compare: compare, + extract: extract, + sink: sink, + mutate: mutate + }); + + var transform$1 = function (mutation, settings) { + if (settings === void 0) { + settings = {}; + } + var mode = settings.mode !== undefined ? settings.mode : MouseDrag; + return setup(mutation, mode, settings); + }; + + var closest = function (target) { + return closest$1(target, '[contenteditable]'); + }; + var isEditable$1 = function (element, assumeEditable) { + if (assumeEditable === void 0) { + assumeEditable = false; + } + if (!detect$3().browser.isIE() && inBody(element)) { + return element.dom.isContentEditable; + } else { + return closest(element).fold(constant(assumeEditable), function (editable) { + return getRaw(editable) === 'true'; + }); + } + }; + var getRaw = function (element) { + return element.dom.contentEditable; + }; + + var styles = css('ephox-snooker'); + var resolve = styles.resolve; + + var Mutation = function () { + var events = create$4({ + drag: Event([ + 'xDelta', + 'yDelta' + ]) + }); + var mutate = function (x, y) { + events.trigger.drag(x, y); + }; + return { + mutate: mutate, + events: events.registry + }; + }; + + var BarMutation = function () { + var events = create$4({ + drag: Event([ + 'xDelta', + 'yDelta', + 'target' + ]) + }); + var target = Optional.none(); + var delegate = Mutation(); + delegate.events.drag.bind(function (event) { + target.each(function (t) { + events.trigger.drag(event.xDelta, event.yDelta, t); + }); + }); + var assign = function (t) { + target = Optional.some(t); + }; + var get = function () { + return target; + }; + return { + assign: assign, + get: get, + mutate: delegate.mutate, + events: events.registry + }; + }; + + var col = function (column, x, y, w, h) { + var bar = SugarElement.fromTag('div'); + setAll(bar, { + position: 'absolute', + left: x - w / 2 + 'px', + top: y + 'px', + height: h + 'px', + width: w + 'px' + }); + setAll$1(bar, { + 'data-column': column, + 'role': 'presentation' + }); + return bar; + }; + var row = function (r, x, y, w, h) { + var bar = SugarElement.fromTag('div'); + setAll(bar, { + position: 'absolute', + left: x + 'px', + top: y - h / 2 + 'px', + height: h + 'px', + width: w + 'px' + }); + setAll$1(bar, { + 'data-row': r, + 'role': 'presentation' + }); + return bar; + }; + + var resizeBar = resolve('resizer-bar'); + var resizeRowBar = resolve('resizer-rows'); + var resizeColBar = resolve('resizer-cols'); + var BAR_THICKNESS = 7; + var resizableRows = function (warehouse, isResizable) { + return bind$2(warehouse.all, function (row, i) { + return isResizable(row.element) ? [i] : []; + }); + }; + var resizableColumns = function (warehouse, isResizable) { + var resizableCols = []; + range$1(warehouse.grid.columns, function (index) { + var colElmOpt = Warehouse.getColumnAt(warehouse, index).map(function (col) { + return col.element; + }); + if (colElmOpt.forall(isResizable)) { + resizableCols.push(index); + } + }); + return filter$2(resizableCols, function (colIndex) { + var columnCells = Warehouse.filterItems(warehouse, function (cell) { + return cell.column === colIndex; + }); + return forall(columnCells, function (cell) { + return isResizable(cell.element); + }); + }); + }; + var destroy = function (wire) { + var previous = descendants(wire.parent(), '.' + resizeBar); + each$2(previous, remove$5); + }; + var drawBar = function (wire, positions, create) { + var origin = wire.origin(); + each$2(positions, function (cpOption) { + cpOption.each(function (cp) { + var bar = create(origin, cp); + add(bar, resizeBar); + append$1(wire.parent(), bar); + }); + }); + }; + var refreshCol = function (wire, colPositions, position, tableHeight) { + drawBar(wire, colPositions, function (origin, cp) { + var colBar = col(cp.col, cp.x - origin.left, position.top - origin.top, BAR_THICKNESS, tableHeight); + add(colBar, resizeColBar); + return colBar; + }); + }; + var refreshRow = function (wire, rowPositions, position, tableWidth) { + drawBar(wire, rowPositions, function (origin, cp) { + var rowBar = row(cp.row, position.left - origin.left, cp.y - origin.top, tableWidth, BAR_THICKNESS); + add(rowBar, resizeRowBar); + return rowBar; + }); + }; + var refreshGrid = function (warhouse, wire, table, rows, cols) { + var position = absolute(table); + var isResizable = wire.isResizable; + var rowPositions = rows.length > 0 ? height.positions(rows, table) : []; + var resizableRowBars = rowPositions.length > 0 ? resizableRows(warhouse, isResizable) : []; + var resizableRowPositions = filter$2(rowPositions, function (_pos, i) { + return exists(resizableRowBars, function (barIndex) { + return i === barIndex; + }); + }); + refreshRow(wire, resizableRowPositions, position, getOuter$2(table)); + var colPositions = cols.length > 0 ? width.positions(cols, table) : []; + var resizableColBars = colPositions.length > 0 ? resizableColumns(warhouse, isResizable) : []; + var resizableColPositions = filter$2(colPositions, function (_pos, i) { + return exists(resizableColBars, function (barIndex) { + return i === barIndex; + }); + }); + refreshCol(wire, resizableColPositions, position, getOuter$1(table)); + }; + var refresh = function (wire, table) { + destroy(wire); + if (wire.isResizable(table)) { + var warehouse = Warehouse.fromTable(table); + var rows$1 = rows(warehouse); + var cols = columns(warehouse); + refreshGrid(warehouse, wire, table, rows$1, cols); + } + }; + var each = function (wire, f) { + var bars = descendants(wire.parent(), '.' + resizeBar); + each$2(bars, f); + }; + var hide = function (wire) { + each(wire, function (bar) { + set$1(bar, 'display', 'none'); + }); + }; + var show = function (wire) { + each(wire, function (bar) { + set$1(bar, 'display', 'block'); + }); + }; + var isRowBar = function (element) { + return has(element, resizeRowBar); + }; + var isColBar = function (element) { + return has(element, resizeColBar); + }; + + var resizeBarDragging = resolve('resizer-bar-dragging'); + var BarManager = function (wire) { + var mutation = BarMutation(); + var resizing = transform$1(mutation, {}); + var hoverTable = Optional.none(); + var getResizer = function (element, type) { + return Optional.from(get$b(element, type)); + }; + mutation.events.drag.bind(function (event) { + getResizer(event.target, 'data-row').each(function (_dataRow) { + var currentRow = getCssValue(event.target, 'top'); + set$1(event.target, 'top', currentRow + event.yDelta + 'px'); + }); + getResizer(event.target, 'data-column').each(function (_dataCol) { + var currentCol = getCssValue(event.target, 'left'); + set$1(event.target, 'left', currentCol + event.xDelta + 'px'); + }); + }); + var getDelta = function (target, dir) { + var newX = getCssValue(target, dir); + var oldX = getAttrValue(target, 'data-initial-' + dir, 0); + return newX - oldX; + }; + resizing.events.stop.bind(function () { + mutation.get().each(function (target) { + hoverTable.each(function (table) { + getResizer(target, 'data-row').each(function (row) { + var delta = getDelta(target, 'top'); + remove$7(target, 'data-initial-top'); + events.trigger.adjustHeight(table, delta, parseInt(row, 10)); + }); + getResizer(target, 'data-column').each(function (column) { + var delta = getDelta(target, 'left'); + remove$7(target, 'data-initial-left'); + events.trigger.adjustWidth(table, delta, parseInt(column, 10)); + }); + refresh(wire, table); + }); + }); + }); + var handler = function (target, dir) { + events.trigger.startAdjust(); + mutation.assign(target); + set$2(target, 'data-initial-' + dir, getCssValue(target, dir)); + add(target, resizeBarDragging); + set$1(target, 'opacity', '0.2'); + resizing.go(wire.parent()); + }; + var mousedown = bind(wire.parent(), 'mousedown', function (event) { + if (isRowBar(event.target)) { + handler(event.target, 'top'); + } + if (isColBar(event.target)) { + handler(event.target, 'left'); + } + }); + var isRoot = function (e) { + return eq$1(e, wire.view()); + }; + var findClosestEditableTable = function (target) { + return closest$1(target, 'table', isRoot).filter(isEditable$1); + }; + var mouseover = bind(wire.view(), 'mouseover', function (event) { + findClosestEditableTable(event.target).fold(function () { + if (inBody(event.target)) { + destroy(wire); + } + }, function (table) { + hoverTable = Optional.some(table); + refresh(wire, table); + }); + }); + var destroy$1 = function () { + mousedown.unbind(); + mouseover.unbind(); + resizing.destroy(); + destroy(wire); + }; + var refresh$1 = function (tbl) { + refresh(wire, tbl); + }; + var events = create$4({ + adjustHeight: Event([ + 'table', + 'delta', + 'row' + ]), + adjustWidth: Event([ + 'table', + 'delta', + 'column' + ]), + startAdjust: Event([]) + }); + return { + destroy: destroy$1, + refresh: refresh$1, + on: resizing.on, + off: resizing.off, + hideBars: curry(hide, wire), + showBars: curry(show, wire), + events: events.registry + }; + }; + + var create$3 = function (wire, resizing, lazySizing) { + var hdirection = height; + var vdirection = width; + var manager = BarManager(wire); + var events = create$4({ + beforeResize: Event([ + 'table', + 'type' + ]), + afterResize: Event([ + 'table', + 'type' + ]), + startDrag: Event([]) + }); + manager.events.adjustHeight.bind(function (event) { + var table = event.table; + events.trigger.beforeResize(table, 'row'); + var delta = hdirection.delta(event.delta, table); + adjustHeight(table, delta, event.row, hdirection); + events.trigger.afterResize(table, 'row'); + }); + manager.events.startAdjust.bind(function (_event) { + events.trigger.startDrag(); + }); + manager.events.adjustWidth.bind(function (event) { + var table = event.table; + events.trigger.beforeResize(table, 'col'); + var delta = vdirection.delta(event.delta, table); + var tableSize = lazySizing(table); + adjustWidth(table, delta, event.column, resizing, tableSize); + events.trigger.afterResize(table, 'col'); + }); + return { + on: manager.on, + off: manager.off, + hideBars: manager.hideBars, + showBars: manager.showBars, + destroy: manager.destroy, + events: events.registry + }; + }; + var TableResize = { create: create$3 }; + + var fireNewRow = function (editor, row) { + return editor.fire('newrow', { node: row }); + }; + var fireNewCell = function (editor, cell) { + return editor.fire('newcell', { node: cell }); + }; + var fireObjectResizeStart = function (editor, target, width, height, origin) { + editor.fire('ObjectResizeStart', { + target: target, + width: width, + height: height, + origin: origin + }); + }; + var fireObjectResized = function (editor, target, width, height, origin) { + editor.fire('ObjectResized', { + target: target, + width: width, + height: height, + origin: origin + }); + }; + var fireTableSelectionChange = function (editor, cells, start, finish, otherCells) { + editor.fire('TableSelectionChange', { + cells: cells, + start: start, + finish: finish, + otherCells: otherCells + }); + }; + var fireTableSelectionClear = function (editor) { + editor.fire('TableSelectionClear'); + }; + var fireTableModified = function (editor, table, data) { + editor.fire('TableModified', __assign(__assign({}, data), { table: table })); + }; + var styleModified = { + structure: false, + style: true + }; + var structureModified = { + structure: true, + style: false + }; + var styleAndStructureModified = { + structure: true, + style: true + }; + + var defaultTableToolbar = 'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol'; + var defaultStyles = { + 'border-collapse': 'collapse', + 'width': '100%' + }; + var defaultCellBorderWidths = range$1(5, function (i) { + var size = i + 1 + 'px'; + return { + title: size, + value: size + }; + }); + var defaultCellBorderStyles = map$1([ + 'Solid', + 'Dotted', + 'Dashed', + 'Double', + 'Groove', + 'Ridge', + 'Inset', + 'Outset', + 'None', + 'Hidden' + ], function (type) { + return { + title: type, + value: type.toLowerCase() + }; + }); + var determineDefaultStyles = function (editor) { + if (isPixelsForced(editor)) { + var editorWidth = editor.getBody().offsetWidth; + return __assign(__assign({}, defaultStyles), { width: editorWidth + 'px' }); + } else if (isResponsiveForced(editor)) { + return filter$1(defaultStyles, function (_value, key) { + return key !== 'width'; + }); + } else { + return defaultStyles; + } + }; + var defaultAttributes = { border: '1' }; + var defaultColumnResizingBehaviour = 'preservetable'; + var getTableSizingMode = function (editor) { + return editor.getParam('table_sizing_mode', 'auto'); + }; + var getTableResponseWidth = function (editor) { + return editor.getParam('table_responsive_width'); + }; + var getTableBorderWidths = function (editor) { + return editor.getParam('table_border_widths', defaultCellBorderWidths, 'array'); + }; + var getTableBorderStyles = function (editor) { + return editor.getParam('table_border_styles', defaultCellBorderStyles, 'array'); + }; + var getDefaultAttributes = function (editor) { + return editor.getParam('table_default_attributes', defaultAttributes, 'object'); + }; + var getDefaultStyles = function (editor) { + return editor.getParam('table_default_styles', determineDefaultStyles(editor), 'object'); + }; + var hasTableResizeBars = function (editor) { + return editor.getParam('table_resize_bars', true, 'boolean'); + }; + var hasTabNavigation = function (editor) { + return editor.getParam('table_tab_navigation', true, 'boolean'); + }; + var hasAdvancedCellTab = function (editor) { + return editor.getParam('table_cell_advtab', true, 'boolean'); + }; + var hasAdvancedRowTab = function (editor) { + return editor.getParam('table_row_advtab', true, 'boolean'); + }; + var hasAdvancedTableTab = function (editor) { + return editor.getParam('table_advtab', true, 'boolean'); + }; + var hasAppearanceOptions = function (editor) { + return editor.getParam('table_appearance_options', true, 'boolean'); + }; + var hasTableGrid = function (editor) { + return editor.getParam('table_grid', true, 'boolean'); + }; + var shouldStyleWithCss = function (editor) { + return editor.getParam('table_style_by_css', false, 'boolean'); + }; + var getCellClassList = function (editor) { + return editor.getParam('table_cell_class_list', [], 'array'); + }; + var getRowClassList = function (editor) { + return editor.getParam('table_row_class_list', [], 'array'); + }; + var getTableClassList = function (editor) { + return editor.getParam('table_class_list', [], 'array'); + }; + var isPercentagesForced = function (editor) { + return getTableSizingMode(editor) === 'relative' || getTableResponseWidth(editor) === true; + }; + var isPixelsForced = function (editor) { + return getTableSizingMode(editor) === 'fixed' || getTableResponseWidth(editor) === false; + }; + var isResponsiveForced = function (editor) { + return getTableSizingMode(editor) === 'responsive'; + }; + var getToolbar = function (editor) { + return editor.getParam('table_toolbar', defaultTableToolbar); + }; + var useColumnGroup = function (editor) { + return editor.getParam('table_use_colgroups', false, 'boolean'); + }; + var getTableHeaderType = function (editor) { + var defaultValue = 'section'; + var value = editor.getParam('table_header_type', defaultValue, 'string'); + var validValues = [ + 'section', + 'cells', + 'sectionCells', + 'auto' + ]; + if (!contains$2(validValues, value)) { + return defaultValue; + } else { + return value; + } + }; + var getColumnResizingBehaviour = function (editor) { + var validModes = [ + 'preservetable', + 'resizetable' + ]; + var givenMode = editor.getParam('table_column_resizing', defaultColumnResizingBehaviour, 'string'); + return find$1(validModes, function (mode) { + return mode === givenMode; + }).getOr(defaultColumnResizingBehaviour); + }; + var isPreserveTableColumnResizing = function (editor) { + return getColumnResizingBehaviour(editor) === 'preservetable'; + }; + var isResizeTableColumnResizing = function (editor) { + return getColumnResizingBehaviour(editor) === 'resizetable'; + }; + var getCloneElements = function (editor) { + var cloneElements = editor.getParam('table_clone_elements'); + if (isString(cloneElements)) { + return Optional.some(cloneElements.split(/[ ,]/)); + } else if (Array.isArray(cloneElements)) { + return Optional.some(cloneElements); + } else { + return Optional.none(); + } + }; + var hasObjectResizing = function (editor) { + var objectResizing = editor.getParam('object_resizing', true); + return isString(objectResizing) ? objectResizing === 'table' : objectResizing; + }; + var getTableBackgroundColorMap = function (editor) { + return editor.getParam('table_background_color_map', [], 'array'); + }; + var getTableBorderColorMap = function (editor) { + return editor.getParam('table_border_color_map', [], 'array'); + }; + + var get$4 = function (editor, table) { + if (isPercentagesForced(editor)) { + var width = getRawWidth(editor, table.dom).filter(isPercentage$1).getOrThunk(function () { + return getPercentTableWidth(table); + }); + return TableSize.percentageSize(width, table); + } else if (isPixelsForced(editor)) { + return TableSize.pixelSize(get$8(table), table); + } else { + return TableSize.getTableSize(table); + } + }; + + var cleanupLegacyAttributes = function (element) { + remove$7(element, 'width'); + }; + var convertToPercentSize = function (table, tableSize) { + var newWidth = getPercentTableWidth$1(table); + redistribute(table, Optional.some(newWidth), Optional.none(), tableSize); + cleanupLegacyAttributes(table); + }; + var convertToPixelSize = function (table, tableSize) { + var newWidth = getPixelTableWidth(table); + redistribute(table, Optional.some(newWidth), Optional.none(), tableSize); + cleanupLegacyAttributes(table); + }; + var convertToNoneSize = function (table) { + remove$6(table, 'width'); + var columns = columns$1(table); + var rowElements = columns.length > 0 ? columns : cells$1(table); + each$2(rowElements, function (cell) { + remove$6(cell, 'width'); + cleanupLegacyAttributes(cell); + }); + cleanupLegacyAttributes(table); + }; + + var enforcePercentage = function (editor, table) { + var tableSizing = get$4(editor, table); + convertToPercentSize(table, tableSizing); + }; + var enforcePixels = function (editor, table) { + var tableSizing = get$4(editor, table); + convertToPixelSize(table, tableSizing); + }; + var enforceNone = convertToNoneSize; + var syncPixels = function (table) { + var warehouse = Warehouse.fromTable(table); + if (!Warehouse.hasColumns(warehouse)) { + each$2(cells$1(table), function (cell) { + var computedWidth = get$a(cell, 'width'); + set$1(cell, 'width', computedWidth); + remove$7(cell, 'width'); + }); + } + }; + + var createContainer = function () { + var container = SugarElement.fromTag('div'); + setAll(container, { + position: 'static', + height: '0', + width: '0', + padding: '0', + margin: '0', + border: '0' + }); + append$1(body$1(), container); + return container; + }; + var get$3 = function (editor, isResizable) { + return editor.inline ? ResizeWire.body(getBody(editor), createContainer(), isResizable) : ResizeWire.only(SugarElement.fromDom(editor.getDoc()), isResizable); + }; + var remove$1 = function (editor, wire) { + if (editor.inline) { + remove$5(wire.parent()); + } + }; + + var barResizerPrefix = 'bar-'; + var isResizable = function (elm) { + return get$b(elm, 'data-mce-resize') !== 'false'; + }; + var getResizeHandler = function (editor) { + var selectionRng = Optional.none(); + var resize = Optional.none(); + var wire = Optional.none(); + var startW; + var startRawW; + var isTable = function (elm) { + return elm.nodeName === 'TABLE'; + }; + var lazyResize = function () { + return resize; + }; + var lazyWire = function () { + return wire.getOr(ResizeWire.only(SugarElement.fromDom(editor.getBody()), isResizable)); + }; + var lazySizing = function (table) { + return get$4(editor, table); + }; + var lazyResizingBehaviour = function () { + return isPreserveTableColumnResizing(editor) ? preserveTable() : resizeTable(); + }; + var getNumColumns = function (table) { + return getGridSize(table).columns; + }; + var afterCornerResize = function (table, origin, width) { + var isRightEdgeResize = endsWith(origin, 'e'); + if (startRawW === '') { + enforcePercentage(editor, table); + } + if (width !== startW && startRawW !== '') { + set$1(table, 'width', startRawW); + var resizing = lazyResizingBehaviour(); + var tableSize = lazySizing(table); + var col = isPreserveTableColumnResizing(editor) || isRightEdgeResize ? getNumColumns(table) - 1 : 0; + adjustWidth(table, width - startW, col, resizing, tableSize); + } else if (isPercentage$1(startRawW)) { + var percentW = parseFloat(startRawW.replace('%', '')); + var targetPercentW = width * percentW / startW; + set$1(table, 'width', targetPercentW + '%'); + } + if (isPixel(startRawW)) { + syncPixels(table); + } + }; + var destroy = function () { + resize.each(function (sz) { + sz.destroy(); + }); + wire.each(function (w) { + remove$1(editor, w); + }); + }; + editor.on('init', function () { + var rawWire = get$3(editor, isResizable); + wire = Optional.some(rawWire); + if (hasObjectResizing(editor) && hasTableResizeBars(editor)) { + var resizing = lazyResizingBehaviour(); + var sz = TableResize.create(rawWire, resizing, lazySizing); + sz.on(); + sz.events.startDrag.bind(function (_event) { + selectionRng = Optional.some(editor.selection.getRng()); + }); + sz.events.beforeResize.bind(function (event) { + var rawTable = event.table.dom; + fireObjectResizeStart(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type); + }); + sz.events.afterResize.bind(function (event) { + var table = event.table; + var rawTable = table.dom; + removeDataStyle(table); + selectionRng.each(function (rng) { + editor.selection.setRng(rng); + editor.focus(); + }); + fireObjectResized(editor, rawTable, getPixelWidth(rawTable), getPixelHeight(rawTable), barResizerPrefix + event.type); + editor.undoManager.add(); + }); + resize = Optional.some(sz); + } + }); + editor.on('ObjectResizeStart', function (e) { + var targetElm = e.target; + if (isTable(targetElm)) { + var table = SugarElement.fromDom(targetElm); + each$2(editor.dom.select('.mce-clonedresizable'), function (clone) { + editor.dom.addClass(clone, 'mce-' + getColumnResizingBehaviour(editor) + '-columns'); + }); + if (!isPixelSizing(table) && isPixelsForced(editor)) { + enforcePixels(editor, table); + } else if (!isPercentSizing(table) && isPercentagesForced(editor)) { + enforcePercentage(editor, table); + } + if (isNoneSizing(table) && startsWith(e.origin, barResizerPrefix)) { + enforcePercentage(editor, table); + } + startW = e.width; + startRawW = isResponsiveForced(editor) ? '' : getRawWidth(editor, targetElm).getOr(''); + } + }); + editor.on('ObjectResized', function (e) { + var targetElm = e.target; + if (isTable(targetElm)) { + var table = SugarElement.fromDom(targetElm); + var origin_1 = e.origin; + if (startsWith(origin_1, 'corner-')) { + afterCornerResize(table, origin_1, e.width); + } + removeDataStyle(table); + fireTableModified(editor, table.dom, styleModified); + } + }); + editor.on('SwitchMode', function () { + lazyResize().each(function (resize) { + if (editor.mode.isReadOnly()) { + resize.hideBars(); + } else { + resize.showBars(); + } + }); + }); + return { + lazyResize: lazyResize, + lazyWire: lazyWire, + destroy: destroy + }; + }; + + var point = function (element, offset) { + return { + element: element, + offset: offset + }; + }; + + var scan$1 = function (universe, element, direction) { + if (universe.property().isText(element) && universe.property().getText(element).trim().length === 0 || universe.property().isComment(element)) { + return direction(element).bind(function (elem) { + return scan$1(universe, elem, direction).orThunk(function () { + return Optional.some(elem); + }); + }); + } else { + return Optional.none(); + } + }; + var toEnd = function (universe, element) { + if (universe.property().isText(element)) { + return universe.property().getText(element).length; + } + var children = universe.property().children(element); + return children.length; + }; + var freefallRtl$2 = function (universe, element) { + var candidate = scan$1(universe, element, universe.query().prevSibling).getOr(element); + if (universe.property().isText(candidate)) { + return point(candidate, toEnd(universe, candidate)); + } + var children = universe.property().children(candidate); + return children.length > 0 ? freefallRtl$2(universe, children[children.length - 1]) : point(candidate, toEnd(universe, candidate)); + }; + + var freefallRtl$1 = freefallRtl$2; + + var universe$2 = DomUniverse(); + var freefallRtl = function (element) { + return freefallRtl$1(universe$2, element); + }; + + var halve = function (main, other) { + var colspan = getSpan(main, 'colspan'); + if (colspan === 1) { + var width = getGenericWidth(main); + width.each(function (w) { + var newWidth = w.value / 2; + setGenericWidth(main, newWidth, w.unit); + setGenericWidth(other, newWidth, w.unit); + }); + } + }; + + var isTableHeaderCell = isTag('th'); + var getRowHeaderType = function (isHeaderRow, isHeaderCells) { + if (isHeaderRow && isHeaderCells) { + return 'sectionCells'; + } else if (isHeaderRow) { + return 'section'; + } else { + return 'cells'; + } + }; + var getRowType$1 = function (row) { + var isHeaderRow = row.section === 'thead'; + var isHeaderCells = is(findCommonCellType(row.cells), 'th'); + if (isHeaderRow || isHeaderCells) { + return { + type: 'header', + subType: getRowHeaderType(isHeaderRow, isHeaderCells) + }; + } else if (row.section === 'tfoot') { + return { type: 'footer' }; + } else { + return { type: 'body' }; + } + }; + var findCommonCellType = function (cells) { + var headerCells = filter$2(cells, function (cell) { + return isTableHeaderCell(cell.element); + }); + if (headerCells.length === 0) { + return Optional.some('td'); + } else if (headerCells.length === cells.length) { + return Optional.some('th'); + } else { + return Optional.none(); + } + }; + var findCommonRowType = function (rows) { + var rowTypes = map$1(rows, function (row) { + return getRowType$1(row).type; + }); + var hasHeader = contains$2(rowTypes, 'header'); + var hasFooter = contains$2(rowTypes, 'footer'); + if (!hasHeader && !hasFooter) { + return Optional.some('body'); + } else { + var hasBody = contains$2(rowTypes, 'body'); + if (hasHeader && !hasBody && !hasFooter) { + return Optional.some('header'); + } else if (!hasHeader && !hasBody && hasFooter) { + return Optional.some('footer'); + } else { + return Optional.none(); + } + } + }; + var findTableRowHeaderType = function (warehouse) { + return findMap(warehouse.all, function (row) { + var rowType = getRowType$1(row); + return rowType.type === 'header' ? Optional.from(rowType.subType) : Optional.none(); + }); + }; + + var transformCell = function (cell, comparator, substitution) { + return elementnew(substitution(cell.element, comparator), true, cell.isLocked); + }; + var transformRow = function (row, section) { + return row.section !== section ? rowcells(row.element, row.cells, section, row.isNew) : row; + }; + var section = function () { + return { + transformRow: transformRow, + transformCell: function (cell, comparator, substitution) { + var newCell = substitution(cell.element, comparator); + var fixedCell = name(newCell) !== 'td' ? mutate$1(newCell, 'td') : newCell; + return elementnew(fixedCell, cell.isNew, cell.isLocked); + } + }; + }; + var sectionCells = function () { + return { + transformRow: transformRow, + transformCell: transformCell + }; + }; + var cells = function () { + return { + transformRow: function (row, section) { + var newSection = section === 'thead' ? 'tbody' : section; + return transformRow(row, newSection); + }, + transformCell: transformCell + }; + }; + var fallback = function () { + return { + transformRow: identity, + transformCell: transformCell + }; + }; + var getTableSectionType = function (table, fallback) { + var warehouse = Warehouse.fromTable(table); + var type = findTableRowHeaderType(warehouse).getOr(fallback); + switch (type) { + case 'section': + return section(); + case 'sectionCells': + return sectionCells(); + case 'cells': + return cells(); + } + }; + var TableSection = { + getTableSectionType: getTableSectionType, + section: section, + sectionCells: sectionCells, + cells: cells, + fallback: fallback + }; + + var setIfNot = function (element, property, value, ignore) { + if (value === ignore) { + remove$7(element, property); + } else { + set$2(element, property, value); + } + }; + var insert$1 = function (table, selector, element) { + last$2(children$1(table, selector)).fold(function () { + return prepend(table, element); + }, function (child) { + return after$5(child, element); + }); + }; + var generateSection = function (table, sectionName) { + var section = child$1(table, sectionName).getOrThunk(function () { + var newSection = SugarElement.fromTag(sectionName, owner(table).dom); + if (sectionName === 'thead') { + insert$1(table, 'caption,colgroup', newSection); + } else if (sectionName === 'colgroup') { + insert$1(table, 'caption', newSection); + } else { + append$1(table, newSection); + } + return newSection; + }); + empty(section); + return section; + }; + var render$1 = function (table, grid) { + var newRows = []; + var newCells = []; + var syncRows = function (gridSection) { + return map$1(gridSection, function (row) { + if (row.isNew) { + newRows.push(row.element); + } + var tr = row.element; + empty(tr); + each$2(row.cells, function (cell) { + if (cell.isNew) { + newCells.push(cell.element); + } + setIfNot(cell.element, 'colspan', cell.colspan, 1); + setIfNot(cell.element, 'rowspan', cell.rowspan, 1); + append$1(tr, cell.element); + }); + return tr; + }); + }; + var syncColGroup = function (gridSection) { + return bind$2(gridSection, function (colGroup) { + return map$1(colGroup.cells, function (col) { + setIfNot(col.element, 'span', col.colspan, 1); + return col.element; + }); + }); + }; + var renderSection = function (gridSection, sectionName) { + var section = generateSection(table, sectionName); + var sync = sectionName === 'colgroup' ? syncColGroup : syncRows; + var sectionElems = sync(gridSection); + append(section, sectionElems); + }; + var removeSection = function (sectionName) { + child$1(table, sectionName).each(remove$5); + }; + var renderOrRemoveSection = function (gridSection, sectionName) { + if (gridSection.length > 0) { + renderSection(gridSection, sectionName); + } else { + removeSection(sectionName); + } + }; + var headSection = []; + var bodySection = []; + var footSection = []; + var columnGroupsSection = []; + each$2(grid, function (row) { + switch (row.section) { + case 'thead': + headSection.push(row); + break; + case 'tbody': + bodySection.push(row); + break; + case 'tfoot': + footSection.push(row); + break; + case 'colgroup': + columnGroupsSection.push(row); + break; + } + }); + renderOrRemoveSection(columnGroupsSection, 'colgroup'); + renderOrRemoveSection(headSection, 'thead'); + renderOrRemoveSection(bodySection, 'tbody'); + renderOrRemoveSection(footSection, 'tfoot'); + return { + newRows: newRows, + newCells: newCells + }; + }; + var copy = function (grid) { + return map$1(grid, function (row) { + var tr = shallow(row.element); + each$2(row.cells, function (cell) { + var clonedCell = deep(cell.element); + setIfNot(clonedCell, 'colspan', cell.colspan, 1); + setIfNot(clonedCell, 'rowspan', cell.rowspan, 1); + append$1(tr, clonedCell); + }); + return tr; + }); + }; + + var getColumn = function (grid, index) { + return map$1(grid, function (row) { + return getCell(row, index); + }); + }; + var getRow = function (grid, index) { + return grid[index]; + }; + var findDiff = function (xs, comp) { + if (xs.length === 0) { + return 0; + } + var first = xs[0]; + var index = findIndex(xs, function (x) { + return !comp(first.element, x.element); + }); + return index.getOr(xs.length); + }; + var subgrid = function (grid, row, column, comparator) { + var restOfRow = getRow(grid, row).cells.slice(column); + var endColIndex = findDiff(restOfRow, comparator); + var restOfColumn = getColumn(grid, column).slice(row); + var endRowIndex = findDiff(restOfColumn, comparator); + return { + colspan: endColIndex, + rowspan: endRowIndex + }; + }; + + var toDetails = function (grid, comparator) { + var seen = map$1(grid, function (row) { + return map$1(row.cells, never); + }); + var updateSeen = function (rowIndex, columnIndex, rowspan, colspan) { + for (var row = rowIndex; row < rowIndex + rowspan; row++) { + for (var column = columnIndex; column < columnIndex + colspan; column++) { + seen[row][column] = true; + } + } + }; + return map$1(grid, function (row, rowIndex) { + var details = bind$2(row.cells, function (cell, columnIndex) { + if (seen[rowIndex][columnIndex] === false) { + var result = subgrid(grid, rowIndex, columnIndex, comparator); + updateSeen(rowIndex, columnIndex, result.rowspan, result.colspan); + return [detailnew(cell.element, result.rowspan, result.colspan, cell.isNew)]; + } else { + return []; + } + }); + return rowdetailnew(row.element, details, row.section, row.isNew); + }); + }; + var toGrid = function (warehouse, generators, isNew) { + var grid = []; + each$2(warehouse.colgroups, function (colgroup) { + var cols = map$1(colgroup.columns, function (column) { + return elementnew(column.element, isNew, false); + }); + grid.push(rowcells(colgroup.element, cols, 'colgroup', isNew)); + }); + for (var rowIndex = 0; rowIndex < warehouse.grid.rows; rowIndex++) { + var rowCells = []; + for (var columnIndex = 0; columnIndex < warehouse.grid.columns; columnIndex++) { + var element = Warehouse.getAt(warehouse, rowIndex, columnIndex).map(function (item) { + return elementnew(item.element, isNew, item.isLocked); + }).getOrThunk(function () { + return elementnew(generators.gap(), true, false); + }); + rowCells.push(element); + } + var rowDetail = warehouse.all[rowIndex]; + var row = rowcells(rowDetail.element, rowCells, rowDetail.section, isNew); + grid.push(row); + } + return grid; + }; + + var fromWarehouse = function (warehouse, generators) { + return toGrid(warehouse, generators, false); + }; + var toDetailList = function (grid) { + return toDetails(grid, eq$1); + }; + var findInWarehouse = function (warehouse, element) { + return findMap(warehouse.all, function (r) { + return find$1(r.cells, function (e) { + return eq$1(element, e.element); + }); + }); + }; + var extractCells = function (warehouse, target, predicate) { + var details = map$1(target.selection, function (cell$1) { + return cell(cell$1).bind(function (lc) { + return findInWarehouse(warehouse, lc); + }).filter(predicate); + }); + var cells = cat(details); + return someIf(cells.length > 0, cells); + }; + var run = function (operation, extract, adjustment, postAction, genWrappers) { + return function (wire, table, target, generators, behaviours) { + var warehouse = Warehouse.fromTable(table); + var tableSection = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.section).getOrThunk(TableSection.fallback); + var output = extract(warehouse, target).map(function (info) { + var model = fromWarehouse(warehouse, generators); + var result = operation(model, info, eq$1, genWrappers(generators), tableSection); + var lockedColumns = getLockedColumnsFromGrid(result.grid); + var grid = toDetailList(result.grid); + return { + info: info, + grid: grid, + cursor: result.cursor, + lockedColumns: lockedColumns + }; + }); + return output.bind(function (out) { + var newElements = render$1(table, out.grid); + var tableSizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.sizing).getOrThunk(function () { + return TableSize.getTableSize(table); + }); + var resizing = Optional.from(behaviours === null || behaviours === void 0 ? void 0 : behaviours.resize).getOrThunk(preserveTable); + adjustment(table, out.grid, out.info, { + sizing: tableSizing, + resize: resizing, + section: tableSection + }); + postAction(table); + refresh(wire, table); + remove$7(table, LOCKED_COL_ATTR); + if (out.lockedColumns.length > 0) { + set$2(table, LOCKED_COL_ATTR, out.lockedColumns.join(',')); + } + return Optional.some({ + cursor: out.cursor, + newRows: newElements.newRows, + newCells: newElements.newCells + }); + }); + }; + }; + var onPaste = function (warehouse, target) { + return cell(target.element).bind(function (cell) { + return findInWarehouse(warehouse, cell).map(function (details) { + var value = __assign(__assign({}, details), { + generators: target.generators, + clipboard: target.clipboard + }); + return value; + }); + }); + }; + var onPasteByEditor = function (warehouse, target) { + return extractCells(warehouse, target, always).map(function (cells) { + return { + cells: cells, + generators: target.generators, + clipboard: target.clipboard + }; + }); + }; + var onMergable = function (_warehouse, target) { + return target.mergable; + }; + var onUnmergable = function (_warehouse, target) { + return target.unmergable; + }; + var onCells = function (warehouse, target) { + return extractCells(warehouse, target, always); + }; + var onUnlockedCells = function (warehouse, target) { + return extractCells(warehouse, target, function (detail) { + return !detail.isLocked; + }); + }; + var isUnlockedTableCell = function (warehouse, cell) { + return findInWarehouse(warehouse, cell).exists(function (detail) { + return !detail.isLocked; + }); + }; + var allUnlocked = function (warehouse, cells) { + return forall(cells, function (cell) { + return isUnlockedTableCell(warehouse, cell); + }); + }; + var onUnlockedMergable = function (warehouse, target) { + return onMergable(warehouse, target).filter(function (mergeable) { + return allUnlocked(warehouse, mergeable.cells); + }); + }; + var onUnlockedUnmergable = function (warehouse, target) { + return onUnmergable(warehouse, target).filter(function (cells) { + return allUnlocked(warehouse, cells); + }); + }; + + var merge$2 = function (grid, bounds, comparator, substitution) { + var rows = extractGridDetails(grid).rows; + if (rows.length === 0) { + return grid; + } + for (var i = bounds.startRow; i <= bounds.finishRow; i++) { + for (var j = bounds.startCol; j <= bounds.finishCol; j++) { + var row = rows[i]; + var isLocked = getCell(row, j).isLocked; + mutateCell(row, j, elementnew(substitution(), false, isLocked)); + } + } + return grid; + }; + var unmerge = function (grid, target, comparator, substitution) { + var rows = extractGridDetails(grid).rows; + var first = true; + for (var i = 0; i < rows.length; i++) { + for (var j = 0; j < cellLength(rows[0]); j++) { + var row = rows[i]; + var currentCell = getCell(row, j); + var currentCellElm = currentCell.element; + var isToReplace = comparator(currentCellElm, target); + if (isToReplace === true && first === false) { + mutateCell(row, j, elementnew(substitution(), true, currentCell.isLocked)); + } else if (isToReplace === true) { + first = false; + } + } + } + return grid; + }; + var uniqueCells = function (row, comparator) { + return foldl(row, function (rest, cell) { + return exists(rest, function (currentCell) { + return comparator(currentCell.element, cell.element); + }) ? rest : rest.concat([cell]); + }, []); + }; + var splitCols = function (grid, index, comparator, substitution) { + if (index > 0 && index < grid[0].cells.length) { + each$2(grid, function (row) { + var prevCell = row.cells[index - 1]; + var current = row.cells[index]; + var isToReplace = comparator(current.element, prevCell.element); + if (isToReplace) { + mutateCell(row, index, elementnew(substitution(), true, current.isLocked)); + } + }); + } + return grid; + }; + var splitRows = function (grid, index, comparator, substitution) { + var rows = extractGridDetails(grid).rows; + if (index > 0 && index < rows.length) { + var rowPrevCells = rows[index - 1].cells; + var cells = uniqueCells(rowPrevCells, comparator); + each$2(cells, function (cell) { + var replacement = Optional.none(); + for (var i = index; i < rows.length; i++) { + var _loop_1 = function (j) { + var row = rows[i]; + var current = getCell(row, j); + var isToReplace = comparator(current.element, cell.element); + if (isToReplace) { + if (replacement.isNone()) { + replacement = Optional.some(substitution()); + } + replacement.each(function (sub) { + mutateCell(row, j, elementnew(sub, true, current.isLocked)); + }); + } + }; + for (var j = 0; j < cellLength(rows[0]); j++) { + _loop_1(j); + } + } + }); + } + return grid; + }; + + var value$1 = function (o) { + var or = function (_opt) { + return value$1(o); + }; + var orThunk = function (_f) { + return value$1(o); + }; + var map = function (f) { + return value$1(f(o)); + }; + var mapError = function (_f) { + return value$1(o); + }; + var each = function (f) { + f(o); + }; + var bind = function (f) { + return f(o); + }; + var fold = function (_, onValue) { + return onValue(o); + }; + var exists = function (f) { + return f(o); + }; + var forall = function (f) { + return f(o); + }; + var toOptional = function () { + return Optional.some(o); + }; + return { + isValue: always, + isError: never, + getOr: constant(o), + getOrThunk: constant(o), + getOrDie: constant(o), + or: or, + orThunk: orThunk, + fold: fold, + map: map, + mapError: mapError, + each: each, + bind: bind, + exists: exists, + forall: forall, + toOptional: toOptional + }; + }; + var error = function (message) { + var getOrThunk = function (f) { + return f(); + }; + var getOrDie = function () { + return die(String(message))(); + }; + var or = identity; + var orThunk = function (f) { + return f(); + }; + var map = function (_f) { + return error(message); + }; + var mapError = function (f) { + return error(f(message)); + }; + var bind = function (_f) { + return error(message); + }; + var fold = function (onError, _) { + return onError(message); + }; + return { + isValue: never, + isError: always, + getOr: identity, + getOrThunk: getOrThunk, + getOrDie: getOrDie, + or: or, + orThunk: orThunk, + fold: fold, + map: map, + mapError: mapError, + each: noop, + bind: bind, + exists: never, + forall: always, + toOptional: Optional.none + }; + }; + var fromOption = function (opt, err) { + return opt.fold(function () { + return error(err); + }, value$1); + }; + var Result = { + value: value$1, + error: error, + fromOption: fromOption + }; + + var measure = function (startAddress, gridA, gridB) { + if (startAddress.row >= gridA.length || startAddress.column > cellLength(gridA[0])) { + return Result.error('invalid start address out of table bounds, row: ' + startAddress.row + ', column: ' + startAddress.column); + } + var rowRemainder = gridA.slice(startAddress.row); + var colRemainder = rowRemainder[0].cells.slice(startAddress.column); + var colRequired = cellLength(gridB[0]); + var rowRequired = gridB.length; + return Result.value({ + rowDelta: rowRemainder.length - rowRequired, + colDelta: colRemainder.length - colRequired + }); + }; + var measureWidth = function (gridA, gridB) { + var colLengthA = cellLength(gridA[0]); + var colLengthB = cellLength(gridB[0]); + return { + rowDelta: 0, + colDelta: colLengthA - colLengthB + }; + }; + var measureHeight = function (gridA, gridB) { + var rowLengthA = gridA.length; + var rowLengthB = gridB.length; + return { + rowDelta: rowLengthA - rowLengthB, + colDelta: 0 + }; + }; + var generateElements = function (amount, row, generators, isLocked) { + var generator = row.section === 'colgroup' ? generators.col : generators.cell; + return range$1(amount, function (idx) { + return elementnew(generator(), true, isLocked(idx)); + }); + }; + var rowFill = function (grid, amount, generators, lockedColumns) { + var exampleRow = grid[grid.length - 1]; + return grid.concat(range$1(amount, function () { + var generator = exampleRow.section === 'colgroup' ? generators.colgroup : generators.row; + var row = clone$1(exampleRow, generator, identity); + var elements = generateElements(row.cells.length, row, generators, function (idx) { + return has$1(lockedColumns, idx.toString()); + }); + return setCells(row, elements); + })); + }; + var colFill = function (grid, amount, generators, startIndex) { + return map$1(grid, function (row) { + var newChildren = generateElements(amount, row, generators, never); + return addCells(row, startIndex, newChildren); + }); + }; + var lockedColFill = function (grid, generators, lockedColumns) { + return map$1(grid, function (row) { + return foldl(lockedColumns, function (acc, colNum) { + var newChild = generateElements(1, row, generators, always)[0]; + return addCell(acc, colNum, newChild); + }, row); + }); + }; + var tailor = function (gridA, delta, generators) { + var fillCols = delta.colDelta < 0 ? colFill : identity; + var fillRows = delta.rowDelta < 0 ? rowFill : identity; + var lockedColumns = getLockedColumnsFromGrid(gridA); + var gridWidth = cellLength(gridA[0]); + var isLastColLocked = exists(lockedColumns, function (locked) { + return locked === gridWidth - 1; + }); + var modifiedCols = fillCols(gridA, Math.abs(delta.colDelta), generators, isLastColLocked ? gridWidth - 1 : gridWidth); + var newLockedColumns = getLockedColumnsFromGrid(modifiedCols); + return fillRows(modifiedCols, Math.abs(delta.rowDelta), generators, mapToObject(newLockedColumns, always)); + }; + + var isSpanning = function (grid, row, col, comparator) { + var candidate = getCell(grid[row], col); + var matching = curry(comparator, candidate.element); + var currentRow = grid[row]; + return grid.length > 1 && cellLength(currentRow) > 1 && (col > 0 && matching(getCellElement(currentRow, col - 1)) || col < currentRow.cells.length - 1 && matching(getCellElement(currentRow, col + 1)) || row > 0 && matching(getCellElement(grid[row - 1], col)) || row < grid.length - 1 && matching(getCellElement(grid[row + 1], col))); + }; + var mergeTables = function (startAddress, gridA, gridB, generator, comparator, lockedColumns) { + var startRow = startAddress.row; + var startCol = startAddress.column; + var mergeHeight = gridB.length; + var mergeWidth = cellLength(gridB[0]); + var endRow = startRow + mergeHeight; + var endCol = startCol + mergeWidth + lockedColumns.length; + var lockedColumnObj = mapToObject(lockedColumns, always); + for (var r = startRow; r < endRow; r++) { + var skippedCol = 0; + for (var c = startCol; c < endCol; c++) { + if (lockedColumnObj[c]) { + skippedCol++; + continue; + } + if (isSpanning(gridA, r, c, comparator)) { + unmerge(gridA, getCellElement(gridA[r], c), comparator, generator.cell); + } + var gridBColIndex = c - startCol - skippedCol; + var newCell = getCell(gridB[r - startRow], gridBColIndex); + var newCellElm = newCell.element; + var replacement = generator.replace(newCellElm); + mutateCell(gridA[r], c, elementnew(replacement, true, newCell.isLocked)); + } + } + return gridA; + }; + var getValidStartAddress = function (currentStartAddress, grid, lockedColumns) { + var gridColLength = cellLength(grid[0]); + var adjustedRowAddress = extractGridDetails(grid).cols.length + currentStartAddress.row; + var possibleColAddresses = range$1(gridColLength - currentStartAddress.column, function (num) { + return num + currentStartAddress.column; + }); + var validColAddress = find$1(possibleColAddresses, function (num) { + return forall(lockedColumns, function (col) { + return col !== num; + }); + }).getOr(gridColLength - 1); + return { + row: adjustedRowAddress, + column: validColAddress + }; + }; + var getLockedColumnsWithinBounds = function (startAddress, grid, lockedColumns) { + return filter$2(lockedColumns, function (colNum) { + return colNum >= startAddress.column && colNum <= cellLength(grid[0]) + startAddress.column; + }); + }; + var merge$1 = function (startAddress, gridA, gridB, generator, comparator) { + var lockedColumns = getLockedColumnsFromGrid(gridA); + var validStartAddress = getValidStartAddress(startAddress, gridA, lockedColumns); + var gridBRows = extractGridDetails(gridB).rows; + var lockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, lockedColumns); + var result = measure(validStartAddress, gridA, gridBRows); + return result.map(function (diff) { + var delta = __assign(__assign({}, diff), { colDelta: diff.colDelta - lockedColumnsWithinBounds.length }); + var fittedGrid = tailor(gridA, delta, generator); + var newLockedColumns = getLockedColumnsFromGrid(fittedGrid); + var newLockedColumnsWithinBounds = getLockedColumnsWithinBounds(validStartAddress, gridBRows, newLockedColumns); + return mergeTables(validStartAddress, fittedGrid, gridBRows, generator, comparator, newLockedColumnsWithinBounds); + }); + }; + var insertCols = function (index, gridA, gridB, generator, comparator) { + splitCols(gridA, index, comparator, generator.cell); + var delta = measureHeight(gridB, gridA); + var fittedNewGrid = tailor(gridB, delta, generator); + var secondDelta = measureHeight(gridA, fittedNewGrid); + var fittedOldGrid = tailor(gridA, secondDelta, generator); + return map$1(fittedOldGrid, function (gridRow, i) { + return addCells(gridRow, index, fittedNewGrid[i].cells); + }); + }; + var insertRows = function (index, gridA, gridB, generator, comparator) { + splitRows(gridA, index, comparator, generator.cell); + var locked = getLockedColumnsFromGrid(gridA); + var diff = measureWidth(gridA, gridB); + var delta = __assign(__assign({}, diff), { colDelta: diff.colDelta - locked.length }); + var fittedOldGrid = tailor(gridA, delta, generator); + var _a = extractGridDetails(fittedOldGrid), oldCols = _a.cols, oldRows = _a.rows; + var newLocked = getLockedColumnsFromGrid(fittedOldGrid); + var secondDiff = measureWidth(gridB, gridA); + var secondDelta = __assign(__assign({}, secondDiff), { colDelta: secondDiff.colDelta + newLocked.length }); + var fittedGridB = lockedColFill(gridB, generator, newLocked); + var fittedNewGrid = tailor(fittedGridB, secondDelta, generator); + return oldCols.concat(oldRows.slice(0, index)).concat(fittedNewGrid).concat(oldRows.slice(index, oldRows.length)); + }; + + var cloneRow = function (row, cloneCell, comparator, substitution) { + return clone$1(row, function (elem) { + return substitution(elem, comparator); + }, cloneCell); + }; + var insertRowAt = function (grid, index, example, comparator, substitution) { + var _a = extractGridDetails(grid), rows = _a.rows, cols = _a.cols; + var before = rows.slice(0, index); + var after = rows.slice(index); + var newRow = cloneRow(rows[example], function (ex, c) { + var withinSpan = index > 0 && index < rows.length && comparator(getCellElement(rows[index - 1], c), getCellElement(rows[index], c)); + var ret = withinSpan ? getCell(rows[index], c) : elementnew(substitution(ex.element, comparator), true, ex.isLocked); + return ret; + }, comparator, substitution); + return cols.concat(before).concat([newRow]).concat(after); + }; + var getElementFor = function (row, column, section, withinSpan, example, comparator, substitution) { + if (section === 'colgroup' || !withinSpan) { + var cell = getCell(row, example); + return elementnew(substitution(cell.element, comparator), true, false); + } else { + return getCell(row, column); + } + }; + var insertColumnAt = function (grid, index, example, comparator, substitution) { + return map$1(grid, function (row) { + var withinSpan = index > 0 && index < cellLength(row) && comparator(getCellElement(row, index - 1), getCellElement(row, index)); + var sub = getElementFor(row, index, row.section, withinSpan, example, comparator, substitution); + return addCell(row, index, sub); + }); + }; + var deleteColumnsAt = function (grid, columns) { + return bind$2(grid, function (row) { + var existingCells = row.cells; + var cells = foldr(columns, function (acc, column) { + return column >= 0 && column < acc.length ? acc.slice(0, column).concat(acc.slice(column + 1)) : acc; + }, existingCells); + return cells.length > 0 ? [rowcells(row.element, cells, row.section, row.isNew)] : []; + }); + }; + var deleteRowsAt = function (grid, start, finish) { + var _a = extractGridDetails(grid), rows = _a.rows, cols = _a.cols; + return cols.concat(rows.slice(0, start)).concat(rows.slice(finish + 1)); + }; + + var replace = function (cell, comparator, substitute) { + return elementnew(substitute(cell.element, comparator), true, cell.isLocked); + }; + var replaceIn = function (grid, targets, comparator, substitute, replacer) { + var isTarget = function (cell) { + return exists(targets, function (target) { + return comparator(cell.element, target.element); + }); + }; + return map$1(grid, function (row) { + return mapCells(row, function (cell) { + return isTarget(cell) ? replacer(cell, comparator, substitute) : cell; + }); + }); + }; + var notStartRow = function (grid, rowIndex, colIndex, comparator) { + return getCellElement(grid[rowIndex], colIndex) !== undefined && (rowIndex > 0 && comparator(getCellElement(grid[rowIndex - 1], colIndex), getCellElement(grid[rowIndex], colIndex))); + }; + var notStartColumn = function (row, index, comparator) { + return index > 0 && comparator(getCellElement(row, index - 1), getCellElement(row, index)); + }; + var replaceColumn = function (grid, index, comparator, substitution) { + var rows = extractGridDetails(grid).rows; + var targets = bind$2(rows, function (row, i) { + var alreadyAdded = notStartRow(rows, i, index, comparator) || notStartColumn(row, index, comparator); + return alreadyAdded ? [] : [getCell(row, index)]; + }); + return replaceIn(grid, targets, comparator, substitution, replace); + }; + var replaceRow = function (grid, index, section, comparator, substitution, tableSection) { + var _a = extractGridDetails(grid), cols = _a.cols, rows = _a.rows; + var targetRow = rows[index]; + var targets = bind$2(targetRow.cells, function (item, i) { + var alreadyAdded = notStartRow(rows, index, i, comparator) || notStartColumn(targetRow, i, comparator); + return alreadyAdded ? [] : [item]; + }); + var newRows = __spreadArray([], rows); + newRows[index] = tableSection.transformRow(targetRow, section); + return replaceIn(cols.concat(newRows), targets, comparator, substitution, tableSection.transformCell); + }; + var replaceCell = function (grid, rowIndex, columnIndex, comparator, substitution) { + var rows = extractGridDetails(grid).rows; + var targetRow = rows[rowIndex]; + var targetCell = getCell(targetRow, columnIndex); + return replaceIn(grid, [targetCell], comparator, substitution, replace); + }; + + var uniqueColumns = function (details) { + var uniqueCheck = function (rest, detail) { + var columnExists = exists(rest, function (currentDetail) { + return currentDetail.column === detail.column; + }); + return columnExists ? rest : rest.concat([detail]); + }; + return foldl(details, uniqueCheck, []).sort(function (detailA, detailB) { + return detailA.column - detailB.column; + }); + }; + + var isCol = isTag('col'); + var isColgroup = isTag('colgroup'); + var isRow$1 = function (element) { + return name(element) === 'tr' || isColgroup(element); + }; + var elementToData = function (element) { + var colspan = getAttrValue(element, 'colspan', 1); + var rowspan = getAttrValue(element, 'rowspan', 1); + return { + element: element, + colspan: colspan, + rowspan: rowspan + }; + }; + var modification = function (generators, toData) { + if (toData === void 0) { + toData = elementToData; + } + var nuCell = function (data) { + return isCol(data.element) ? generators.col(data) : generators.cell(data); + }; + var nuRow = function (data) { + return isColgroup(data.element) ? generators.colgroup(data) : generators.row(data); + }; + var add = function (element) { + if (isRow$1(element)) { + return nuRow({ element: element }); + } else { + var replacement = nuCell(toData(element)); + recent = Optional.some({ + item: element, + replacement: replacement + }); + return replacement; + } + }; + var recent = Optional.none(); + var getOrInit = function (element, comparator) { + return recent.fold(function () { + return add(element); + }, function (p) { + return comparator(element, p.item) ? p.replacement : add(element); + }); + }; + return { getOrInit: getOrInit }; + }; + var transform = function (tag, scope) { + return function (generators) { + var list = []; + var find = function (element, comparator) { + return find$1(list, function (x) { + return comparator(x.item, element); + }); + }; + var makeNew = function (element) { + var attrs = isUndefined(scope) ? {} : { scope: scope }; + var cell = generators.replace(element, tag, attrs); + list.push({ + item: element, + sub: cell + }); + return cell; + }; + var replaceOrInit = function (element, comparator) { + if (isRow$1(element) || isCol(element)) { + return element; + } else { + return find(element, comparator).fold(function () { + return makeNew(element); + }, function (p) { + return comparator(element, p.item) ? p.sub : makeNew(element); + }); + } + }; + return { replaceOrInit: replaceOrInit }; + }; + }; + var getScopeAttribute = function (cell) { + return getOpt(cell, 'scope').map(function (attribute) { + return attribute.substr(0, 3); + }); + }; + var merging = function (generators) { + var unmerge = function (cell) { + var scope = getScopeAttribute(cell); + scope.each(function (attribute) { + return set$2(cell, 'scope', attribute); + }); + return function () { + var raw = generators.cell({ + element: cell, + colspan: 1, + rowspan: 1 + }); + remove$6(raw, 'width'); + remove$6(cell, 'width'); + scope.each(function (attribute) { + return set$2(raw, 'scope', attribute); + }); + return raw; + }; + }; + var merge = function (cells) { + var getScopeProperty = function () { + var stringAttributes = cat(map$1(cells, getScopeAttribute)); + if (stringAttributes.length === 0) { + return Optional.none(); + } else { + var baseScope_1 = stringAttributes[0]; + var scopes_1 = [ + 'row', + 'col' + ]; + var isMixed = exists(stringAttributes, function (attribute) { + return attribute !== baseScope_1 && contains$2(scopes_1, attribute); + }); + return isMixed ? Optional.none() : Optional.from(baseScope_1); + } + }; + remove$6(cells[0], 'width'); + getScopeProperty().fold(function () { + return remove$7(cells[0], 'scope'); + }, function (attribute) { + return set$2(cells[0], 'scope', attribute + 'group'); + }); + return constant(cells[0]); + }; + return { + unmerge: unmerge, + merge: merge + }; + }; + var Generators = { + modification: modification, + transform: transform, + merging: merging + }; + + var blockList = [ + 'body', + 'p', + 'div', + 'article', + 'aside', + 'figcaption', + 'figure', + 'footer', + 'header', + 'nav', + 'section', + 'ol', + 'ul', + 'table', + 'thead', + 'tfoot', + 'tbody', + 'caption', + 'tr', + 'td', + 'th', + 'h1', + 'h2', + 'h3', + 'h4', + 'h5', + 'h6', + 'blockquote', + 'pre', + 'address' + ]; + var isList$1 = function (universe, item) { + var tagName = universe.property().name(item); + return contains$2([ + 'ol', + 'ul' + ], tagName); + }; + var isBlock$1 = function (universe, item) { + var tagName = universe.property().name(item); + return contains$2(blockList, tagName); + }; + var isEmptyTag$1 = function (universe, item) { + return contains$2([ + 'br', + 'img', + 'hr', + 'input' + ], universe.property().name(item)); + }; + + var universe$1 = DomUniverse(); + var isBlock = function (element) { + return isBlock$1(universe$1, element); + }; + var isList = function (element) { + return isList$1(universe$1, element); + }; + var isEmptyTag = function (element) { + return isEmptyTag$1(universe$1, element); + }; + + var merge = function (cells) { + var isBr = function (el) { + return name(el) === 'br'; + }; + var advancedBr = function (children) { + return forall(children, function (c) { + return isBr(c) || isText(c) && get$9(c).trim().length === 0; + }); + }; + var isListItem = function (el) { + return name(el) === 'li' || ancestor$2(el, isList).isSome(); + }; + var siblingIsBlock = function (el) { + return nextSibling(el).map(function (rightSibling) { + if (isBlock(rightSibling)) { + return true; + } + if (isEmptyTag(rightSibling)) { + return name(rightSibling) === 'img' ? false : true; + } + return false; + }).getOr(false); + }; + var markCell = function (cell) { + return last$1(cell).bind(function (rightEdge) { + var rightSiblingIsBlock = siblingIsBlock(rightEdge); + return parent(rightEdge).map(function (parent) { + return rightSiblingIsBlock === true || isListItem(parent) || isBr(rightEdge) || isBlock(parent) && !eq$1(cell, parent) ? [] : [SugarElement.fromTag('br')]; + }); + }).getOr([]); + }; + var markContent = function () { + var content = bind$2(cells, function (cell) { + var children = children$3(cell); + return advancedBr(children) ? [] : children.concat(markCell(cell)); + }); + return content.length === 0 ? [SugarElement.fromTag('br')] : content; + }; + var contents = markContent(); + empty(cells[0]); + append(cells[0], contents); + }; + + var isEditable = function (elem) { + return isEditable$1(elem, true); + }; + var prune = function (table) { + var cells = cells$1(table); + if (cells.length === 0) { + remove$5(table); + } + }; + var outcome = function (grid, cursor) { + return { + grid: grid, + cursor: cursor + }; + }; + var findEditableCursorPosition = function (rows) { + return findMap(rows, function (row) { + return findMap(row.cells, function (cell) { + var elem = cell.element; + return someIf(isEditable(elem), elem); + }); + }); + }; + var elementFromGrid = function (grid, row, column) { + var _a, _b; + var rows = extractGridDetails(grid).rows; + return Optional.from((_b = (_a = rows[row]) === null || _a === void 0 ? void 0 : _a.cells[column]) === null || _b === void 0 ? void 0 : _b.element).filter(isEditable).orThunk(function () { + return findEditableCursorPosition(rows); + }); + }; + var bundle = function (grid, row, column) { + var cursorElement = elementFromGrid(grid, row, column); + return outcome(grid, cursorElement); + }; + var uniqueRows = function (details) { + var rowCompilation = function (rest, detail) { + var rowExists = exists(rest, function (currentDetail) { + return currentDetail.row === detail.row; + }); + return rowExists ? rest : rest.concat([detail]); + }; + return foldl(details, rowCompilation, []).sort(function (detailA, detailB) { + return detailA.row - detailB.row; + }); + }; + var opInsertRowsBefore = function (grid, details, comparator, genWrappers) { + var targetIndex = details[0].row; + var rows = uniqueRows(details); + var newGrid = foldr(rows, function (acc, row) { + var newG = insertRowAt(acc.grid, targetIndex, row.row + acc.delta, comparator, genWrappers.getOrInit); + return { + grid: newG, + delta: acc.delta + 1 + }; + }, { + grid: grid, + delta: 0 + }).grid; + return bundle(newGrid, targetIndex, details[0].column); + }; + var opInsertRowsAfter = function (grid, details, comparator, genWrappers) { + var rows = uniqueRows(details); + var target = rows[rows.length - 1]; + var targetIndex = target.row + target.rowspan; + var newGrid = foldr(rows, function (newG, row) { + return insertRowAt(newG, targetIndex, row.row, comparator, genWrappers.getOrInit); + }, grid); + return bundle(newGrid, targetIndex, details[0].column); + }; + var opInsertColumnsBefore = function (grid, extractDetail, comparator, genWrappers) { + var details = extractDetail.details; + var columns = uniqueColumns(details); + var targetIndex = columns[0].column; + var newGrid = foldr(columns, function (acc, col) { + var newG = insertColumnAt(acc.grid, targetIndex, col.column + acc.delta, comparator, genWrappers.getOrInit); + return { + grid: newG, + delta: acc.delta + 1 + }; + }, { + grid: grid, + delta: 0 + }).grid; + return bundle(newGrid, details[0].row, targetIndex); + }; + var opInsertColumnsAfter = function (grid, extractDetail, comparator, genWrappers) { + var details = extractDetail.details; + var target = details[details.length - 1]; + var targetIndex = target.column + target.colspan; + var columns = uniqueColumns(details); + var newGrid = foldr(columns, function (newG, col) { + return insertColumnAt(newG, targetIndex, col.column, comparator, genWrappers.getOrInit); + }, grid); + return bundle(newGrid, details[0].row, targetIndex); + }; + var opMakeColumnsHeader = function (initialGrid, details, comparator, genWrappers) { + var replacer = function (currentGrid, column) { + return replaceColumn(currentGrid, column.column, comparator, genWrappers.replaceOrInit); + }; + var columns = uniqueColumns(details); + var newGrid = foldl(columns, replacer, initialGrid); + return bundle(newGrid, details[0].row, details[0].column); + }; + var opMakeCellsHeader = function (initialGrid, details, comparator, genWrappers) { + var replacer = function (currentGrid, detail) { + return replaceCell(currentGrid, detail.row, detail.column, comparator, genWrappers.replaceOrInit); + }; + var newGrid = foldl(details, replacer, initialGrid); + return bundle(newGrid, details[0].row, details[0].column); + }; + var opUnmakeColumnsHeader = function (initialGrid, details, comparator, genWrappers) { + var replacer = function (currentGrid, column) { + return replaceColumn(currentGrid, column.column, comparator, genWrappers.replaceOrInit); + }; + var columns = uniqueColumns(details); + var newGrid = foldl(columns, replacer, initialGrid); + return bundle(newGrid, details[0].row, details[0].column); + }; + var opUnmakeCellsHeader = function (initialGrid, details, comparator, genWrappers) { + var replacer = function (currentGrid, detail) { + return replaceCell(currentGrid, detail.row, detail.column, comparator, genWrappers.replaceOrInit); + }; + var newGrid = foldl(details, replacer, initialGrid); + return bundle(newGrid, details[0].row, details[0].column); + }; + var makeRowsSection = function (section) { + return function (initialGrid, details, comparator, genWrappers, tableSection) { + var replacer = function (currentGrid, detail) { + return replaceRow(currentGrid, detail.row, section, comparator, genWrappers.replaceOrInit, tableSection); + }; + var rows = uniqueRows(details); + var newGrid = foldl(rows, replacer, initialGrid); + return bundle(newGrid, details[0].row, details[0].column); + }; + }; + var opMakeRowsHeader = makeRowsSection('thead'); + var opMakeRowsBody = makeRowsSection('tbody'); + var opMakeRowsFooter = makeRowsSection('tfoot'); + var opEraseColumns = function (grid, extractDetail, _comparator, _genWrappers) { + var columns = uniqueColumns(extractDetail.details); + var newGrid = deleteColumnsAt(grid, map$1(columns, function (column) { + return column.column; + })); + var maxColIndex = newGrid.length > 0 ? newGrid[0].cells.length - 1 : 0; + return bundle(newGrid, columns[0].row, Math.min(columns[0].column, maxColIndex)); + }; + var opEraseRows = function (grid, details, _comparator, _genWrappers) { + var rows = uniqueRows(details); + var newGrid = deleteRowsAt(grid, rows[0].row, rows[rows.length - 1].row); + var maxRowIndex = newGrid.length > 0 ? newGrid.length - 1 : 0; + return bundle(newGrid, Math.min(details[0].row, maxRowIndex), details[0].column); + }; + var opMergeCells = function (grid, mergable, comparator, genWrappers) { + var cells = mergable.cells; + merge(cells); + var newGrid = merge$2(grid, mergable.bounds, comparator, genWrappers.merge(cells)); + return outcome(newGrid, Optional.from(cells[0])); + }; + var opUnmergeCells = function (grid, unmergable, comparator, genWrappers) { + var unmerge$1 = function (b, cell) { + return unmerge(b, cell, comparator, genWrappers.unmerge(cell)); + }; + var newGrid = foldr(unmergable, unmerge$1, grid); + return outcome(newGrid, Optional.from(unmergable[0])); + }; + var opPasteCells = function (grid, pasteDetails, comparator, _genWrappers) { + var gridify = function (table, generators) { + var wh = Warehouse.fromTable(table); + return toGrid(wh, generators, true); + }; + var gridB = gridify(pasteDetails.clipboard, pasteDetails.generators); + var startAddress = address(pasteDetails.row, pasteDetails.column); + var mergedGrid = merge$1(startAddress, grid, gridB, pasteDetails.generators, comparator); + return mergedGrid.fold(function () { + return outcome(grid, Optional.some(pasteDetails.element)); + }, function (newGrid) { + return bundle(newGrid, pasteDetails.row, pasteDetails.column); + }); + }; + var gridifyRows = function (rows, generators, context) { + var pasteDetails = fromPastedRows(rows, context.section); + var wh = Warehouse.generate(pasteDetails); + return toGrid(wh, generators, true); + }; + var opPasteColsBefore = function (grid, pasteDetails, comparator, _genWrappers) { + var rows = extractGridDetails(grid).rows; + var index = pasteDetails.cells[0].column; + var context = rows[pasteDetails.cells[0].row]; + var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + var mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + var opPasteColsAfter = function (grid, pasteDetails, comparator, _genWrappers) { + var rows = extractGridDetails(grid).rows; + var index = pasteDetails.cells[pasteDetails.cells.length - 1].column + pasteDetails.cells[pasteDetails.cells.length - 1].colspan; + var context = rows[pasteDetails.cells[0].row]; + var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + var mergedGrid = insertCols(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + var opPasteRowsBefore = function (grid, pasteDetails, comparator, _genWrappers) { + var rows = extractGridDetails(grid).rows; + var index = pasteDetails.cells[0].row; + var context = rows[index]; + var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + var mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + var opPasteRowsAfter = function (grid, pasteDetails, comparator, _genWrappers) { + var rows = extractGridDetails(grid).rows; + var index = pasteDetails.cells[pasteDetails.cells.length - 1].row + pasteDetails.cells[pasteDetails.cells.length - 1].rowspan; + var context = rows[pasteDetails.cells[0].row]; + var gridB = gridifyRows(pasteDetails.clipboard, pasteDetails.generators, context); + var mergedGrid = insertRows(index, grid, gridB, pasteDetails.generators, comparator); + return bundle(mergedGrid, pasteDetails.cells[0].row, pasteDetails.cells[0].column); + }; + var opGetColumnsType = function (table, target) { + var house = Warehouse.fromTable(table); + var details = onCells(house, target); + return details.bind(function (selectedCells) { + var lastSelectedCell = selectedCells[selectedCells.length - 1]; + var minColRange = selectedCells[0].column; + var maxColRange = lastSelectedCell.column + lastSelectedCell.colspan; + var selectedColumnCells = flatten$1(map$1(house.all, function (row) { + return filter$2(row.cells, function (cell) { + return cell.column >= minColRange && cell.column < maxColRange; + }); + })); + return findCommonCellType(selectedColumnCells); + }).getOr(''); + }; + var opGetCellsType = function (table, target) { + var house = Warehouse.fromTable(table); + var details = onCells(house, target); + return details.bind(findCommonCellType).getOr(''); + }; + var opGetRowsType = function (table, target) { + var house = Warehouse.fromTable(table); + var details = onCells(house, target); + return details.bind(function (selectedCells) { + var lastSelectedCell = selectedCells[selectedCells.length - 1]; + var minRowRange = selectedCells[0].row; + var maxRowRange = lastSelectedCell.row + lastSelectedCell.rowspan; + var selectedRows = house.all.slice(minRowRange, maxRowRange); + return findCommonRowType(selectedRows); + }).getOr(''); + }; + var resize = function (table, list, details, behaviours) { + return adjustWidthTo(table, list, details, behaviours.sizing); + }; + var adjustAndRedistributeWidths = function (table, list, details, behaviours) { + return adjustAndRedistributeWidths$1(table, list, details, behaviours.sizing, behaviours.resize); + }; + var firstColumnIsLocked = function (_warehouse, details) { + return exists(details, function (detail) { + return detail.column === 0 && detail.isLocked; + }); + }; + var lastColumnIsLocked = function (warehouse, details) { + return exists(details, function (detail) { + return detail.column + detail.colspan >= warehouse.grid.columns && detail.isLocked; + }); + }; + var getColumnsWidth = function (warehouse, details) { + var columns$1 = columns(warehouse); + var uniqueCols = uniqueColumns(details); + return foldl(uniqueCols, function (acc, detail) { + var column = columns$1[detail.column]; + var colWidth = column.map(getOuter$2).getOr(0); + return acc + colWidth; + }, 0); + }; + var insertColumnsExtractor = function (before) { + return function (warehouse, target) { + return onCells(warehouse, target).filter(function (details) { + var checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked; + return !checkLocked(warehouse, details); + }).map(function (details) { + return { + details: details, + pixelDelta: getColumnsWidth(warehouse, details) + }; + }); + }; + }; + var eraseColumnsExtractor = function (warehouse, target) { + return onUnlockedCells(warehouse, target).map(function (details) { + return { + details: details, + pixelDelta: -getColumnsWidth(warehouse, details) + }; + }); + }; + var pasteColumnsExtractor = function (before) { + return function (warehouse, target) { + return onPasteByEditor(warehouse, target).filter(function (details) { + var checkLocked = before ? firstColumnIsLocked : lastColumnIsLocked; + return !checkLocked(warehouse, details.cells); + }); + }; + }; + var insertRowsBefore = run(opInsertRowsBefore, onCells, noop, noop, Generators.modification); + var insertRowsAfter = run(opInsertRowsAfter, onCells, noop, noop, Generators.modification); + var insertColumnsBefore = run(opInsertColumnsBefore, insertColumnsExtractor(true), adjustAndRedistributeWidths, noop, Generators.modification); + var insertColumnsAfter = run(opInsertColumnsAfter, insertColumnsExtractor(false), adjustAndRedistributeWidths, noop, Generators.modification); + var eraseColumns = run(opEraseColumns, eraseColumnsExtractor, adjustAndRedistributeWidths, prune, Generators.modification); + var eraseRows = run(opEraseRows, onCells, noop, prune, Generators.modification); + var makeColumnsHeader = run(opMakeColumnsHeader, onUnlockedCells, noop, noop, Generators.transform('th', 'row')); + var unmakeColumnsHeader = run(opUnmakeColumnsHeader, onUnlockedCells, noop, noop, Generators.transform('td', null)); + var makeRowsHeader = run(opMakeRowsHeader, onUnlockedCells, noop, noop, Generators.transform('th', 'col')); + var makeRowsBody = run(opMakeRowsBody, onUnlockedCells, noop, noop, Generators.transform('td', null)); + var makeRowsFooter = run(opMakeRowsFooter, onUnlockedCells, noop, noop, Generators.transform('td', null)); + var makeCellsHeader = run(opMakeCellsHeader, onUnlockedCells, noop, noop, Generators.transform('th')); + var unmakeCellsHeader = run(opUnmakeCellsHeader, onUnlockedCells, noop, noop, Generators.transform('td')); + var mergeCells = run(opMergeCells, onUnlockedMergable, resize, noop, Generators.merging); + var unmergeCells = run(opUnmergeCells, onUnlockedUnmergable, resize, noop, Generators.merging); + var pasteCells = run(opPasteCells, onPaste, resize, noop, Generators.modification); + var pasteColsBefore = run(opPasteColsBefore, pasteColumnsExtractor(true), noop, noop, Generators.modification); + var pasteColsAfter = run(opPasteColsAfter, pasteColumnsExtractor(false), noop, noop, Generators.modification); + var pasteRowsBefore = run(opPasteRowsBefore, onPasteByEditor, noop, noop, Generators.modification); + var pasteRowsAfter = run(opPasteRowsAfter, onPasteByEditor, noop, noop, Generators.modification); + var getColumnsType = opGetColumnsType; + var getCellsType = opGetCellsType; + var getRowsType = opGetRowsType; + + var TableActions = function (editor, cellSelection, lazyWire) { + var isTableBody = function (editor) { + return name(getBody(editor)) === 'table'; + }; + var lastRowGuard = function (table) { + return isTableBody(editor) === false || getGridSize(table).rows > 1; + }; + var lastColumnGuard = function (table) { + return isTableBody(editor) === false || getGridSize(table).columns > 1; + }; + var cloneFormats = getCloneElements(editor); + var colMutationOp = isResizeTableColumnResizing(editor) ? noop : halve; + var getTableSectionType = function (table) { + switch (getTableHeaderType(editor)) { + case 'section': + return TableSection.section(); + case 'sectionCells': + return TableSection.sectionCells(); + case 'cells': + return TableSection.cells(); + default: + return TableSection.getTableSectionType(table, 'section'); + } + }; + var setSelectionFromAction = function (table, result) { + return result.cursor.fold(function () { + var cells = cells$1(table); + return head(cells).filter(inBody).map(function (firstCell) { + cellSelection.clear(table); + var rng = editor.dom.createRng(); + rng.selectNode(firstCell.dom); + editor.selection.setRng(rng); + set$2(firstCell, 'data-mce-selected', '1'); + return rng; + }); + }, function (cell) { + var des = freefallRtl(cell); + var rng = editor.dom.createRng(); + rng.setStart(des.element.dom, des.offset); + rng.setEnd(des.element.dom, des.offset); + editor.selection.setRng(rng); + cellSelection.clear(table); + return Optional.some(rng); + }); + }; + var execute = function (operation, guard, mutate, lazyWire, effect) { + return function (table, target, noEvents) { + if (noEvents === void 0) { + noEvents = false; + } + removeDataStyle(table); + var wire = lazyWire(); + var doc = SugarElement.fromDom(editor.getDoc()); + var generators = cellOperations(mutate, doc, cloneFormats); + var behaviours = { + sizing: get$4(editor, table), + resize: isResizeTableColumnResizing(editor) ? resizeTable() : preserveTable(), + section: getTableSectionType(table) + }; + return guard(table) ? operation(wire, table, target, generators, behaviours).bind(function (result) { + each$2(result.newRows, function (row) { + fireNewRow(editor, row.dom); + }); + each$2(result.newCells, function (cell) { + fireNewCell(editor, cell.dom); + }); + var range = setSelectionFromAction(table, result); + if (inBody(table)) { + removeDataStyle(table); + if (!noEvents) { + fireTableModified(editor, table.dom, effect); + } + } + return range.map(function (rng) { + return { + rng: rng, + effect: effect + }; + }); + }) : Optional.none(); + }; + }; + var deleteRow = execute(eraseRows, lastRowGuard, noop, lazyWire, structureModified); + var deleteColumn = execute(eraseColumns, lastColumnGuard, noop, lazyWire, structureModified); + var insertRowsBefore$1 = execute(insertRowsBefore, always, noop, lazyWire, structureModified); + var insertRowsAfter$1 = execute(insertRowsAfter, always, noop, lazyWire, structureModified); + var insertColumnsBefore$1 = execute(insertColumnsBefore, always, colMutationOp, lazyWire, structureModified); + var insertColumnsAfter$1 = execute(insertColumnsAfter, always, colMutationOp, lazyWire, structureModified); + var mergeCells$1 = execute(mergeCells, always, noop, lazyWire, structureModified); + var unmergeCells$1 = execute(unmergeCells, always, noop, lazyWire, structureModified); + var pasteColsBefore$1 = execute(pasteColsBefore, always, noop, lazyWire, structureModified); + var pasteColsAfter$1 = execute(pasteColsAfter, always, noop, lazyWire, structureModified); + var pasteRowsBefore$1 = execute(pasteRowsBefore, always, noop, lazyWire, structureModified); + var pasteRowsAfter$1 = execute(pasteRowsAfter, always, noop, lazyWire, structureModified); + var pasteCells$1 = execute(pasteCells, always, noop, lazyWire, styleAndStructureModified); + var makeCellsHeader$1 = execute(makeCellsHeader, always, noop, lazyWire, structureModified); + var unmakeCellsHeader$1 = execute(unmakeCellsHeader, always, noop, lazyWire, structureModified); + var makeColumnsHeader$1 = execute(makeColumnsHeader, always, noop, lazyWire, structureModified); + var unmakeColumnsHeader$1 = execute(unmakeColumnsHeader, always, noop, lazyWire, structureModified); + var makeRowsHeader$1 = execute(makeRowsHeader, always, noop, lazyWire, structureModified); + var makeRowsBody$1 = execute(makeRowsBody, always, noop, lazyWire, structureModified); + var makeRowsFooter$1 = execute(makeRowsFooter, always, noop, lazyWire, structureModified); + var getTableCellType = getCellsType; + var getTableColType = getColumnsType; + var getTableRowType = getRowsType; + return { + deleteRow: deleteRow, + deleteColumn: deleteColumn, + insertRowsBefore: insertRowsBefore$1, + insertRowsAfter: insertRowsAfter$1, + insertColumnsBefore: insertColumnsBefore$1, + insertColumnsAfter: insertColumnsAfter$1, + mergeCells: mergeCells$1, + unmergeCells: unmergeCells$1, + pasteColsBefore: pasteColsBefore$1, + pasteColsAfter: pasteColsAfter$1, + pasteRowsBefore: pasteRowsBefore$1, + pasteRowsAfter: pasteRowsAfter$1, + pasteCells: pasteCells$1, + makeCellsHeader: makeCellsHeader$1, + unmakeCellsHeader: unmakeCellsHeader$1, + makeColumnsHeader: makeColumnsHeader$1, + unmakeColumnsHeader: unmakeColumnsHeader$1, + makeRowsHeader: makeRowsHeader$1, + makeRowsBody: makeRowsBody$1, + makeRowsFooter: makeRowsFooter$1, + getTableRowType: getTableRowType, + getTableCellType: getTableCellType, + getTableColType: getTableColType + }; + }; + + var DefaultRenderOptions = { + styles: { + 'border-collapse': 'collapse', + 'width': '100%' + }, + attributes: { border: '1' }, + colGroups: false + }; + var tableHeaderCell = function () { + return SugarElement.fromTag('th'); + }; + var tableCell = function () { + return SugarElement.fromTag('td'); + }; + var tableColumn = function () { + return SugarElement.fromTag('col'); + }; + var createRow = function (columns, rowHeaders, columnHeaders, rowIndex) { + var tr = SugarElement.fromTag('tr'); + for (var j = 0; j < columns; j++) { + var td = rowIndex < rowHeaders || j < columnHeaders ? tableHeaderCell() : tableCell(); + if (j < columnHeaders) { + set$2(td, 'scope', 'row'); + } + if (rowIndex < rowHeaders) { + set$2(td, 'scope', 'col'); + } + append$1(td, SugarElement.fromTag('br')); + append$1(tr, td); + } + return tr; + }; + var createGroupRow = function (columns) { + var columnGroup = SugarElement.fromTag('colgroup'); + range$1(columns, function () { + return append$1(columnGroup, tableColumn()); + }); + return columnGroup; + }; + var createRows = function (rows, columns, rowHeaders, columnHeaders) { + return range$1(rows, function (r) { + return createRow(columns, rowHeaders, columnHeaders, r); + }); + }; + var render = function (rows, columns, rowHeaders, columnHeaders, headerType, renderOpts) { + if (renderOpts === void 0) { + renderOpts = DefaultRenderOptions; + } + var table = SugarElement.fromTag('table'); + var rowHeadersGoInThead = headerType !== 'cells'; + setAll(table, renderOpts.styles); + setAll$1(table, renderOpts.attributes); + if (renderOpts.colGroups) { + append$1(table, createGroupRow(columns)); + } + var actualRowHeaders = Math.min(rows, rowHeaders); + if (rowHeadersGoInThead && rowHeaders > 0) { + var thead = SugarElement.fromTag('thead'); + append$1(table, thead); + var theadRowHeaders = headerType === 'sectionCells' ? actualRowHeaders : 0; + var theadRows = createRows(rowHeaders, columns, theadRowHeaders, columnHeaders); + append(thead, theadRows); + } + var tbody = SugarElement.fromTag('tbody'); + append$1(table, tbody); + var numRows = rowHeadersGoInThead ? rows - actualRowHeaders : rows; + var numRowHeaders = rowHeadersGoInThead ? 0 : rowHeaders; + var tbodyRows = createRows(numRows, columns, numRowHeaders, columnHeaders); + append(tbody, tbodyRows); + return table; + }; + + var get$2 = function (element) { + return element.dom.innerHTML; + }; + var getOuter = function (element) { + var container = SugarElement.fromTag('div'); + var clone = SugarElement.fromDom(element.dom.cloneNode(true)); + append$1(container, clone); + return get$2(container); + }; + + var placeCaretInCell = function (editor, cell) { + editor.selection.select(cell.dom, true); + editor.selection.collapse(true); + }; + var selectFirstCellInTable = function (editor, tableElm) { + descendant(tableElm, 'td,th').each(curry(placeCaretInCell, editor)); + }; + var fireEvents = function (editor, table) { + each$2(descendants(table, 'tr'), function (row) { + fireNewRow(editor, row.dom); + each$2(descendants(row, 'th,td'), function (cell) { + fireNewCell(editor, cell.dom); + }); + }); + }; + var isPercentage = function (width) { + return isString(width) && width.indexOf('%') !== -1; + }; + var insert = function (editor, columns, rows, colHeaders, rowHeaders) { + var defaultStyles = getDefaultStyles(editor); + var options = { + styles: defaultStyles, + attributes: getDefaultAttributes(editor), + colGroups: useColumnGroup(editor) + }; + editor.undoManager.ignore(function () { + var table = render(rows, columns, rowHeaders, colHeaders, getTableHeaderType(editor), options); + set$2(table, 'data-mce-id', '__mce'); + var html = getOuter(table); + editor.insertContent(html); + editor.addVisual(); + }); + return descendant(getBody(editor), 'table[data-mce-id="__mce"]').map(function (table) { + if (isPixelsForced(editor)) { + enforcePixels(editor, table); + } else if (isResponsiveForced(editor)) { + enforceNone(table); + } else if (isPercentagesForced(editor) || isPercentage(defaultStyles.width)) { + enforcePercentage(editor, table); + } + removeDataStyle(table); + remove$7(table, 'data-mce-id'); + fireEvents(editor, table); + selectFirstCellInTable(editor, table); + return table.dom; + }).getOr(null); + }; + var insertTableWithDataValidation = function (editor, rows, columns, options, errorMsg) { + if (options === void 0) { + options = {}; + } + var checkInput = function (val) { + return isNumber(val) && val > 0; + }; + if (checkInput(rows) && checkInput(columns)) { + var headerRows = options.headerRows || 0; + var headerColumns = options.headerColumns || 0; + return insert(editor, columns, rows, headerColumns, headerRows); + } else { + console.error(errorMsg); + return null; + } + }; + + var getClipboardElements = function (getClipboard) { + return function () { + return getClipboard().fold(function () { + return []; + }, function (elems) { + return map$1(elems, function (e) { + return e.dom; + }); + }); + }; + }; + var setClipboardElements = function (setClipboard) { + return function (elems) { + var elmsOpt = elems.length > 0 ? Optional.some(fromDom(elems)) : Optional.none(); + setClipboard(elmsOpt); + }; + }; + var insertTable = function (editor) { + return function (columns, rows, options) { + if (options === void 0) { + options = {}; + } + var table = insertTableWithDataValidation(editor, rows, columns, options, 'Invalid values for insertTable - rows and columns values are required to insert a table.'); + editor.undoManager.add(); + return table; + }; + }; + var getApi = function (editor, clipboard, resizeHandler, selectionTargets) { + return { + insertTable: insertTable(editor), + setClipboardRows: setClipboardElements(clipboard.setRows), + getClipboardRows: getClipboardElements(clipboard.getRows), + setClipboardCols: setClipboardElements(clipboard.setColumns), + getClipboardCols: getClipboardElements(clipboard.getColumns), + resizeHandler: resizeHandler, + selectionTargets: selectionTargets + }; + }; + + var constrainSpan = function (element, property, value) { + var currentColspan = getAttrValue(element, property, 1); + if (value === 1 || currentColspan <= 1) { + remove$7(element, property); + } else { + set$2(element, property, Math.min(value, currentColspan)); + } + }; + var generateColGroup = function (house, minColRange, maxColRange) { + if (Warehouse.hasColumns(house)) { + var colsToCopy = filter$2(Warehouse.justColumns(house), function (col) { + return col.column >= minColRange && col.column < maxColRange; + }); + var copiedCols = map$1(colsToCopy, function (c) { + var clonedCol = deep(c.element); + constrainSpan(clonedCol, 'span', maxColRange - minColRange); + return clonedCol; + }); + var fakeColgroup = SugarElement.fromTag('colgroup'); + append(fakeColgroup, copiedCols); + return [fakeColgroup]; + } else { + return []; + } + }; + var generateRows = function (house, minColRange, maxColRange) { + return map$1(house.all, function (row) { + var cellsToCopy = filter$2(row.cells, function (cell) { + return cell.column >= minColRange && cell.column < maxColRange; + }); + var copiedCells = map$1(cellsToCopy, function (cell) { + var clonedCell = deep(cell.element); + constrainSpan(clonedCell, 'colspan', maxColRange - minColRange); + return clonedCell; + }); + var fakeTR = SugarElement.fromTag('tr'); + append(fakeTR, copiedCells); + return fakeTR; + }); + }; + var copyCols = function (table, target) { + var house = Warehouse.fromTable(table); + var details = onUnlockedCells(house, target); + return details.map(function (selectedCells) { + var lastSelectedCell = selectedCells[selectedCells.length - 1]; + var minColRange = selectedCells[0].column; + var maxColRange = lastSelectedCell.column + lastSelectedCell.colspan; + var fakeColGroups = generateColGroup(house, minColRange, maxColRange); + var fakeRows = generateRows(house, minColRange, maxColRange); + return __spreadArray(__spreadArray([], fakeColGroups), fakeRows); + }); + }; + + var copyRows = function (table, target, generators) { + var warehouse = Warehouse.fromTable(table); + var details = onCells(warehouse, target); + return details.bind(function (selectedCells) { + var grid = toGrid(warehouse, generators, false); + var rows = extractGridDetails(grid).rows; + var slicedGrid = rows.slice(selectedCells[0].row, selectedCells[selectedCells.length - 1].row + selectedCells[selectedCells.length - 1].rowspan); + var filteredGrid = bind$2(slicedGrid, function (row) { + var newCells = filter$2(row.cells, function (cell) { + return !cell.isLocked; + }); + return newCells.length > 0 ? [__assign(__assign({}, row), { cells: newCells })] : []; + }); + var slicedDetails = toDetailList(filteredGrid); + return someIf(slicedDetails.length > 0, slicedDetails); + }).map(function (slicedDetails) { + return copy(slicedDetails); + }); + }; + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var getTDTHOverallStyle = function (dom, elm, name) { + var cells = dom.select('td,th', elm); + var firstChildStyle; + var checkChildren = function (firstChildStyle, elms) { + for (var i = 0; i < elms.length; i++) { + var currentStyle = dom.getStyle(elms[i], name); + if (typeof firstChildStyle === 'undefined') { + firstChildStyle = currentStyle; + } + if (firstChildStyle !== currentStyle) { + return ''; + } + } + return firstChildStyle; + }; + return checkChildren(firstChildStyle, cells); + }; + var applyAlign = function (editor, elm, name) { + if (name) { + editor.formatter.apply('align' + name, {}, elm); + } + }; + var applyVAlign = function (editor, elm, name) { + if (name) { + editor.formatter.apply('valign' + name, {}, elm); + } + }; + var unApplyAlign = function (editor, elm) { + global$2.each('left center right'.split(' '), function (name) { + editor.formatter.remove('align' + name, {}, elm); + }); + }; + var unApplyVAlign = function (editor, elm) { + global$2.each('top middle bottom'.split(' '), function (name) { + editor.formatter.remove('valign' + name, {}, elm); + }); + }; + + var verticalAlignValues = [ + { + text: 'None', + value: '' + }, + { + text: 'Top', + value: 'top' + }, + { + text: 'Middle', + value: 'middle' + }, + { + text: 'Bottom', + value: 'bottom' + } + ]; + + var hexColour = function (value) { + return { value: value }; + }; + var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; + var longformRegex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; + var isHexString = function (hex) { + return shorthandRegex.test(hex) || longformRegex.test(hex); + }; + var normalizeHex = function (hex) { + return removeLeading(hex, '#').toUpperCase(); + }; + var fromString$1 = function (hex) { + return isHexString(hex) ? Optional.some({ value: normalizeHex(hex) }) : Optional.none(); + }; + var toHex = function (component) { + var hex = component.toString(16); + return (hex.length === 1 ? '0' + hex : hex).toUpperCase(); + }; + var fromRgba = function (rgbaColour) { + var value = toHex(rgbaColour.red) + toHex(rgbaColour.green) + toHex(rgbaColour.blue); + return hexColour(value); + }; + + var rgbRegex = /^rgb\((\d+),\s*(\d+),\s*(\d+)\)/; + var rgbaRegex = /^rgba\((\d+),\s*(\d+),\s*(\d+),\s*(\d?(?:\.\d+)?)\)/; + var rgbaColour = function (red, green, blue, alpha) { + return { + red: red, + green: green, + blue: blue, + alpha: alpha + }; + }; + var fromStringValues = function (red, green, blue, alpha) { + var r = parseInt(red, 10); + var g = parseInt(green, 10); + var b = parseInt(blue, 10); + var a = parseFloat(alpha); + return rgbaColour(r, g, b, a); + }; + var fromString = function (rgbaString) { + if (rgbaString === 'transparent') { + return Optional.some(rgbaColour(0, 0, 0, 0)); + } + var rgbMatch = rgbRegex.exec(rgbaString); + if (rgbMatch !== null) { + return Optional.some(fromStringValues(rgbMatch[1], rgbMatch[2], rgbMatch[3], '1')); + } + var rgbaMatch = rgbaRegex.exec(rgbaString); + if (rgbaMatch !== null) { + return Optional.some(fromStringValues(rgbaMatch[1], rgbaMatch[2], rgbaMatch[3], rgbaMatch[4])); + } + return Optional.none(); + }; + + var anyToHex = function (color) { + return fromString$1(color).orThunk(function () { + return fromString(color).map(fromRgba); + }).getOrThunk(function () { + var canvas = document.createElement('canvas'); + canvas.height = 1; + canvas.width = 1; + var canvasContext = canvas.getContext('2d'); + canvasContext.clearRect(0, 0, canvas.width, canvas.height); + canvasContext.fillStyle = '#FFFFFF'; + canvasContext.fillStyle = color; + canvasContext.fillRect(0, 0, 1, 1); + var rgba = canvasContext.getImageData(0, 0, 1, 1).data; + var r = rgba[0]; + var g = rgba[1]; + var b = rgba[2]; + var a = rgba[3]; + return fromRgba(rgbaColour(r, g, b, a)); + }); + }; + + var singleton = function (doRevoke) { + var subject = Cell(Optional.none()); + var revoke = function () { + return subject.get().each(doRevoke); + }; + var clear = function () { + revoke(); + subject.set(Optional.none()); + }; + var isSet = function () { + return subject.get().isSome(); + }; + var get = function () { + return subject.get(); + }; + var set = function (s) { + revoke(); + subject.set(Optional.some(s)); + }; + return { + clear: clear, + isSet: isSet, + get: get, + set: set + }; + }; + var unbindable = function () { + return singleton(function (s) { + return s.unbind(); + }); + }; + var value = function () { + var subject = singleton(noop); + var on = function (f) { + return subject.get().each(f); + }; + return __assign(__assign({}, subject), { on: on }); + }; + + var onSetupToggle = function (editor, selections, formatName, formatValue) { + return function (api) { + var boundCallback = unbindable(); + var isNone = isEmpty$1(formatValue); + var init = function () { + var selectedCells = getCellsFromSelection(selections); + var checkNode = function (cell) { + return editor.formatter.match(formatName, { value: formatValue }, cell.dom, isNone); + }; + if (isNone) { + api.setActive(!exists(selectedCells, checkNode)); + boundCallback.set(editor.formatter.formatChanged(formatName, function (match) { + return api.setActive(!match); + }, true)); + } else { + api.setActive(forall(selectedCells, checkNode)); + boundCallback.set(editor.formatter.formatChanged(formatName, api.setActive, false, { value: formatValue })); + } + }; + editor.initialized ? init() : editor.on('init', init); + return boundCallback.clear; + }; + }; + var isListGroup = function (item) { + return hasNonNullableKey(item, 'menu'); + }; + var buildListItems = function (items) { + return map$1(items, function (item) { + var text = item.text || item.title; + if (isListGroup(item)) { + return { + text: text, + items: buildListItems(item.menu) + }; + } else { + return { + text: text, + value: item.value + }; + } + }); + }; + var buildMenuItems = function (editor, selections, items, format, onAction) { + return map$1(items, function (item) { + var text = item.text || item.title; + if (isListGroup(item)) { + return { + type: 'nestedmenuitem', + text: text, + getSubmenuItems: function () { + return buildMenuItems(editor, selections, item.menu, format, onAction); + } + }; + } else { + return { + text: text, + type: 'togglemenuitem', + onAction: function () { + return onAction(item.value); + }, + onSetup: onSetupToggle(editor, selections, format, item.value) + }; + } + }); + }; + var applyTableCellStyle = function (editor, style) { + return function (value) { + var _a; + editor.execCommand('mceTableApplyCellStyle', false, (_a = {}, _a[style] = value, _a)); + }; + }; + var filterNoneItem = function (list) { + return bind$2(list, function (item) { + if (isListGroup(item)) { + return [__assign(__assign({}, item), { menu: filterNoneItem(item.menu) })]; + } else { + return isNotEmpty(item.value) ? [item] : []; + } + }); + }; + var generateMenuItemsCallback = function (editor, selections, items, format, onAction) { + return function (callback) { + return callback(buildMenuItems(editor, selections, items, format, onAction)); + }; + }; + var buildColorMenu = function (editor, colorList, style) { + var colorMap = map$1(colorList, function (entry) { + return { + text: entry.title, + value: '#' + anyToHex(entry.value).value, + type: 'choiceitem' + }; + }); + return [{ + type: 'fancymenuitem', + fancytype: 'colorswatch', + initData: { + colors: colorMap.length > 0 ? colorMap : undefined, + allowCustomColors: false + }, + onAction: function (data) { + var _a; + var value = data.value === 'remove' ? '' : data.value; + editor.execCommand('mceTableApplyCellStyle', false, (_a = {}, _a[style] = value, _a)); + } + }]; + }; + var changeRowHeader = function (editor) { + return function () { + var currentType = editor.queryCommandValue('mceTableRowType'); + var newType = currentType === 'header' ? 'body' : 'header'; + editor.execCommand('mceTableRowType', false, { type: newType }); + }; + }; + var changeColumnHeader = function (editor) { + return function () { + var currentType = editor.queryCommandValue('mceTableColType'); + var newType = currentType === 'th' ? 'td' : 'th'; + editor.execCommand('mceTableColType', false, { type: newType }); + }; + }; + + var getClassList$1 = function (editor) { + var classes = buildListItems(getCellClassList(editor)); + if (classes.length > 0) { + return Optional.some({ + name: 'class', + type: 'listbox', + label: 'Class', + items: classes + }); + } + return Optional.none(); + }; + var children = [ + { + name: 'width', + type: 'input', + label: 'Width' + }, + { + name: 'height', + type: 'input', + label: 'Height' + }, + { + name: 'celltype', + type: 'listbox', + label: 'Cell type', + items: [ + { + text: 'Cell', + value: 'td' + }, + { + text: 'Header cell', + value: 'th' + } + ] + }, + { + name: 'scope', + type: 'listbox', + label: 'Scope', + items: [ + { + text: 'None', + value: '' + }, + { + text: 'Row', + value: 'row' + }, + { + text: 'Column', + value: 'col' + }, + { + text: 'Row group', + value: 'rowgroup' + }, + { + text: 'Column group', + value: 'colgroup' + } + ] + }, + { + name: 'halign', + type: 'listbox', + label: 'Horizontal align', + items: [ + { + text: 'None', + value: '' + }, + { + text: 'Left', + value: 'left' + }, + { + text: 'Center', + value: 'center' + }, + { + text: 'Right', + value: 'right' + } + ] + }, + { + name: 'valign', + type: 'listbox', + label: 'Vertical align', + items: verticalAlignValues + } + ]; + var getItems$2 = function (editor) { + return children.concat(getClassList$1(editor).toArray()); + }; + + var getAdvancedTab = function (editor, dialogName) { + var emptyBorderStyle = [{ + text: 'Select...', + value: '' + }]; + var advTabItems = [ + { + name: 'borderstyle', + type: 'listbox', + label: 'Border style', + items: emptyBorderStyle.concat(buildListItems(getTableBorderStyles(editor))) + }, + { + name: 'bordercolor', + type: 'colorinput', + label: 'Border color' + }, + { + name: 'backgroundcolor', + type: 'colorinput', + label: 'Background color' + } + ]; + var borderWidth = { + name: 'borderwidth', + type: 'input', + label: 'Border width' + }; + var items = dialogName === 'cell' ? [borderWidth].concat(advTabItems) : advTabItems; + return { + title: 'Advanced', + name: 'advanced', + items: items + }; + }; + + var modifiers = function (testTruthy) { + return function (editor, node) { + var dom = editor.dom; + var setAttrib = function (attr, value) { + if (!testTruthy || value) { + dom.setAttrib(node, attr, value); + } + }; + var setStyle = function (prop, value) { + if (!testTruthy || value) { + dom.setStyle(node, prop, value); + } + }; + var setFormat = function (formatName, value) { + if (!testTruthy || value) { + if (value === '') { + editor.formatter.remove(formatName, { value: null }, node, true); + } else { + editor.formatter.apply(formatName, { value: value }, node); + } + } + }; + return { + setAttrib: setAttrib, + setStyle: setStyle, + setFormat: setFormat + }; + }; + }; + var DomModifier = { + normal: modifiers(false), + ifTruthy: modifiers(true) + }; + + var rgbToHex = function (dom) { + return function (value) { + return startsWith(value, 'rgb') ? dom.toHex(value) : value; + }; + }; + var extractAdvancedStyles = function (dom, elm) { + var element = SugarElement.fromDom(elm); + return { + borderwidth: getRaw$2(element, 'border-width').getOr(''), + borderstyle: getRaw$2(element, 'border-style').getOr(''), + bordercolor: getRaw$2(element, 'border-color').map(rgbToHex(dom)).getOr(''), + backgroundcolor: getRaw$2(element, 'background-color').map(rgbToHex(dom)).getOr('') + }; + }; + var getSharedValues = function (data) { + var baseData = data[0]; + var comparisonData = data.slice(1); + each$2(comparisonData, function (items) { + each$2(keys(baseData), function (key) { + each$1(items, function (itemValue, itemKey) { + var comparisonValue = baseData[key]; + if (comparisonValue !== '' && key === itemKey) { + if (comparisonValue !== itemValue) { + baseData[key] = ''; + } + } + }); + }); + }); + return baseData; + }; + var getAlignment = function (formats, formatName, editor, elm) { + return find$1(formats, function (name) { + return !isUndefined(editor.formatter.matchNode(elm, formatName + name)); + }).getOr(''); + }; + var getHAlignment = curry(getAlignment, [ + 'left', + 'center', + 'right' + ], 'align'); + var getVAlignment = curry(getAlignment, [ + 'top', + 'middle', + 'bottom' + ], 'valign'); + var extractDataFromSettings = function (editor, hasAdvTableTab) { + var style = getDefaultStyles(editor); + var attrs = getDefaultAttributes(editor); + var extractAdvancedStyleData = function (dom) { + return { + borderstyle: get$c(style, 'border-style').getOr(''), + bordercolor: rgbToHex(dom)(get$c(style, 'border-color').getOr('')), + backgroundcolor: rgbToHex(dom)(get$c(style, 'background-color').getOr('')) + }; + }; + var defaultData = { + height: '', + width: '100%', + cellspacing: '', + cellpadding: '', + caption: false, + class: '', + align: '', + border: '' + }; + var getBorder = function () { + var borderWidth = style['border-width']; + if (shouldStyleWithCss(editor) && borderWidth) { + return { border: borderWidth }; + } + return get$c(attrs, 'border').fold(function () { + return {}; + }, function (border) { + return { border: border }; + }); + }; + var advStyle = hasAdvTableTab ? extractAdvancedStyleData(editor.dom) : {}; + var getCellPaddingCellSpacing = function () { + var spacing = get$c(style, 'border-spacing').or(get$c(attrs, 'cellspacing')).fold(function () { + return {}; + }, function (cellspacing) { + return { cellspacing: cellspacing }; + }); + var padding = get$c(style, 'border-padding').or(get$c(attrs, 'cellpadding')).fold(function () { + return {}; + }, function (cellpadding) { + return { cellpadding: cellpadding }; + }); + return __assign(__assign({}, spacing), padding); + }; + var data = __assign(__assign(__assign(__assign(__assign(__assign({}, defaultData), style), attrs), advStyle), getBorder()), getCellPaddingCellSpacing()); + return data; + }; + var getRowType = function (elm) { + return table(SugarElement.fromDom(elm)).map(function (table) { + var target = { selection: fromDom(elm.cells) }; + return getRowsType(table, target); + }).getOr(''); + }; + var extractDataFromTableElement = function (editor, elm, hasAdvTableTab) { + var getBorder = function (dom, elm) { + var optBorderWidth = getRaw$2(SugarElement.fromDom(elm), 'border-width'); + if (shouldStyleWithCss(editor) && optBorderWidth.isSome()) { + return optBorderWidth.getOr(''); + } + return dom.getAttrib(elm, 'border') || getTDTHOverallStyle(editor.dom, elm, 'border-width') || getTDTHOverallStyle(editor.dom, elm, 'border'); + }; + var dom = editor.dom; + var cellspacing = shouldStyleWithCss(editor) ? dom.getStyle(elm, 'border-spacing') || dom.getAttrib(elm, 'cellspacing') : dom.getAttrib(elm, 'cellspacing') || dom.getStyle(elm, 'border-spacing'); + var cellpadding = shouldStyleWithCss(editor) ? getTDTHOverallStyle(dom, elm, 'padding') || dom.getAttrib(elm, 'cellpadding') : dom.getAttrib(elm, 'cellpadding') || getTDTHOverallStyle(dom, elm, 'padding'); + return __assign({ + width: dom.getStyle(elm, 'width') || dom.getAttrib(elm, 'width'), + height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'), + cellspacing: cellspacing, + cellpadding: cellpadding, + border: getBorder(dom, elm), + caption: !!dom.select('caption', elm)[0], + class: dom.getAttrib(elm, 'class', ''), + align: getHAlignment(editor, elm) + }, hasAdvTableTab ? extractAdvancedStyles(dom, elm) : {}); + }; + var extractDataFromRowElement = function (editor, elm, hasAdvancedRowTab) { + var dom = editor.dom; + return __assign({ + height: dom.getStyle(elm, 'height') || dom.getAttrib(elm, 'height'), + class: dom.getAttrib(elm, 'class', ''), + type: getRowType(elm), + align: getHAlignment(editor, elm) + }, hasAdvancedRowTab ? extractAdvancedStyles(dom, elm) : {}); + }; + var extractDataFromCellElement = function (editor, cell, hasAdvancedCellTab, column) { + var dom = editor.dom; + var colElm = column.getOr(cell); + var getStyle = function (element, style) { + return dom.getStyle(element, style) || dom.getAttrib(element, style); + }; + return __assign({ + width: getStyle(colElm, 'width'), + height: getStyle(cell, 'height'), + scope: dom.getAttrib(cell, 'scope'), + celltype: getNodeName(cell), + class: dom.getAttrib(cell, 'class', ''), + halign: getHAlignment(editor, cell), + valign: getVAlignment(editor, cell) + }, hasAdvancedCellTab ? extractAdvancedStyles(dom, cell) : {}); + }; + + var getSelectedCells = function (table, cells) { + var warehouse = Warehouse.fromTable(table); + var allCells = Warehouse.justCells(warehouse); + var filtered = filter$2(allCells, function (cellA) { + return exists(cells, function (cellB) { + return eq$1(cellA.element, cellB); + }); + }); + return map$1(filtered, function (cell) { + return { + element: cell.element.dom, + column: Warehouse.getColumnAt(warehouse, cell.column).map(function (col) { + return col.element.dom; + }) + }; + }); + }; + var updateSimpleProps$1 = function (modifier, colModifier, data) { + modifier.setAttrib('scope', data.scope); + modifier.setAttrib('class', data.class); + modifier.setStyle('height', addPxSuffix(data.height)); + colModifier.setStyle('width', addPxSuffix(data.width)); + }; + var updateAdvancedProps$1 = function (modifier, data) { + modifier.setFormat('tablecellbackgroundcolor', data.backgroundcolor); + modifier.setFormat('tablecellbordercolor', data.bordercolor); + modifier.setFormat('tablecellborderstyle', data.borderstyle); + modifier.setFormat('tablecellborderwidth', addPxSuffix(data.borderwidth)); + }; + var applyStyleData$1 = function (editor, cells, data) { + var isSingleCell = cells.length === 1; + each$2(cells, function (item) { + var cellElm = item.element; + var modifier = isSingleCell ? DomModifier.normal(editor, cellElm) : DomModifier.ifTruthy(editor, cellElm); + var colModifier = item.column.map(function (col) { + return isSingleCell ? DomModifier.normal(editor, col) : DomModifier.ifTruthy(editor, col); + }).getOr(modifier); + updateSimpleProps$1(modifier, colModifier, data); + if (hasAdvancedCellTab(editor)) { + updateAdvancedProps$1(modifier, data); + } + if (isSingleCell) { + unApplyAlign(editor, cellElm); + unApplyVAlign(editor, cellElm); + } + if (data.halign) { + applyAlign(editor, cellElm, data.halign); + } + if (data.valign) { + applyVAlign(editor, cellElm, data.valign); + } + }); + }; + var applyStructureData$1 = function (editor, data) { + editor.execCommand('mceTableCellType', false, { + type: data.celltype, + no_events: true + }); + }; + var applyCellData = function (editor, cells, oldData, data) { + var modifiedData = filter$1(data, function (value, key) { + return oldData[key] !== value; + }); + if (size(modifiedData) > 0 && cells.length >= 1) { + table(cells[0]).each(function (table) { + var selectedCells = getSelectedCells(table, cells); + var styleModified = size(filter$1(modifiedData, function (_value, key) { + return key !== 'scope' && key !== 'celltype'; + })) > 0; + var structureModified = has$1(modifiedData, 'celltype'); + if (styleModified || has$1(modifiedData, 'scope')) { + applyStyleData$1(editor, selectedCells, data); + } + if (structureModified) { + applyStructureData$1(editor, data); + } + fireTableModified(editor, table.dom, { + structure: structureModified, + style: styleModified + }); + }); + } + }; + var onSubmitCellForm = function (editor, cells, oldData, api) { + var data = api.getData(); + api.close(); + editor.undoManager.transact(function () { + applyCellData(editor, cells, oldData, data); + editor.focus(); + }); + }; + var getData = function (editor, cells) { + var cellsData = table(cells[0]).map(function (table) { + return map$1(getSelectedCells(table, cells), function (item) { + return extractDataFromCellElement(editor, item.element, hasAdvancedCellTab(editor), item.column); + }); + }); + return getSharedValues(cellsData.getOrDie()); + }; + var open$2 = function (editor, selections) { + var cells = getCellsFromSelection(selections); + if (cells.length === 0) { + return; + } + var data = getData(editor, cells); + var dialogTabPanel = { + type: 'tabpanel', + tabs: [ + { + title: 'General', + name: 'general', + items: getItems$2(editor) + }, + getAdvancedTab(editor, 'cell') + ] + }; + var dialogPanel = { + type: 'panel', + items: [{ + type: 'grid', + columns: 2, + items: getItems$2(editor) + }] + }; + editor.windowManager.open({ + title: 'Cell Properties', + size: 'normal', + body: hasAdvancedCellTab(editor) ? dialogTabPanel : dialogPanel, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: data, + onSubmit: curry(onSubmitCellForm, editor, cells, data) + }); + }; + + var getClassList = function (editor) { + var classes = buildListItems(getRowClassList(editor)); + if (classes.length > 0) { + return Optional.some({ + name: 'class', + type: 'listbox', + label: 'Class', + items: classes + }); + } + return Optional.none(); + }; + var formChildren = [ + { + type: 'listbox', + name: 'type', + label: 'Row type', + items: [ + { + text: 'Header', + value: 'header' + }, + { + text: 'Body', + value: 'body' + }, + { + text: 'Footer', + value: 'footer' + } + ] + }, + { + type: 'listbox', + name: 'align', + label: 'Alignment', + items: [ + { + text: 'None', + value: '' + }, + { + text: 'Left', + value: 'left' + }, + { + text: 'Center', + value: 'center' + }, + { + text: 'Right', + value: 'right' + } + ] + }, + { + label: 'Height', + name: 'height', + type: 'input' + } + ]; + var getItems$1 = function (editor) { + return formChildren.concat(getClassList(editor).toArray()); + }; + + var updateSimpleProps = function (modifier, data) { + modifier.setAttrib('class', data.class); + modifier.setStyle('height', addPxSuffix(data.height)); + }; + var updateAdvancedProps = function (modifier, data) { + modifier.setStyle('background-color', data.backgroundcolor); + modifier.setStyle('border-color', data.bordercolor); + modifier.setStyle('border-style', data.borderstyle); + }; + var applyStyleData = function (editor, rows, data, oldData) { + var isSingleRow = rows.length === 1; + each$2(rows, function (rowElm) { + var modifier = isSingleRow ? DomModifier.normal(editor, rowElm) : DomModifier.ifTruthy(editor, rowElm); + updateSimpleProps(modifier, data); + if (hasAdvancedRowTab(editor)) { + updateAdvancedProps(modifier, data); + } + if (data.align !== oldData.align) { + unApplyAlign(editor, rowElm); + applyAlign(editor, rowElm, data.align); + } + }); + }; + var applyStructureData = function (editor, data) { + editor.execCommand('mceTableRowType', false, { + type: data.type, + no_events: true + }); + }; + var applyRowData = function (editor, rows, oldData, data) { + var modifiedData = filter$1(data, function (value, key) { + return oldData[key] !== value; + }); + if (size(modifiedData) > 0) { + var typeModified_1 = has$1(modifiedData, 'type'); + var styleModified_1 = typeModified_1 ? size(modifiedData) > 1 : true; + if (styleModified_1) { + applyStyleData(editor, rows, data, oldData); + } + if (typeModified_1) { + applyStructureData(editor, data); + } + table(SugarElement.fromDom(rows[0])).each(function (table) { + return fireTableModified(editor, table.dom, { + structure: typeModified_1, + style: styleModified_1 + }); + }); + } + }; + var onSubmitRowForm = function (editor, rows, oldData, api) { + var data = api.getData(); + api.close(); + editor.undoManager.transact(function () { + applyRowData(editor, rows, oldData, data); + editor.focus(); + }); + }; + var open$1 = function (editor) { + var rows = getRowsFromSelection(getSelectionStart(editor), ephemera.selected); + if (rows.length === 0) { + return; + } + var rowsData = map$1(rows, function (rowElm) { + return extractDataFromRowElement(editor, rowElm.dom, hasAdvancedRowTab(editor)); + }); + var data = getSharedValues(rowsData); + var dialogTabPanel = { + type: 'tabpanel', + tabs: [ + { + title: 'General', + name: 'general', + items: getItems$1(editor) + }, + getAdvancedTab(editor, 'row') + ] + }; + var dialogPanel = { + type: 'panel', + items: [{ + type: 'grid', + columns: 2, + items: getItems$1(editor) + }] + }; + editor.windowManager.open({ + title: 'Row Properties', + size: 'normal', + body: hasAdvancedRowTab(editor) ? dialogTabPanel : dialogPanel, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: data, + onSubmit: curry(onSubmitRowForm, editor, map$1(rows, function (r) { + return r.dom; + }), data) + }); + }; + + var getItems = function (editor, classes, insertNewTable) { + var rowColCountItems = !insertNewTable ? [] : [ + { + type: 'input', + name: 'cols', + label: 'Cols', + inputMode: 'numeric' + }, + { + type: 'input', + name: 'rows', + label: 'Rows', + inputMode: 'numeric' + } + ]; + var alwaysItems = [ + { + type: 'input', + name: 'width', + label: 'Width' + }, + { + type: 'input', + name: 'height', + label: 'Height' + } + ]; + var appearanceItems = hasAppearanceOptions(editor) ? [ + { + type: 'input', + name: 'cellspacing', + label: 'Cell spacing', + inputMode: 'numeric' + }, + { + type: 'input', + name: 'cellpadding', + label: 'Cell padding', + inputMode: 'numeric' + }, + { + type: 'input', + name: 'border', + label: 'Border width' + }, + { + type: 'label', + label: 'Caption', + items: [{ + type: 'checkbox', + name: 'caption', + label: 'Show caption' + }] + } + ] : []; + var alignmentItem = [{ + type: 'listbox', + name: 'align', + label: 'Alignment', + items: [ + { + text: 'None', + value: '' + }, + { + text: 'Left', + value: 'left' + }, + { + text: 'Center', + value: 'center' + }, + { + text: 'Right', + value: 'right' + } + ] + }]; + var classListItem = classes.length > 0 ? [{ + type: 'listbox', + name: 'class', + label: 'Class', + items: classes + }] : []; + return rowColCountItems.concat(alwaysItems).concat(appearanceItems).concat(alignmentItem).concat(classListItem); + }; + + var styleTDTH = function (dom, elm, name, value) { + if (elm.tagName === 'TD' || elm.tagName === 'TH') { + if (isString(name)) { + dom.setStyle(elm, name, value); + } else { + dom.setStyle(elm, name); + } + } else { + if (elm.children) { + for (var i = 0; i < elm.children.length; i++) { + styleTDTH(dom, elm.children[i], name, value); + } + } + } + }; + var applyDataToElement = function (editor, tableElm, data) { + var dom = editor.dom; + var attrs = {}; + var styles = {}; + attrs.class = data.class; + styles.height = addPxSuffix(data.height); + if (dom.getAttrib(tableElm, 'width') && !shouldStyleWithCss(editor)) { + attrs.width = removePxSuffix(data.width); + } else { + styles.width = addPxSuffix(data.width); + } + if (shouldStyleWithCss(editor)) { + styles['border-width'] = addPxSuffix(data.border); + styles['border-spacing'] = addPxSuffix(data.cellspacing); + } else { + attrs.border = data.border; + attrs.cellpadding = data.cellpadding; + attrs.cellspacing = data.cellspacing; + } + if (shouldStyleWithCss(editor) && tableElm.children) { + for (var i = 0; i < tableElm.children.length; i++) { + styleTDTH(dom, tableElm.children[i], { + 'border-width': addPxSuffix(data.border), + 'padding': addPxSuffix(data.cellpadding) + }); + if (hasAdvancedTableTab(editor)) { + styleTDTH(dom, tableElm.children[i], { 'border-color': data.bordercolor }); + } + } + } + if (hasAdvancedTableTab(editor)) { + styles['background-color'] = data.backgroundcolor; + styles['border-color'] = data.bordercolor; + styles['border-style'] = data.borderstyle; + } + attrs.style = dom.serializeStyle(__assign(__assign({}, getDefaultStyles(editor)), styles)); + dom.setAttribs(tableElm, __assign(__assign({}, getDefaultAttributes(editor)), attrs)); + }; + var onSubmitTableForm = function (editor, tableElm, oldData, api) { + var dom = editor.dom; + var data = api.getData(); + var modifiedData = filter$1(data, function (value, key) { + return oldData[key] !== value; + }); + api.close(); + if (data.class === '') { + delete data.class; + } + editor.undoManager.transact(function () { + if (!tableElm) { + var cols = parseInt(data.cols, 10) || 1; + var rows = parseInt(data.rows, 10) || 1; + tableElm = insert(editor, cols, rows, 0, 0); + } + if (size(modifiedData) > 0) { + applyDataToElement(editor, tableElm, data); + var captionElm = dom.select('caption', tableElm)[0]; + if (captionElm && !data.caption || !captionElm && data.caption) { + editor.execCommand('mceTableToggleCaption'); + } + if (data.align === '') { + unApplyAlign(editor, tableElm); + } else { + applyAlign(editor, tableElm, data.align); + } + } + editor.focus(); + editor.addVisual(); + if (size(modifiedData) > 0) { + var captionModified = has$1(modifiedData, 'caption'); + var styleModified = captionModified ? size(modifiedData) > 1 : true; + fireTableModified(editor, tableElm, { + structure: captionModified, + style: styleModified + }); + } + }); + }; + var open = function (editor, insertNewTable) { + var dom = editor.dom; + var tableElm; + var data = extractDataFromSettings(editor, hasAdvancedTableTab(editor)); + if (insertNewTable === false) { + tableElm = dom.getParent(editor.selection.getStart(), 'table', editor.getBody()); + if (tableElm) { + data = extractDataFromTableElement(editor, tableElm, hasAdvancedTableTab(editor)); + } else { + if (hasAdvancedTableTab(editor)) { + data.borderstyle = ''; + data.bordercolor = ''; + data.backgroundcolor = ''; + } + } + } else { + data.cols = '1'; + data.rows = '1'; + if (hasAdvancedTableTab(editor)) { + data.borderstyle = ''; + data.bordercolor = ''; + data.backgroundcolor = ''; + } + } + var classes = buildListItems(getTableClassList(editor)); + if (classes.length > 0) { + if (data.class) { + data.class = data.class.replace(/\s*mce\-item\-table\s*/g, ''); + } + } + var generalPanel = { + type: 'grid', + columns: 2, + items: getItems(editor, classes, insertNewTable) + }; + var nonAdvancedForm = function () { + return { + type: 'panel', + items: [generalPanel] + }; + }; + var advancedForm = function () { + return { + type: 'tabpanel', + tabs: [ + { + title: 'General', + name: 'general', + items: [generalPanel] + }, + getAdvancedTab(editor, 'table') + ] + }; + }; + var dialogBody = hasAdvancedTableTab(editor) ? advancedForm() : nonAdvancedForm(); + editor.windowManager.open({ + title: 'Table Properties', + size: 'normal', + body: dialogBody, + onSubmit: curry(onSubmitTableForm, editor, tableElm, data), + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + initialData: data + }); + }; + + var getSelectionStartCellOrCaption = function (editor) { + return getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)); + }; + var getSelectionStartCell = function (editor) { + return getSelectionCell(getSelectionStart(editor), getIsRoot(editor)); + }; + var registerCommands = function (editor, actions, cellSelection, selections, clipboard) { + var isRoot = getIsRoot(editor); + var eraseTable = function () { + return getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) { + table(cellOrCaption, isRoot).filter(not(isRoot)).each(function (table) { + var cursor = SugarElement.fromText(''); + after$5(table, cursor); + remove$5(table); + if (editor.dom.isEmpty(editor.getBody())) { + editor.setContent(''); + editor.selection.setCursorLocation(); + } else { + var rng = editor.dom.createRng(); + rng.setStart(cursor.dom, 0); + rng.setEnd(cursor.dom, 0); + editor.selection.setRng(rng); + editor.nodeChanged(); + } + }); + }); + }; + var setSizingMode = function (sizing) { + return getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) { + var isForcedSizing = isResponsiveForced(editor) || isPixelsForced(editor) || isPercentagesForced(editor); + if (!isForcedSizing) { + table(cellOrCaption, isRoot).each(function (table) { + if (sizing === 'relative' && !isPercentSizing(table)) { + enforcePercentage(editor, table); + } else if (sizing === 'fixed' && !isPixelSizing(table)) { + enforcePixels(editor, table); + } else if (sizing === 'responsive' && !isNoneSizing(table)) { + enforceNone(table); + } + removeDataStyle(table); + fireTableModified(editor, table.dom, structureModified); + }); + } + }); + }; + var getTableFromCell = function (cell) { + return table(cell, isRoot); + }; + var performActionOnSelection = function (action) { + return getSelectionStartCell(editor).bind(function (cell) { + return getTableFromCell(cell).map(function (table) { + return action(table, cell); + }); + }); + }; + var toggleTableClass = function (_ui, clazz) { + performActionOnSelection(function (table) { + editor.formatter.toggle('tableclass', { value: clazz }, table.dom); + fireTableModified(editor, table.dom, styleModified); + }); + }; + var toggleTableCellClass = function (_ui, clazz) { + performActionOnSelection(function (table) { + var selectedCells = getCellsFromSelection(selections); + var allHaveClass = forall(selectedCells, function (cell) { + return editor.formatter.match('tablecellclass', { value: clazz }, cell.dom); + }); + var formatterAction = allHaveClass ? editor.formatter.remove : editor.formatter.apply; + each$2(selectedCells, function (cell) { + return formatterAction('tablecellclass', { value: clazz }, cell.dom); + }); + fireTableModified(editor, table.dom, styleModified); + }); + }; + var toggleCaption = function () { + getSelectionStartCellOrCaption(editor).each(function (cellOrCaption) { + table(cellOrCaption, isRoot).each(function (table) { + child$1(table, 'caption').fold(function () { + var caption = SugarElement.fromTag('caption'); + append$1(caption, SugarElement.fromText('Caption')); + appendAt(table, caption, 0); + editor.selection.setCursorLocation(caption.dom, 0); + }, function (caption) { + if (isTag('caption')(cellOrCaption)) { + one('td', table).each(function (td) { + return editor.selection.setCursorLocation(td.dom, 0); + }); + } + remove$5(caption); + }); + fireTableModified(editor, table.dom, structureModified); + }); + }); + }; + var postExecute = function (_data) { + editor.focus(); + }; + var actOnSelection = function (execute, noEvents) { + if (noEvents === void 0) { + noEvents = false; + } + return performActionOnSelection(function (table, startCell) { + var targets = forMenu(selections, table, startCell); + execute(table, targets, noEvents).each(postExecute); + }); + }; + var copyRowSelection = function () { + return performActionOnSelection(function (table, startCell) { + var targets = forMenu(selections, table, startCell); + var generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), Optional.none()); + return copyRows(table, targets, generators); + }); + }; + var copyColSelection = function () { + return performActionOnSelection(function (table, startCell) { + var targets = forMenu(selections, table, startCell); + return copyCols(table, targets); + }); + }; + var pasteOnSelection = function (execute, getRows) { + return getRows().each(function (rows) { + var clonedRows = map$1(rows, function (row) { + return deep(row); + }); + performActionOnSelection(function (table, startCell) { + var generators = paste$1(SugarElement.fromDom(editor.getDoc())); + var targets = pasteRows(selections, startCell, clonedRows, generators); + execute(table, targets).each(postExecute); + }); + }); + }; + var actOnType = function (getAction) { + return function (_ui, args) { + return get$c(args, 'type').each(function (type) { + actOnSelection(getAction(type), args.no_events); + }); + }; + }; + each$1({ + mceTableSplitCells: function () { + return actOnSelection(actions.unmergeCells); + }, + mceTableMergeCells: function () { + return actOnSelection(actions.mergeCells); + }, + mceTableInsertRowBefore: function () { + return actOnSelection(actions.insertRowsBefore); + }, + mceTableInsertRowAfter: function () { + return actOnSelection(actions.insertRowsAfter); + }, + mceTableInsertColBefore: function () { + return actOnSelection(actions.insertColumnsBefore); + }, + mceTableInsertColAfter: function () { + return actOnSelection(actions.insertColumnsAfter); + }, + mceTableDeleteCol: function () { + return actOnSelection(actions.deleteColumn); + }, + mceTableDeleteRow: function () { + return actOnSelection(actions.deleteRow); + }, + mceTableCutCol: function () { + return copyColSelection().each(function (selection) { + clipboard.setColumns(selection); + actOnSelection(actions.deleteColumn); + }); + }, + mceTableCutRow: function () { + return copyRowSelection().each(function (selection) { + clipboard.setRows(selection); + actOnSelection(actions.deleteRow); + }); + }, + mceTableCopyCol: function () { + return copyColSelection().each(function (selection) { + return clipboard.setColumns(selection); + }); + }, + mceTableCopyRow: function () { + return copyRowSelection().each(function (selection) { + return clipboard.setRows(selection); + }); + }, + mceTablePasteColBefore: function () { + return pasteOnSelection(actions.pasteColsBefore, clipboard.getColumns); + }, + mceTablePasteColAfter: function () { + return pasteOnSelection(actions.pasteColsAfter, clipboard.getColumns); + }, + mceTablePasteRowBefore: function () { + return pasteOnSelection(actions.pasteRowsBefore, clipboard.getRows); + }, + mceTablePasteRowAfter: function () { + return pasteOnSelection(actions.pasteRowsAfter, clipboard.getRows); + }, + mceTableDelete: eraseTable, + mceTableCellToggleClass: toggleTableCellClass, + mceTableToggleClass: toggleTableClass, + mceTableToggleCaption: toggleCaption, + mceTableSizingMode: function (_ui, sizing) { + return setSizingMode(sizing); + }, + mceTableCellType: actOnType(function (type) { + return type === 'th' ? actions.makeCellsHeader : actions.unmakeCellsHeader; + }), + mceTableColType: actOnType(function (type) { + return type === 'th' ? actions.makeColumnsHeader : actions.unmakeColumnsHeader; + }), + mceTableRowType: actOnType(function (type) { + switch (type) { + case 'header': + return actions.makeRowsHeader; + case 'footer': + return actions.makeRowsFooter; + default: + return actions.makeRowsBody; + } + }) + }, function (func, name) { + return editor.addCommand(name, func); + }); + each$1({ + mceTableProps: curry(open, editor, false), + mceTableRowProps: curry(open$1, editor), + mceTableCellProps: curry(open$2, editor, selections) + }, function (func, name) { + return editor.addCommand(name, function () { + return func(); + }); + }); + editor.addCommand('mceInsertTable', function (_ui, args) { + if (isObject(args) && keys(args).length > 0) { + insertTableWithDataValidation(editor, args.rows, args.columns, args.options, 'Invalid values for mceInsertTable - rows and columns values are required to insert a table.'); + } else { + open(editor, true); + } + }); + editor.addCommand('mceTableApplyCellStyle', function (_ui, args) { + var getFormatName = function (style) { + return 'tablecell' + style.toLowerCase().replace('-', ''); + }; + if (!isObject(args)) { + return; + } + var cells = getCellsFromSelection(selections); + if (cells.length === 0) { + return; + } + var validArgs = filter$1(args, function (value, style) { + return editor.formatter.has(getFormatName(style)) && isString(value); + }); + if (isEmpty(validArgs)) { + return; + } + each$1(validArgs, function (value, style) { + each$2(cells, function (cell) { + DomModifier.normal(editor, cell.dom).setFormat(getFormatName(style), value); + }); + }); + getTableFromCell(cells[0]).each(function (table) { + return fireTableModified(editor, table.dom, styleModified); + }); + }); + }; + + var registerQueryCommands = function (editor, actions, selections) { + var isRoot = getIsRoot(editor); + var lookupOnSelection = function (action) { + return getSelectionCell(getSelectionStart(editor)).bind(function (cell) { + return table(cell, isRoot).map(function (table) { + var targets = forMenu(selections, table, cell); + return action(table, targets); + }); + }).getOr(''); + }; + each$1({ + mceTableRowType: function () { + return lookupOnSelection(actions.getTableRowType); + }, + mceTableCellType: function () { + return lookupOnSelection(actions.getTableCellType); + }, + mceTableColType: function () { + return lookupOnSelection(actions.getTableColType); + } + }, function (func, name) { + return editor.addQueryValueHandler(name, func); + }); + }; + + var Clipboard = function () { + var rows = value(); + var cols = value(); + return { + getRows: rows.get, + setRows: function (r) { + r.fold(rows.clear, rows.set); + cols.clear(); + }, + clearRows: rows.clear, + getColumns: cols.get, + setColumns: function (c) { + c.fold(cols.clear, cols.set); + rows.clear(); + }, + clearColumns: cols.clear + }; + }; + + var genericBase = { + remove_similar: true, + inherit: false + }; + var cellBase = __assign({ selector: 'td,th' }, genericBase); + var cellFormats = { + tablecellbackgroundcolor: __assign({ styles: { backgroundColor: '%value' } }, cellBase), + tablecellverticalalign: __assign({ styles: { 'vertical-align': '%value' } }, cellBase), + tablecellbordercolor: __assign({ styles: { borderColor: '%value' } }, cellBase), + tablecellclass: __assign({ classes: ['%value'] }, cellBase), + tableclass: __assign({ + selector: 'table', + classes: ['%value'] + }, genericBase), + tablecellborderstyle: __assign({ styles: { borderStyle: '%value' } }, cellBase), + tablecellborderwidth: __assign({ styles: { borderWidth: '%value' } }, cellBase) + }; + var registerFormats = function (editor) { + editor.formatter.register(cellFormats); + }; + + var adt$5 = Adt.generate([ + { none: ['current'] }, + { first: ['current'] }, + { + middle: [ + 'current', + 'target' + ] + }, + { last: ['current'] } + ]); + var none = function (current) { + if (current === void 0) { + current = undefined; + } + return adt$5.none(current); + }; + var CellLocation = __assign(__assign({}, adt$5), { none: none }); + + var walk = function (all, current, index, direction, isEligible) { + if (isEligible === void 0) { + isEligible = always; + } + var forwards = direction === 1; + if (!forwards && index <= 0) { + return CellLocation.first(all[0]); + } else if (forwards && index >= all.length - 1) { + return CellLocation.last(all[all.length - 1]); + } else { + var newIndex = index + direction; + var elem = all[newIndex]; + return isEligible(elem) ? CellLocation.middle(current, elem) : walk(all, current, newIndex, direction, isEligible); + } + }; + var detect$1 = function (current, isRoot) { + return table(current, isRoot).bind(function (table) { + var all = cells$1(table); + var index = findIndex(all, function (x) { + return eq$1(current, x); + }); + return index.map(function (index) { + return { + index: index, + all: all + }; + }); + }); + }; + var next = function (current, isEligible, isRoot) { + var detection = detect$1(current, isRoot); + return detection.fold(function () { + return CellLocation.none(current); + }, function (info) { + return walk(info.all, current, info.index, 1, isEligible); + }); + }; + var prev = function (current, isEligible, isRoot) { + var detection = detect$1(current, isRoot); + return detection.fold(function () { + return CellLocation.none(); + }, function (info) { + return walk(info.all, current, info.index, -1, isEligible); + }); + }; + + var create$2 = function (start, soffset, finish, foffset) { + return { + start: start, + soffset: soffset, + finish: finish, + foffset: foffset + }; + }; + var SimRange = { create: create$2 }; + + var adt$4 = Adt.generate([ + { before: ['element'] }, + { + on: [ + 'element', + 'offset' + ] + }, + { after: ['element'] } + ]); + var cata$1 = function (subject, onBefore, onOn, onAfter) { + return subject.fold(onBefore, onOn, onAfter); + }; + var getStart$1 = function (situ) { + return situ.fold(identity, identity, identity); + }; + var before$2 = adt$4.before; + var on = adt$4.on; + var after$3 = adt$4.after; + var Situ = { + before: before$2, + on: on, + after: after$3, + cata: cata$1, + getStart: getStart$1 + }; + + var adt$3 = Adt.generate([ + { domRange: ['rng'] }, + { + relative: [ + 'startSitu', + 'finishSitu' + ] + }, + { + exact: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + } + ]); + var exactFromRange = function (simRange) { + return adt$3.exact(simRange.start, simRange.soffset, simRange.finish, simRange.foffset); + }; + var getStart = function (selection) { + return selection.match({ + domRange: function (rng) { + return SugarElement.fromDom(rng.startContainer); + }, + relative: function (startSitu, _finishSitu) { + return Situ.getStart(startSitu); + }, + exact: function (start, _soffset, _finish, _foffset) { + return start; + } + }); + }; + var domRange = adt$3.domRange; + var relative = adt$3.relative; + var exact = adt$3.exact; + var getWin = function (selection) { + var start = getStart(selection); + return defaultView(start); + }; + var range = SimRange.create; + var SimSelection = { + domRange: domRange, + relative: relative, + exact: exact, + exactFromRange: exactFromRange, + getWin: getWin, + range: range + }; + + var selectNode = function (win, element) { + var rng = win.document.createRange(); + rng.selectNode(element.dom); + return rng; + }; + var selectNodeContents = function (win, element) { + var rng = win.document.createRange(); + selectNodeContentsUsing(rng, element); + return rng; + }; + var selectNodeContentsUsing = function (rng, element) { + return rng.selectNodeContents(element.dom); + }; + var setStart = function (rng, situ) { + situ.fold(function (e) { + rng.setStartBefore(e.dom); + }, function (e, o) { + rng.setStart(e.dom, o); + }, function (e) { + rng.setStartAfter(e.dom); + }); + }; + var setFinish = function (rng, situ) { + situ.fold(function (e) { + rng.setEndBefore(e.dom); + }, function (e, o) { + rng.setEnd(e.dom, o); + }, function (e) { + rng.setEndAfter(e.dom); + }); + }; + var relativeToNative = function (win, startSitu, finishSitu) { + var range = win.document.createRange(); + setStart(range, startSitu); + setFinish(range, finishSitu); + return range; + }; + var exactToNative = function (win, start, soffset, finish, foffset) { + var rng = win.document.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }; + var toRect = function (rect) { + return { + left: rect.left, + top: rect.top, + right: rect.right, + bottom: rect.bottom, + width: rect.width, + height: rect.height + }; + }; + var getFirstRect$1 = function (rng) { + var rects = rng.getClientRects(); + var rect = rects.length > 0 ? rects[0] : rng.getBoundingClientRect(); + return rect.width > 0 || rect.height > 0 ? Optional.some(rect).map(toRect) : Optional.none(); + }; + + var adt$2 = Adt.generate([ + { + ltr: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + }, + { + rtl: [ + 'start', + 'soffset', + 'finish', + 'foffset' + ] + } + ]); + var fromRange = function (win, type, range) { + return type(SugarElement.fromDom(range.startContainer), range.startOffset, SugarElement.fromDom(range.endContainer), range.endOffset); + }; + var getRanges = function (win, selection) { + return selection.match({ + domRange: function (rng) { + return { + ltr: constant(rng), + rtl: Optional.none + }; + }, + relative: function (startSitu, finishSitu) { + return { + ltr: cached(function () { + return relativeToNative(win, startSitu, finishSitu); + }), + rtl: cached(function () { + return Optional.some(relativeToNative(win, finishSitu, startSitu)); + }) + }; + }, + exact: function (start, soffset, finish, foffset) { + return { + ltr: cached(function () { + return exactToNative(win, start, soffset, finish, foffset); + }), + rtl: cached(function () { + return Optional.some(exactToNative(win, finish, foffset, start, soffset)); + }) + }; + } + }); + }; + var doDiagnose = function (win, ranges) { + var rng = ranges.ltr(); + if (rng.collapsed) { + var reversed = ranges.rtl().filter(function (rev) { + return rev.collapsed === false; + }); + return reversed.map(function (rev) { + return adt$2.rtl(SugarElement.fromDom(rev.endContainer), rev.endOffset, SugarElement.fromDom(rev.startContainer), rev.startOffset); + }).getOrThunk(function () { + return fromRange(win, adt$2.ltr, rng); + }); + } else { + return fromRange(win, adt$2.ltr, rng); + } + }; + var diagnose = function (win, selection) { + var ranges = getRanges(win, selection); + return doDiagnose(win, ranges); + }; + var asLtrRange = function (win, selection) { + var diagnosis = diagnose(win, selection); + return diagnosis.match({ + ltr: function (start, soffset, finish, foffset) { + var rng = win.document.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }, + rtl: function (start, soffset, finish, foffset) { + var rng = win.document.createRange(); + rng.setStart(finish.dom, foffset); + rng.setEnd(start.dom, soffset); + return rng; + } + }); + }; + adt$2.ltr; + adt$2.rtl; + + var searchForPoint = function (rectForOffset, x, y, maxX, length) { + if (length === 0) { + return 0; + } else if (x === maxX) { + return length - 1; + } + var xDelta = maxX; + for (var i = 1; i < length; i++) { + var rect = rectForOffset(i); + var curDeltaX = Math.abs(x - rect.left); + if (y <= rect.bottom) { + if (y < rect.top || curDeltaX > xDelta) { + return i - 1; + } else { + xDelta = curDeltaX; + } + } + } + return 0; + }; + var inRect = function (rect, x, y) { + return x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom; + }; + + var locateOffset = function (doc, textnode, x, y, rect) { + var rangeForOffset = function (o) { + var r = doc.dom.createRange(); + r.setStart(textnode.dom, o); + r.collapse(true); + return r; + }; + var rectForOffset = function (o) { + var r = rangeForOffset(o); + return r.getBoundingClientRect(); + }; + var length = get$9(textnode).length; + var offset = searchForPoint(rectForOffset, x, y, rect.right, length); + return rangeForOffset(offset); + }; + var locate$1 = function (doc, node, x, y) { + var r = doc.dom.createRange(); + r.selectNode(node.dom); + var rects = r.getClientRects(); + var foundRect = findMap(rects, function (rect) { + return inRect(rect, x, y) ? Optional.some(rect) : Optional.none(); + }); + return foundRect.map(function (rect) { + return locateOffset(doc, node, x, y, rect); + }); + }; + + var searchInChildren = function (doc, node, x, y) { + var r = doc.dom.createRange(); + var nodes = children$3(node); + return findMap(nodes, function (n) { + r.selectNode(n.dom); + return inRect(r.getBoundingClientRect(), x, y) ? locateNode(doc, n, x, y) : Optional.none(); + }); + }; + var locateNode = function (doc, node, x, y) { + return isText(node) ? locate$1(doc, node, x, y) : searchInChildren(doc, node, x, y); + }; + var locate = function (doc, node, x, y) { + var r = doc.dom.createRange(); + r.selectNode(node.dom); + var rect = r.getBoundingClientRect(); + var boundedX = Math.max(rect.left, Math.min(rect.right, x)); + var boundedY = Math.max(rect.top, Math.min(rect.bottom, y)); + return locateNode(doc, node, boundedX, boundedY); + }; + + var COLLAPSE_TO_LEFT = true; + var COLLAPSE_TO_RIGHT = false; + var getCollapseDirection = function (rect, x) { + return x - rect.left < rect.right - x ? COLLAPSE_TO_LEFT : COLLAPSE_TO_RIGHT; + }; + var createCollapsedNode = function (doc, target, collapseDirection) { + var r = doc.dom.createRange(); + r.selectNode(target.dom); + r.collapse(collapseDirection); + return r; + }; + var locateInElement = function (doc, node, x) { + var cursorRange = doc.dom.createRange(); + cursorRange.selectNode(node.dom); + var rect = cursorRange.getBoundingClientRect(); + var collapseDirection = getCollapseDirection(rect, x); + var f = collapseDirection === COLLAPSE_TO_LEFT ? first : last$1; + return f(node).map(function (target) { + return createCollapsedNode(doc, target, collapseDirection); + }); + }; + var locateInEmpty = function (doc, node, x) { + var rect = node.dom.getBoundingClientRect(); + var collapseDirection = getCollapseDirection(rect, x); + return Optional.some(createCollapsedNode(doc, node, collapseDirection)); + }; + var search = function (doc, node, x) { + var f = children$3(node).length === 0 ? locateInEmpty : locateInElement; + return f(doc, node, x); + }; + + var caretPositionFromPoint = function (doc, x, y) { + var _a, _b; + return Optional.from((_b = (_a = doc.dom).caretPositionFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)).bind(function (pos) { + if (pos.offsetNode === null) { + return Optional.none(); + } + var r = doc.dom.createRange(); + r.setStart(pos.offsetNode, pos.offset); + r.collapse(); + return Optional.some(r); + }); + }; + var caretRangeFromPoint = function (doc, x, y) { + var _a, _b; + return Optional.from((_b = (_a = doc.dom).caretRangeFromPoint) === null || _b === void 0 ? void 0 : _b.call(_a, x, y)); + }; + var searchTextNodes = function (doc, node, x, y) { + var r = doc.dom.createRange(); + r.selectNode(node.dom); + var rect = r.getBoundingClientRect(); + var boundedX = Math.max(rect.left, Math.min(rect.right, x)); + var boundedY = Math.max(rect.top, Math.min(rect.bottom, y)); + return locate(doc, node, boundedX, boundedY); + }; + var searchFromPoint = function (doc, x, y) { + return SugarElement.fromPoint(doc, x, y).bind(function (elem) { + var fallback = function () { + return search(doc, elem, x); + }; + return children$3(elem).length === 0 ? fallback() : searchTextNodes(doc, elem, x, y).orThunk(fallback); + }); + }; + var availableSearch = function () { + if (document.caretPositionFromPoint) { + return caretPositionFromPoint; + } else if (document.caretRangeFromPoint) { + return caretRangeFromPoint; + } else { + return searchFromPoint; + } + }(); + var fromPoint = function (win, x, y) { + var doc = SugarElement.fromDom(win.document); + return availableSearch(doc, x, y).map(function (rng) { + return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset); + }); + }; + + var beforeSpecial = function (element, offset) { + var name$1 = name(element); + if ('input' === name$1) { + return Situ.after(element); + } else if (!contains$2([ + 'br', + 'img' + ], name$1)) { + return Situ.on(element, offset); + } else { + return offset === 0 ? Situ.before(element) : Situ.after(element); + } + }; + var preprocessRelative = function (startSitu, finishSitu) { + var start = startSitu.fold(Situ.before, beforeSpecial, Situ.after); + var finish = finishSitu.fold(Situ.before, beforeSpecial, Situ.after); + return SimSelection.relative(start, finish); + }; + var preprocessExact = function (start, soffset, finish, foffset) { + var startSitu = beforeSpecial(start, soffset); + var finishSitu = beforeSpecial(finish, foffset); + return SimSelection.relative(startSitu, finishSitu); + }; + var preprocess = function (selection) { + return selection.match({ + domRange: function (rng) { + var start = SugarElement.fromDom(rng.startContainer); + var finish = SugarElement.fromDom(rng.endContainer); + return preprocessExact(start, rng.startOffset, finish, rng.endOffset); + }, + relative: preprocessRelative, + exact: preprocessExact + }); + }; + + var makeRange = function (start, soffset, finish, foffset) { + var doc = owner(start); + var rng = doc.dom.createRange(); + rng.setStart(start.dom, soffset); + rng.setEnd(finish.dom, foffset); + return rng; + }; + var after$2 = function (start, soffset, finish, foffset) { + var r = makeRange(start, soffset, finish, foffset); + var same = eq$1(start, finish) && soffset === foffset; + return r.collapsed && !same; + }; + + var getNativeSelection = function (win) { + return Optional.from(win.getSelection()); + }; + var doSetNativeRange = function (win, rng) { + getNativeSelection(win).each(function (selection) { + selection.removeAllRanges(); + selection.addRange(rng); + }); + }; + var doSetRange = function (win, start, soffset, finish, foffset) { + var rng = exactToNative(win, start, soffset, finish, foffset); + doSetNativeRange(win, rng); + }; + var setLegacyRtlRange = function (win, selection, start, soffset, finish, foffset) { + selection.collapse(start.dom, soffset); + selection.extend(finish.dom, foffset); + }; + var setRangeFromRelative = function (win, relative) { + return diagnose(win, relative).match({ + ltr: function (start, soffset, finish, foffset) { + doSetRange(win, start, soffset, finish, foffset); + }, + rtl: function (start, soffset, finish, foffset) { + getNativeSelection(win).each(function (selection) { + if (selection.setBaseAndExtent) { + selection.setBaseAndExtent(start.dom, soffset, finish.dom, foffset); + } else if (selection.extend) { + try { + setLegacyRtlRange(win, selection, start, soffset, finish, foffset); + } catch (e) { + doSetRange(win, finish, foffset, start, soffset); + } + } else { + doSetRange(win, finish, foffset, start, soffset); + } + }); + } + }); + }; + var setExact = function (win, start, soffset, finish, foffset) { + var relative = preprocessExact(start, soffset, finish, foffset); + setRangeFromRelative(win, relative); + }; + var setRelative = function (win, startSitu, finishSitu) { + var relative = preprocessRelative(startSitu, finishSitu); + setRangeFromRelative(win, relative); + }; + var toNative = function (selection) { + var win = SimSelection.getWin(selection).dom; + var getDomRange = function (start, soffset, finish, foffset) { + return exactToNative(win, start, soffset, finish, foffset); + }; + var filtered = preprocess(selection); + return diagnose(win, filtered).match({ + ltr: getDomRange, + rtl: getDomRange + }); + }; + var readRange = function (selection) { + if (selection.rangeCount > 0) { + var firstRng = selection.getRangeAt(0); + var lastRng = selection.getRangeAt(selection.rangeCount - 1); + return Optional.some(SimRange.create(SugarElement.fromDom(firstRng.startContainer), firstRng.startOffset, SugarElement.fromDom(lastRng.endContainer), lastRng.endOffset)); + } else { + return Optional.none(); + } + }; + var doGetExact = function (selection) { + if (selection.anchorNode === null || selection.focusNode === null) { + return readRange(selection); + } else { + var anchor = SugarElement.fromDom(selection.anchorNode); + var focus_1 = SugarElement.fromDom(selection.focusNode); + return after$2(anchor, selection.anchorOffset, focus_1, selection.focusOffset) ? Optional.some(SimRange.create(anchor, selection.anchorOffset, focus_1, selection.focusOffset)) : readRange(selection); + } + }; + var setToElement = function (win, element, selectNodeContents$1) { + if (selectNodeContents$1 === void 0) { + selectNodeContents$1 = true; + } + var rngGetter = selectNodeContents$1 ? selectNodeContents : selectNode; + var rng = rngGetter(win, element); + doSetNativeRange(win, rng); + }; + var getExact = function (win) { + return getNativeSelection(win).filter(function (sel) { + return sel.rangeCount > 0; + }).bind(doGetExact); + }; + var get$1 = function (win) { + return getExact(win).map(function (range) { + return SimSelection.exact(range.start, range.soffset, range.finish, range.foffset); + }); + }; + var getFirstRect = function (win, selection) { + var rng = asLtrRange(win, selection); + return getFirstRect$1(rng); + }; + var getAtPoint = function (win, x, y) { + return fromPoint(win, x, y); + }; + var clear = function (win) { + getNativeSelection(win).each(function (selection) { + return selection.removeAllRanges(); + }); + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.VK'); + + var forward = function (editor, isRoot, cell) { + return go$1(editor, isRoot, next(cell, isEditable$1)); + }; + var backward = function (editor, isRoot, cell) { + return go$1(editor, isRoot, prev(cell, isEditable$1)); + }; + var getCellFirstCursorPosition = function (editor, cell) { + var selection = SimSelection.exact(cell, 0, cell, 0); + return toNative(selection); + }; + var go$1 = function (editor, isRoot, cell) { + return cell.fold(Optional.none, Optional.none, function (current, next) { + return first(next).map(function (cell) { + return getCellFirstCursorPosition(editor, cell); + }); + }, function (current) { + editor.execCommand('mceTableInsertRowAfter'); + return forward(editor, isRoot, current); + }); + }; + var rootElements = [ + 'table', + 'li', + 'dl' + ]; + var handle$1 = function (event, editor, cellSelection) { + if (event.keyCode === global$1.TAB) { + var body_1 = getBody(editor); + var isRoot_1 = function (element) { + var name$1 = name(element); + return eq$1(element, body_1) || contains$2(rootElements, name$1); + }; + var rng = editor.selection.getRng(); + var container = SugarElement.fromDom(event.shiftKey ? rng.startContainer : rng.endContainer); + cell(container, isRoot_1).each(function (cell) { + event.preventDefault(); + table(cell, isRoot_1).each(cellSelection.clear); + editor.selection.collapse(event.shiftKey); + var navigation = event.shiftKey ? backward : forward; + var rng = navigation(editor, isRoot_1, cell); + rng.each(function (range) { + editor.selection.setRng(range); + }); + }); + } + }; + + var create$1 = function (selection, kill) { + return { + selection: selection, + kill: kill + }; + }; + var Response = { create: create$1 }; + + var create = function (start, soffset, finish, foffset) { + return { + start: Situ.on(start, soffset), + finish: Situ.on(finish, foffset) + }; + }; + var Situs = { create: create }; + + var convertToRange = function (win, selection) { + var rng = asLtrRange(win, selection); + return SimRange.create(SugarElement.fromDom(rng.startContainer), rng.startOffset, SugarElement.fromDom(rng.endContainer), rng.endOffset); + }; + var makeSitus = Situs.create; + + var sync = function (container, isRoot, start, soffset, finish, foffset, selectRange) { + if (!(eq$1(start, finish) && soffset === foffset)) { + return closest$1(start, 'td,th', isRoot).bind(function (s) { + return closest$1(finish, 'td,th', isRoot).bind(function (f) { + return detect(container, isRoot, s, f, selectRange); + }); + }); + } else { + return Optional.none(); + } + }; + var detect = function (container, isRoot, start, finish, selectRange) { + if (!eq$1(start, finish)) { + return identify(start, finish, isRoot).bind(function (cellSel) { + var boxes = cellSel.boxes.getOr([]); + if (boxes.length > 1) { + selectRange(container, boxes, cellSel.start, cellSel.finish); + return Optional.some(Response.create(Optional.some(makeSitus(start, 0, start, getEnd(start))), true)); + } else { + return Optional.none(); + } + }); + } else { + return Optional.none(); + } + }; + var update = function (rows, columns, container, selected, annotations) { + var updateSelection = function (newSels) { + annotations.clearBeforeUpdate(container); + annotations.selectRange(container, newSels.boxes, newSels.start, newSels.finish); + return newSels.boxes; + }; + return shiftSelection(selected, rows, columns, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(updateSelection); + }; + + var traverse = function (item, mode) { + return { + item: item, + mode: mode + }; + }; + var backtrack = function (universe, item, _direction, transition) { + if (transition === void 0) { + transition = sidestep; + } + return universe.property().parent(item).map(function (p) { + return traverse(p, transition); + }); + }; + var sidestep = function (universe, item, direction, transition) { + if (transition === void 0) { + transition = advance; + } + return direction.sibling(universe, item).map(function (p) { + return traverse(p, transition); + }); + }; + var advance = function (universe, item, direction, transition) { + if (transition === void 0) { + transition = advance; + } + var children = universe.property().children(item); + var result = direction.first(children); + return result.map(function (r) { + return traverse(r, transition); + }); + }; + var successors = [ + { + current: backtrack, + next: sidestep, + fallback: Optional.none() + }, + { + current: sidestep, + next: advance, + fallback: Optional.some(backtrack) + }, + { + current: advance, + next: advance, + fallback: Optional.some(sidestep) + } + ]; + var go = function (universe, item, mode, direction, rules) { + if (rules === void 0) { + rules = successors; + } + var ruleOpt = find$1(rules, function (succ) { + return succ.current === mode; + }); + return ruleOpt.bind(function (rule) { + return rule.current(universe, item, direction, rule.next).orThunk(function () { + return rule.fallback.bind(function (fb) { + return go(universe, item, fb, direction); + }); + }); + }); + }; + + var left$1 = function () { + var sibling = function (universe, item) { + return universe.query().prevSibling(item); + }; + var first = function (children) { + return children.length > 0 ? Optional.some(children[children.length - 1]) : Optional.none(); + }; + return { + sibling: sibling, + first: first + }; + }; + var right$1 = function () { + var sibling = function (universe, item) { + return universe.query().nextSibling(item); + }; + var first = function (children) { + return children.length > 0 ? Optional.some(children[0]) : Optional.none(); + }; + return { + sibling: sibling, + first: first + }; + }; + var Walkers = { + left: left$1, + right: right$1 + }; + + var hone = function (universe, item, predicate, mode, direction, isRoot) { + var next = go(universe, item, mode, direction); + return next.bind(function (n) { + if (isRoot(n.item)) { + return Optional.none(); + } else { + return predicate(n.item) ? Optional.some(n.item) : hone(universe, n.item, predicate, n.mode, direction, isRoot); + } + }); + }; + var left = function (universe, item, predicate, isRoot) { + return hone(universe, item, predicate, sidestep, Walkers.left(), isRoot); + }; + var right = function (universe, item, predicate, isRoot) { + return hone(universe, item, predicate, sidestep, Walkers.right(), isRoot); + }; + + var isLeaf = function (universe) { + return function (element) { + return universe.property().children(element).length === 0; + }; + }; + var before$1 = function (universe, item, isRoot) { + return seekLeft$1(universe, item, isLeaf(universe), isRoot); + }; + var after$1 = function (universe, item, isRoot) { + return seekRight$1(universe, item, isLeaf(universe), isRoot); + }; + var seekLeft$1 = left; + var seekRight$1 = right; + + var universe = DomUniverse(); + var before = function (element, isRoot) { + return before$1(universe, element, isRoot); + }; + var after = function (element, isRoot) { + return after$1(universe, element, isRoot); + }; + var seekLeft = function (element, predicate, isRoot) { + return seekLeft$1(universe, element, predicate, isRoot); + }; + var seekRight = function (element, predicate, isRoot) { + return seekRight$1(universe, element, predicate, isRoot); + }; + + var ancestor = function (scope, predicate, isRoot) { + return ancestor$2(scope, predicate, isRoot).isSome(); + }; + + var adt$1 = Adt.generate([ + { none: ['message'] }, + { success: [] }, + { failedUp: ['cell'] }, + { failedDown: ['cell'] } + ]); + var isOverlapping = function (bridge, before, after) { + var beforeBounds = bridge.getRect(before); + var afterBounds = bridge.getRect(after); + return afterBounds.right > beforeBounds.left && afterBounds.left < beforeBounds.right; + }; + var isRow = function (elem) { + return closest$1(elem, 'tr'); + }; + var verify = function (bridge, before, beforeOffset, after, afterOffset, failure, isRoot) { + return closest$1(after, 'td,th', isRoot).bind(function (afterCell) { + return closest$1(before, 'td,th', isRoot).map(function (beforeCell) { + if (!eq$1(afterCell, beforeCell)) { + return sharedOne(isRow, [ + afterCell, + beforeCell + ]).fold(function () { + return isOverlapping(bridge, beforeCell, afterCell) ? adt$1.success() : failure(beforeCell); + }, function (_sharedRow) { + return failure(beforeCell); + }); + } else { + return eq$1(after, afterCell) && getEnd(afterCell) === afterOffset ? failure(beforeCell) : adt$1.none('in same cell'); + } + }); + }).getOr(adt$1.none('default')); + }; + var cata = function (subject, onNone, onSuccess, onFailedUp, onFailedDown) { + return subject.fold(onNone, onSuccess, onFailedUp, onFailedDown); + }; + var BeforeAfter = __assign(__assign({}, adt$1), { + verify: verify, + cata: cata + }); + + var inParent = function (parent, children, element, index) { + return { + parent: parent, + children: children, + element: element, + index: index + }; + }; + var indexInParent = function (element) { + return parent(element).bind(function (parent) { + var children = children$3(parent); + return indexOf(children, element).map(function (index) { + return inParent(parent, children, element, index); + }); + }); + }; + var indexOf = function (elements, element) { + return findIndex(elements, curry(eq$1, element)); + }; + + var isBr = function (elem) { + return name(elem) === 'br'; + }; + var gatherer = function (cand, gather, isRoot) { + return gather(cand, isRoot).bind(function (target) { + return isText(target) && get$9(target).trim().length === 0 ? gatherer(target, gather, isRoot) : Optional.some(target); + }); + }; + var handleBr = function (isRoot, element, direction) { + return direction.traverse(element).orThunk(function () { + return gatherer(element, direction.gather, isRoot); + }).map(direction.relative); + }; + var findBr = function (element, offset) { + return child$3(element, offset).filter(isBr).orThunk(function () { + return child$3(element, offset - 1).filter(isBr); + }); + }; + var handleParent = function (isRoot, element, offset, direction) { + return findBr(element, offset).bind(function (br) { + return direction.traverse(br).fold(function () { + return gatherer(br, direction.gather, isRoot).map(direction.relative); + }, function (adjacent) { + return indexInParent(adjacent).map(function (info) { + return Situ.on(info.parent, info.index); + }); + }); + }); + }; + var tryBr = function (isRoot, element, offset, direction) { + var target = isBr(element) ? handleBr(isRoot, element, direction) : handleParent(isRoot, element, offset, direction); + return target.map(function (tgt) { + return { + start: tgt, + finish: tgt + }; + }); + }; + var process = function (analysis) { + return BeforeAfter.cata(analysis, function (_message) { + return Optional.none(); + }, function () { + return Optional.none(); + }, function (cell) { + return Optional.some(point(cell, 0)); + }, function (cell) { + return Optional.some(point(cell, getEnd(cell))); + }); + }; + + var moveDown = function (caret, amount) { + return { + left: caret.left, + top: caret.top + amount, + right: caret.right, + bottom: caret.bottom + amount + }; + }; + var moveUp = function (caret, amount) { + return { + left: caret.left, + top: caret.top - amount, + right: caret.right, + bottom: caret.bottom - amount + }; + }; + var translate = function (caret, xDelta, yDelta) { + return { + left: caret.left + xDelta, + top: caret.top + yDelta, + right: caret.right + xDelta, + bottom: caret.bottom + yDelta + }; + }; + var getTop = function (caret) { + return caret.top; + }; + var getBottom = function (caret) { + return caret.bottom; + }; + + var getPartialBox = function (bridge, element, offset) { + if (offset >= 0 && offset < getEnd(element)) { + return bridge.getRangedRect(element, offset, element, offset + 1); + } else if (offset > 0) { + return bridge.getRangedRect(element, offset - 1, element, offset); + } + return Optional.none(); + }; + var toCaret = function (rect) { + return { + left: rect.left, + top: rect.top, + right: rect.right, + bottom: rect.bottom + }; + }; + var getElemBox = function (bridge, element) { + return Optional.some(bridge.getRect(element)); + }; + var getBoxAt = function (bridge, element, offset) { + if (isElement(element)) { + return getElemBox(bridge, element).map(toCaret); + } else if (isText(element)) { + return getPartialBox(bridge, element, offset).map(toCaret); + } else { + return Optional.none(); + } + }; + var getEntireBox = function (bridge, element) { + if (isElement(element)) { + return getElemBox(bridge, element).map(toCaret); + } else if (isText(element)) { + return bridge.getRangedRect(element, 0, element, getEnd(element)).map(toCaret); + } else { + return Optional.none(); + } + }; + + var JUMP_SIZE = 5; + var NUM_RETRIES = 100; + var adt = Adt.generate([ + { none: [] }, + { retry: ['caret'] } + ]); + var isOutside = function (caret, box) { + return caret.left < box.left || Math.abs(box.right - caret.left) < 1 || caret.left > box.right; + }; + var inOutsideBlock = function (bridge, element, caret) { + return closest$2(element, isBlock).fold(never, function (cell) { + return getEntireBox(bridge, cell).exists(function (box) { + return isOutside(caret, box); + }); + }); + }; + var adjustDown = function (bridge, element, guessBox, original, caret) { + var lowerCaret = moveDown(caret, JUMP_SIZE); + if (Math.abs(guessBox.bottom - original.bottom) < 1) { + return adt.retry(lowerCaret); + } else if (guessBox.top > caret.bottom) { + return adt.retry(lowerCaret); + } else if (guessBox.top === caret.bottom) { + return adt.retry(moveDown(caret, 1)); + } else { + return inOutsideBlock(bridge, element, caret) ? adt.retry(translate(lowerCaret, JUMP_SIZE, 0)) : adt.none(); + } + }; + var adjustUp = function (bridge, element, guessBox, original, caret) { + var higherCaret = moveUp(caret, JUMP_SIZE); + if (Math.abs(guessBox.top - original.top) < 1) { + return adt.retry(higherCaret); + } else if (guessBox.bottom < caret.top) { + return adt.retry(higherCaret); + } else if (guessBox.bottom === caret.top) { + return adt.retry(moveUp(caret, 1)); + } else { + return inOutsideBlock(bridge, element, caret) ? adt.retry(translate(higherCaret, JUMP_SIZE, 0)) : adt.none(); + } + }; + var upMovement = { + point: getTop, + adjuster: adjustUp, + move: moveUp, + gather: before + }; + var downMovement = { + point: getBottom, + adjuster: adjustDown, + move: moveDown, + gather: after + }; + var isAtTable = function (bridge, x, y) { + return bridge.elementFromPoint(x, y).filter(function (elm) { + return name(elm) === 'table'; + }).isSome(); + }; + var adjustForTable = function (bridge, movement, original, caret, numRetries) { + return adjustTil(bridge, movement, original, movement.move(caret, JUMP_SIZE), numRetries); + }; + var adjustTil = function (bridge, movement, original, caret, numRetries) { + if (numRetries === 0) { + return Optional.some(caret); + } + if (isAtTable(bridge, caret.left, movement.point(caret))) { + return adjustForTable(bridge, movement, original, caret, numRetries - 1); + } + return bridge.situsFromPoint(caret.left, movement.point(caret)).bind(function (guess) { + return guess.start.fold(Optional.none, function (element) { + return getEntireBox(bridge, element).bind(function (guessBox) { + return movement.adjuster(bridge, element, guessBox, original, caret).fold(Optional.none, function (newCaret) { + return adjustTil(bridge, movement, original, newCaret, numRetries - 1); + }); + }).orThunk(function () { + return Optional.some(caret); + }); + }, Optional.none); + }); + }; + var ieTryDown = function (bridge, caret) { + return bridge.situsFromPoint(caret.left, caret.bottom + JUMP_SIZE); + }; + var ieTryUp = function (bridge, caret) { + return bridge.situsFromPoint(caret.left, caret.top - JUMP_SIZE); + }; + var checkScroll = function (movement, adjusted, bridge) { + if (movement.point(adjusted) > bridge.getInnerHeight()) { + return Optional.some(movement.point(adjusted) - bridge.getInnerHeight()); + } else if (movement.point(adjusted) < 0) { + return Optional.some(-movement.point(adjusted)); + } else { + return Optional.none(); + } + }; + var retry = function (movement, bridge, caret) { + var moved = movement.move(caret, JUMP_SIZE); + var adjusted = adjustTil(bridge, movement, caret, moved, NUM_RETRIES).getOr(moved); + return checkScroll(movement, adjusted, bridge).fold(function () { + return bridge.situsFromPoint(adjusted.left, movement.point(adjusted)); + }, function (delta) { + bridge.scrollBy(0, delta); + return bridge.situsFromPoint(adjusted.left, movement.point(adjusted) - delta); + }); + }; + var Retries = { + tryUp: curry(retry, upMovement), + tryDown: curry(retry, downMovement), + ieTryUp: ieTryUp, + ieTryDown: ieTryDown, + getJumpSize: constant(JUMP_SIZE) + }; + + var MAX_RETRIES = 20; + var findSpot = function (bridge, isRoot, direction) { + return bridge.getSelection().bind(function (sel) { + return tryBr(isRoot, sel.finish, sel.foffset, direction).fold(function () { + return Optional.some(point(sel.finish, sel.foffset)); + }, function (brNeighbour) { + var range = bridge.fromSitus(brNeighbour); + var analysis = BeforeAfter.verify(bridge, sel.finish, sel.foffset, range.finish, range.foffset, direction.failure, isRoot); + return process(analysis); + }); + }); + }; + var scan = function (bridge, isRoot, element, offset, direction, numRetries) { + if (numRetries === 0) { + return Optional.none(); + } + return tryCursor(bridge, isRoot, element, offset, direction).bind(function (situs) { + var range = bridge.fromSitus(situs); + var analysis = BeforeAfter.verify(bridge, element, offset, range.finish, range.foffset, direction.failure, isRoot); + return BeforeAfter.cata(analysis, function () { + return Optional.none(); + }, function () { + return Optional.some(situs); + }, function (cell) { + if (eq$1(element, cell) && offset === 0) { + return tryAgain(bridge, element, offset, moveUp, direction); + } else { + return scan(bridge, isRoot, cell, 0, direction, numRetries - 1); + } + }, function (cell) { + if (eq$1(element, cell) && offset === getEnd(cell)) { + return tryAgain(bridge, element, offset, moveDown, direction); + } else { + return scan(bridge, isRoot, cell, getEnd(cell), direction, numRetries - 1); + } + }); + }); + }; + var tryAgain = function (bridge, element, offset, move, direction) { + return getBoxAt(bridge, element, offset).bind(function (box) { + return tryAt(bridge, direction, move(box, Retries.getJumpSize())); + }); + }; + var tryAt = function (bridge, direction, box) { + var browser = detect$3().browser; + if (browser.isChrome() || browser.isSafari() || browser.isFirefox() || browser.isEdge()) { + return direction.otherRetry(bridge, box); + } else if (browser.isIE()) { + return direction.ieRetry(bridge, box); + } else { + return Optional.none(); + } + }; + var tryCursor = function (bridge, isRoot, element, offset, direction) { + return getBoxAt(bridge, element, offset).bind(function (box) { + return tryAt(bridge, direction, box); + }); + }; + var handle = function (bridge, isRoot, direction) { + return findSpot(bridge, isRoot, direction).bind(function (spot) { + return scan(bridge, isRoot, spot.element, spot.offset, direction, MAX_RETRIES).map(bridge.fromSitus); + }); + }; + + var inSameTable = function (elem, table) { + return ancestor(elem, function (e) { + return parent(e).exists(function (p) { + return eq$1(p, table); + }); + }); + }; + var simulate = function (bridge, isRoot, direction, initial, anchor) { + return closest$1(initial, 'td,th', isRoot).bind(function (start) { + return closest$1(start, 'table', isRoot).bind(function (table) { + if (!inSameTable(anchor, table)) { + return Optional.none(); + } + return handle(bridge, isRoot, direction).bind(function (range) { + return closest$1(range.finish, 'td,th', isRoot).map(function (finish) { + return { + start: start, + finish: finish, + range: range + }; + }); + }); + }); + }); + }; + var navigate = function (bridge, isRoot, direction, initial, anchor, precheck) { + if (detect$3().browser.isIE()) { + return Optional.none(); + } else { + return precheck(initial, isRoot).orThunk(function () { + return simulate(bridge, isRoot, direction, initial, anchor).map(function (info) { + var range = info.range; + return Response.create(Optional.some(makeSitus(range.start, range.soffset, range.finish, range.foffset)), true); + }); + }); + } + }; + var firstUpCheck = function (initial, isRoot) { + return closest$1(initial, 'tr', isRoot).bind(function (startRow) { + return closest$1(startRow, 'table', isRoot).bind(function (table) { + var rows = descendants(table, 'tr'); + if (eq$1(startRow, rows[0])) { + return seekLeft(table, function (element) { + return last$1(element).isSome(); + }, isRoot).map(function (last) { + var lastOffset = getEnd(last); + return Response.create(Optional.some(makeSitus(last, lastOffset, last, lastOffset)), true); + }); + } else { + return Optional.none(); + } + }); + }); + }; + var lastDownCheck = function (initial, isRoot) { + return closest$1(initial, 'tr', isRoot).bind(function (startRow) { + return closest$1(startRow, 'table', isRoot).bind(function (table) { + var rows = descendants(table, 'tr'); + if (eq$1(startRow, rows[rows.length - 1])) { + return seekRight(table, function (element) { + return first(element).isSome(); + }, isRoot).map(function (first) { + return Response.create(Optional.some(makeSitus(first, 0, first, 0)), true); + }); + } else { + return Optional.none(); + } + }); + }); + }; + var select = function (bridge, container, isRoot, direction, initial, anchor, selectRange) { + return simulate(bridge, isRoot, direction, initial, anchor).bind(function (info) { + return detect(container, isRoot, info.start, info.finish, selectRange); + }); + }; + + var findCell = function (target, isRoot) { + return closest$1(target, 'td,th', isRoot); + }; + var MouseSelection = function (bridge, container, isRoot, annotations) { + var cursor = value(); + var clearstate = cursor.clear; + var applySelection = function (event) { + cursor.on(function (start) { + annotations.clearBeforeUpdate(container); + findCell(event.target, isRoot).each(function (finish) { + identify(start, finish, isRoot).each(function (cellSel) { + var boxes = cellSel.boxes.getOr([]); + if (boxes.length === 1) { + var singleCell = boxes[0]; + var isNonEditableCell = getRaw(singleCell) === 'false'; + var isCellClosestContentEditable = is(closest(event.target), singleCell, eq$1); + if (isNonEditableCell && isCellClosestContentEditable) { + annotations.selectRange(container, boxes, singleCell, singleCell); + bridge.selectContents(singleCell); + } + } else if (boxes.length > 1) { + annotations.selectRange(container, boxes, cellSel.start, cellSel.finish); + bridge.selectContents(finish); + } + }); + }); + }); + }; + var mousedown = function (event) { + annotations.clear(container); + findCell(event.target, isRoot).each(cursor.set); + }; + var mouseover = function (event) { + applySelection(event); + }; + var mouseup = function (event) { + applySelection(event); + clearstate(); + }; + return { + clearstate: clearstate, + mousedown: mousedown, + mouseover: mouseover, + mouseup: mouseup + }; + }; + + var down = { + traverse: nextSibling, + gather: after, + relative: Situ.before, + otherRetry: Retries.tryDown, + ieRetry: Retries.ieTryDown, + failure: BeforeAfter.failedDown + }; + var up = { + traverse: prevSibling, + gather: before, + relative: Situ.before, + otherRetry: Retries.tryUp, + ieRetry: Retries.ieTryUp, + failure: BeforeAfter.failedUp + }; + + var isKey = function (key) { + return function (keycode) { + return keycode === key; + }; + }; + var isUp = isKey(38); + var isDown = isKey(40); + var isNavigation = function (keycode) { + return keycode >= 37 && keycode <= 40; + }; + var ltr = { + isBackward: isKey(37), + isForward: isKey(39) + }; + var rtl = { + isBackward: isKey(39), + isForward: isKey(37) + }; + + var get = function (_DOC) { + var doc = _DOC !== undefined ? _DOC.dom : document; + var x = doc.body.scrollLeft || doc.documentElement.scrollLeft; + var y = doc.body.scrollTop || doc.documentElement.scrollTop; + return SugarPosition(x, y); + }; + var by = function (x, y, _DOC) { + var doc = _DOC !== undefined ? _DOC.dom : document; + var win = doc.defaultView; + if (win) { + win.scrollBy(x, y); + } + }; + + var WindowBridge = function (win) { + var elementFromPoint = function (x, y) { + return SugarElement.fromPoint(SugarElement.fromDom(win.document), x, y); + }; + var getRect = function (element) { + return element.dom.getBoundingClientRect(); + }; + var getRangedRect = function (start, soffset, finish, foffset) { + var sel = SimSelection.exact(start, soffset, finish, foffset); + return getFirstRect(win, sel); + }; + var getSelection = function () { + return get$1(win).map(function (exactAdt) { + return convertToRange(win, exactAdt); + }); + }; + var fromSitus = function (situs) { + var relative = SimSelection.relative(situs.start, situs.finish); + return convertToRange(win, relative); + }; + var situsFromPoint = function (x, y) { + return getAtPoint(win, x, y).map(function (exact) { + return Situs.create(exact.start, exact.soffset, exact.finish, exact.foffset); + }); + }; + var clearSelection = function () { + clear(win); + }; + var collapseSelection = function (toStart) { + if (toStart === void 0) { + toStart = false; + } + get$1(win).each(function (sel) { + return sel.fold(function (rng) { + return rng.collapse(toStart); + }, function (startSitu, finishSitu) { + var situ = toStart ? startSitu : finishSitu; + setRelative(win, situ, situ); + }, function (start, soffset, finish, foffset) { + var node = toStart ? start : finish; + var offset = toStart ? soffset : foffset; + setExact(win, node, offset, node, offset); + }); + }); + }; + var selectNode = function (element) { + setToElement(win, element, false); + }; + var selectContents = function (element) { + setToElement(win, element); + }; + var setSelection = function (sel) { + setExact(win, sel.start, sel.soffset, sel.finish, sel.foffset); + }; + var setRelativeSelection = function (start, finish) { + setRelative(win, start, finish); + }; + var getInnerHeight = function () { + return win.innerHeight; + }; + var getScrollY = function () { + var pos = get(SugarElement.fromDom(win.document)); + return pos.top; + }; + var scrollBy = function (x, y) { + by(x, y, SugarElement.fromDom(win.document)); + }; + return { + elementFromPoint: elementFromPoint, + getRect: getRect, + getRangedRect: getRangedRect, + getSelection: getSelection, + fromSitus: fromSitus, + situsFromPoint: situsFromPoint, + clearSelection: clearSelection, + collapseSelection: collapseSelection, + setSelection: setSelection, + setRelativeSelection: setRelativeSelection, + selectNode: selectNode, + selectContents: selectContents, + getInnerHeight: getInnerHeight, + getScrollY: getScrollY, + scrollBy: scrollBy + }; + }; + + var rc = function (rows, cols) { + return { + rows: rows, + cols: cols + }; + }; + var mouse = function (win, container, isRoot, annotations) { + var bridge = WindowBridge(win); + var handlers = MouseSelection(bridge, container, isRoot, annotations); + return { + clearstate: handlers.clearstate, + mousedown: handlers.mousedown, + mouseover: handlers.mouseover, + mouseup: handlers.mouseup + }; + }; + var keyboard = function (win, container, isRoot, annotations) { + var bridge = WindowBridge(win); + var clearToNavigate = function () { + annotations.clear(container); + return Optional.none(); + }; + var keydown = function (event, start, soffset, finish, foffset, direction) { + var realEvent = event.raw; + var keycode = realEvent.which; + var shiftKey = realEvent.shiftKey === true; + var handler = retrieve$1(container, annotations.selectedSelector).fold(function () { + if (isDown(keycode) && shiftKey) { + return curry(select, bridge, container, isRoot, down, finish, start, annotations.selectRange); + } else if (isUp(keycode) && shiftKey) { + return curry(select, bridge, container, isRoot, up, finish, start, annotations.selectRange); + } else if (isDown(keycode)) { + return curry(navigate, bridge, isRoot, down, finish, start, lastDownCheck); + } else if (isUp(keycode)) { + return curry(navigate, bridge, isRoot, up, finish, start, firstUpCheck); + } else { + return Optional.none; + } + }, function (selected) { + var update$1 = function (attempts) { + return function () { + var navigation = findMap(attempts, function (delta) { + return update(delta.rows, delta.cols, container, selected, annotations); + }); + return navigation.fold(function () { + return getEdges(container, annotations.firstSelectedSelector, annotations.lastSelectedSelector).map(function (edges) { + var relative = isDown(keycode) || direction.isForward(keycode) ? Situ.after : Situ.before; + bridge.setRelativeSelection(Situ.on(edges.first, 0), relative(edges.table)); + annotations.clear(container); + return Response.create(Optional.none(), true); + }); + }, function (_) { + return Optional.some(Response.create(Optional.none(), true)); + }); + }; + }; + if (isDown(keycode) && shiftKey) { + return update$1([rc(+1, 0)]); + } else if (isUp(keycode) && shiftKey) { + return update$1([rc(-1, 0)]); + } else if (direction.isBackward(keycode) && shiftKey) { + return update$1([ + rc(0, -1), + rc(-1, 0) + ]); + } else if (direction.isForward(keycode) && shiftKey) { + return update$1([ + rc(0, +1), + rc(+1, 0) + ]); + } else if (isNavigation(keycode) && shiftKey === false) { + return clearToNavigate; + } else { + return Optional.none; + } + }); + return handler(); + }; + var keyup = function (event, start, soffset, finish, foffset) { + return retrieve$1(container, annotations.selectedSelector).fold(function () { + var realEvent = event.raw; + var keycode = realEvent.which; + var shiftKey = realEvent.shiftKey === true; + if (shiftKey === false) { + return Optional.none(); + } + if (isNavigation(keycode)) { + return sync(container, isRoot, start, soffset, finish, foffset, annotations.selectRange); + } else { + return Optional.none(); + } + }, Optional.none); + }; + return { + keydown: keydown, + keyup: keyup + }; + }; + var external = function (win, container, isRoot, annotations) { + var bridge = WindowBridge(win); + return function (start, finish) { + annotations.clearBeforeUpdate(container); + identify(start, finish, isRoot).each(function (cellSel) { + var boxes = cellSel.boxes.getOr([]); + annotations.selectRange(container, boxes, cellSel.start, cellSel.finish); + bridge.selectContents(finish); + bridge.collapseSelection(); + }); + }; + }; + + var remove = function (element, classes) { + each$2(classes, function (x) { + remove$2(element, x); + }); + }; + + var addClass = function (clazz) { + return function (element) { + add(element, clazz); + }; + }; + var removeClasses = function (classes) { + return function (element) { + remove(element, classes); + }; + }; + + var byClass = function (ephemera) { + var addSelectionClass = addClass(ephemera.selected); + var removeSelectionClasses = removeClasses([ + ephemera.selected, + ephemera.lastSelected, + ephemera.firstSelected + ]); + var clear = function (container) { + var sels = descendants(container, ephemera.selectedSelector); + each$2(sels, removeSelectionClasses); + }; + var selectRange = function (container, cells, start, finish) { + clear(container); + each$2(cells, addSelectionClass); + add(start, ephemera.firstSelected); + add(finish, ephemera.lastSelected); + }; + return { + clearBeforeUpdate: clear, + clear: clear, + selectRange: selectRange, + selectedSelector: ephemera.selectedSelector, + firstSelectedSelector: ephemera.firstSelectedSelector, + lastSelectedSelector: ephemera.lastSelectedSelector + }; + }; + var byAttr = function (ephemera, onSelection, onClear) { + var removeSelectionAttributes = function (element) { + remove$7(element, ephemera.selected); + remove$7(element, ephemera.firstSelected); + remove$7(element, ephemera.lastSelected); + }; + var addSelectionAttribute = function (element) { + set$2(element, ephemera.selected, '1'); + }; + var clear = function (container) { + clearBeforeUpdate(container); + onClear(); + }; + var clearBeforeUpdate = function (container) { + var sels = descendants(container, ephemera.selectedSelector); + each$2(sels, removeSelectionAttributes); + }; + var selectRange = function (container, cells, start, finish) { + clear(container); + each$2(cells, addSelectionAttribute); + set$2(start, ephemera.firstSelected, '1'); + set$2(finish, ephemera.lastSelected, '1'); + onSelection(cells, start, finish); + }; + return { + clearBeforeUpdate: clearBeforeUpdate, + clear: clear, + selectRange: selectRange, + selectedSelector: ephemera.selectedSelector, + firstSelectedSelector: ephemera.firstSelectedSelector, + lastSelectedSelector: ephemera.lastSelectedSelector + }; + }; + var SelectionAnnotation = { + byClass: byClass, + byAttr: byAttr + }; + + var getUpOrLeftCells = function (grid, selectedCells) { + var upGrid = grid.slice(0, selectedCells[selectedCells.length - 1].row + 1); + var upDetails = toDetailList(upGrid); + return bind$2(upDetails, function (detail) { + var slicedCells = detail.cells.slice(0, selectedCells[selectedCells.length - 1].column + 1); + return map$1(slicedCells, function (cell) { + return cell.element; + }); + }); + }; + var getDownOrRightCells = function (grid, selectedCells) { + var downGrid = grid.slice(selectedCells[0].row + selectedCells[0].rowspan - 1, grid.length); + var downDetails = toDetailList(downGrid); + return bind$2(downDetails, function (detail) { + var slicedCells = detail.cells.slice(selectedCells[0].column + selectedCells[0].colspan - 1, detail.cells.length); + return map$1(slicedCells, function (cell) { + return cell.element; + }); + }); + }; + var getOtherCells = function (table, target, generators) { + var warehouse = Warehouse.fromTable(table); + var details = onCells(warehouse, target); + return details.map(function (selectedCells) { + var grid = toGrid(warehouse, generators, false); + var upOrLeftCells = getUpOrLeftCells(grid, selectedCells); + var downOrRightCells = getDownOrRightCells(grid, selectedCells); + return { + upOrLeftCells: upOrLeftCells, + downOrRightCells: downOrRightCells + }; + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.Env'); + + var hasInternalTarget = function (e) { + return has(SugarElement.fromDom(e.target), 'ephox-snooker-resizer-bar') === false; + }; + function CellSelection (editor, lazyResize, selectionTargets) { + var onSelection = function (cells, start, finish) { + selectionTargets.targets().each(function (targets) { + var tableOpt = table(start); + tableOpt.each(function (table) { + var cloneFormats = getCloneElements(editor); + var generators = cellOperations(noop, SugarElement.fromDom(editor.getDoc()), cloneFormats); + var otherCells = getOtherCells(table, targets, generators); + fireTableSelectionChange(editor, cells, start, finish, otherCells); + }); + }); + }; + var onClear = function () { + return fireTableSelectionClear(editor); + }; + var annotations = SelectionAnnotation.byAttr(ephemera, onSelection, onClear); + editor.on('init', function (_e) { + var win = editor.getWin(); + var body = getBody(editor); + var isRoot = getIsRoot(editor); + var syncSelection = function () { + var sel = editor.selection; + var start = SugarElement.fromDom(sel.getStart()); + var end = SugarElement.fromDom(sel.getEnd()); + var shared = sharedOne(table, [ + start, + end + ]); + shared.fold(function () { + return annotations.clear(body); + }, noop); + }; + var mouseHandlers = mouse(win, body, isRoot, annotations); + var keyHandlers = keyboard(win, body, isRoot, annotations); + var external$1 = external(win, body, isRoot, annotations); + var hasShiftKey = function (event) { + return event.raw.shiftKey === true; + }; + editor.on('TableSelectorChange', function (e) { + return external$1(e.start, e.finish); + }); + var handleResponse = function (event, response) { + if (!hasShiftKey(event)) { + return; + } + if (response.kill) { + event.kill(); + } + response.selection.each(function (ns) { + var relative = SimSelection.relative(ns.start, ns.finish); + var rng = asLtrRange(win, relative); + editor.selection.setRng(rng); + }); + }; + var keyup = function (event) { + var wrappedEvent = fromRawEvent(event); + if (wrappedEvent.raw.shiftKey && isNavigation(wrappedEvent.raw.which)) { + var rng = editor.selection.getRng(); + var start = SugarElement.fromDom(rng.startContainer); + var end = SugarElement.fromDom(rng.endContainer); + keyHandlers.keyup(wrappedEvent, start, rng.startOffset, end, rng.endOffset).each(function (response) { + handleResponse(wrappedEvent, response); + }); + } + }; + var keydown = function (event) { + var wrappedEvent = fromRawEvent(event); + lazyResize().each(function (resize) { + return resize.hideBars(); + }); + var rng = editor.selection.getRng(); + var start = SugarElement.fromDom(rng.startContainer); + var end = SugarElement.fromDom(rng.endContainer); + var direction = onDirection(ltr, rtl)(SugarElement.fromDom(editor.selection.getStart())); + keyHandlers.keydown(wrappedEvent, start, rng.startOffset, end, rng.endOffset, direction).each(function (response) { + handleResponse(wrappedEvent, response); + }); + lazyResize().each(function (resize) { + return resize.showBars(); + }); + }; + var isLeftMouse = function (raw) { + return raw.button === 0; + }; + var isLeftButtonPressed = function (raw) { + if (raw.buttons === undefined) { + return true; + } + if (global.browser.isEdge() && raw.buttons === 0) { + return true; + } + return (raw.buttons & 1) !== 0; + }; + var dragStart = function (_e) { + mouseHandlers.clearstate(); + }; + var mouseDown = function (e) { + if (isLeftMouse(e) && hasInternalTarget(e)) { + mouseHandlers.mousedown(fromRawEvent(e)); + } + }; + var mouseOver = function (e) { + if (isLeftButtonPressed(e) && hasInternalTarget(e)) { + mouseHandlers.mouseover(fromRawEvent(e)); + } + }; + var mouseUp = function (e) { + if (isLeftMouse(e) && hasInternalTarget(e)) { + mouseHandlers.mouseup(fromRawEvent(e)); + } + }; + var getDoubleTap = function () { + var lastTarget = Cell(SugarElement.fromDom(body)); + var lastTimeStamp = Cell(0); + var touchEnd = function (t) { + var target = SugarElement.fromDom(t.target); + if (name(target) === 'td' || name(target) === 'th') { + var lT = lastTarget.get(); + var lTS = lastTimeStamp.get(); + if (eq$1(lT, target) && t.timeStamp - lTS < 300) { + t.preventDefault(); + external$1(target, target); + } + } + lastTarget.set(target); + lastTimeStamp.set(t.timeStamp); + }; + return { touchEnd: touchEnd }; + }; + var doubleTap = getDoubleTap(); + editor.on('dragstart', dragStart); + editor.on('mousedown', mouseDown); + editor.on('mouseover', mouseOver); + editor.on('mouseup', mouseUp); + editor.on('touchend', doubleTap.touchEnd); + editor.on('keyup', keyup); + editor.on('keydown', keydown); + editor.on('NodeChange', syncSelection); + }); + return { clear: annotations.clear }; + } + + var child = function (scope, selector) { + return child$1(scope, selector).isSome(); + }; + + var getSelectionTargets = function (editor, selections) { + var targets = Cell(Optional.none()); + var changeHandlers = Cell([]); + var selectionDetails = Optional.none(); + var isCaption = isTag('caption'); + var isDisabledForSelection = function (key) { + return selectionDetails.forall(function (details) { + return !details[key]; + }); + }; + var getStart = function () { + return getSelectionCellOrCaption(getSelectionStart(editor), getIsRoot(editor)); + }; + var getEnd = function () { + return getSelectionCellOrCaption(getSelectionEnd(editor), getIsRoot(editor)); + }; + var findTargets = function () { + return getStart().bind(function (startCellOrCaption) { + return flatten(lift2(table(startCellOrCaption), getEnd().bind(table), function (startTable, endTable) { + if (eq$1(startTable, endTable)) { + if (isCaption(startCellOrCaption)) { + return Optional.some(noMenu(startCellOrCaption)); + } else { + return Optional.some(forMenu(selections, startTable, startCellOrCaption)); + } + } + return Optional.none(); + })); + }); + }; + var getExtractedDetails = function (targets) { + var tableOpt = table(targets.element); + return tableOpt.map(function (table) { + var warehouse = Warehouse.fromTable(table); + var selectedCells = onCells(warehouse, targets).getOr([]); + var locked = foldl(selectedCells, function (acc, cell) { + if (cell.isLocked) { + acc.onAny = true; + if (cell.column === 0) { + acc.onFirst = true; + } else if (cell.column + cell.colspan >= warehouse.grid.columns) { + acc.onLast = true; + } + } + return acc; + }, { + onAny: false, + onFirst: false, + onLast: false + }); + return { + mergeable: onUnlockedMergable(warehouse, targets).isSome(), + unmergeable: onUnlockedUnmergable(warehouse, targets).isSome(), + locked: locked + }; + }); + }; + var resetTargets = function () { + targets.set(cached(findTargets)()); + selectionDetails = targets.get().bind(getExtractedDetails); + each$2(changeHandlers.get(), function (handler) { + return handler(); + }); + }; + var setupHandler = function (handler) { + handler(); + changeHandlers.set(changeHandlers.get().concat([handler])); + return function () { + changeHandlers.set(filter$2(changeHandlers.get(), function (h) { + return h !== handler; + })); + }; + }; + var onSetup = function (api, isDisabled) { + return setupHandler(function () { + return targets.get().fold(function () { + api.setDisabled(true); + }, function (targets) { + api.setDisabled(isDisabled(targets)); + }); + }); + }; + var onSetupWithToggle = function (api, isDisabled, isActive) { + return setupHandler(function () { + return targets.get().fold(function () { + api.setDisabled(true); + api.setActive(false); + }, function (targets) { + api.setDisabled(isDisabled(targets)); + api.setActive(isActive(targets)); + }); + }); + }; + var isDisabledFromLocked = function (lockedDisable) { + return selectionDetails.exists(function (details) { + return details.locked[lockedDisable]; + }); + }; + var onSetupTable = function (api) { + return onSetup(api, function (_) { + return false; + }); + }; + var onSetupCellOrRow = function (api) { + return onSetup(api, function (targets) { + return isCaption(targets.element); + }); + }; + var onSetupColumn = function (lockedDisable) { + return function (api) { + return onSetup(api, function (targets) { + return isCaption(targets.element) || isDisabledFromLocked(lockedDisable); + }); + }; + }; + var onSetupPasteable = function (getClipboardData) { + return function (api) { + return onSetup(api, function (targets) { + return isCaption(targets.element) || getClipboardData().isNone(); + }); + }; + }; + var onSetupPasteableColumn = function (getClipboardData, lockedDisable) { + return function (api) { + return onSetup(api, function (targets) { + return isCaption(targets.element) || getClipboardData().isNone() || isDisabledFromLocked(lockedDisable); + }); + }; + }; + var onSetupMergeable = function (api) { + return onSetup(api, function (_targets) { + return isDisabledForSelection('mergeable'); + }); + }; + var onSetupUnmergeable = function (api) { + return onSetup(api, function (_targets) { + return isDisabledForSelection('unmergeable'); + }); + }; + var onSetupTableWithCaption = function (api) { + return onSetupWithToggle(api, never, function (targets) { + var tableOpt = table(targets.element, getIsRoot(editor)); + return tableOpt.exists(function (table) { + return child(table, 'caption'); + }); + }); + }; + var onSetupTableHeaders = function (command, headerType) { + return function (api) { + return onSetupWithToggle(api, function (targets) { + return isCaption(targets.element); + }, function () { + return editor.queryCommandValue(command) === headerType; + }); + }; + }; + var onSetupTableRowHeaders = onSetupTableHeaders('mceTableRowType', 'header'); + var onSetupTableColumnHeaders = onSetupTableHeaders('mceTableColType', 'th'); + editor.on('NodeChange ExecCommand TableSelectorChange', resetTargets); + return { + onSetupTable: onSetupTable, + onSetupCellOrRow: onSetupCellOrRow, + onSetupColumn: onSetupColumn, + onSetupPasteable: onSetupPasteable, + onSetupPasteableColumn: onSetupPasteableColumn, + onSetupMergeable: onSetupMergeable, + onSetupUnmergeable: onSetupUnmergeable, + resetTargets: resetTargets, + onSetupTableWithCaption: onSetupTableWithCaption, + onSetupTableRowHeaders: onSetupTableRowHeaders, + onSetupTableColumnHeaders: onSetupTableColumnHeaders, + targets: targets.get + }; + }; + + var addButtons = function (editor, selections, selectionTargets, clipboard) { + editor.ui.registry.addMenuButton('table', { + tooltip: 'Table', + icon: 'table', + fetch: function (callback) { + return callback('inserttable | cell row column | advtablesort | tableprops deletetable'); + } + }); + var cmd = function (command) { + return function () { + return editor.execCommand(command); + }; + }; + editor.ui.registry.addButton('tableprops', { + tooltip: 'Table properties', + onAction: cmd('mceTableProps'), + icon: 'table', + onSetup: selectionTargets.onSetupTable + }); + editor.ui.registry.addButton('tabledelete', { + tooltip: 'Delete table', + onAction: cmd('mceTableDelete'), + icon: 'table-delete-table', + onSetup: selectionTargets.onSetupTable + }); + editor.ui.registry.addButton('tablecellprops', { + tooltip: 'Cell properties', + onAction: cmd('mceTableCellProps'), + icon: 'table-cell-properties', + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tablemergecells', { + tooltip: 'Merge cells', + onAction: cmd('mceTableMergeCells'), + icon: 'table-merge-cells', + onSetup: selectionTargets.onSetupMergeable + }); + editor.ui.registry.addButton('tablesplitcells', { + tooltip: 'Split cell', + onAction: cmd('mceTableSplitCells'), + icon: 'table-split-cells', + onSetup: selectionTargets.onSetupUnmergeable + }); + editor.ui.registry.addButton('tableinsertrowbefore', { + tooltip: 'Insert row before', + onAction: cmd('mceTableInsertRowBefore'), + icon: 'table-insert-row-above', + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tableinsertrowafter', { + tooltip: 'Insert row after', + onAction: cmd('mceTableInsertRowAfter'), + icon: 'table-insert-row-after', + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tabledeleterow', { + tooltip: 'Delete row', + onAction: cmd('mceTableDeleteRow'), + icon: 'table-delete-row', + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tablerowprops', { + tooltip: 'Row properties', + onAction: cmd('mceTableRowProps'), + icon: 'table-row-properties', + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tableinsertcolbefore', { + tooltip: 'Insert column before', + onAction: cmd('mceTableInsertColBefore'), + icon: 'table-insert-column-before', + onSetup: selectionTargets.onSetupColumn('onFirst') + }); + editor.ui.registry.addButton('tableinsertcolafter', { + tooltip: 'Insert column after', + onAction: cmd('mceTableInsertColAfter'), + icon: 'table-insert-column-after', + onSetup: selectionTargets.onSetupColumn('onLast') + }); + editor.ui.registry.addButton('tabledeletecol', { + tooltip: 'Delete column', + onAction: cmd('mceTableDeleteCol'), + icon: 'table-delete-column', + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addButton('tablecutrow', { + tooltip: 'Cut row', + icon: 'cut-row', + onAction: cmd('mceTableCutRow'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tablecopyrow', { + tooltip: 'Copy row', + icon: 'duplicate-row', + onAction: cmd('mceTableCopyRow'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addButton('tablepasterowbefore', { + tooltip: 'Paste row before', + icon: 'paste-row-before', + onAction: cmd('mceTablePasteRowBefore'), + onSetup: selectionTargets.onSetupPasteable(clipboard.getRows) + }); + editor.ui.registry.addButton('tablepasterowafter', { + tooltip: 'Paste row after', + icon: 'paste-row-after', + onAction: cmd('mceTablePasteRowAfter'), + onSetup: selectionTargets.onSetupPasteable(clipboard.getRows) + }); + editor.ui.registry.addButton('tablecutcol', { + tooltip: 'Cut column', + icon: 'cut-column', + onAction: cmd('mceTableCutCol'), + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addButton('tablecopycol', { + tooltip: 'Copy column', + icon: 'duplicate-column', + onAction: cmd('mceTableCopyCol'), + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addButton('tablepastecolbefore', { + tooltip: 'Paste column before', + icon: 'paste-column-before', + onAction: cmd('mceTablePasteColBefore'), + onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onFirst') + }); + editor.ui.registry.addButton('tablepastecolafter', { + tooltip: 'Paste column after', + icon: 'paste-column-after', + onAction: cmd('mceTablePasteColAfter'), + onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onLast') + }); + editor.ui.registry.addButton('tableinsertdialog', { + tooltip: 'Insert table', + onAction: cmd('mceInsertTable'), + icon: 'table' + }); + var tableClassList = filterNoneItem(getTableClassList(editor)); + if (tableClassList.length !== 0) { + editor.ui.registry.addMenuButton('tableclass', { + icon: 'table-classes', + tooltip: 'Table styles', + fetch: generateMenuItemsCallback(editor, selections, tableClassList, 'tableclass', function (value) { + return editor.execCommand('mceTableToggleClass', false, value); + }), + onSetup: selectionTargets.onSetupTable + }); + } + var tableCellClassList = filterNoneItem(getCellClassList(editor)); + if (tableCellClassList.length !== 0) { + editor.ui.registry.addMenuButton('tablecellclass', { + icon: 'table-cell-classes', + tooltip: 'Cell styles', + fetch: generateMenuItemsCallback(editor, selections, tableCellClassList, 'tablecellclass', function (value) { + return editor.execCommand('mceTableCellToggleClass', false, value); + }), + onSetup: selectionTargets.onSetupCellOrRow + }); + } + editor.ui.registry.addMenuButton('tablecellvalign', { + icon: 'vertical-align', + tooltip: 'Vertical align', + fetch: generateMenuItemsCallback(editor, selections, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuButton('tablecellborderwidth', { + icon: 'border-width', + tooltip: 'Border width', + fetch: generateMenuItemsCallback(editor, selections, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuButton('tablecellborderstyle', { + icon: 'border-style', + tooltip: 'Border style', + fetch: generateMenuItemsCallback(editor, selections, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addToggleButton('tablecaption', { + tooltip: 'Table caption', + onAction: cmd('mceTableToggleCaption'), + icon: 'table-caption', + onSetup: selectionTargets.onSetupTableWithCaption + }); + editor.ui.registry.addMenuButton('tablecellbackgroundcolor', { + icon: 'cell-background-color', + tooltip: 'Background color', + fetch: function (callback) { + return callback(buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color')); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuButton('tablecellbordercolor', { + icon: 'cell-border-color', + tooltip: 'Border color', + fetch: function (callback) { + return callback(buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color')); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addToggleButton('tablerowheader', { + tooltip: 'Row header', + icon: 'table-top-header', + onAction: changeRowHeader(editor), + onSetup: selectionTargets.onSetupTableRowHeaders + }); + editor.ui.registry.addToggleButton('tablecolheader', { + tooltip: 'Column header', + icon: 'table-left-header', + onAction: changeColumnHeader(editor), + onSetup: selectionTargets.onSetupTableColumnHeaders + }); + }; + var addToolbars = function (editor) { + var isTable = function (table) { + return editor.dom.is(table, 'table') && editor.getBody().contains(table); + }; + var toolbar = getToolbar(editor); + if (toolbar.length > 0) { + editor.ui.registry.addContextToolbar('table', { + predicate: isTable, + items: toolbar, + scope: 'node', + position: 'node' + }); + } + }; + + var addMenuItems = function (editor, selections, selectionTargets, clipboard) { + var cmd = function (command) { + return function () { + return editor.execCommand(command); + }; + }; + var insertTableAction = function (data) { + editor.execCommand('mceInsertTable', false, { + rows: data.numRows, + columns: data.numColumns + }); + }; + var tableProperties = { + text: 'Table properties', + onSetup: selectionTargets.onSetupTable, + onAction: cmd('mceTableProps') + }; + var deleteTable = { + text: 'Delete table', + icon: 'table-delete-table', + onSetup: selectionTargets.onSetupTable, + onAction: cmd('mceTableDelete') + }; + editor.ui.registry.addMenuItem('tableinsertrowbefore', { + text: 'Insert row before', + icon: 'table-insert-row-above', + onAction: cmd('mceTableInsertRowBefore'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tableinsertrowafter', { + text: 'Insert row after', + icon: 'table-insert-row-after', + onAction: cmd('mceTableInsertRowAfter'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tabledeleterow', { + text: 'Delete row', + icon: 'table-delete-row', + onAction: cmd('mceTableDeleteRow'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tablerowprops', { + text: 'Row properties', + icon: 'table-row-properties', + onAction: cmd('mceTableRowProps'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tablecutrow', { + text: 'Cut row', + icon: 'cut-row', + onAction: cmd('mceTableCutRow'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tablecopyrow', { + text: 'Copy row', + icon: 'duplicate-row', + onAction: cmd('mceTableCopyRow'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tablepasterowbefore', { + text: 'Paste row before', + icon: 'paste-row-before', + onAction: cmd('mceTablePasteRowBefore'), + onSetup: selectionTargets.onSetupPasteable(clipboard.getRows) + }); + editor.ui.registry.addMenuItem('tablepasterowafter', { + text: 'Paste row after', + icon: 'paste-row-after', + onAction: cmd('mceTablePasteRowAfter'), + onSetup: selectionTargets.onSetupPasteable(clipboard.getRows) + }); + var row = { + type: 'nestedmenuitem', + text: 'Row', + getSubmenuItems: constant('tableinsertrowbefore tableinsertrowafter tabledeleterow tablerowprops | tablecutrow tablecopyrow tablepasterowbefore tablepasterowafter') + }; + editor.ui.registry.addMenuItem('tableinsertcolumnbefore', { + text: 'Insert column before', + icon: 'table-insert-column-before', + onAction: cmd('mceTableInsertColBefore'), + onSetup: selectionTargets.onSetupColumn('onFirst') + }); + editor.ui.registry.addMenuItem('tableinsertcolumnafter', { + text: 'Insert column after', + icon: 'table-insert-column-after', + onAction: cmd('mceTableInsertColAfter'), + onSetup: selectionTargets.onSetupColumn('onLast') + }); + editor.ui.registry.addMenuItem('tabledeletecolumn', { + text: 'Delete column', + icon: 'table-delete-column', + onAction: cmd('mceTableDeleteCol'), + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addMenuItem('tablecutcolumn', { + text: 'Cut column', + icon: 'cut-column', + onAction: cmd('mceTableCutCol'), + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addMenuItem('tablecopycolumn', { + text: 'Copy column', + icon: 'duplicate-column', + onAction: cmd('mceTableCopyCol'), + onSetup: selectionTargets.onSetupColumn('onAny') + }); + editor.ui.registry.addMenuItem('tablepastecolumnbefore', { + text: 'Paste column before', + icon: 'paste-column-before', + onAction: cmd('mceTablePasteColBefore'), + onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onFirst') + }); + editor.ui.registry.addMenuItem('tablepastecolumnafter', { + text: 'Paste column after', + icon: 'paste-column-after', + onAction: cmd('mceTablePasteColAfter'), + onSetup: selectionTargets.onSetupPasteableColumn(clipboard.getColumns, 'onLast') + }); + var column = { + type: 'nestedmenuitem', + text: 'Column', + getSubmenuItems: constant('tableinsertcolumnbefore tableinsertcolumnafter tabledeletecolumn | tablecutcolumn tablecopycolumn tablepastecolumnbefore tablepastecolumnafter') + }; + editor.ui.registry.addMenuItem('tablecellprops', { + text: 'Cell properties', + icon: 'table-cell-properties', + onAction: cmd('mceTableCellProps'), + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addMenuItem('tablemergecells', { + text: 'Merge cells', + icon: 'table-merge-cells', + onAction: cmd('mceTableMergeCells'), + onSetup: selectionTargets.onSetupMergeable + }); + editor.ui.registry.addMenuItem('tablesplitcells', { + text: 'Split cell', + icon: 'table-split-cells', + onAction: cmd('mceTableSplitCells'), + onSetup: selectionTargets.onSetupUnmergeable + }); + var cell = { + type: 'nestedmenuitem', + text: 'Cell', + getSubmenuItems: constant('tablecellprops tablemergecells tablesplitcells') + }; + if (hasTableGrid(editor) === false) { + editor.ui.registry.addMenuItem('inserttable', { + text: 'Table', + icon: 'table', + onAction: cmd('mceInsertTable') + }); + } else { + editor.ui.registry.addNestedMenuItem('inserttable', { + text: 'Table', + icon: 'table', + getSubmenuItems: function () { + return [{ + type: 'fancymenuitem', + fancytype: 'inserttable', + onAction: insertTableAction + }]; + } + }); + } + editor.ui.registry.addMenuItem('inserttabledialog', { + text: 'Insert table', + icon: 'table', + onAction: cmd('mceInsertTable') + }); + editor.ui.registry.addMenuItem('tableprops', tableProperties); + editor.ui.registry.addMenuItem('deletetable', deleteTable); + editor.ui.registry.addNestedMenuItem('row', row); + editor.ui.registry.addNestedMenuItem('column', column); + editor.ui.registry.addNestedMenuItem('cell', cell); + editor.ui.registry.addContextMenu('table', { + update: function () { + selectionTargets.resetTargets(); + return selectionTargets.targets().fold(constant(''), function (targets) { + if (name(targets.element) === 'caption') { + return 'tableprops deletetable'; + } else { + return 'cell row column | advtablesort | tableprops deletetable'; + } + }); + } + }); + var tableClassList = filterNoneItem(getTableClassList(editor)); + if (tableClassList.length !== 0) { + editor.ui.registry.addNestedMenuItem('tableclass', { + icon: 'table-classes', + text: 'Table styles', + getSubmenuItems: function () { + return buildMenuItems(editor, selections, tableClassList, 'tableclass', function (value) { + return editor.execCommand('mceTableToggleClass', false, value); + }); + }, + onSetup: selectionTargets.onSetupTable + }); + } + var tableCellClassList = filterNoneItem(getCellClassList(editor)); + if (tableCellClassList.length !== 0) { + editor.ui.registry.addNestedMenuItem('tablecellclass', { + icon: 'table-cell-classes', + text: 'Cell styles', + getSubmenuItems: function () { + return buildMenuItems(editor, selections, tableCellClassList, 'tablecellclass', function (value) { + return editor.execCommand('mceTableCellToggleClass', false, value); + }); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + } + editor.ui.registry.addNestedMenuItem('tablecellvalign', { + icon: 'vertical-align', + text: 'Vertical align', + getSubmenuItems: function () { + return buildMenuItems(editor, selections, verticalAlignValues, 'tablecellverticalalign', applyTableCellStyle(editor, 'vertical-align')); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addNestedMenuItem('tablecellborderwidth', { + icon: 'border-width', + text: 'Border width', + getSubmenuItems: function () { + return buildMenuItems(editor, selections, getTableBorderWidths(editor), 'tablecellborderwidth', applyTableCellStyle(editor, 'border-width')); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addNestedMenuItem('tablecellborderstyle', { + icon: 'border-style', + text: 'Border style', + getSubmenuItems: function () { + return buildMenuItems(editor, selections, getTableBorderStyles(editor), 'tablecellborderstyle', applyTableCellStyle(editor, 'border-style')); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addToggleMenuItem('tablecaption', { + icon: 'table-caption', + text: 'Table caption', + onAction: cmd('mceTableToggleCaption'), + onSetup: selectionTargets.onSetupTableWithCaption + }); + editor.ui.registry.addNestedMenuItem('tablecellbackgroundcolor', { + icon: 'cell-background-color', + text: 'Background color', + getSubmenuItems: function () { + return buildColorMenu(editor, getTableBackgroundColorMap(editor), 'background-color'); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addNestedMenuItem('tablecellbordercolor', { + icon: 'cell-border-color', + text: 'Border color', + getSubmenuItems: function () { + return buildColorMenu(editor, getTableBorderColorMap(editor), 'border-color'); + }, + onSetup: selectionTargets.onSetupCellOrRow + }); + editor.ui.registry.addToggleMenuItem('tablerowheader', { + text: 'Row header', + icon: 'table-top-header', + onAction: changeRowHeader(editor), + onSetup: selectionTargets.onSetupTableRowHeaders + }); + editor.ui.registry.addToggleMenuItem('tablecolheader', { + text: 'Column header', + icon: 'table-left-header', + onAction: changeColumnHeader(editor), + onSetup: selectionTargets.onSetupTableColumnHeaders + }); + }; + + var Plugin = function (editor) { + var selections = Selections(function () { + return getBody(editor); + }, function () { + return getSelectionCell(getSelectionStart(editor), getIsRoot(editor)); + }, ephemera.selectedSelector); + var selectionTargets = getSelectionTargets(editor, selections); + var resizeHandler = getResizeHandler(editor); + var cellSelection = CellSelection(editor, resizeHandler.lazyResize, selectionTargets); + var actions = TableActions(editor, cellSelection, resizeHandler.lazyWire); + var clipboard = Clipboard(); + registerCommands(editor, actions, cellSelection, selections, clipboard); + registerQueryCommands(editor, actions, selections); + registerEvents(editor, selections, actions); + addMenuItems(editor, selections, selectionTargets, clipboard); + addButtons(editor, selections, selectionTargets, clipboard); + addToolbars(editor); + editor.on('PreInit', function () { + editor.serializer.addTempAttr(ephemera.firstSelected); + editor.serializer.addTempAttr(ephemera.lastSelected); + registerFormats(editor); + }); + if (hasTabNavigation(editor)) { + editor.on('keydown', function (e) { + handle$1(e, editor, cellSelection); + }); + } + editor.on('remove', function () { + resizeHandler.destroy(); + }); + return getApi(editor, clipboard, resizeHandler, selectionTargets); + }; + function Plugin$1 () { + global$3.add('table', Plugin); + } + + Plugin$1(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$4 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var isString = isType('string'); + var isFunction = isSimpleType('function'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + function curry(fn) { + var initialArgs = []; + for (var _i = 1; _i < arguments.length; _i++) { + initialArgs[_i - 1] = arguments[_i]; + } + return function () { + var restArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + restArgs[_i] = arguments[_i]; + } + var all = initialArgs.concat(restArgs); + return fn.apply(null, all); + }; + } + var never = constant(false); + var always = constant(true); + + var global$3 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.XHR'); + + var getCreationDateClasses = function (editor) { + return editor.getParam('template_cdate_classes', 'cdate'); + }; + var getModificationDateClasses = function (editor) { + return editor.getParam('template_mdate_classes', 'mdate'); + }; + var getSelectedContentClasses = function (editor) { + return editor.getParam('template_selected_content_classes', 'selcontent'); + }; + var getPreviewReplaceValues = function (editor) { + return editor.getParam('template_preview_replace_values'); + }; + var getContentStyle = function (editor) { + return editor.getParam('content_style', '', 'string'); + }; + var shouldUseContentCssCors = function (editor) { + return editor.getParam('content_css_cors', false, 'boolean'); + }; + var getTemplateReplaceValues = function (editor) { + return editor.getParam('template_replace_values'); + }; + var getTemplates = function (editor) { + return editor.getParam('templates'); + }; + var getCdateFormat = function (editor) { + return editor.getParam('template_cdate_format', editor.translate('%Y-%m-%d')); + }; + var getMdateFormat = function (editor) { + return editor.getParam('template_mdate_format', editor.translate('%Y-%m-%d')); + }; + var getBodyClassFromHash = function (editor) { + var bodyClass = editor.getParam('body_class', '', 'hash'); + return bodyClass[editor.id] || ''; + }; + var getBodyClass = function (editor) { + var bodyClass = editor.getParam('body_class', '', 'string'); + if (bodyClass.indexOf('=') === -1) { + return bodyClass; + } else { + return getBodyClassFromHash(editor); + } + }; + + var addZeros = function (value, len) { + value = '' + value; + if (value.length < len) { + for (var i = 0; i < len - value.length; i++) { + value = '0' + value; + } + } + return value; + }; + var getDateTime = function (editor, fmt, date) { + if (date === void 0) { + date = new Date(); + } + var daysShort = 'Sun Mon Tue Wed Thu Fri Sat Sun'.split(' '); + var daysLong = 'Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday'.split(' '); + var monthsShort = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'.split(' '); + var monthsLong = 'January February March April May June July August September October November December'.split(' '); + fmt = fmt.replace('%D', '%m/%d/%Y'); + fmt = fmt.replace('%r', '%I:%M:%S %p'); + fmt = fmt.replace('%Y', '' + date.getFullYear()); + fmt = fmt.replace('%y', '' + date.getYear()); + fmt = fmt.replace('%m', addZeros(date.getMonth() + 1, 2)); + fmt = fmt.replace('%d', addZeros(date.getDate(), 2)); + fmt = fmt.replace('%H', '' + addZeros(date.getHours(), 2)); + fmt = fmt.replace('%M', '' + addZeros(date.getMinutes(), 2)); + fmt = fmt.replace('%S', '' + addZeros(date.getSeconds(), 2)); + fmt = fmt.replace('%I', '' + ((date.getHours() + 11) % 12 + 1)); + fmt = fmt.replace('%p', '' + (date.getHours() < 12 ? 'AM' : 'PM')); + fmt = fmt.replace('%B', '' + editor.translate(monthsLong[date.getMonth()])); + fmt = fmt.replace('%b', '' + editor.translate(monthsShort[date.getMonth()])); + fmt = fmt.replace('%A', '' + editor.translate(daysLong[date.getDay()])); + fmt = fmt.replace('%a', '' + editor.translate(daysShort[date.getDay()])); + fmt = fmt.replace('%%', '%'); + return fmt; + }; + + var createTemplateList = function (editor, callback) { + return function () { + var templateList = getTemplates(editor); + if (isFunction(templateList)) { + templateList(callback); + } else if (isString(templateList)) { + global$2.send({ + url: templateList, + success: function (text) { + callback(JSON.parse(text)); + } + }); + } else { + callback(templateList); + } + }; + }; + var replaceTemplateValues = function (html, templateValues) { + global$3.each(templateValues, function (v, k) { + if (isFunction(v)) { + v = v(k); + } + html = html.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v); + }); + return html; + }; + var replaceVals = function (editor, scope) { + var dom = editor.dom, vl = getTemplateReplaceValues(editor); + global$3.each(dom.select('*', scope), function (e) { + global$3.each(vl, function (v, k) { + if (dom.hasClass(e, k)) { + if (isFunction(v)) { + v(e); + } + } + }); + }); + }; + var hasClass = function (n, c) { + return new RegExp('\\b' + c + '\\b', 'g').test(n.className); + }; + var insertTemplate = function (editor, _ui, html) { + var dom = editor.dom; + var sel = editor.selection.getContent(); + html = replaceTemplateValues(html, getTemplateReplaceValues(editor)); + var el = dom.create('div', null, html); + var n = dom.select('.mceTmpl', el); + if (n && n.length > 0) { + el = dom.create('div', null); + el.appendChild(n[0].cloneNode(true)); + } + global$3.each(dom.select('*', el), function (n) { + if (hasClass(n, getCreationDateClasses(editor).replace(/\s+/g, '|'))) { + n.innerHTML = getDateTime(editor, getCdateFormat(editor)); + } + if (hasClass(n, getModificationDateClasses(editor).replace(/\s+/g, '|'))) { + n.innerHTML = getDateTime(editor, getMdateFormat(editor)); + } + if (hasClass(n, getSelectedContentClasses(editor).replace(/\s+/g, '|'))) { + n.innerHTML = sel; + } + }); + replaceVals(editor, el); + editor.execCommand('mceInsertContent', false, el.innerHTML); + editor.addVisual(); + }; + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from + }; + + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var findUntil = function (xs, pred, until) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + var find = function (xs, pred) { + return findUntil(xs, pred, never); + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.Env'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Promise'); + + var hasOwnProperty = Object.hasOwnProperty; + var get = function (obj, key) { + return has(obj, key) ? Optional.from(obj[key]) : Optional.none(); + }; + var has = function (obj, key) { + return hasOwnProperty.call(obj, key); + }; + + var entitiesAttr = { + '"': '"', + '<': '<', + '>': '>', + '&': '&', + '\'': ''' + }; + var htmlEscape = function (html) { + return html.replace(/["'<>&]/g, function (match) { + return get(entitiesAttr, match).getOr(match); + }); + }; + + var getPreviewContent = function (editor, html) { + if (html.indexOf('') === -1) { + var contentCssEntries_1 = ''; + var contentStyle = getContentStyle(editor); + var cors_1 = shouldUseContentCssCors(editor) ? ' crossorigin="anonymous"' : ''; + global$3.each(editor.contentCSS, function (url) { + contentCssEntries_1 += ''; + }); + if (contentStyle) { + contentCssEntries_1 += ''; + } + var bodyClass = getBodyClass(editor); + var encode = editor.dom.encode; + var isMetaKeyPressed = global$1.mac ? 'e.metaKey' : 'e.ctrlKey && !e.altKey'; + var preventClicksOnLinksScript = ' '; + var directionality = editor.getBody().dir; + var dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; + html = '' + '' + '' + '' + contentCssEntries_1 + preventClicksOnLinksScript + '' + '' + html + '' + ''; + } + return replaceTemplateValues(html, getPreviewReplaceValues(editor)); + }; + var open = function (editor, templateList) { + var createTemplates = function () { + if (!templateList || templateList.length === 0) { + var message = editor.translate('No templates defined.'); + editor.notificationManager.open({ + text: message, + type: 'info' + }); + return Optional.none(); + } + return Optional.from(global$3.map(templateList, function (template, index) { + var isUrlTemplate = function (t) { + return t.url !== undefined; + }; + return { + selected: index === 0, + text: template.title, + value: { + url: isUrlTemplate(template) ? Optional.from(template.url) : Optional.none(), + content: !isUrlTemplate(template) ? Optional.from(template.content) : Optional.none(), + description: template.description + } + }; + })); + }; + var createSelectBoxItems = function (templates) { + return map(templates, function (t) { + return { + text: t.text, + value: t.text + }; + }); + }; + var findTemplate = function (templates, templateTitle) { + return find(templates, function (t) { + return t.text === templateTitle; + }); + }; + var loadFailedAlert = function (api) { + editor.windowManager.alert('Could not load the specified template.', function () { + return api.focus('template'); + }); + }; + var getTemplateContent = function (t) { + return new global(function (resolve, reject) { + t.value.url.fold(function () { + return resolve(t.value.content.getOr('')); + }, function (url) { + return global$2.send({ + url: url, + success: function (html) { + resolve(html); + }, + error: function (e) { + reject(e); + } + }); + }); + }); + }; + var onChange = function (templates, updateDialog) { + return function (api, change) { + if (change.name === 'template') { + var newTemplateTitle = api.getData().template; + findTemplate(templates, newTemplateTitle).each(function (t) { + api.block('Loading...'); + getTemplateContent(t).then(function (previewHtml) { + updateDialog(api, t, previewHtml); + }).catch(function () { + updateDialog(api, t, ''); + api.disable('save'); + loadFailedAlert(api); + }); + }); + } + }; + }; + var onSubmit = function (templates) { + return function (api) { + var data = api.getData(); + findTemplate(templates, data.template).each(function (t) { + getTemplateContent(t).then(function (previewHtml) { + editor.execCommand('mceInsertTemplate', false, previewHtml); + api.close(); + }).catch(function () { + api.disable('save'); + loadFailedAlert(api); + }); + }); + }; + }; + var openDialog = function (templates) { + var selectBoxItems = createSelectBoxItems(templates); + var buildDialogSpec = function (bodyItems, initialData) { + return { + title: 'Insert Template', + size: 'large', + body: { + type: 'panel', + items: bodyItems + }, + initialData: initialData, + buttons: [ + { + type: 'cancel', + name: 'cancel', + text: 'Cancel' + }, + { + type: 'submit', + name: 'save', + text: 'Save', + primary: true + } + ], + onSubmit: onSubmit(templates), + onChange: onChange(templates, updateDialog) + }; + }; + var updateDialog = function (dialogApi, template, previewHtml) { + var content = getPreviewContent(editor, previewHtml); + var bodyItems = [ + { + type: 'selectbox', + name: 'template', + label: 'Templates', + items: selectBoxItems + }, + { + type: 'htmlpanel', + html: '

' + htmlEscape(template.value.description) + '

' + }, + { + label: 'Preview', + type: 'iframe', + name: 'preview', + sandboxed: false + } + ]; + var initialData = { + template: template.text, + preview: content + }; + dialogApi.unblock(); + dialogApi.redial(buildDialogSpec(bodyItems, initialData)); + dialogApi.focus('template'); + }; + var dialogApi = editor.windowManager.open(buildDialogSpec([], { + template: '', + preview: '' + })); + dialogApi.block('Loading...'); + getTemplateContent(templates[0]).then(function (previewHtml) { + updateDialog(dialogApi, templates[0], previewHtml); + }).catch(function () { + updateDialog(dialogApi, templates[0], ''); + dialogApi.disable('save'); + loadFailedAlert(dialogApi); + }); + }; + var optTemplates = createTemplates(); + optTemplates.each(openDialog); + }; + + var showDialog = function (editor) { + return function (templates) { + open(editor, templates); + }; + }; + var register$1 = function (editor) { + editor.addCommand('mceInsertTemplate', curry(insertTemplate, editor)); + editor.addCommand('mceTemplate', createTemplateList(editor, showDialog(editor))); + }; + + var setup = function (editor) { + editor.on('PreProcess', function (o) { + var dom = editor.dom, dateFormat = getMdateFormat(editor); + global$3.each(dom.select('div', o.node), function (e) { + if (dom.hasClass(e, 'mceTmpl')) { + global$3.each(dom.select('*', e), function (e) { + if (dom.hasClass(e, getModificationDateClasses(editor).replace(/\s+/g, '|'))) { + e.innerHTML = getDateTime(editor, dateFormat); + } + }); + replaceVals(editor, e); + } + }); + }); + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mceTemplate'); + }; + editor.ui.registry.addButton('template', { + icon: 'template', + tooltip: 'Insert template', + onAction: onAction + }); + editor.ui.registry.addMenuItem('template', { + icon: 'template', + text: 'Insert template...', + onAction: onAction + }); + }; + + function Plugin () { + global$4.add('template', function (editor) { + register(editor); + register$1(editor); + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + function Plugin () { + global.add('textcolor', function () { + console.warn('Text color plugin is now built in to the core editor, please remove it from your editor configuration'); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global$5 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) + for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) + ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; + } + } + return to.concat(ar || Array.prototype.slice.call(from)); + } + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isString = isType('string'); + var isObject = isType('object'); + var isArray = isType('array'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var die = function (msg) { + return function () { + throw new Error(msg); + }; + }; + var never = constant(false); + var always = constant(true); + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from + }; + + var nativeSlice = Array.prototype.slice; + var nativeIndexOf = Array.prototype.indexOf; + var rawIndexOf = function (ts, t) { + return nativeIndexOf.call(ts, t); + }; + var contains = function (xs, x) { + return rawIndexOf(xs, x) > -1; + }; + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var each = function (xs, f) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + f(x, i); + } + }; + var eachr = function (xs, f) { + for (var i = xs.length - 1; i >= 0; i--) { + var x = xs[i]; + f(x, i); + } + }; + var filter = function (xs, pred) { + var r = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + var foldr = function (xs, f, acc) { + eachr(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var foldl = function (xs, f, acc) { + each(xs, function (x, i) { + acc = f(acc, x, i); + }); + return acc; + }; + var findUntil = function (xs, pred, until) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + return Optional.some(x); + } else if (until(x, i)) { + break; + } + } + return Optional.none(); + }; + var find = function (xs, pred) { + return findUntil(xs, pred, never); + }; + var forall = function (xs, pred) { + for (var i = 0, len = xs.length; i < len; ++i) { + var x = xs[i]; + if (pred(x, i) !== true) { + return false; + } + } + return true; + }; + var sort = function (xs, comparator) { + var copy = nativeSlice.call(xs, 0); + copy.sort(comparator); + return copy; + }; + var get$1 = function (xs, i) { + return i >= 0 && i < xs.length ? Optional.some(xs[i]) : Optional.none(); + }; + var head = function (xs) { + return get$1(xs, 0); + }; + + var keys = Object.keys; + var hasOwnProperty = Object.hasOwnProperty; + var has = function (obj, key) { + return hasOwnProperty.call(obj, key); + }; + + var generate$1 = function (cases) { + if (!isArray(cases)) { + throw new Error('cases must be an array'); + } + if (cases.length === 0) { + throw new Error('there must be at least one case'); + } + var constructors = []; + var adt = {}; + each(cases, function (acase, count) { + var keys$1 = keys(acase); + if (keys$1.length !== 1) { + throw new Error('one and only one name per case'); + } + var key = keys$1[0]; + var value = acase[key]; + if (adt[key] !== undefined) { + throw new Error('duplicate key detected:' + key); + } else if (key === 'cata') { + throw new Error('cannot have a case named cata (sorry)'); + } else if (!isArray(value)) { + throw new Error('case arguments must be an array'); + } + constructors.push(key); + adt[key] = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var argLength = args.length; + if (argLength !== value.length) { + throw new Error('Wrong number of arguments to case ' + key + '. Expected ' + value.length + ' (' + value + '), got ' + argLength); + } + var match = function (branches) { + var branchKeys = keys(branches); + if (constructors.length !== branchKeys.length) { + throw new Error('Wrong number of arguments to match. Expected: ' + constructors.join(',') + '\nActual: ' + branchKeys.join(',')); + } + var allReqd = forall(constructors, function (reqKey) { + return contains(branchKeys, reqKey); + }); + if (!allReqd) { + throw new Error('Not all branches were specified when using match. Specified: ' + branchKeys.join(', ') + '\nRequired: ' + constructors.join(', ')); + } + return branches[key].apply(null, args); + }; + return { + fold: function () { + var foldArgs = []; + for (var _i = 0; _i < arguments.length; _i++) { + foldArgs[_i] = arguments[_i]; + } + if (foldArgs.length !== cases.length) { + throw new Error('Wrong number of arguments to fold. Expected ' + cases.length + ', got ' + foldArgs.length); + } + var target = foldArgs[count]; + return target.apply(null, args); + }, + match: match, + log: function (label) { + console.log(label, { + constructors: constructors, + constructor: key, + params: args + }); + } + }; + }; + }); + return adt; + }; + var Adt = { generate: generate$1 }; + + Adt.generate([ + { + bothErrors: [ + 'error1', + 'error2' + ] + }, + { + firstError: [ + 'error1', + 'value2' + ] + }, + { + secondError: [ + 'value1', + 'error2' + ] + }, + { + bothValues: [ + 'value1', + 'value2' + ] + } + ]); + var partition = function (results) { + var errors = []; + var values = []; + each(results, function (result) { + result.fold(function (err) { + errors.push(err); + }, function (value) { + values.push(value); + }); + }); + return { + errors: errors, + values: values + }; + }; + + var value = function (o) { + var or = function (_opt) { + return value(o); + }; + var orThunk = function (_f) { + return value(o); + }; + var map = function (f) { + return value(f(o)); + }; + var mapError = function (_f) { + return value(o); + }; + var each = function (f) { + f(o); + }; + var bind = function (f) { + return f(o); + }; + var fold = function (_, onValue) { + return onValue(o); + }; + var exists = function (f) { + return f(o); + }; + var forall = function (f) { + return f(o); + }; + var toOptional = function () { + return Optional.some(o); + }; + return { + isValue: always, + isError: never, + getOr: constant(o), + getOrThunk: constant(o), + getOrDie: constant(o), + or: or, + orThunk: orThunk, + fold: fold, + map: map, + mapError: mapError, + each: each, + bind: bind, + exists: exists, + forall: forall, + toOptional: toOptional + }; + }; + var error$1 = function (message) { + var getOrThunk = function (f) { + return f(); + }; + var getOrDie = function () { + return die(String(message))(); + }; + var or = identity; + var orThunk = function (f) { + return f(); + }; + var map = function (_f) { + return error$1(message); + }; + var mapError = function (f) { + return error$1(f(message)); + }; + var bind = function (_f) { + return error$1(message); + }; + var fold = function (onError, _) { + return onError(message); + }; + return { + isValue: never, + isError: always, + getOr: identity, + getOrThunk: getOrThunk, + getOrDie: getOrDie, + or: or, + orThunk: orThunk, + fold: fold, + map: map, + mapError: mapError, + each: noop, + bind: bind, + exists: never, + forall: always, + toOptional: Optional.none + }; + }; + var fromOption = function (opt, err) { + return opt.fold(function () { + return error$1(err); + }, value); + }; + var Result = { + value: value, + error: error$1, + fromOption: fromOption + }; + + var isInlinePattern = function (pattern) { + return pattern.type === 'inline-command' || pattern.type === 'inline-format'; + }; + var isBlockPattern = function (pattern) { + return pattern.type === 'block-command' || pattern.type === 'block-format'; + }; + var sortPatterns = function (patterns) { + return sort(patterns, function (a, b) { + if (a.start.length === b.start.length) { + return 0; + } + return a.start.length > b.start.length ? -1 : 1; + }); + }; + var normalizePattern = function (pattern) { + var err = function (message) { + return Result.error({ + message: message, + pattern: pattern + }); + }; + var formatOrCmd = function (name, onFormat, onCommand) { + if (pattern.format !== undefined) { + var formats = void 0; + if (isArray(pattern.format)) { + if (!forall(pattern.format, isString)) { + return err(name + ' pattern has non-string items in the `format` array'); + } + formats = pattern.format; + } else if (isString(pattern.format)) { + formats = [pattern.format]; + } else { + return err(name + ' pattern has non-string `format` parameter'); + } + return Result.value(onFormat(formats)); + } else if (pattern.cmd !== undefined) { + if (!isString(pattern.cmd)) { + return err(name + ' pattern has non-string `cmd` parameter'); + } + return Result.value(onCommand(pattern.cmd, pattern.value)); + } else { + return err(name + ' pattern is missing both `format` and `cmd` parameters'); + } + }; + if (!isObject(pattern)) { + return err('Raw pattern is not an object'); + } + if (!isString(pattern.start)) { + return err('Raw pattern is missing `start` parameter'); + } + if (pattern.end !== undefined) { + if (!isString(pattern.end)) { + return err('Inline pattern has non-string `end` parameter'); + } + if (pattern.start.length === 0 && pattern.end.length === 0) { + return err('Inline pattern has empty `start` and `end` parameters'); + } + var start_1 = pattern.start; + var end_1 = pattern.end; + if (end_1.length === 0) { + end_1 = start_1; + start_1 = ''; + } + return formatOrCmd('Inline', function (format) { + return { + type: 'inline-format', + start: start_1, + end: end_1, + format: format + }; + }, function (cmd, value) { + return { + type: 'inline-command', + start: start_1, + end: end_1, + cmd: cmd, + value: value + }; + }); + } else if (pattern.replacement !== undefined) { + if (!isString(pattern.replacement)) { + return err('Replacement pattern has non-string `replacement` parameter'); + } + if (pattern.start.length === 0) { + return err('Replacement pattern has empty `start` parameter'); + } + return Result.value({ + type: 'inline-command', + start: '', + end: pattern.start, + cmd: 'mceInsertContent', + value: pattern.replacement + }); + } else { + if (pattern.start.length === 0) { + return err('Block pattern has empty `start` parameter'); + } + return formatOrCmd('Block', function (formats) { + return { + type: 'block-format', + start: pattern.start, + format: formats[0] + }; + }, function (command, commandValue) { + return { + type: 'block-command', + start: pattern.start, + cmd: command, + value: commandValue + }; + }); + } + }; + var denormalizePattern = function (pattern) { + if (pattern.type === 'block-command') { + return { + start: pattern.start, + cmd: pattern.cmd, + value: pattern.value + }; + } else if (pattern.type === 'block-format') { + return { + start: pattern.start, + format: pattern.format + }; + } else if (pattern.type === 'inline-command') { + if (pattern.cmd === 'mceInsertContent' && pattern.start === '') { + return { + start: pattern.end, + replacement: pattern.value + }; + } else { + return { + start: pattern.start, + end: pattern.end, + cmd: pattern.cmd, + value: pattern.value + }; + } + } else if (pattern.type === 'inline-format') { + return { + start: pattern.start, + end: pattern.end, + format: pattern.format.length === 1 ? pattern.format[0] : pattern.format + }; + } + }; + var createPatternSet = function (patterns) { + return { + inlinePatterns: filter(patterns, isInlinePattern), + blockPatterns: sortPatterns(filter(patterns, isBlockPattern)) + }; + }; + + var get = function (patternsState) { + var setPatterns = function (newPatterns) { + var normalized = partition(map(newPatterns, normalizePattern)); + if (normalized.errors.length > 0) { + var firstError = normalized.errors[0]; + throw new Error(firstError.message + ':\n' + JSON.stringify(firstError.pattern, null, 2)); + } + patternsState.set(createPatternSet(normalized.values)); + }; + var getPatterns = function () { + return __spreadArray(__spreadArray([], map(patternsState.get().inlinePatterns, denormalizePattern)), map(patternsState.get().blockPatterns, denormalizePattern)); + }; + return { + setPatterns: setPatterns, + getPatterns: getPatterns + }; + }; + + var Global = typeof window !== 'undefined' ? window : Function('return this;')(); + + var error = function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; + } + var console = Global.console; + if (console) { + if (console.error) { + console.error.apply(console, args); + } else { + console.log.apply(console, args); + } + } + }; + var defaultPatterns = [ + { + start: '*', + end: '*', + format: 'italic' + }, + { + start: '**', + end: '**', + format: 'bold' + }, + { + start: '#', + format: 'h1' + }, + { + start: '##', + format: 'h2' + }, + { + start: '###', + format: 'h3' + }, + { + start: '####', + format: 'h4' + }, + { + start: '#####', + format: 'h5' + }, + { + start: '######', + format: 'h6' + }, + { + start: '1. ', + cmd: 'InsertOrderedList' + }, + { + start: '* ', + cmd: 'InsertUnorderedList' + }, + { + start: '- ', + cmd: 'InsertUnorderedList' + } + ]; + var getPatternSet = function (editor) { + var patterns = editor.getParam('textpattern_patterns', defaultPatterns, 'array'); + if (!isArray(patterns)) { + error('The setting textpattern_patterns should be an array'); + return { + inlinePatterns: [], + blockPatterns: [] + }; + } + var normalized = partition(map(patterns, normalizePattern)); + each(normalized.errors, function (err) { + return error(err.message, err.pattern); + }); + return createPatternSet(normalized.values); + }; + var getForcedRootBlock = function (editor) { + var block = editor.getParam('forced_root_block', 'p'); + if (block === false) { + return ''; + } else if (block === true) { + return 'p'; + } else { + return block; + } + }; + + var global$4 = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var global$3 = tinymce.util.Tools.resolve('tinymce.util.VK'); + + var zeroWidth = '\uFEFF'; + var nbsp = '\xA0'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global = tinymce.util.Tools.resolve('tinymce.dom.TextSeeker'); + + var point = function (container, offset) { + return { + container: container, + offset: offset + }; + }; + + var isText = function (node) { + return node.nodeType === Node.TEXT_NODE; + }; + var cleanEmptyNodes = function (dom, node, isRoot) { + if (node && dom.isEmpty(node) && !isRoot(node)) { + var parent_1 = node.parentNode; + dom.remove(node); + cleanEmptyNodes(dom, parent_1, isRoot); + } + }; + var deleteRng = function (dom, rng, isRoot, clean) { + if (clean === void 0) { + clean = true; + } + var startParent = rng.startContainer.parentNode; + var endParent = rng.endContainer.parentNode; + rng.deleteContents(); + if (clean && !isRoot(rng.startContainer)) { + if (isText(rng.startContainer) && rng.startContainer.data.length === 0) { + dom.remove(rng.startContainer); + } + if (isText(rng.endContainer) && rng.endContainer.data.length === 0) { + dom.remove(rng.endContainer); + } + cleanEmptyNodes(dom, startParent, isRoot); + if (startParent !== endParent) { + cleanEmptyNodes(dom, endParent, isRoot); + } + } + }; + var isBlockFormatName = function (name, formatter) { + var formatSet = formatter.get(name); + return isArray(formatSet) && head(formatSet).exists(function (format) { + return has(format, 'block'); + }); + }; + var isReplacementPattern = function (pattern) { + return pattern.start.length === 0; + }; + var getParentBlock = function (editor, rng) { + var parentBlockOpt = Optional.from(editor.dom.getParent(rng.startContainer, editor.dom.isBlock)); + if (getForcedRootBlock(editor) === '') { + return parentBlockOpt.orThunk(function () { + return Optional.some(editor.getBody()); + }); + } else { + return parentBlockOpt; + } + }; + + var DOM = global$1.DOM; + var alwaysNext = function (startNode) { + return function (node) { + return startNode === node ? -1 : 0; + }; + }; + var isBoundary = function (dom) { + return function (node) { + return dom.isBlock(node) || contains([ + 'BR', + 'IMG', + 'HR', + 'INPUT' + ], node.nodeName) || dom.getContentEditable(node) === 'false'; + }; + }; + var textBefore = function (node, offset, rootNode) { + if (isText(node) && offset >= 0) { + return Optional.some(point(node, offset)); + } else { + var textSeeker = global(DOM); + return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).map(function (prev) { + return point(prev.container, prev.container.data.length); + }); + } + }; + var textAfter = function (node, offset, rootNode) { + if (isText(node) && offset >= node.length) { + return Optional.some(point(node, offset)); + } else { + var textSeeker = global(DOM); + return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).map(function (prev) { + return point(prev.container, 0); + }); + } + }; + var scanLeft = function (node, offset, rootNode) { + if (!isText(node)) { + return Optional.none(); + } + var text = node.textContent; + if (offset >= 0 && offset <= text.length) { + return Optional.some(point(node, offset)); + } else { + var textSeeker = global(DOM); + return Optional.from(textSeeker.backwards(node, offset, alwaysNext(node), rootNode)).bind(function (prev) { + var prevText = prev.container.data; + return scanLeft(prev.container, offset + prevText.length, rootNode); + }); + } + }; + var scanRight = function (node, offset, rootNode) { + if (!isText(node)) { + return Optional.none(); + } + var text = node.textContent; + if (offset <= text.length) { + return Optional.some(point(node, offset)); + } else { + var textSeeker = global(DOM); + return Optional.from(textSeeker.forwards(node, offset, alwaysNext(node), rootNode)).bind(function (next) { + return scanRight(next.container, offset - text.length, rootNode); + }); + } + }; + var repeatLeft = function (dom, node, offset, process, rootNode) { + var search = global(dom, isBoundary(dom)); + return Optional.from(search.backwards(node, offset, process, rootNode)); + }; + + var generatePath = function (root, node, offset) { + if (isText(node) && (offset < 0 || offset > node.data.length)) { + return []; + } + var p = [offset]; + var current = node; + while (current !== root && current.parentNode) { + var parent_1 = current.parentNode; + for (var i = 0; i < parent_1.childNodes.length; i++) { + if (parent_1.childNodes[i] === current) { + p.push(i); + break; + } + } + current = parent_1; + } + return current === root ? p.reverse() : []; + }; + var generatePathRange = function (root, startNode, startOffset, endNode, endOffset) { + var start = generatePath(root, startNode, startOffset); + var end = generatePath(root, endNode, endOffset); + return { + start: start, + end: end + }; + }; + var resolvePath = function (root, path) { + var nodePath = path.slice(); + var offset = nodePath.pop(); + var resolvedNode = foldl(nodePath, function (optNode, index) { + return optNode.bind(function (node) { + return Optional.from(node.childNodes[index]); + }); + }, Optional.some(root)); + return resolvedNode.bind(function (node) { + if (isText(node) && (offset < 0 || offset > node.data.length)) { + return Optional.none(); + } else { + return Optional.some({ + node: node, + offset: offset + }); + } + }); + }; + var resolvePathRange = function (root, range) { + return resolvePath(root, range.start).bind(function (_a) { + var startNode = _a.node, startOffset = _a.offset; + return resolvePath(root, range.end).map(function (_a) { + var endNode = _a.node, endOffset = _a.offset; + var rng = document.createRange(); + rng.setStart(startNode, startOffset); + rng.setEnd(endNode, endOffset); + return rng; + }); + }); + }; + var generatePathRangeFromRange = function (root, range) { + return generatePathRange(root, range.startContainer, range.startOffset, range.endContainer, range.endOffset); + }; + + var stripPattern = function (dom, block, pattern) { + var firstTextNode = textAfter(block, 0, block); + firstTextNode.each(function (spot) { + var node = spot.container; + scanRight(node, pattern.start.length, block).each(function (end) { + var rng = dom.createRng(); + rng.setStart(node, 0); + rng.setEnd(end.container, end.offset); + deleteRng(dom, rng, function (e) { + return e === block; + }); + }); + }); + }; + var applyPattern$1 = function (editor, match) { + var dom = editor.dom; + var pattern = match.pattern; + var rng = resolvePathRange(dom.getRoot(), match.range).getOrDie('Unable to resolve path range'); + getParentBlock(editor, rng).each(function (block) { + if (pattern.type === 'block-format') { + if (isBlockFormatName(pattern.format, editor.formatter)) { + editor.undoManager.transact(function () { + stripPattern(editor.dom, block, pattern); + editor.formatter.apply(pattern.format); + }); + } + } else if (pattern.type === 'block-command') { + editor.undoManager.transact(function () { + stripPattern(editor.dom, block, pattern); + editor.execCommand(pattern.cmd, false, pattern.value); + }); + } + }); + return true; + }; + var findPattern$1 = function (patterns, text) { + var nuText = text.replace(nbsp, ' '); + return find(patterns, function (pattern) { + return text.indexOf(pattern.start) === 0 || nuText.indexOf(pattern.start) === 0; + }); + }; + var findPatterns$1 = function (editor, patterns) { + var dom = editor.dom; + var rng = editor.selection.getRng(); + return getParentBlock(editor, rng).filter(function (block) { + var forcedRootBlock = getForcedRootBlock(editor); + var matchesForcedRootBlock = forcedRootBlock === '' && dom.is(block, 'body') || dom.is(block, forcedRootBlock); + return block !== null && matchesForcedRootBlock; + }).bind(function (block) { + var blockText = block.textContent; + var matchedPattern = findPattern$1(patterns, blockText); + return matchedPattern.map(function (pattern) { + if (global$2.trim(blockText).length === pattern.start.length) { + return []; + } + return [{ + pattern: pattern, + range: generatePathRange(dom.getRoot(), block, 0, block, 0) + }]; + }); + }).getOr([]); + }; + var applyMatches$1 = function (editor, matches) { + if (matches.length === 0) { + return; + } + var bookmark = editor.selection.getBookmark(); + each(matches, function (match) { + return applyPattern$1(editor, match); + }); + editor.selection.moveToBookmark(bookmark); + }; + + var unique = 0; + var generate = function (prefix) { + var date = new Date(); + var time = date.getTime(); + var random = Math.floor(Math.random() * 1000000000); + unique++; + return prefix + '_' + random + unique + String(time); + }; + + var checkRange = function (str, substr, start) { + return substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; + }; + var endsWith = function (str, suffix) { + return checkRange(str, suffix, str.length - suffix.length); + }; + + var newMarker = function (dom, id) { + return dom.create('span', { + 'data-mce-type': 'bookmark', + id: id + }); + }; + var rangeFromMarker = function (dom, marker) { + var rng = dom.createRng(); + rng.setStartAfter(marker.start); + rng.setEndBefore(marker.end); + return rng; + }; + var createMarker = function (dom, markerPrefix, pathRange) { + var rng = resolvePathRange(dom.getRoot(), pathRange).getOrDie('Unable to resolve path range'); + var startNode = rng.startContainer; + var endNode = rng.endContainer; + var textEnd = rng.endOffset === 0 ? endNode : endNode.splitText(rng.endOffset); + var textStart = rng.startOffset === 0 ? startNode : startNode.splitText(rng.startOffset); + return { + prefix: markerPrefix, + end: textEnd.parentNode.insertBefore(newMarker(dom, markerPrefix + '-end'), textEnd), + start: textStart.parentNode.insertBefore(newMarker(dom, markerPrefix + '-start'), textStart) + }; + }; + var removeMarker = function (dom, marker, isRoot) { + cleanEmptyNodes(dom, dom.get(marker.prefix + '-end'), isRoot); + cleanEmptyNodes(dom, dom.get(marker.prefix + '-start'), isRoot); + }; + + var matchesPattern = function (dom, block, patternContent) { + return function (element, offset) { + var text = element.data; + var searchText = text.substring(0, offset); + var startEndIndex = searchText.lastIndexOf(patternContent.charAt(patternContent.length - 1)); + var startIndex = searchText.lastIndexOf(patternContent); + if (startIndex !== -1) { + return startIndex + patternContent.length; + } else if (startEndIndex !== -1) { + return startEndIndex + 1; + } else { + return -1; + } + }; + }; + var findPatternStartFromSpot = function (dom, pattern, block, spot) { + var startPattern = pattern.start; + var startSpot = repeatLeft(dom, spot.container, spot.offset, matchesPattern(dom, block, startPattern), block); + return startSpot.bind(function (spot) { + if (spot.offset >= startPattern.length) { + var rng = dom.createRng(); + rng.setStart(spot.container, spot.offset - startPattern.length); + rng.setEnd(spot.container, spot.offset); + return Optional.some(rng); + } else { + var offset = spot.offset - startPattern.length; + return scanLeft(spot.container, offset, block).map(function (nextSpot) { + var rng = dom.createRng(); + rng.setStart(nextSpot.container, nextSpot.offset); + rng.setEnd(spot.container, spot.offset); + return rng; + }).filter(function (rng) { + return rng.toString() === startPattern; + }).orThunk(function () { + return findPatternStartFromSpot(dom, pattern, block, point(spot.container, 0)); + }); + } + }); + }; + var findPatternStart = function (dom, pattern, node, offset, block, requireGap) { + if (requireGap === void 0) { + requireGap = false; + } + if (pattern.start.length === 0 && !requireGap) { + var rng = dom.createRng(); + rng.setStart(node, offset); + rng.setEnd(node, offset); + return Optional.some(rng); + } + return textBefore(node, offset, block).bind(function (spot) { + var start = findPatternStartFromSpot(dom, pattern, block, spot); + return start.bind(function (startRange) { + if (requireGap) { + if (startRange.endContainer === spot.container && startRange.endOffset === spot.offset) { + return Optional.none(); + } else if (spot.offset === 0 && startRange.endContainer.textContent.length === startRange.endOffset) { + return Optional.none(); + } + } + return Optional.some(startRange); + }); + }); + }; + var findPattern = function (editor, block, details) { + var dom = editor.dom; + var root = dom.getRoot(); + var pattern = details.pattern; + var endNode = details.position.container; + var endOffset = details.position.offset; + return scanLeft(endNode, endOffset - details.pattern.end.length, block).bind(function (spot) { + var endPathRng = generatePathRange(root, spot.container, spot.offset, endNode, endOffset); + if (isReplacementPattern(pattern)) { + return Optional.some({ + matches: [{ + pattern: pattern, + startRng: endPathRng, + endRng: endPathRng + }], + position: spot + }); + } else { + var resultsOpt = findPatternsRec(editor, details.remainingPatterns, spot.container, spot.offset, block); + var results_1 = resultsOpt.getOr({ + matches: [], + position: spot + }); + var pos = results_1.position; + var start = findPatternStart(dom, pattern, pos.container, pos.offset, block, resultsOpt.isNone()); + return start.map(function (startRng) { + var startPathRng = generatePathRangeFromRange(root, startRng); + return { + matches: results_1.matches.concat([{ + pattern: pattern, + startRng: startPathRng, + endRng: endPathRng + }]), + position: point(startRng.startContainer, startRng.startOffset) + }; + }); + } + }); + }; + var findPatternsRec = function (editor, patterns, node, offset, block) { + var dom = editor.dom; + return textBefore(node, offset, dom.getRoot()).bind(function (endSpot) { + var rng = dom.createRng(); + rng.setStart(block, 0); + rng.setEnd(node, offset); + var text = rng.toString(); + for (var i = 0; i < patterns.length; i++) { + var pattern = patterns[i]; + if (!endsWith(text, pattern.end)) { + continue; + } + var patternsWithoutCurrent = patterns.slice(); + patternsWithoutCurrent.splice(i, 1); + var result = findPattern(editor, block, { + pattern: pattern, + remainingPatterns: patternsWithoutCurrent, + position: endSpot + }); + if (result.isSome()) { + return result; + } + } + return Optional.none(); + }); + }; + var applyPattern = function (editor, pattern, patternRange) { + editor.selection.setRng(patternRange); + if (pattern.type === 'inline-format') { + each(pattern.format, function (format) { + editor.formatter.apply(format); + }); + } else { + editor.execCommand(pattern.cmd, false, pattern.value); + } + }; + var applyReplacementPattern = function (editor, pattern, marker, isRoot) { + var markerRange = rangeFromMarker(editor.dom, marker); + deleteRng(editor.dom, markerRange, isRoot); + applyPattern(editor, pattern, markerRange); + }; + var applyPatternWithContent = function (editor, pattern, startMarker, endMarker, isRoot) { + var dom = editor.dom; + var markerEndRange = rangeFromMarker(dom, endMarker); + var markerStartRange = rangeFromMarker(dom, startMarker); + deleteRng(dom, markerStartRange, isRoot); + deleteRng(dom, markerEndRange, isRoot); + var patternMarker = { + prefix: startMarker.prefix, + start: startMarker.end, + end: endMarker.start + }; + var patternRange = rangeFromMarker(dom, patternMarker); + applyPattern(editor, pattern, patternRange); + }; + var addMarkers = function (dom, matches) { + var markerPrefix = generate('mce_textpattern'); + var matchesWithEnds = foldr(matches, function (acc, match) { + var endMarker = createMarker(dom, markerPrefix + ('_end' + acc.length), match.endRng); + return acc.concat([__assign(__assign({}, match), { endMarker: endMarker })]); + }, []); + return foldr(matchesWithEnds, function (acc, match) { + var idx = matchesWithEnds.length - acc.length - 1; + var startMarker = isReplacementPattern(match.pattern) ? match.endMarker : createMarker(dom, markerPrefix + ('_start' + idx), match.startRng); + return acc.concat([__assign(__assign({}, match), { startMarker: startMarker })]); + }, []); + }; + var findPatterns = function (editor, patterns, space) { + var rng = editor.selection.getRng(); + if (rng.collapsed === false) { + return []; + } + return getParentBlock(editor, rng).bind(function (block) { + var offset = rng.startOffset - (space ? 1 : 0); + return findPatternsRec(editor, patterns, rng.startContainer, offset, block); + }).fold(function () { + return []; + }, function (result) { + return result.matches; + }); + }; + var applyMatches = function (editor, matches) { + if (matches.length === 0) { + return; + } + var dom = editor.dom; + var bookmark = editor.selection.getBookmark(); + var matchesWithMarkers = addMarkers(dom, matches); + each(matchesWithMarkers, function (match) { + var block = dom.getParent(match.startMarker.start, dom.isBlock); + var isRoot = function (node) { + return node === block; + }; + if (isReplacementPattern(match.pattern)) { + applyReplacementPattern(editor, match.pattern, match.endMarker, isRoot); + } else { + applyPatternWithContent(editor, match.pattern, match.startMarker, match.endMarker, isRoot); + } + removeMarker(dom, match.endMarker, isRoot); + removeMarker(dom, match.startMarker, isRoot); + }); + editor.selection.moveToBookmark(bookmark); + }; + + var handleEnter = function (editor, patternSet) { + if (!editor.selection.isCollapsed()) { + return false; + } + var inlineMatches = findPatterns(editor, patternSet.inlinePatterns, false); + var blockMatches = findPatterns$1(editor, patternSet.blockPatterns); + if (blockMatches.length > 0 || inlineMatches.length > 0) { + editor.undoManager.add(); + editor.undoManager.extra(function () { + editor.execCommand('mceInsertNewLine'); + }, function () { + editor.insertContent(zeroWidth); + applyMatches(editor, inlineMatches); + applyMatches$1(editor, blockMatches); + var range = editor.selection.getRng(); + var spot = textBefore(range.startContainer, range.startOffset, editor.dom.getRoot()); + editor.execCommand('mceInsertNewLine'); + spot.each(function (s) { + var node = s.container; + if (node.data.charAt(s.offset - 1) === zeroWidth) { + node.deleteData(s.offset - 1, 1); + cleanEmptyNodes(editor.dom, node.parentNode, function (e) { + return e === editor.dom.getRoot(); + }); + } + }); + }); + return true; + } + return false; + }; + var handleInlineKey = function (editor, patternSet) { + var inlineMatches = findPatterns(editor, patternSet.inlinePatterns, true); + if (inlineMatches.length > 0) { + editor.undoManager.transact(function () { + applyMatches(editor, inlineMatches); + }); + } + }; + var checkKeyEvent = function (codes, event, predicate) { + for (var i = 0; i < codes.length; i++) { + if (predicate(codes[i], event)) { + return true; + } + } + return false; + }; + var checkKeyCode = function (codes, event) { + return checkKeyEvent(codes, event, function (code, event) { + return code === event.keyCode && global$3.modifierPressed(event) === false; + }); + }; + var checkCharCode = function (chars, event) { + return checkKeyEvent(chars, event, function (chr, event) { + return chr.charCodeAt(0) === event.charCode; + }); + }; + + var setup = function (editor, patternsState) { + var charCodes = [ + ',', + '.', + ';', + ':', + '!', + '?' + ]; + var keyCodes = [32]; + editor.on('keydown', function (e) { + if (e.keyCode === 13 && !global$3.modifierPressed(e)) { + if (handleEnter(editor, patternsState.get())) { + e.preventDefault(); + } + } + }, true); + editor.on('keyup', function (e) { + if (checkKeyCode(keyCodes, e)) { + handleInlineKey(editor, patternsState.get()); + } + }); + editor.on('keypress', function (e) { + if (checkCharCode(charCodes, e)) { + global$4.setEditorTimeout(editor, function () { + handleInlineKey(editor, patternsState.get()); + }); + } + }); + }; + + function Plugin () { + global$5.add('textpattern', function (editor) { + var patternsState = Cell(getPatternSet(editor)); + setup(editor, patternsState); + return get(patternsState); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$3 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var global$2 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils'); + + var global$1 = tinymce.util.Tools.resolve('tinymce.util.I18n'); + + var global = tinymce.util.Tools.resolve('tinymce.util.Tools'); + + var getTocClass = function (editor) { + return editor.getParam('toc_class', 'mce-toc'); + }; + var getTocHeader = function (editor) { + var tagName = editor.getParam('toc_header', 'h2'); + return /^h[1-6]$/.test(tagName) ? tagName : 'h2'; + }; + var getTocDepth = function (editor) { + var depth = parseInt(editor.getParam('toc_depth', '3'), 10); + return depth >= 1 && depth <= 9 ? depth : 3; + }; + + var create = function (prefix) { + var counter = 0; + return function () { + var guid = new Date().getTime().toString(32); + return prefix + guid + (counter++).toString(32); + }; + }; + + var tocId = create('mcetoc_'); + var generateSelector = function (depth) { + var i; + var selector = []; + for (i = 1; i <= depth; i++) { + selector.push('h' + i); + } + return selector.join(','); + }; + var hasHeaders = function (editor) { + return readHeaders(editor).length > 0; + }; + var readHeaders = function (editor) { + var tocClass = getTocClass(editor); + var headerTag = getTocHeader(editor); + var selector = generateSelector(getTocDepth(editor)); + var headers = editor.$(selector); + if (headers.length && /^h[1-9]$/i.test(headerTag)) { + headers = headers.filter(function (i, el) { + return !editor.dom.hasClass(el.parentNode, tocClass); + }); + } + return global.map(headers, function (h) { + var id = h.id; + return { + id: id ? id : tocId(), + level: parseInt(h.nodeName.replace(/^H/i, ''), 10), + title: editor.$.text(h), + element: h + }; + }); + }; + var getMinLevel = function (headers) { + var minLevel = 9; + for (var i = 0; i < headers.length; i++) { + if (headers[i].level < minLevel) { + minLevel = headers[i].level; + } + if (minLevel === 1) { + return minLevel; + } + } + return minLevel; + }; + var generateTitle = function (tag, title) { + var openTag = '<' + tag + ' contenteditable="true">'; + var closeTag = ''; + return openTag + global$2.DOM.encode(title) + closeTag; + }; + var generateTocHtml = function (editor) { + var html = generateTocContentHtml(editor); + return '
' + html + '
'; + }; + var generateTocContentHtml = function (editor) { + var html = ''; + var headers = readHeaders(editor); + var prevLevel = getMinLevel(headers) - 1; + if (!headers.length) { + return ''; + } + html += generateTitle(getTocHeader(editor), global$1.translate('Table of Contents')); + for (var i = 0; i < headers.length; i++) { + var h = headers[i]; + h.element.id = h.id; + var nextLevel = headers[i + 1] && headers[i + 1].level; + if (prevLevel === h.level) { + html += '
  • '; + } else { + for (var ii = prevLevel; ii < h.level; ii++) { + html += '
    • '; + } + } + html += '' + h.title + ''; + if (nextLevel === h.level || !nextLevel) { + html += '
    • '; + if (!nextLevel) { + html += '
    '; + } + } else { + for (var ii = h.level; ii > nextLevel; ii--) { + html += '
  • '; + } + } + prevLevel = h.level; + } + return html; + }; + var isEmptyOrOffscreen = function (editor, nodes) { + return !nodes.length || editor.dom.getParents(nodes[0], '.mce-offscreen-selection').length > 0; + }; + var insertToc = function (editor) { + var tocClass = getTocClass(editor); + var $tocElm = editor.$('.' + tocClass); + if (isEmptyOrOffscreen(editor, $tocElm)) { + editor.insertContent(generateTocHtml(editor)); + } else { + updateToc(editor); + } + }; + var updateToc = function (editor) { + var tocClass = getTocClass(editor); + var $tocElm = editor.$('.' + tocClass); + if ($tocElm.length) { + editor.undoManager.transact(function () { + $tocElm.html(generateTocContentHtml(editor)); + }); + } + }; + + var register$1 = function (editor) { + editor.addCommand('mceInsertToc', function () { + insertToc(editor); + }); + editor.addCommand('mceUpdateToc', function () { + updateToc(editor); + }); + }; + + var setup = function (editor) { + var $ = editor.$, tocClass = getTocClass(editor); + editor.on('PreProcess', function (e) { + var $tocElm = $('.' + tocClass, e.node); + if ($tocElm.length) { + $tocElm.removeAttr('contentEditable'); + $tocElm.find('[contenteditable]').removeAttr('contentEditable'); + } + }); + editor.on('SetContent', function () { + var $tocElm = $('.' + tocClass); + if ($tocElm.length) { + $tocElm.attr('contentEditable', false); + $tocElm.children(':first-child').attr('contentEditable', true); + } + }); + }; + + var toggleState = function (editor) { + return function (api) { + var toggleDisabledState = function () { + return api.setDisabled(editor.mode.isReadOnly() || !hasHeaders(editor)); + }; + toggleDisabledState(); + editor.on('LoadContent SetContent change', toggleDisabledState); + return function () { + return editor.on('LoadContent SetContent change', toggleDisabledState); + }; + }; + }; + var isToc = function (editor) { + return function (elm) { + return elm && editor.dom.is(elm, '.' + getTocClass(editor)) && editor.getBody().contains(elm); + }; + }; + var register = function (editor) { + var insertTocAction = function () { + return editor.execCommand('mceInsertToc'); + }; + editor.ui.registry.addButton('toc', { + icon: 'toc', + tooltip: 'Table of contents', + onAction: insertTocAction, + onSetup: toggleState(editor) + }); + editor.ui.registry.addButton('tocupdate', { + icon: 'reload', + tooltip: 'Update', + onAction: function () { + return editor.execCommand('mceUpdateToc'); + } + }); + editor.ui.registry.addMenuItem('toc', { + icon: 'toc', + text: 'Table of contents', + onAction: insertTocAction, + onSetup: toggleState(editor) + }); + editor.ui.registry.addContextToolbar('toc', { + items: 'tocupdate', + predicate: isToc(editor), + scope: 'node', + position: 'node' + }); + }; + + function Plugin () { + global$3.add('toc', function (editor) { + register$1(editor); + register(editor); + setup(editor); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var fireVisualBlocks = function (editor, state) { + editor.fire('VisualBlocks', { state: state }); + }; + + var toggleVisualBlocks = function (editor, pluginUrl, enabledState) { + var dom = editor.dom; + dom.toggleClass(editor.getBody(), 'mce-visualblocks'); + enabledState.set(!enabledState.get()); + fireVisualBlocks(editor, enabledState.get()); + }; + + var register$1 = function (editor, pluginUrl, enabledState) { + editor.addCommand('mceVisualBlocks', function () { + toggleVisualBlocks(editor, pluginUrl, enabledState); + }); + }; + + var isEnabledByDefault = function (editor) { + return editor.getParam('visualblocks_default_state', false, 'boolean'); + }; + + var setup = function (editor, pluginUrl, enabledState) { + editor.on('PreviewFormats AfterPreviewFormats', function (e) { + if (enabledState.get()) { + editor.dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type === 'afterpreviewformats'); + } + }); + editor.on('init', function () { + if (isEnabledByDefault(editor)) { + toggleVisualBlocks(editor, pluginUrl, enabledState); + } + }); + }; + + var toggleActiveState = function (editor, enabledState) { + return function (api) { + api.setActive(enabledState.get()); + var editorEventCallback = function (e) { + return api.setActive(e.state); + }; + editor.on('VisualBlocks', editorEventCallback); + return function () { + return editor.off('VisualBlocks', editorEventCallback); + }; + }; + }; + var register = function (editor, enabledState) { + var onAction = function () { + return editor.execCommand('mceVisualBlocks'); + }; + editor.ui.registry.addToggleButton('visualblocks', { + icon: 'visualblocks', + tooltip: 'Show blocks', + onAction: onAction, + onSetup: toggleActiveState(editor, enabledState) + }); + editor.ui.registry.addToggleMenuItem('visualblocks', { + text: 'Show blocks', + icon: 'visualblocks', + onAction: onAction, + onSetup: toggleActiveState(editor, enabledState) + }); + }; + + function Plugin () { + global.add('visualblocks', function (editor, pluginUrl) { + var enabledState = Cell(false); + register$1(editor, pluginUrl, enabledState); + register(editor, enabledState); + setup(editor, pluginUrl, enabledState); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var Cell = function (initial) { + var value = initial; + var get = function () { + return value; + }; + var set = function (v) { + value = v; + }; + return { + get: get, + set: set + }; + }; + + var global$1 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var get$2 = function (toggleState) { + var isEnabled = function () { + return toggleState.get(); + }; + return { isEnabled: isEnabled }; + }; + + var fireVisualChars = function (editor, state) { + return editor.fire('VisualChars', { state: state }); + }; + + var typeOf = function (x) { + var t = typeof x; + if (x === null) { + return 'null'; + } else if (t === 'object' && (Array.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'Array')) { + return 'array'; + } else if (t === 'object' && (String.prototype.isPrototypeOf(x) || x.constructor && x.constructor.name === 'String')) { + return 'string'; + } else { + return t; + } + }; + var isType$1 = function (type) { + return function (value) { + return typeOf(value) === type; + }; + }; + var isSimpleType = function (type) { + return function (value) { + return typeof value === type; + }; + }; + var isString = isType$1('string'); + var isBoolean = isSimpleType('boolean'); + var isNumber = isSimpleType('number'); + + var noop = function () { + }; + var constant = function (value) { + return function () { + return value; + }; + }; + var identity = function (x) { + return x; + }; + var never = constant(false); + var always = constant(true); + + var none = function () { + return NONE; + }; + var NONE = function () { + var call = function (thunk) { + return thunk(); + }; + var id = identity; + var me = { + fold: function (n, _s) { + return n(); + }, + isSome: never, + isNone: always, + getOr: id, + getOrThunk: call, + getOrDie: function (msg) { + throw new Error(msg || 'error: getOrDie called on none.'); + }, + getOrNull: constant(null), + getOrUndefined: constant(undefined), + or: id, + orThunk: call, + map: none, + each: noop, + bind: none, + exists: never, + forall: always, + filter: function () { + return none(); + }, + toArray: function () { + return []; + }, + toString: constant('none()') + }; + return me; + }(); + var some = function (a) { + var constant_a = constant(a); + var self = function () { + return me; + }; + var bind = function (f) { + return f(a); + }; + var me = { + fold: function (n, s) { + return s(a); + }, + isSome: always, + isNone: never, + getOr: constant_a, + getOrThunk: constant_a, + getOrDie: constant_a, + getOrNull: constant_a, + getOrUndefined: constant_a, + or: self, + orThunk: self, + map: function (f) { + return some(f(a)); + }, + each: function (f) { + f(a); + }, + bind: bind, + exists: bind, + forall: bind, + filter: function (f) { + return f(a) ? me : NONE; + }, + toArray: function () { + return [a]; + }, + toString: function () { + return 'some(' + a + ')'; + } + }; + return me; + }; + var from = function (value) { + return value === null || value === undefined ? NONE : some(value); + }; + var Optional = { + some: some, + none: none, + from: from + }; + + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + var each$1 = function (xs, f) { + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + f(x, i); + } + }; + var filter = function (xs, pred) { + var r = []; + for (var i = 0, len = xs.length; i < len; i++) { + var x = xs[i]; + if (pred(x, i)) { + r.push(x); + } + } + return r; + }; + + var keys = Object.keys; + var each = function (obj, f) { + var props = keys(obj); + for (var k = 0, len = props.length; k < len; k++) { + var i = props[k]; + var x = obj[i]; + f(x, i); + } + }; + + typeof window !== 'undefined' ? window : Function('return this;')(); + + var TEXT = 3; + + var type = function (element) { + return element.dom.nodeType; + }; + var value = function (element) { + return element.dom.nodeValue; + }; + var isType = function (t) { + return function (element) { + return type(element) === t; + }; + }; + var isText = isType(TEXT); + + var rawSet = function (dom, key, value) { + if (isString(value) || isBoolean(value) || isNumber(value)) { + dom.setAttribute(key, value + ''); + } else { + console.error('Invalid call to Attribute.set. Key ', key, ':: Value ', value, ':: Element ', dom); + throw new Error('Attribute value was not simple'); + } + }; + var set = function (element, key, value) { + rawSet(element.dom, key, value); + }; + var get$1 = function (element, key) { + var v = element.dom.getAttribute(key); + return v === null ? undefined : v; + }; + var remove$3 = function (element, key) { + element.dom.removeAttribute(key); + }; + + var read = function (element, attr) { + var value = get$1(element, attr); + return value === undefined || value === '' ? [] : value.split(' '); + }; + var add$2 = function (element, attr, id) { + var old = read(element, attr); + var nu = old.concat([id]); + set(element, attr, nu.join(' ')); + return true; + }; + var remove$2 = function (element, attr, id) { + var nu = filter(read(element, attr), function (v) { + return v !== id; + }); + if (nu.length > 0) { + set(element, attr, nu.join(' ')); + } else { + remove$3(element, attr); + } + return false; + }; + + var supports = function (element) { + return element.dom.classList !== undefined; + }; + var get = function (element) { + return read(element, 'class'); + }; + var add$1 = function (element, clazz) { + return add$2(element, 'class', clazz); + }; + var remove$1 = function (element, clazz) { + return remove$2(element, 'class', clazz); + }; + + var add = function (element, clazz) { + if (supports(element)) { + element.dom.classList.add(clazz); + } else { + add$1(element, clazz); + } + }; + var cleanClass = function (element) { + var classList = supports(element) ? element.dom.classList : get(element); + if (classList.length === 0) { + remove$3(element, 'class'); + } + }; + var remove = function (element, clazz) { + if (supports(element)) { + var classList = element.dom.classList; + classList.remove(clazz); + } else { + remove$1(element, clazz); + } + cleanClass(element); + }; + + var fromHtml = function (html, scope) { + var doc = scope || document; + var div = doc.createElement('div'); + div.innerHTML = html; + if (!div.hasChildNodes() || div.childNodes.length > 1) { + console.error('HTML does not have a single root node', html); + throw new Error('HTML must have a single root node'); + } + return fromDom(div.childNodes[0]); + }; + var fromTag = function (tag, scope) { + var doc = scope || document; + var node = doc.createElement(tag); + return fromDom(node); + }; + var fromText = function (text, scope) { + var doc = scope || document; + var node = doc.createTextNode(text); + return fromDom(node); + }; + var fromDom = function (node) { + if (node === null || node === undefined) { + throw new Error('Node cannot be null or undefined'); + } + return { dom: node }; + }; + var fromPoint = function (docElm, x, y) { + return Optional.from(docElm.dom.elementFromPoint(x, y)).map(fromDom); + }; + var SugarElement = { + fromHtml: fromHtml, + fromTag: fromTag, + fromText: fromText, + fromDom: fromDom, + fromPoint: fromPoint + }; + + var charMap = { + '\xA0': 'nbsp', + '\xAD': 'shy' + }; + var charMapToRegExp = function (charMap, global) { + var regExp = ''; + each(charMap, function (_value, key) { + regExp += key; + }); + return new RegExp('[' + regExp + ']', global ? 'g' : ''); + }; + var charMapToSelector = function (charMap) { + var selector = ''; + each(charMap, function (value) { + if (selector) { + selector += ','; + } + selector += 'span.mce-' + value; + }); + return selector; + }; + var regExp = charMapToRegExp(charMap); + var regExpGlobal = charMapToRegExp(charMap, true); + var selector = charMapToSelector(charMap); + var nbspClass = 'mce-nbsp'; + + var wrapCharWithSpan = function (value) { + return '' + value + ''; + }; + + var isMatch = function (n) { + var value$1 = value(n); + return isText(n) && value$1 !== undefined && regExp.test(value$1); + }; + var filterDescendants = function (scope, predicate) { + var result = []; + var dom = scope.dom; + var children = map(dom.childNodes, SugarElement.fromDom); + each$1(children, function (x) { + if (predicate(x)) { + result = result.concat([x]); + } + result = result.concat(filterDescendants(x, predicate)); + }); + return result; + }; + var findParentElm = function (elm, rootElm) { + while (elm.parentNode) { + if (elm.parentNode === rootElm) { + return elm; + } + elm = elm.parentNode; + } + }; + var replaceWithSpans = function (text) { + return text.replace(regExpGlobal, wrapCharWithSpan); + }; + + var isWrappedNbsp = function (node) { + return node.nodeName.toLowerCase() === 'span' && node.classList.contains('mce-nbsp-wrap'); + }; + var show = function (editor, rootElm) { + var nodeList = filterDescendants(SugarElement.fromDom(rootElm), isMatch); + each$1(nodeList, function (n) { + var parent = n.dom.parentNode; + if (isWrappedNbsp(parent)) { + add(SugarElement.fromDom(parent), nbspClass); + } else { + var withSpans = replaceWithSpans(editor.dom.encode(value(n))); + var div = editor.dom.create('div', null, withSpans); + var node = void 0; + while (node = div.lastChild) { + editor.dom.insertAfter(node, n.dom); + } + editor.dom.remove(n.dom); + } + }); + }; + var hide = function (editor, rootElm) { + var nodeList = editor.dom.select(selector, rootElm); + each$1(nodeList, function (node) { + if (isWrappedNbsp(node)) { + remove(SugarElement.fromDom(node), nbspClass); + } else { + editor.dom.remove(node, true); + } + }); + }; + var toggle = function (editor) { + var body = editor.getBody(); + var bookmark = editor.selection.getBookmark(); + var parentNode = findParentElm(editor.selection.getNode(), body); + parentNode = parentNode !== undefined ? parentNode : body; + hide(editor, parentNode); + show(editor, parentNode); + editor.selection.moveToBookmark(bookmark); + }; + + var applyVisualChars = function (editor, toggleState) { + fireVisualChars(editor, toggleState.get()); + var body = editor.getBody(); + if (toggleState.get() === true) { + show(editor, body); + } else { + hide(editor, body); + } + }; + var toggleVisualChars = function (editor, toggleState) { + toggleState.set(!toggleState.get()); + var bookmark = editor.selection.getBookmark(); + applyVisualChars(editor, toggleState); + editor.selection.moveToBookmark(bookmark); + }; + + var register$1 = function (editor, toggleState) { + editor.addCommand('mceVisualChars', function () { + toggleVisualChars(editor, toggleState); + }); + }; + + var isEnabledByDefault = function (editor) { + return editor.getParam('visualchars_default_state', false); + }; + var hasForcedRootBlock = function (editor) { + return editor.getParam('forced_root_block') !== false; + }; + + var setup$1 = function (editor, toggleState) { + editor.on('init', function () { + applyVisualChars(editor, toggleState); + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var setup = function (editor, toggleState) { + var debouncedToggle = global.debounce(function () { + toggle(editor); + }, 300); + if (hasForcedRootBlock(editor)) { + editor.on('keydown', function (e) { + if (toggleState.get() === true) { + e.keyCode === 13 ? toggle(editor) : debouncedToggle(); + } + }); + } + editor.on('remove', debouncedToggle.stop); + }; + + var toggleActiveState = function (editor, enabledStated) { + return function (api) { + api.setActive(enabledStated.get()); + var editorEventCallback = function (e) { + return api.setActive(e.state); + }; + editor.on('VisualChars', editorEventCallback); + return function () { + return editor.off('VisualChars', editorEventCallback); + }; + }; + }; + var register = function (editor, toggleState) { + var onAction = function () { + return editor.execCommand('mceVisualChars'); + }; + editor.ui.registry.addToggleButton('visualchars', { + tooltip: 'Show invisible characters', + icon: 'visualchars', + onAction: onAction, + onSetup: toggleActiveState(editor, toggleState) + }); + editor.ui.registry.addToggleMenuItem('visualchars', { + text: 'Show invisible characters', + icon: 'visualchars', + onAction: onAction, + onSetup: toggleActiveState(editor, toggleState) + }); + }; + + function Plugin () { + global$1.add('visualchars', function (editor) { + var toggleState = Cell(isEnabledByDefault(editor)); + register$1(editor, toggleState); + register(editor, toggleState); + setup(editor, toggleState); + setup$1(editor, toggleState); + return get$2(toggleState); + }); + } + + Plugin(); + +}()); + +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + * + * Version: 5.9.2 (2021-09-08) + */ +(function () { + 'use strict'; + + var global$2 = tinymce.util.Tools.resolve('tinymce.PluginManager'); + + var identity = function (x) { + return x; + }; + + var __assign = function () { + __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) + if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); + }; + + var zeroWidth = '\uFEFF'; + var removeZwsp = function (s) { + return s.replace(/\uFEFF/g, ''); + }; + + var map = function (xs, f) { + var len = xs.length; + var r = new Array(len); + for (var i = 0; i < len; i++) { + var x = xs[i]; + r[i] = f(x, i); + } + return r; + }; + + var punctuationStr = '[!-#%-*,-\\/:;?@\\[-\\]_{}\xA1\xAB\xB7\xBB\xBF;\xB7\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1361-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u3008\u3009\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30\u2E31\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uff3f\uFF5B\uFF5D\uFF5F-\uFF65]'; + var regExps = { + aletter: '[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05F3\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bc0-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24B6-\u24E9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u303b\u303c\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790\ua791\ua7a0-\ua7a9\ua7fa-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]', + midnumlet: '[-\'\\.\u2018\u2019\u2024\uFE52\uFF07\uFF0E]', + midletter: '[:\xB7\xB7\u05F4\u2027\uFE13\uFE55\uFF1A]', + midnum: '[\xB1+*/,;;\u0589\u060C\u060D\u066C\u07F8\u2044\uFE10\uFE14\uFE50\uFE54\uFF0C\uFF1B]', + numeric: '[0-9\u0660-\u0669\u066B\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9]', + cr: '\\r', + lf: '\\n', + newline: '[\x0B\f\x85\u2028\u2029]', + extend: '[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b6-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u192b\u1930-\u193b\u19b0-\u19c0\u19c8\u19c9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1baa\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\uA672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]', + format: '[\xAD\u0600-\u0603\u06DD\u070F\u17b4\u17b5\u200E\u200F\u202A-\u202E\u2060-\u2064\u206A-\u206F\uFEFF\uFFF9-\uFFFB]', + katakana: '[\u3031-\u3035\u309B\u309C\u30A0-\u30fa\u30fc-\u30ff\u31f0-\u31ff\u32D0-\u32FE\u3300-\u3357\uff66-\uff9d]', + extendnumlet: '[=_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f\u2200-\u22FF<>]', + punctuation: punctuationStr + }; + var characterIndices = { + ALETTER: 0, + MIDNUMLET: 1, + MIDLETTER: 2, + MIDNUM: 3, + NUMERIC: 4, + CR: 5, + LF: 6, + NEWLINE: 7, + EXTEND: 8, + FORMAT: 9, + KATAKANA: 10, + EXTENDNUMLET: 11, + AT: 12, + OTHER: 13 + }; + var SETS$1 = [ + new RegExp(regExps.aletter), + new RegExp(regExps.midnumlet), + new RegExp(regExps.midletter), + new RegExp(regExps.midnum), + new RegExp(regExps.numeric), + new RegExp(regExps.cr), + new RegExp(regExps.lf), + new RegExp(regExps.newline), + new RegExp(regExps.extend), + new RegExp(regExps.format), + new RegExp(regExps.katakana), + new RegExp(regExps.extendnumlet), + new RegExp('@') + ]; + var EMPTY_STRING$1 = ''; + var PUNCTUATION$1 = new RegExp('^' + regExps.punctuation + '$'); + var WHITESPACE$1 = /^\s+$/; + + var SETS = SETS$1; + var OTHER = characterIndices.OTHER; + var getType = function (char) { + var type = OTHER; + var setsLength = SETS.length; + for (var j = 0; j < setsLength; ++j) { + var set = SETS[j]; + if (set && set.test(char)) { + type = j; + break; + } + } + return type; + }; + var memoize = function (func) { + var cache = {}; + return function (char) { + if (cache[char]) { + return cache[char]; + } else { + var result = func(char); + cache[char] = result; + return result; + } + }; + }; + var classify = function (characters) { + var memoized = memoize(getType); + return map(characters, memoized); + }; + + var isWordBoundary = function (map, index) { + var type = map[index]; + var nextType = map[index + 1]; + if (index < 0 || index > map.length - 1 && index !== 0) { + return false; + } + if (type === characterIndices.ALETTER && nextType === characterIndices.ALETTER) { + return false; + } + var nextNextType = map[index + 2]; + if (type === characterIndices.ALETTER && (nextType === characterIndices.MIDLETTER || nextType === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextNextType === characterIndices.ALETTER) { + return false; + } + var prevType = map[index - 1]; + if ((type === characterIndices.MIDLETTER || type === characterIndices.MIDNUMLET || nextType === characterIndices.AT) && nextType === characterIndices.ALETTER && prevType === characterIndices.ALETTER) { + return false; + } + if ((type === characterIndices.NUMERIC || type === characterIndices.ALETTER) && (nextType === characterIndices.NUMERIC || nextType === characterIndices.ALETTER)) { + return false; + } + if ((type === characterIndices.MIDNUM || type === characterIndices.MIDNUMLET) && nextType === characterIndices.NUMERIC && prevType === characterIndices.NUMERIC) { + return false; + } + if (type === characterIndices.NUMERIC && (nextType === characterIndices.MIDNUM || nextType === characterIndices.MIDNUMLET) && nextNextType === characterIndices.NUMERIC) { + return false; + } + if (type === characterIndices.EXTEND || type === characterIndices.FORMAT || prevType === characterIndices.EXTEND || prevType === characterIndices.FORMAT || nextType === characterIndices.EXTEND || nextType === characterIndices.FORMAT) { + return false; + } + if (type === characterIndices.CR && nextType === characterIndices.LF) { + return false; + } + if (type === characterIndices.NEWLINE || type === characterIndices.CR || type === characterIndices.LF) { + return true; + } + if (nextType === characterIndices.NEWLINE || nextType === characterIndices.CR || nextType === characterIndices.LF) { + return true; + } + if (type === characterIndices.KATAKANA && nextType === characterIndices.KATAKANA) { + return false; + } + if (nextType === characterIndices.EXTENDNUMLET && (type === characterIndices.ALETTER || type === characterIndices.NUMERIC || type === characterIndices.KATAKANA || type === characterIndices.EXTENDNUMLET)) { + return false; + } + if (type === characterIndices.EXTENDNUMLET && (nextType === characterIndices.ALETTER || nextType === characterIndices.NUMERIC || nextType === characterIndices.KATAKANA)) { + return false; + } + if (type === characterIndices.AT) { + return false; + } + return true; + }; + + var EMPTY_STRING = EMPTY_STRING$1; + var WHITESPACE = WHITESPACE$1; + var PUNCTUATION = PUNCTUATION$1; + var isProtocol = function (str) { + return str === 'http' || str === 'https'; + }; + var findWordEnd = function (characters, startIndex) { + var i; + for (i = startIndex; i < characters.length; i++) { + if (WHITESPACE.test(characters[i])) { + break; + } + } + return i; + }; + var findUrlEnd = function (characters, startIndex) { + var endIndex = findWordEnd(characters, startIndex + 1); + var peakedWord = characters.slice(startIndex + 1, endIndex).join(EMPTY_STRING); + return peakedWord.substr(0, 3) === '://' ? endIndex : startIndex; + }; + var findWords = function (chars, sChars, characterMap, options) { + var words = []; + var word = []; + for (var i = 0; i < characterMap.length; ++i) { + word.push(chars[i]); + if (isWordBoundary(characterMap, i)) { + var ch = sChars[i]; + if ((options.includeWhitespace || !WHITESPACE.test(ch)) && (options.includePunctuation || !PUNCTUATION.test(ch))) { + var startOfWord = i - word.length + 1; + var endOfWord = i + 1; + var str = sChars.slice(startOfWord, endOfWord).join(EMPTY_STRING); + if (isProtocol(str)) { + var endOfUrl = findUrlEnd(sChars, i); + var url = chars.slice(endOfWord, endOfUrl); + Array.prototype.push.apply(word, url); + i = endOfUrl; + } + words.push(word); + } + word = []; + } + } + return words; + }; + var getDefaultOptions = function () { + return { + includeWhitespace: false, + includePunctuation: false + }; + }; + var getWords$1 = function (chars, extract, options) { + options = __assign(__assign({}, getDefaultOptions()), options); + var filteredChars = []; + var extractedChars = []; + for (var i = 0; i < chars.length; i++) { + var ch = extract(chars[i]); + if (ch !== zeroWidth) { + filteredChars.push(chars[i]); + extractedChars.push(ch); + } + } + var characterMap = classify(extractedChars); + return findWords(filteredChars, extractedChars, characterMap, options); + }; + + var getWords = getWords$1; + + var global$1 = tinymce.util.Tools.resolve('tinymce.dom.TreeWalker'); + + var getText = function (node, schema) { + var blockElements = schema.getBlockElements(); + var shortEndedElements = schema.getShortEndedElements(); + var isNewline = function (node) { + return blockElements[node.nodeName] || shortEndedElements[node.nodeName]; + }; + var textBlocks = []; + var txt = ''; + var treeWalker = new global$1(node, node); + while (node = treeWalker.next()) { + if (node.nodeType === 3) { + txt += removeZwsp(node.data); + } else if (isNewline(node) && txt.length) { + textBlocks.push(txt); + txt = ''; + } + } + if (txt.length) { + textBlocks.push(txt); + } + return textBlocks; + }; + + var strLen = function (str) { + return str.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, '_').length; + }; + var countWords = function (node, schema) { + var text = getText(node, schema).join('\n'); + return getWords(text.split(''), identity).length; + }; + var countCharacters = function (node, schema) { + var text = getText(node, schema).join(''); + return strLen(text); + }; + var countCharactersWithoutSpaces = function (node, schema) { + var text = getText(node, schema).join('').replace(/\s/g, ''); + return strLen(text); + }; + + var createBodyCounter = function (editor, count) { + return function () { + return count(editor.getBody(), editor.schema); + }; + }; + var createSelectionCounter = function (editor, count) { + return function () { + return count(editor.selection.getRng().cloneContents(), editor.schema); + }; + }; + var createBodyWordCounter = function (editor) { + return createBodyCounter(editor, countWords); + }; + var get = function (editor) { + return { + body: { + getWordCount: createBodyWordCounter(editor), + getCharacterCount: createBodyCounter(editor, countCharacters), + getCharacterCountWithoutSpaces: createBodyCounter(editor, countCharactersWithoutSpaces) + }, + selection: { + getWordCount: createSelectionCounter(editor, countWords), + getCharacterCount: createSelectionCounter(editor, countCharacters), + getCharacterCountWithoutSpaces: createSelectionCounter(editor, countCharactersWithoutSpaces) + }, + getCount: createBodyWordCounter(editor) + }; + }; + + var open = function (editor, api) { + editor.windowManager.open({ + title: 'Word Count', + body: { + type: 'panel', + items: [{ + type: 'table', + header: [ + 'Count', + 'Document', + 'Selection' + ], + cells: [ + [ + 'Words', + String(api.body.getWordCount()), + String(api.selection.getWordCount()) + ], + [ + 'Characters (no spaces)', + String(api.body.getCharacterCountWithoutSpaces()), + String(api.selection.getCharacterCountWithoutSpaces()) + ], + [ + 'Characters', + String(api.body.getCharacterCount()), + String(api.selection.getCharacterCount()) + ] + ] + }] + }, + buttons: [{ + type: 'cancel', + name: 'close', + text: 'Close', + primary: true + }] + }); + }; + + var register$1 = function (editor, api) { + editor.addCommand('mceWordCount', function () { + return open(editor, api); + }); + }; + + var global = tinymce.util.Tools.resolve('tinymce.util.Delay'); + + var fireWordCountUpdate = function (editor, api) { + editor.fire('wordCountUpdate', { + wordCount: { + words: api.body.getWordCount(), + characters: api.body.getCharacterCount(), + charactersWithoutSpaces: api.body.getCharacterCountWithoutSpaces() + } + }); + }; + + var updateCount = function (editor, api) { + fireWordCountUpdate(editor, api); + }; + var setup = function (editor, api, delay) { + var debouncedUpdate = global.debounce(function () { + return updateCount(editor, api); + }, delay); + editor.on('init', function () { + updateCount(editor, api); + global.setEditorTimeout(editor, function () { + editor.on('SetContent BeforeAddUndo Undo Redo ViewUpdate keyup', debouncedUpdate); + }, 0); + }); + }; + + var register = function (editor) { + var onAction = function () { + return editor.execCommand('mceWordCount'); + }; + editor.ui.registry.addButton('wordcount', { + tooltip: 'Word count', + icon: 'character-count', + onAction: onAction + }); + editor.ui.registry.addMenuItem('wordcount', { + text: 'Word count', + icon: 'character-count', + onAction: onAction + }); + }; + + function Plugin (delay) { + if (delay === void 0) { + delay = 300; + } + global$2.add('wordcount', function (editor) { + var api = get(editor); + register$1(editor, api); + register(editor); + setup(editor, api, delay); + return api; + }); + } + + Plugin(); + +}()); diff --git a/assets/plugins/custom/typedjs/typedjs.bundle.js b/assets/plugins/custom/typedjs/typedjs.bundle.js new file mode 100644 index 0000000..0992dc5 --- /dev/null +++ b/assets/plugins/custom/typedjs/typedjs.bundle.js @@ -0,0 +1,1052 @@ +/*! + * + * typed.js - A JavaScript Typing Animation Library + * Author: Matt Boldt + * Version: v2.0.12 + * Url: https://github.com/mattboldt/typed.js + * License(s): MIT + * + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["Typed"] = factory(); + else + root["Typed"] = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + var _initializerJs = __webpack_require__(1); + + var _htmlParserJs = __webpack_require__(3); + + /** + * Welcome to Typed.js! + * @param {string} elementId HTML element ID _OR_ HTML element + * @param {object} options options object + * @returns {object} a new Typed object + */ + + var Typed = (function () { + function Typed(elementId, options) { + _classCallCheck(this, Typed); + + // Initialize it up + _initializerJs.initializer.load(this, options, elementId); + // All systems go! + this.begin(); + } + + /** + * Toggle start() and stop() of the Typed instance + * @public + */ + + _createClass(Typed, [{ + key: 'toggle', + value: function toggle() { + this.pause.status ? this.start() : this.stop(); + } + + /** + * Stop typing / backspacing and enable cursor blinking + * @public + */ + }, { + key: 'stop', + value: function stop() { + if (this.typingComplete) return; + if (this.pause.status) return; + this.toggleBlinking(true); + this.pause.status = true; + this.options.onStop(this.arrayPos, this); + } + + /** + * Start typing / backspacing after being stopped + * @public + */ + }, { + key: 'start', + value: function start() { + if (this.typingComplete) return; + if (!this.pause.status) return; + this.pause.status = false; + if (this.pause.typewrite) { + this.typewrite(this.pause.curString, this.pause.curStrPos); + } else { + this.backspace(this.pause.curString, this.pause.curStrPos); + } + this.options.onStart(this.arrayPos, this); + } + + /** + * Destroy this instance of Typed + * @public + */ + }, { + key: 'destroy', + value: function destroy() { + this.reset(false); + this.options.onDestroy(this); + } + + /** + * Reset Typed and optionally restarts + * @param {boolean} restart + * @public + */ + }, { + key: 'reset', + value: function reset() { + var restart = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0]; + + clearInterval(this.timeout); + this.replaceText(''); + if (this.cursor && this.cursor.parentNode) { + this.cursor.parentNode.removeChild(this.cursor); + this.cursor = null; + } + this.strPos = 0; + this.arrayPos = 0; + this.curLoop = 0; + if (restart) { + this.insertCursor(); + this.options.onReset(this); + this.begin(); + } + } + + /** + * Begins the typing animation + * @private + */ + }, { + key: 'begin', + value: function begin() { + var _this = this; + + this.options.onBegin(this); + this.typingComplete = false; + this.shuffleStringsIfNeeded(this); + this.insertCursor(); + if (this.bindInputFocusEvents) this.bindFocusEvents(); + this.timeout = setTimeout(function () { + // Check if there is some text in the element, if yes start by backspacing the default message + if (!_this.currentElContent || _this.currentElContent.length === 0) { + _this.typewrite(_this.strings[_this.sequence[_this.arrayPos]], _this.strPos); + } else { + // Start typing + _this.backspace(_this.currentElContent, _this.currentElContent.length); + } + }, this.startDelay); + } + + /** + * Called for each character typed + * @param {string} curString the current string in the strings array + * @param {number} curStrPos the current position in the curString + * @private + */ + }, { + key: 'typewrite', + value: function typewrite(curString, curStrPos) { + var _this2 = this; + + if (this.fadeOut && this.el.classList.contains(this.fadeOutClass)) { + this.el.classList.remove(this.fadeOutClass); + if (this.cursor) this.cursor.classList.remove(this.fadeOutClass); + } + + var humanize = this.humanizer(this.typeSpeed); + var numChars = 1; + + if (this.pause.status === true) { + this.setPauseStatus(curString, curStrPos, true); + return; + } + + // contain typing function in a timeout humanize'd delay + this.timeout = setTimeout(function () { + // skip over any HTML chars + curStrPos = _htmlParserJs.htmlParser.typeHtmlChars(curString, curStrPos, _this2); + + var pauseTime = 0; + var substr = curString.substr(curStrPos); + // check for an escape character before a pause value + // format: \^\d+ .. eg: ^1000 .. should be able to print the ^ too using ^^ + // single ^ are removed from string + if (substr.charAt(0) === '^') { + if (/^\^\d+/.test(substr)) { + var skip = 1; // skip at least 1 + substr = /\d+/.exec(substr)[0]; + skip += substr.length; + pauseTime = parseInt(substr); + _this2.temporaryPause = true; + _this2.options.onTypingPaused(_this2.arrayPos, _this2); + // strip out the escape character and pause value so they're not printed + curString = curString.substring(0, curStrPos) + curString.substring(curStrPos + skip); + _this2.toggleBlinking(true); + } + } + + // check for skip characters formatted as + // "this is a `string to print NOW` ..." + if (substr.charAt(0) === '`') { + while (curString.substr(curStrPos + numChars).charAt(0) !== '`') { + numChars++; + if (curStrPos + numChars > curString.length) break; + } + // strip out the escape characters and append all the string in between + var stringBeforeSkip = curString.substring(0, curStrPos); + var stringSkipped = curString.substring(stringBeforeSkip.length + 1, curStrPos + numChars); + var stringAfterSkip = curString.substring(curStrPos + numChars + 1); + curString = stringBeforeSkip + stringSkipped + stringAfterSkip; + numChars--; + } + + // timeout for any pause after a character + _this2.timeout = setTimeout(function () { + // Accounts for blinking while paused + _this2.toggleBlinking(false); + + // We're done with this sentence! + if (curStrPos >= curString.length) { + _this2.doneTyping(curString, curStrPos); + } else { + _this2.keepTyping(curString, curStrPos, numChars); + } + // end of character pause + if (_this2.temporaryPause) { + _this2.temporaryPause = false; + _this2.options.onTypingResumed(_this2.arrayPos, _this2); + } + }, pauseTime); + + // humanized value for typing + }, humanize); + } + + /** + * Continue to the next string & begin typing + * @param {string} curString the current string in the strings array + * @param {number} curStrPos the current position in the curString + * @private + */ + }, { + key: 'keepTyping', + value: function keepTyping(curString, curStrPos, numChars) { + // call before functions if applicable + if (curStrPos === 0) { + this.toggleBlinking(false); + this.options.preStringTyped(this.arrayPos, this); + } + // start typing each new char into existing string + // curString: arg, this.el.html: original text inside element + curStrPos += numChars; + var nextString = curString.substr(0, curStrPos); + this.replaceText(nextString); + // loop the function + this.typewrite(curString, curStrPos); + } + + /** + * We're done typing the current string + * @param {string} curString the current string in the strings array + * @param {number} curStrPos the current position in the curString + * @private + */ + }, { + key: 'doneTyping', + value: function doneTyping(curString, curStrPos) { + var _this3 = this; + + // fires callback function + this.options.onStringTyped(this.arrayPos, this); + this.toggleBlinking(true); + // is this the final string + if (this.arrayPos === this.strings.length - 1) { + // callback that occurs on the last typed string + this.complete(); + // quit if we wont loop back + if (this.loop === false || this.curLoop === this.loopCount) { + return; + } + } + this.timeout = setTimeout(function () { + _this3.backspace(curString, curStrPos); + }, this.backDelay); + } + + /** + * Backspaces 1 character at a time + * @param {string} curString the current string in the strings array + * @param {number} curStrPos the current position in the curString + * @private + */ + }, { + key: 'backspace', + value: function backspace(curString, curStrPos) { + var _this4 = this; + + if (this.pause.status === true) { + this.setPauseStatus(curString, curStrPos, false); + return; + } + if (this.fadeOut) return this.initFadeOut(); + + this.toggleBlinking(false); + var humanize = this.humanizer(this.backSpeed); + + this.timeout = setTimeout(function () { + curStrPos = _htmlParserJs.htmlParser.backSpaceHtmlChars(curString, curStrPos, _this4); + // replace text with base text + typed characters + var curStringAtPosition = curString.substr(0, curStrPos); + _this4.replaceText(curStringAtPosition); + + // if smartBack is enabled + if (_this4.smartBackspace) { + // the remaining part of the current string is equal of the same part of the new string + var nextString = _this4.strings[_this4.arrayPos + 1]; + if (nextString && curStringAtPosition === nextString.substr(0, curStrPos)) { + _this4.stopNum = curStrPos; + } else { + _this4.stopNum = 0; + } + } + + // if the number (id of character in current string) is + // less than the stop number, keep going + if (curStrPos > _this4.stopNum) { + // subtract characters one by one + curStrPos--; + // loop the function + _this4.backspace(curString, curStrPos); + } else if (curStrPos <= _this4.stopNum) { + // if the stop number has been reached, increase + // array position to next string + _this4.arrayPos++; + // When looping, begin at the beginning after backspace complete + if (_this4.arrayPos === _this4.strings.length) { + _this4.arrayPos = 0; + _this4.options.onLastStringBackspaced(); + _this4.shuffleStringsIfNeeded(); + _this4.begin(); + } else { + _this4.typewrite(_this4.strings[_this4.sequence[_this4.arrayPos]], curStrPos); + } + } + // humanized value for typing + }, humanize); + } + + /** + * Full animation is complete + * @private + */ + }, { + key: 'complete', + value: function complete() { + this.options.onComplete(this); + if (this.loop) { + this.curLoop++; + } else { + this.typingComplete = true; + } + } + + /** + * Has the typing been stopped + * @param {string} curString the current string in the strings array + * @param {number} curStrPos the current position in the curString + * @param {boolean} isTyping + * @private + */ + }, { + key: 'setPauseStatus', + value: function setPauseStatus(curString, curStrPos, isTyping) { + this.pause.typewrite = isTyping; + this.pause.curString = curString; + this.pause.curStrPos = curStrPos; + } + + /** + * Toggle the blinking cursor + * @param {boolean} isBlinking + * @private + */ + }, { + key: 'toggleBlinking', + value: function toggleBlinking(isBlinking) { + if (!this.cursor) return; + // if in paused state, don't toggle blinking a 2nd time + if (this.pause.status) return; + if (this.cursorBlinking === isBlinking) return; + this.cursorBlinking = isBlinking; + if (isBlinking) { + this.cursor.classList.add('typed-cursor--blink'); + } else { + this.cursor.classList.remove('typed-cursor--blink'); + } + } + + /** + * Speed in MS to type + * @param {number} speed + * @private + */ + }, { + key: 'humanizer', + value: function humanizer(speed) { + return Math.round(Math.random() * speed / 2) + speed; + } + + /** + * Shuffle the sequence of the strings array + * @private + */ + }, { + key: 'shuffleStringsIfNeeded', + value: function shuffleStringsIfNeeded() { + if (!this.shuffle) return; + this.sequence = this.sequence.sort(function () { + return Math.random() - 0.5; + }); + } + + /** + * Adds a CSS class to fade out current string + * @private + */ + }, { + key: 'initFadeOut', + value: function initFadeOut() { + var _this5 = this; + + this.el.className += ' ' + this.fadeOutClass; + if (this.cursor) this.cursor.className += ' ' + this.fadeOutClass; + return setTimeout(function () { + _this5.arrayPos++; + _this5.replaceText(''); + + // Resets current string if end of loop reached + if (_this5.strings.length > _this5.arrayPos) { + _this5.typewrite(_this5.strings[_this5.sequence[_this5.arrayPos]], 0); + } else { + _this5.typewrite(_this5.strings[0], 0); + _this5.arrayPos = 0; + } + }, this.fadeOutDelay); + } + + /** + * Replaces current text in the HTML element + * depending on element type + * @param {string} str + * @private + */ + }, { + key: 'replaceText', + value: function replaceText(str) { + if (this.attr) { + this.el.setAttribute(this.attr, str); + } else { + if (this.isInput) { + this.el.value = str; + } else if (this.contentType === 'html') { + this.el.innerHTML = str; + } else { + this.el.textContent = str; + } + } + } + + /** + * If using input elements, bind focus in order to + * start and stop the animation + * @private + */ + }, { + key: 'bindFocusEvents', + value: function bindFocusEvents() { + var _this6 = this; + + if (!this.isInput) return; + this.el.addEventListener('focus', function (e) { + _this6.stop(); + }); + this.el.addEventListener('blur', function (e) { + if (_this6.el.value && _this6.el.value.length !== 0) { + return; + } + _this6.start(); + }); + } + + /** + * On init, insert the cursor element + * @private + */ + }, { + key: 'insertCursor', + value: function insertCursor() { + if (!this.showCursor) return; + if (this.cursor) return; + this.cursor = document.createElement('span'); + this.cursor.className = 'typed-cursor'; + this.cursor.setAttribute('aria-hidden', true); + this.cursor.innerHTML = this.cursorChar; + this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling); + } + }]); + + return Typed; + })(); + + exports['default'] = Typed; + module.exports = exports['default']; + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + var _defaultsJs = __webpack_require__(2); + + var _defaultsJs2 = _interopRequireDefault(_defaultsJs); + + /** + * Initialize the Typed object + */ + + var Initializer = (function () { + function Initializer() { + _classCallCheck(this, Initializer); + } + + _createClass(Initializer, [{ + key: 'load', + + /** + * Load up defaults & options on the Typed instance + * @param {Typed} self instance of Typed + * @param {object} options options object + * @param {string} elementId HTML element ID _OR_ instance of HTML element + * @private + */ + + value: function load(self, options, elementId) { + // chosen element to manipulate text + if (typeof elementId === 'string') { + self.el = document.querySelector(elementId); + } else { + self.el = elementId; + } + + self.options = _extends({}, _defaultsJs2['default'], options); + + // attribute to type into + self.isInput = self.el.tagName.toLowerCase() === 'input'; + self.attr = self.options.attr; + self.bindInputFocusEvents = self.options.bindInputFocusEvents; + + // show cursor + self.showCursor = self.isInput ? false : self.options.showCursor; + + // custom cursor + self.cursorChar = self.options.cursorChar; + + // Is the cursor blinking + self.cursorBlinking = true; + + // text content of element + self.elContent = self.attr ? self.el.getAttribute(self.attr) : self.el.textContent; + + // html or plain text + self.contentType = self.options.contentType; + + // typing speed + self.typeSpeed = self.options.typeSpeed; + + // add a delay before typing starts + self.startDelay = self.options.startDelay; + + // backspacing speed + self.backSpeed = self.options.backSpeed; + + // only backspace what doesn't match the previous string + self.smartBackspace = self.options.smartBackspace; + + // amount of time to wait before backspacing + self.backDelay = self.options.backDelay; + + // Fade out instead of backspace + self.fadeOut = self.options.fadeOut; + self.fadeOutClass = self.options.fadeOutClass; + self.fadeOutDelay = self.options.fadeOutDelay; + + // variable to check whether typing is currently paused + self.isPaused = false; + + // input strings of text + self.strings = self.options.strings.map(function (s) { + return s.trim(); + }); + + // div containing strings + if (typeof self.options.stringsElement === 'string') { + self.stringsElement = document.querySelector(self.options.stringsElement); + } else { + self.stringsElement = self.options.stringsElement; + } + + if (self.stringsElement) { + self.strings = []; + self.stringsElement.style.display = 'none'; + var strings = Array.prototype.slice.apply(self.stringsElement.children); + var stringsLength = strings.length; + + if (stringsLength) { + for (var i = 0; i < stringsLength; i += 1) { + var stringEl = strings[i]; + self.strings.push(stringEl.innerHTML.trim()); + } + } + } + + // character number position of current string + self.strPos = 0; + + // current array position + self.arrayPos = 0; + + // index of string to stop backspacing on + self.stopNum = 0; + + // Looping logic + self.loop = self.options.loop; + self.loopCount = self.options.loopCount; + self.curLoop = 0; + + // shuffle the strings + self.shuffle = self.options.shuffle; + // the order of strings + self.sequence = []; + + self.pause = { + status: false, + typewrite: true, + curString: '', + curStrPos: 0 + }; + + // When the typing is complete (when not looped) + self.typingComplete = false; + + // Set the order in which the strings are typed + for (var i in self.strings) { + self.sequence[i] = i; + } + + // If there is some text in the element + self.currentElContent = this.getCurrentElContent(self); + + self.autoInsertCss = self.options.autoInsertCss; + + this.appendAnimationCss(self); + } + }, { + key: 'getCurrentElContent', + value: function getCurrentElContent(self) { + var elContent = ''; + if (self.attr) { + elContent = self.el.getAttribute(self.attr); + } else if (self.isInput) { + elContent = self.el.value; + } else if (self.contentType === 'html') { + elContent = self.el.innerHTML; + } else { + elContent = self.el.textContent; + } + return elContent; + } + }, { + key: 'appendAnimationCss', + value: function appendAnimationCss(self) { + var cssDataName = 'data-typed-js-css'; + if (!self.autoInsertCss) { + return; + } + if (!self.showCursor && !self.fadeOut) { + return; + } + if (document.querySelector('[' + cssDataName + ']')) { + return; + } + + var css = document.createElement('style'); + css.type = 'text/css'; + css.setAttribute(cssDataName, true); + + var innerCss = ''; + if (self.showCursor) { + innerCss += '\n .typed-cursor{\n opacity: 1;\n }\n .typed-cursor.typed-cursor--blink{\n animation: typedjsBlink 0.7s infinite;\n -webkit-animation: typedjsBlink 0.7s infinite;\n animation: typedjsBlink 0.7s infinite;\n }\n @keyframes typedjsBlink{\n 50% { opacity: 0.0; }\n }\n @-webkit-keyframes typedjsBlink{\n 0% { opacity: 1; }\n 50% { opacity: 0.0; }\n 100% { opacity: 1; }\n }\n '; + } + if (self.fadeOut) { + innerCss += '\n .typed-fade-out{\n opacity: 0;\n transition: opacity .25s;\n }\n .typed-cursor.typed-cursor--blink.typed-fade-out{\n -webkit-animation: 0;\n animation: 0;\n }\n '; + } + if (css.length === 0) { + return; + } + css.innerHTML = innerCss; + document.body.appendChild(css); + } + }]); + + return Initializer; + })(); + + exports['default'] = Initializer; + var initializer = new Initializer(); + exports.initializer = initializer; + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + + /** + * Defaults & options + * @returns {object} Typed defaults & options + * @public + */ + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + var defaults = { + /** + * @property {array} strings strings to be typed + * @property {string} stringsElement ID of element containing string children + */ + strings: ['These are the default values...', 'You know what you should do?', 'Use your own!', 'Have a great day!'], + stringsElement: null, + + /** + * @property {number} typeSpeed type speed in milliseconds + */ + typeSpeed: 0, + + /** + * @property {number} startDelay time before typing starts in milliseconds + */ + startDelay: 0, + + /** + * @property {number} backSpeed backspacing speed in milliseconds + */ + backSpeed: 0, + + /** + * @property {boolean} smartBackspace only backspace what doesn't match the previous string + */ + smartBackspace: true, + + /** + * @property {boolean} shuffle shuffle the strings + */ + shuffle: false, + + /** + * @property {number} backDelay time before backspacing in milliseconds + */ + backDelay: 700, + + /** + * @property {boolean} fadeOut Fade out instead of backspace + * @property {string} fadeOutClass css class for fade animation + * @property {boolean} fadeOutDelay Fade out delay in milliseconds + */ + fadeOut: false, + fadeOutClass: 'typed-fade-out', + fadeOutDelay: 500, + + /** + * @property {boolean} loop loop strings + * @property {number} loopCount amount of loops + */ + loop: false, + loopCount: Infinity, + + /** + * @property {boolean} showCursor show cursor + * @property {string} cursorChar character for cursor + * @property {boolean} autoInsertCss insert CSS for cursor and fadeOut into HTML + */ + showCursor: true, + cursorChar: '|', + autoInsertCss: true, + + /** + * @property {string} attr attribute for typing + * Ex: input placeholder, value, or just HTML text + */ + attr: null, + + /** + * @property {boolean} bindInputFocusEvents bind to focus and blur if el is text input + */ + bindInputFocusEvents: false, + + /** + * @property {string} contentType 'html' or 'null' for plaintext + */ + contentType: 'html', + + /** + * Before it begins typing + * @param {Typed} self + */ + onBegin: function onBegin(self) {}, + + /** + * All typing is complete + * @param {Typed} self + */ + onComplete: function onComplete(self) {}, + + /** + * Before each string is typed + * @param {number} arrayPos + * @param {Typed} self + */ + preStringTyped: function preStringTyped(arrayPos, self) {}, + + /** + * After each string is typed + * @param {number} arrayPos + * @param {Typed} self + */ + onStringTyped: function onStringTyped(arrayPos, self) {}, + + /** + * During looping, after last string is typed + * @param {Typed} self + */ + onLastStringBackspaced: function onLastStringBackspaced(self) {}, + + /** + * Typing has been stopped + * @param {number} arrayPos + * @param {Typed} self + */ + onTypingPaused: function onTypingPaused(arrayPos, self) {}, + + /** + * Typing has been started after being stopped + * @param {number} arrayPos + * @param {Typed} self + */ + onTypingResumed: function onTypingResumed(arrayPos, self) {}, + + /** + * After reset + * @param {Typed} self + */ + onReset: function onReset(self) {}, + + /** + * After stop + * @param {number} arrayPos + * @param {Typed} self + */ + onStop: function onStop(arrayPos, self) {}, + + /** + * After start + * @param {number} arrayPos + * @param {Typed} self + */ + onStart: function onStart(arrayPos, self) {}, + + /** + * After destroy + * @param {Typed} self + */ + onDestroy: function onDestroy(self) {} + }; + + exports['default'] = defaults; + module.exports = exports['default']; + +/***/ }), +/* 3 */ +/***/ (function(module, exports) { + + /** + * TODO: These methods can probably be combined somehow + * Parse HTML tags & HTML Characters + */ + + 'use strict'; + + Object.defineProperty(exports, '__esModule', { + value: true + }); + + var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } } + + var HTMLParser = (function () { + function HTMLParser() { + _classCallCheck(this, HTMLParser); + } + + _createClass(HTMLParser, [{ + key: 'typeHtmlChars', + + /** + * Type HTML tags & HTML Characters + * @param {string} curString Current string + * @param {number} curStrPos Position in current string + * @param {Typed} self instance of Typed + * @returns {number} a new string position + * @private + */ + + value: function typeHtmlChars(curString, curStrPos, self) { + if (self.contentType !== 'html') return curStrPos; + var curChar = curString.substr(curStrPos).charAt(0); + if (curChar === '<' || curChar === '&') { + var endTag = ''; + if (curChar === '<') { + endTag = '>'; + } else { + endTag = ';'; + } + while (curString.substr(curStrPos + 1).charAt(0) !== endTag) { + curStrPos++; + if (curStrPos + 1 > curString.length) { + break; + } + } + curStrPos++; + } + return curStrPos; + } + + /** + * Backspace HTML tags and HTML Characters + * @param {string} curString Current string + * @param {number} curStrPos Position in current string + * @param {Typed} self instance of Typed + * @returns {number} a new string position + * @private + */ + }, { + key: 'backSpaceHtmlChars', + value: function backSpaceHtmlChars(curString, curStrPos, self) { + if (self.contentType !== 'html') return curStrPos; + var curChar = curString.substr(curStrPos).charAt(0); + if (curChar === '>' || curChar === ';') { + var endTag = ''; + if (curChar === '>') { + endTag = '<'; + } else { + endTag = '&'; + } + while (curString.substr(curStrPos - 1).charAt(0) !== endTag) { + curStrPos--; + if (curStrPos < 0) { + break; + } + } + curStrPos--; + } + return curStrPos; + } + }]); + + return HTMLParser; + })(); + + exports['default'] = HTMLParser; + var htmlParser = new HTMLParser(); + exports.htmlParser = htmlParser; + +/***/ }) +/******/ ]) +}); +; \ No newline at end of file diff --git a/assets/plugins/custom/vis-timeline/vis-timeline.bundle.css b/assets/plugins/custom/vis-timeline/vis-timeline.bundle.css new file mode 100644 index 0000000..92e677b --- /dev/null +++ b/assets/plugins/custom/vis-timeline/vis-timeline.bundle.css @@ -0,0 +1,1273 @@ +@charset "UTF-8"; +/* override some bootstrap styles screwing up the timelines css */ +.vis [class*=span] { + min-height: 0; + width: auto; +} + +.vis-timeline { + /* + -webkit-transition: height .4s ease-in-out; + transition: height .4s ease-in-out; + */ +} + +.vis-panel { + /* + -webkit-transition: height .4s ease-in-out, top .4s ease-in-out; + transition: height .4s ease-in-out, top .4s ease-in-out; + */ +} + +.vis-axis { + /* + -webkit-transition: top .4s ease-in-out; + transition: top .4s ease-in-out; + */ +} + +/* TODO: get animation working nicely + +.vis-item { + -webkit-transition: top .4s ease-in-out; + transition: top .4s ease-in-out; +} + +.vis-item.line { + -webkit-transition: height .4s ease-in-out, top .4s ease-in-out; + transition: height .4s ease-in-out, top .4s ease-in-out; +} +/**/ +.vis-current-time { + background-color: #FF7F6E; + width: 2px; + z-index: 1; + pointer-events: none; +} + +.vis-rolling-mode-btn { + height: 40px; + width: 40px; + position: absolute; + top: 7px; + right: 20px; + border-radius: 50%; + font-size: 28px; + cursor: pointer; + opacity: 0.8; + color: white; + font-weight: bold; + text-align: center; + background: #3876c2; +} + +.vis-rolling-mode-btn:before { + content: "⛶"; +} + +.vis-rolling-mode-btn:hover { + opacity: 1; +} + +.vis-graph-group0 { + fill: #4f81bd; + fill-opacity: 0; + stroke-width: 2px; + stroke: #4f81bd; +} + +.vis-graph-group1 { + fill: #f79646; + fill-opacity: 0; + stroke-width: 2px; + stroke: #f79646; +} + +.vis-graph-group2 { + fill: #8c51cf; + fill-opacity: 0; + stroke-width: 2px; + stroke: #8c51cf; +} + +.vis-graph-group3 { + fill: #75c841; + fill-opacity: 0; + stroke-width: 2px; + stroke: #75c841; +} + +.vis-graph-group4 { + fill: #ff0100; + fill-opacity: 0; + stroke-width: 2px; + stroke: #ff0100; +} + +.vis-graph-group5 { + fill: #37d8e6; + fill-opacity: 0; + stroke-width: 2px; + stroke: #37d8e6; +} + +.vis-graph-group6 { + fill: #042662; + fill-opacity: 0; + stroke-width: 2px; + stroke: #042662; +} + +.vis-graph-group7 { + fill: #00ff26; + fill-opacity: 0; + stroke-width: 2px; + stroke: #00ff26; +} + +.vis-graph-group8 { + fill: #ff00ff; + fill-opacity: 0; + stroke-width: 2px; + stroke: #ff00ff; +} + +.vis-graph-group9 { + fill: #8f3938; + fill-opacity: 0; + stroke-width: 2px; + stroke: #8f3938; +} + +.vis-timeline .vis-fill { + fill-opacity: 0.1; + stroke: none; +} + +.vis-timeline .vis-bar { + fill-opacity: 0.5; + stroke-width: 1px; +} + +.vis-timeline .vis-point { + stroke-width: 2px; + fill-opacity: 1; +} + +.vis-timeline .vis-legend-background { + stroke-width: 1px; + fill-opacity: 0.9; + fill: #ffffff; + stroke: #c2c2c2; +} + +.vis-timeline .vis-outline { + stroke-width: 1px; + fill-opacity: 1; + fill: #ffffff; + stroke: #e5e5e5; +} + +.vis-timeline .vis-icon-fill { + fill-opacity: 0.3; + stroke: none; +} + +.vis-timeline { + position: relative; + border: 1px solid #bfbfbf; + overflow: hidden; + padding: 0; + margin: 0; + box-sizing: border-box; +} + +.vis-loading-screen { + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; +} + +.vis-panel { + position: absolute; + padding: 0; + margin: 0; + box-sizing: border-box; +} + +.vis-panel.vis-center, +.vis-panel.vis-left, +.vis-panel.vis-right, +.vis-panel.vis-top, +.vis-panel.vis-bottom { + border: 1px #bfbfbf; +} + +.vis-panel.vis-center, +.vis-panel.vis-left, +.vis-panel.vis-right { + border-top-style: solid; + border-bottom-style: solid; + overflow: hidden; +} + +.vis-left.vis-panel.vis-vertical-scroll, .vis-right.vis-panel.vis-vertical-scroll { + height: 100%; + overflow-x: hidden; + overflow-y: scroll; +} + +.vis-left.vis-panel.vis-vertical-scroll { + direction: rtl; +} + +.vis-left.vis-panel.vis-vertical-scroll .vis-content { + direction: ltr; +} + +.vis-right.vis-panel.vis-vertical-scroll { + direction: ltr; +} + +.vis-right.vis-panel.vis-vertical-scroll .vis-content { + direction: rtl; +} + +.vis-panel.vis-center, +.vis-panel.vis-top, +.vis-panel.vis-bottom { + border-left-style: solid; + border-right-style: solid; +} + +.vis-background { + overflow: hidden; +} + +.vis-panel > .vis-content { + position: relative; +} + +.vis-panel .vis-shadow { + position: absolute; + width: 100%; + height: 1px; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.8); + /* TODO: find a nice way to ensure vis-shadows are drawn on top of items + z-index: 1; + */ +} + +.vis-panel .vis-shadow.vis-top { + top: -1px; + left: 0; +} + +.vis-panel .vis-shadow.vis-bottom { + bottom: -1px; + left: 0; +} + +.vis-custom-time { + background-color: #6E94FF; + width: 2px; + cursor: move; + z-index: 1; +} + +.vis-custom-time > .vis-custom-time-marker { + background-color: inherit; + color: white; + font-size: 12px; + white-space: nowrap; + padding: 3px 5px; + top: 0px; + cursor: initial; + z-index: inherit; +} + +.vis-panel.vis-background.vis-horizontal .vis-grid.vis-horizontal { + position: absolute; + width: 100%; + height: 0; + border-bottom: 1px solid; +} + +.vis-panel.vis-background.vis-horizontal .vis-grid.vis-minor { + border-color: #e5e5e5; +} + +.vis-panel.vis-background.vis-horizontal .vis-grid.vis-major { + border-color: #bfbfbf; +} + +.vis-data-axis .vis-y-axis.vis-major { + width: 100%; + position: absolute; + color: #4d4d4d; + white-space: nowrap; +} + +.vis-data-axis .vis-y-axis.vis-major.vis-measure { + padding: 0; + margin: 0; + border: 0; + visibility: hidden; + width: auto; +} + +.vis-data-axis .vis-y-axis.vis-minor { + position: absolute; + width: 100%; + color: #bebebe; + white-space: nowrap; +} + +.vis-data-axis .vis-y-axis.vis-minor.vis-measure { + padding: 0; + margin: 0; + border: 0; + visibility: hidden; + width: auto; +} + +.vis-data-axis .vis-y-axis.vis-title { + position: absolute; + color: #4d4d4d; + white-space: nowrap; + bottom: 20px; + text-align: center; +} + +.vis-data-axis .vis-y-axis.vis-title.vis-measure { + padding: 0; + margin: 0; + visibility: hidden; + width: auto; +} + +.vis-data-axis .vis-y-axis.vis-title.vis-left { + bottom: 0; + -webkit-transform-origin: left top; + -moz-transform-origin: left top; + -ms-transform-origin: left top; + -o-transform-origin: left top; + transform-origin: left bottom; + -webkit-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -ms-transform: rotate(-90deg); + -o-transform: rotate(-90deg); + transform: rotate(-90deg); +} + +.vis-data-axis .vis-y-axis.vis-title.vis-right { + bottom: 0; + -webkit-transform-origin: right bottom; + -moz-transform-origin: right bottom; + -ms-transform-origin: right bottom; + -o-transform-origin: right bottom; + transform-origin: right bottom; + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -ms-transform: rotate(90deg); + -o-transform: rotate(90deg); + transform: rotate(90deg); +} + +.vis-legend { + background-color: rgba(247, 252, 255, 0.65); + padding: 5px; + border: 1px solid #b3b3b3; + box-shadow: 2px 2px 10px rgba(154, 154, 154, 0.55); +} + +.vis-legend-text { + /*font-size: 10px;*/ + white-space: nowrap; + display: inline-block; +} + +.vis-itemset { + position: relative; + padding: 0; + margin: 0; + box-sizing: border-box; +} + +.vis-itemset .vis-background, +.vis-itemset .vis-foreground { + position: absolute; + width: 100%; + height: 100%; + overflow: visible; +} + +.vis-axis { + position: absolute; + width: 100%; + height: 0; + left: 0; + z-index: 1; +} + +.vis-foreground .vis-group { + position: relative; + box-sizing: border-box; + border-bottom: 1px solid #bfbfbf; +} + +.vis-foreground .vis-group:last-child { + border-bottom: none; +} + +.vis-nesting-group { + cursor: pointer; +} + +.vis-label.vis-nested-group.vis-group-level-unknown-but-gte1 { + background: #f5f5f5; +} + +.vis-label.vis-nested-group.vis-group-level-0 { + background-color: #ffffff; +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-0 .vis-inner { + padding-left: 0; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-0 .vis-inner { + padding-right: 0; +} + +.vis-label.vis-nested-group.vis-group-level-1 { + background-color: rgba(0, 0, 0, 0.05); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-1 .vis-inner { + padding-left: 15px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-1 .vis-inner { + padding-right: 15px; +} + +.vis-label.vis-nested-group.vis-group-level-2 { + background-color: rgba(0, 0, 0, 0.1); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-2 .vis-inner { + padding-left: 30px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-2 .vis-inner { + padding-right: 30px; +} + +.vis-label.vis-nested-group.vis-group-level-3 { + background-color: rgba(0, 0, 0, 0.15); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-3 .vis-inner { + padding-left: 45px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-3 .vis-inner { + padding-right: 45px; +} + +.vis-label.vis-nested-group.vis-group-level-4 { + background-color: rgba(0, 0, 0, 0.2); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-4 .vis-inner { + padding-left: 60px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-4 .vis-inner { + padding-right: 60px; +} + +.vis-label.vis-nested-group.vis-group-level-5 { + background-color: rgba(0, 0, 0, 0.25); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-5 .vis-inner { + padding-left: 75px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-5 .vis-inner { + padding-right: 75px; +} + +.vis-label.vis-nested-group.vis-group-level-6 { + background-color: rgba(0, 0, 0, 0.3); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-6 .vis-inner { + padding-left: 90px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-6 .vis-inner { + padding-right: 90px; +} + +.vis-label.vis-nested-group.vis-group-level-7 { + background-color: rgba(0, 0, 0, 0.35); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-7 .vis-inner { + padding-left: 105px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-7 .vis-inner { + padding-right: 105px; +} + +.vis-label.vis-nested-group.vis-group-level-8 { + background-color: rgba(0, 0, 0, 0.4); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-8 .vis-inner { + padding-left: 120px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-8 .vis-inner { + padding-right: 120px; +} + +.vis-label.vis-nested-group.vis-group-level-9 { + background-color: rgba(0, 0, 0, 0.45); +} + +.vis-ltr .vis-label.vis-nested-group.vis-group-level-9 .vis-inner { + padding-left: 135px; +} + +.vis-rtl .vis-label.vis-nested-group.vis-group-level-9 .vis-inner { + padding-right: 135px; +} + +/* default takes over beginning with level-10 (thats why we add .vis-nested-group + to the selectors above, to have higher specifity than these rules for the defaults) */ +.vis-label.vis-nested-group { + background-color: rgba(0, 0, 0, 0.5); +} + +.vis-ltr .vis-label.vis-nested-group .vis-inner { + padding-left: 150px; +} + +.vis-rtl .vis-label.vis-nested-group .vis-inner { + padding-right: 150px; +} + +.vis-group-level-unknown-but-gte1 { + border: 1px solid red; +} + +/* expanded/collapsed indicators */ +.vis-label.vis-nesting-group:before, +.vis-label.vis-nesting-group:before { + display: inline-block; + width: 15px; +} + +.vis-label.vis-nesting-group.expanded:before { + content: "▼"; +} + +.vis-label.vis-nesting-group.collapsed:before { + content: "▶"; +} + +.vis-rtl .vis-label.vis-nesting-group.collapsed:before { + content: "◀"; +} + +/* compensate missing expanded/collapsed indicator, but only at levels > 0 */ +.vis-ltr .vis-label:not(.vis-nesting-group):not(.vis-group-level-0) { + padding-left: 15px; +} + +.vis-rtl .vis-label:not(.vis-nesting-group):not(.vis-group-level-0) { + padding-right: 15px; +} + +.vis-overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 10; +} + +.vis-labelset { + position: relative; + overflow: hidden; + box-sizing: border-box; +} + +.vis-labelset .vis-label { + position: relative; + left: 0; + top: 0; + width: 100%; + color: #4d4d4d; + box-sizing: border-box; +} + +.vis-labelset .vis-label { + border-bottom: 1px solid #bfbfbf; +} + +.vis-labelset .vis-label.draggable { + cursor: pointer; +} + +.vis-group-is-dragging { + background: rgba(0, 0, 0, 0.1); +} + +.vis-labelset .vis-label:last-child { + border-bottom: none; +} + +.vis-labelset .vis-label .vis-inner { + display: inline-block; + padding: 5px; +} + +.vis-labelset .vis-label .vis-inner.vis-hidden { + padding: 0; +} + +.vis-time-axis { + position: relative; + overflow: hidden; +} + +.vis-time-axis.vis-foreground { + top: 0; + left: 0; + width: 100%; +} + +.vis-time-axis.vis-background { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + +.vis-time-axis .vis-text { + position: absolute; + color: #4d4d4d; + padding: 3px; + overflow: hidden; + box-sizing: border-box; + white-space: nowrap; +} + +.vis-time-axis .vis-text.vis-measure { + position: absolute; + padding-left: 0; + padding-right: 0; + margin-left: 0; + margin-right: 0; + visibility: hidden; +} + +.vis-time-axis .vis-grid.vis-vertical { + position: absolute; + border-left: 1px solid; +} + +.vis-time-axis .vis-grid.vis-vertical-rtl { + position: absolute; + border-right: 1px solid; +} + +.vis-time-axis .vis-grid.vis-minor { + border-color: #e5e5e5; +} + +.vis-time-axis .vis-grid.vis-major { + border-color: #bfbfbf; +} + +.vis-item { + position: absolute; + color: #1A1A1A; + border-color: #97B0F8; + border-width: 1px; + background-color: #D5DDF6; + display: inline-block; + z-index: 1; + /*overflow: hidden;*/ +} + +.vis-item.vis-selected { + border-color: #FFC200; + background-color: #FFF785; + /* z-index must be higher than the z-index of custom time bar and current time bar */ + z-index: 2; +} + +.vis-editable.vis-selected { + cursor: move; +} + +.vis-item.vis-point.vis-selected { + background-color: #FFF785; +} + +.vis-item.vis-box { + text-align: center; + border-style: solid; + border-radius: 2px; +} + +.vis-item.vis-point { + background: none; +} + +.vis-item.vis-dot { + position: absolute; + padding: 0; + border-width: 4px; + border-style: solid; + border-radius: 4px; +} + +.vis-item.vis-range { + border-style: solid; + border-radius: 2px; + box-sizing: border-box; +} + +.vis-item.vis-background { + border: none; + background-color: rgba(213, 221, 246, 0.4); + box-sizing: border-box; + padding: 0; + margin: 0; +} + +.vis-item .vis-item-overflow { + position: relative; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + overflow: hidden; +} + +.vis-item-visible-frame { + white-space: nowrap; +} + +.vis-item.vis-range .vis-item-content { + position: relative; + display: inline-block; +} + +.vis-item.vis-background .vis-item-content { + position: absolute; + display: inline-block; +} + +.vis-item.vis-line { + padding: 0; + position: absolute; + width: 0; + border-left-width: 1px; + border-left-style: solid; +} + +.vis-item .vis-item-content { + white-space: nowrap; + box-sizing: border-box; + padding: 5px; +} + +.vis-item .vis-onUpdateTime-tooltip { + position: absolute; + background: #4f81bd; + color: white; + width: 200px; + text-align: center; + white-space: nowrap; + padding: 5px; + border-radius: 1px; + transition: 0.4s; + -o-transition: 0.4s; + -moz-transition: 0.4s; + -webkit-transition: 0.4s; +} + +.vis-item .vis-delete, .vis-item .vis-delete-rtl { + position: absolute; + top: 0px; + width: 24px; + height: 24px; + box-sizing: border-box; + padding: 0px 5px; + cursor: pointer; + -webkit-transition: background 0.2s linear; + -moz-transition: background 0.2s linear; + -ms-transition: background 0.2s linear; + -o-transition: background 0.2s linear; + transition: background 0.2s linear; +} + +.vis-item .vis-delete { + right: -24px; +} + +.vis-item .vis-delete-rtl { + left: -24px; +} + +.vis-item .vis-delete:after, .vis-item .vis-delete-rtl:after { + content: "×"; + /* MULTIPLICATION SIGN */ + color: red; + font-family: arial, sans-serif; + font-size: 22px; + font-weight: bold; + -webkit-transition: color 0.2s linear; + -moz-transition: color 0.2s linear; + -ms-transition: color 0.2s linear; + -o-transition: color 0.2s linear; + transition: color 0.2s linear; +} + +.vis-item .vis-delete:hover, .vis-item .vis-delete-rtl:hover { + background: red; +} + +.vis-item .vis-delete:hover:after, .vis-item .vis-delete-rtl:hover:after { + color: white; +} + +.vis-item .vis-drag-center { + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0px; + cursor: move; +} + +.vis-item.vis-range .vis-drag-left { + position: absolute; + width: 24px; + max-width: 20%; + min-width: 2px; + height: 100%; + top: 0; + left: -4px; + cursor: w-resize; +} + +.vis-item.vis-range .vis-drag-right { + position: absolute; + width: 24px; + max-width: 20%; + min-width: 2px; + height: 100%; + top: 0; + right: -4px; + cursor: e-resize; +} + +.vis-range.vis-item.vis-readonly .vis-drag-left, +.vis-range.vis-item.vis-readonly .vis-drag-right { + cursor: auto; +} + +.vis-item.vis-cluster { + vertical-align: center; + text-align: center; + border-style: solid; + border-radius: 2px; +} + +.vis-item.vis-cluster-line { + padding: 0; + position: absolute; + width: 0; + border-left-width: 1px; + border-left-style: solid; +} + +.vis-item.vis-cluster-dot { + position: absolute; + padding: 0; + border-width: 4px; + border-style: solid; + border-radius: 4px; +} + +div.vis-configuration { + position: relative; + display: block; + float: left; + font-size: 12px; +} + +div.vis-configuration-wrapper { + display: block; + width: 700px; +} + +div.vis-configuration-wrapper::after { + clear: both; + content: ""; + display: block; +} + +div.vis-configuration.vis-config-option-container { + display: block; + width: 495px; + background-color: #ffffff; + border: 2px solid #f7f8fa; + border-radius: 4px; + margin-top: 20px; + left: 10px; + padding-left: 5px; +} + +div.vis-configuration.vis-config-button { + display: block; + width: 495px; + height: 25px; + vertical-align: middle; + line-height: 25px; + background-color: #f7f8fa; + border: 2px solid #ceced0; + border-radius: 4px; + margin-top: 20px; + left: 10px; + padding-left: 5px; + cursor: pointer; + margin-bottom: 30px; +} + +div.vis-configuration.vis-config-button.hover { + background-color: #4588e6; + border: 2px solid #214373; + color: #ffffff; +} + +div.vis-configuration.vis-config-item { + display: block; + float: left; + width: 495px; + height: 25px; + vertical-align: middle; + line-height: 25px; +} + +div.vis-configuration.vis-config-item.vis-config-s2 { + left: 10px; + background-color: #f7f8fa; + padding-left: 5px; + border-radius: 3px; +} + +div.vis-configuration.vis-config-item.vis-config-s3 { + left: 20px; + background-color: #e4e9f0; + padding-left: 5px; + border-radius: 3px; +} + +div.vis-configuration.vis-config-item.vis-config-s4 { + left: 30px; + background-color: #cfd8e6; + padding-left: 5px; + border-radius: 3px; +} + +div.vis-configuration.vis-config-header { + font-size: 18px; + font-weight: bold; +} + +div.vis-configuration.vis-config-label { + width: 120px; + height: 25px; + line-height: 25px; +} + +div.vis-configuration.vis-config-label.vis-config-s3 { + width: 110px; +} + +div.vis-configuration.vis-config-label.vis-config-s4 { + width: 100px; +} + +div.vis-configuration.vis-config-colorBlock { + top: 1px; + width: 30px; + height: 19px; + border: 1px solid #444444; + border-radius: 2px; + padding: 0px; + margin: 0px; + cursor: pointer; +} + +input.vis-configuration.vis-config-checkbox { + left: -5px; +} + +input.vis-configuration.vis-config-rangeinput { + position: relative; + top: -5px; + width: 60px; + /*height:13px;*/ + padding: 1px; + margin: 0; + pointer-events: none; +} + +input.vis-configuration.vis-config-range { + /*removes default webkit styles*/ + -webkit-appearance: none; + /*fix for FF unable to apply focus style bug */ + border: 0px solid white; + background-color: rgba(0, 0, 0, 0); + /*required for proper track sizing in FF*/ + width: 300px; + height: 20px; +} + +input.vis-configuration.vis-config-range::-webkit-slider-runnable-track { + width: 300px; + height: 5px; + background: #dedede; + /* Old browsers */ + background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dedede), color-stop(99%, #c8c8c8)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* IE10+ */ + background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#dedede", endColorstr="#c8c8c8",GradientType=0 ); + /* IE6-9 */ + border: 1px solid #999999; + box-shadow: #aaaaaa 0px 0px 3px 0px; + border-radius: 3px; +} + +input.vis-configuration.vis-config-range::-webkit-slider-thumb { + -webkit-appearance: none; + border: 1px solid #14334b; + height: 17px; + width: 17px; + border-radius: 50%; + background: #3876c2; + /* Old browsers */ + background: -moz-linear-gradient(top, #3876c2 0%, #385380 100%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3876c2), color-stop(100%, #385380)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #3876c2 0%, #385380 100%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #3876c2 0%, #385380 100%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #3876c2 0%, #385380 100%); + /* IE10+ */ + background: linear-gradient(to bottom, #3876c2 0%, #385380 100%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#3876c2", endColorstr="#385380",GradientType=0 ); + /* IE6-9 */ + box-shadow: #111927 0px 0px 1px 0px; + margin-top: -7px; +} + +input.vis-configuration.vis-config-range:focus { + outline: none; +} + +input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track { + background: #9d9d9d; + /* Old browsers */ + background: -moz-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #9d9d9d), color-stop(99%, #c8c8c8)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #9d9d9d 0%, #c8c8c8 99%); + /* IE10+ */ + background: linear-gradient(to bottom, #9d9d9d 0%, #c8c8c8 99%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#9d9d9d", endColorstr="#c8c8c8",GradientType=0 ); + /* IE6-9 */ +} + +input.vis-configuration.vis-config-range::-moz-range-track { + width: 300px; + height: 10px; + background: #dedede; + /* Old browsers */ + background: -moz-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #dedede), color-stop(99%, #c8c8c8)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #dedede 0%, #c8c8c8 99%); + /* IE10+ */ + background: linear-gradient(to bottom, #dedede 0%, #c8c8c8 99%); + /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#dedede", endColorstr="#c8c8c8",GradientType=0 ); + /* IE6-9 */ + border: 1px solid #999999; + box-shadow: #aaaaaa 0px 0px 3px 0px; + border-radius: 3px; +} + +input.vis-configuration.vis-config-range::-moz-range-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #385380; +} + +/*hide the outline behind the border*/ +input.vis-configuration.vis-config-range:-moz-focusring { + outline: 1px solid white; + outline-offset: -1px; +} + +input.vis-configuration.vis-config-range::-ms-track { + width: 300px; + height: 5px; + /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */ + background: transparent; + /*leave room for the larger thumb to overflow with a transparent border */ + border-color: transparent; + border-width: 6px 0; + /*remove default tick marks*/ + color: transparent; +} + +input.vis-configuration.vis-config-range::-ms-fill-lower { + background: #777; + border-radius: 10px; +} + +input.vis-configuration.vis-config-range::-ms-fill-upper { + background: #ddd; + border-radius: 10px; +} + +input.vis-configuration.vis-config-range::-ms-thumb { + border: none; + height: 16px; + width: 16px; + border-radius: 50%; + background: #385380; +} + +input.vis-configuration.vis-config-range:focus::-ms-fill-lower { + background: #888; +} + +input.vis-configuration.vis-config-range:focus::-ms-fill-upper { + background: #ccc; +} + +.vis-configuration-popup { + position: absolute; + background: rgba(57, 76, 89, 0.85); + border: 2px solid #f2faff; + line-height: 30px; + height: 30px; + width: 150px; + text-align: center; + color: #ffffff; + font-size: 14px; + border-radius: 4px; + -webkit-transition: opacity 0.3s ease-in-out; + -moz-transition: opacity 0.3s ease-in-out; + transition: opacity 0.3s ease-in-out; +} + +.vis-configuration-popup:after, .vis-configuration-popup:before { + left: 100%; + top: 50%; + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; + pointer-events: none; +} + +.vis-configuration-popup:after { + border-color: rgba(136, 183, 213, 0); + border-left-color: rgba(57, 76, 89, 0.85); + border-width: 8px; + margin-top: -8px; +} + +.vis-configuration-popup:before { + border-color: rgba(194, 225, 245, 0); + border-left-color: #f2faff; + border-width: 12px; + margin-top: -12px; +} + +.vis .overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + /* Must be displayed above for example selected Timeline items */ + z-index: 10; +} + +.vis-active { + box-shadow: 0 0 10px #86d5f8; +} + +div.vis-tooltip { + position: absolute; + visibility: hidden; + padding: 5px; + white-space: nowrap; + font-family: verdana; + font-size: 14px; + color: #000000; + background-color: #f5f4ed; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border: 1px solid #808074; + box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2); + pointer-events: none; + z-index: 5; +} \ No newline at end of file diff --git a/assets/plugins/custom/vis-timeline/vis-timeline.bundle.js b/assets/plugins/custom/vis-timeline/vis-timeline.bundle.js new file mode 100644 index 0000000..7e88b0d --- /dev/null +++ b/assets/plugins/custom/vis-timeline/vis-timeline.bundle.js @@ -0,0 +1,65 @@ +/** + * vis-timeline and vis-graph2d + * https://visjs.github.io/vis-timeline/ + * + * Create a fully customizable, interactive timeline with items and ranges. + * + * @version 7.4.9 + * @date 2021-06-05T17:20:46.148Z + * + * @copyright (c) 2011-2017 Almende B.V, http://almende.com + * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs + * + * @license + * vis.js is dual licensed under both + * + * 1. The Apache 2.0 License + * http://www.apache.org/licenses/LICENSE-2.0 + * + * and + * + * 2. The MIT License + * http://opensource.org/licenses/MIT + * + * vis.js may be distributed under either license. + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).vis=t.vis||{})}(this,(function(t){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function i(t){var e={exports:{}};return t(e,e.exports),e.exports}function n(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets option of @rollup/plugin-commonjs appropriately for this require call to behave properly.')}var o=i((function(t,e){t.exports=function(){var e,i;function o(){return e.apply(null,arguments)}function r(t){e=t}function s(t){return t instanceof Array||"[object Array]"===Object.prototype.toString.call(t)}function a(t){return null!=t&&"[object Object]"===Object.prototype.toString.call(t)}function l(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function h(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(l(t,e))return!1;return!0}function u(t){return void 0===t}function d(t){return"number"==typeof t||"[object Number]"===Object.prototype.toString.call(t)}function c(t){return t instanceof Date||"[object Date]"===Object.prototype.toString.call(t)}function p(t,e){var i,n=[];for(i=0;i>>0;for(e=0;e0)for(i=0;i<_.length;i++)u(o=e[n=_[i]])||(t[n]=o);return t}function x(t){k(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===w&&(w=!0,o.updateOffset(this),w=!1)}function D(t){return t instanceof x||null!=t&&null!=t._isAMomentObject}function S(t){!1===o.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+t)}function C(t,e){var i=!0;return f((function(){if(null!=o.deprecationHandler&&o.deprecationHandler(null,t),i){var n,r,s,a=[];for(r=0;r=0?i?"+":"":"-")+Math.pow(10,Math.max(0,o)).toString().substr(1)+n}var R=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Y=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,j={},H={};function z(t,e,i,n){var o=n;"string"==typeof n&&(o=function(){return this[n]()}),t&&(H[t]=o),e&&(H[e[0]]=function(){return F(o.apply(this,arguments),e[1],e[2])}),i&&(H[i]=function(){return this.localeData().ordinal(o.apply(this,arguments),t)})}function G(t){return t.match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"")}function B(t){var e,i,n=t.match(R);for(e=0,i=n.length;e=0&&Y.test(t);)t=t.replace(Y,n),Y.lastIndex=0,i-=1;return t}var U={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function X(t){var e=this._longDateFormat[t],i=this._longDateFormat[t.toUpperCase()];return e||!i?e:(this._longDateFormat[t]=i.match(R).map((function(t){return"MMMM"===t||"MM"===t||"DD"===t||"dddd"===t?t.slice(1):t})).join(""),this._longDateFormat[t])}var q="Invalid date";function Z(){return this._invalidDate}var $="%d",K=/\d{1,2}/;function J(t){return this._ordinal.replace("%d",t)}var Q={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function tt(t,e,i,n){var o=this._relativeTime[i];return E(o)?o(t,e,i,n):o.replace(/%d/i,t)}function et(t,e){var i=this._relativeTime[t>0?"future":"past"];return E(i)?i(e):i.replace(/%s/i,e)}var it={};function nt(t,e){var i=t.toLowerCase();it[i]=it[i+"s"]=it[e]=t}function ot(t){return"string"==typeof t?it[t]||it[t.toLowerCase()]:void 0}function rt(t){var e,i,n={};for(i in t)l(t,i)&&(e=ot(i))&&(n[e]=t[i]);return n}var st={};function at(t,e){st[t]=e}function lt(t){var e,i=[];for(e in t)l(t,e)&&i.push({unit:e,priority:st[e]});return i.sort((function(t,e){return t.priority-e.priority})),i}function ht(t){return t%4==0&&t%100!=0||t%400==0}function ut(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function dt(t){var e=+t,i=0;return 0!==e&&isFinite(e)&&(i=ut(e)),i}function ct(t,e){return function(i){return null!=i?(ft(this,t,i),o.updateOffset(this,e),this):pt(this,t)}}function pt(t,e){return t.isValid()?t._d["get"+(t._isUTC?"UTC":"")+e]():NaN}function ft(t,e,i){t.isValid()&&!isNaN(i)&&("FullYear"===e&&ht(t.year())&&1===t.month()&&29===t.date()?(i=dt(i),t._d["set"+(t._isUTC?"UTC":"")+e](i,t.month(),te(i,t.month()))):t._d["set"+(t._isUTC?"UTC":"")+e](i))}function mt(t){return E(this[t=ot(t)])?this[t]():this}function vt(t,e){if("object"==typeof t){var i,n=lt(t=rt(t));for(i=0;i68?1900:2e3)};var ge=ct("FullYear",!0);function ye(){return ht(this.year())}function be(t,e,i,n,o,r,s){var a;return t<100&&t>=0?(a=new Date(t+400,e,i,n,o,r,s),isFinite(a.getFullYear())&&a.setFullYear(t)):a=new Date(t,e,i,n,o,r,s),a}function _e(t){var e,i;return t<100&&t>=0?((i=Array.prototype.slice.call(arguments))[0]=t+400,e=new Date(Date.UTC.apply(null,i)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)):e=new Date(Date.UTC.apply(null,arguments)),e}function we(t,e,i){var n=7+e-i;return-(7+_e(t,0,n).getUTCDay()-e)%7+n-1}function ke(t,e,i,n,o){var r,s,a=1+7*(e-1)+(7+i-n)%7+we(t,n,o);return a<=0?s=ve(r=t-1)+a:a>ve(t)?(r=t+1,s=a-ve(t)):(r=t,s=a),{year:r,dayOfYear:s}}function xe(t,e,i){var n,o,r=we(t.year(),e,i),s=Math.floor((t.dayOfYear()-r-1)/7)+1;return s<1?n=s+De(o=t.year()-1,e,i):s>De(t.year(),e,i)?(n=s-De(t.year(),e,i),o=t.year()+1):(o=t.year(),n=s),{week:n,year:o}}function De(t,e,i){var n=we(t,e,i),o=we(t+1,e,i);return(ve(t)-n+o)/7}function Se(t){return xe(t,this._week.dow,this._week.doy).week}z("w",["ww",2],"wo","week"),z("W",["WW",2],"Wo","isoWeek"),nt("week","w"),nt("isoWeek","W"),at("week",5),at("isoWeek",5),Nt("w",xt),Nt("ww",xt,bt),Nt("W",xt),Nt("WW",xt,bt),zt(["w","ww","W","WW"],(function(t,e,i,n){e[n.substr(0,1)]=dt(t)}));var Ce={dow:0,doy:6};function Te(){return this._week.dow}function Me(){return this._week.doy}function Oe(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),"d")}function Ee(t){var e=xe(this,1,4).week;return null==t?e:this.add(7*(t-e),"d")}function Pe(t,e){return"string"!=typeof t?t:isNaN(t)?"number"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}function Ae(t,e){return"string"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}function Le(t,e){return t.slice(e,7).concat(t.slice(0,e))}z("d",0,"do","day"),z("dd",0,0,(function(t){return this.localeData().weekdaysMin(this,t)})),z("ddd",0,0,(function(t){return this.localeData().weekdaysShort(this,t)})),z("dddd",0,0,(function(t){return this.localeData().weekdays(this,t)})),z("e",0,0,"weekday"),z("E",0,0,"isoWeekday"),nt("day","d"),nt("weekday","e"),nt("isoWeekday","E"),at("day",11),at("weekday",11),at("isoWeekday",11),Nt("d",xt),Nt("e",xt),Nt("E",xt),Nt("dd",(function(t,e){return e.weekdaysMinRegex(t)})),Nt("ddd",(function(t,e){return e.weekdaysShortRegex(t)})),Nt("dddd",(function(t,e){return e.weekdaysRegex(t)})),zt(["dd","ddd","dddd"],(function(t,e,i,n){var o=i._locale.weekdaysParse(t,n,i._strict);null!=o?e.d=o:g(i).invalidWeekday=t})),zt(["d","e","E"],(function(t,e,i,n){e[n]=dt(t)}));var Ie="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Ne="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Fe="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Re=It,Ye=It,je=It;function He(t,e){var i=s(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===t?Le(i,this._week.dow):t?i[t.day()]:i}function ze(t){return!0===t?Le(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort}function Ge(t){return!0===t?Le(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin}function Be(t,e,i){var n,o,r,s=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)r=m([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(r,"").toLocaleLowerCase();return i?"dddd"===e?-1!==(o=Bt.call(this._weekdaysParse,s))?o:null:"ddd"===e?-1!==(o=Bt.call(this._shortWeekdaysParse,s))?o:null:-1!==(o=Bt.call(this._minWeekdaysParse,s))?o:null:"dddd"===e?-1!==(o=Bt.call(this._weekdaysParse,s))||-1!==(o=Bt.call(this._shortWeekdaysParse,s))||-1!==(o=Bt.call(this._minWeekdaysParse,s))?o:null:"ddd"===e?-1!==(o=Bt.call(this._shortWeekdaysParse,s))||-1!==(o=Bt.call(this._weekdaysParse,s))||-1!==(o=Bt.call(this._minWeekdaysParse,s))?o:null:-1!==(o=Bt.call(this._minWeekdaysParse,s))||-1!==(o=Bt.call(this._weekdaysParse,s))||-1!==(o=Bt.call(this._shortWeekdaysParse,s))?o:null}function We(t,e,i){var n,o,r;if(this._weekdaysParseExact)return Be.call(this,t,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(o=m([2e3,1]).day(n),i&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(o,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(o,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(o,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(r="^"+this.weekdays(o,"")+"|^"+this.weekdaysShort(o,"")+"|^"+this.weekdaysMin(o,""),this._weekdaysParse[n]=new RegExp(r.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[n].test(t))return n;if(i&&"ddd"===e&&this._shortWeekdaysParse[n].test(t))return n;if(i&&"dd"===e&&this._minWeekdaysParse[n].test(t))return n;if(!i&&this._weekdaysParse[n].test(t))return n}}function Ve(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=Pe(t,this.localeData()),this.add(t-e,"d")):e}function Ue(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,"d")}function Xe(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=Ae(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7}function qe(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=Re),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ze(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ye),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function $e(t){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Ke.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=je),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Ke(){function t(t,e){return e.length-t.length}var e,i,n,o,r,s=[],a=[],l=[],h=[];for(e=0;e<7;e++)i=m([2e3,1]).day(e),n=Yt(this.weekdaysMin(i,"")),o=Yt(this.weekdaysShort(i,"")),r=Yt(this.weekdays(i,"")),s.push(n),a.push(o),l.push(r),h.push(n),h.push(o),h.push(r);s.sort(t),a.sort(t),l.sort(t),h.sort(t),this._weekdaysRegex=new RegExp("^("+h.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Je(){return this.hours()%12||12}function Qe(){return this.hours()||24}function ti(t,e){z(t,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)}))}function ei(t,e){return e._meridiemParse}function ii(t){return"p"===(t+"").toLowerCase().charAt(0)}z("H",["HH",2],0,"hour"),z("h",["hh",2],0,Je),z("k",["kk",2],0,Qe),z("hmm",0,0,(function(){return""+Je.apply(this)+F(this.minutes(),2)})),z("hmmss",0,0,(function(){return""+Je.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),z("Hmm",0,0,(function(){return""+this.hours()+F(this.minutes(),2)})),z("Hmmss",0,0,(function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),ti("a",!0),ti("A",!1),nt("hour","h"),at("hour",13),Nt("a",ei),Nt("A",ei),Nt("H",xt),Nt("h",xt),Nt("k",xt),Nt("HH",xt,bt),Nt("hh",xt,bt),Nt("kk",xt,bt),Nt("hmm",Dt),Nt("hmmss",St),Nt("Hmm",Dt),Nt("Hmmss",St),Ht(["H","HH"],Xt),Ht(["k","kk"],(function(t,e,i){var n=dt(t);e[Xt]=24===n?0:n})),Ht(["a","A"],(function(t,e,i){i._isPm=i._locale.isPM(t),i._meridiem=t})),Ht(["h","hh"],(function(t,e,i){e[Xt]=dt(t),g(i).bigHour=!0})),Ht("hmm",(function(t,e,i){var n=t.length-2;e[Xt]=dt(t.substr(0,n)),e[qt]=dt(t.substr(n)),g(i).bigHour=!0})),Ht("hmmss",(function(t,e,i){var n=t.length-4,o=t.length-2;e[Xt]=dt(t.substr(0,n)),e[qt]=dt(t.substr(n,2)),e[Zt]=dt(t.substr(o)),g(i).bigHour=!0})),Ht("Hmm",(function(t,e,i){var n=t.length-2;e[Xt]=dt(t.substr(0,n)),e[qt]=dt(t.substr(n))})),Ht("Hmmss",(function(t,e,i){var n=t.length-4,o=t.length-2;e[Xt]=dt(t.substr(0,n)),e[qt]=dt(t.substr(n,2)),e[Zt]=dt(t.substr(o))}));var ni=/[ap]\.?m?\.?/i,oi=ct("Hours",!0);function ri(t,e,i){return t>11?i?"pm":"PM":i?"am":"AM"}var si,ai={calendar:I,longDateFormat:U,invalidDate:q,ordinal:$,dayOfMonthOrdinalParse:K,relativeTime:Q,months:ee,monthsShort:ie,week:Ce,weekdays:Ie,weekdaysMin:Fe,weekdaysShort:Ne,meridiemParse:ni},li={},hi={};function ui(t,e){var i,n=Math.min(t.length,e.length);for(i=0;i0;){if(n=pi(o.slice(0,e).join("-")))return n;if(i&&i.length>=e&&ui(o,i)>=e-1)break;e--}r++}return si}function pi(e){var i=null;if(void 0===li[e]&&t&&t.exports)try{i=si._abbr,n("./locale/"+e),fi(i)}catch(t){li[e]=null}return li[e]}function fi(t,e){var i;return t&&((i=u(e)?gi(t):mi(t,e))?si=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+t+" not found. Did you forget to load it?")),si._abbr}function mi(t,e){if(null!==e){var i,n=ai;if(e.abbr=t,null!=li[t])O("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=li[t]._config;else if(null!=e.parentLocale)if(null!=li[e.parentLocale])n=li[e.parentLocale]._config;else{if(null==(i=pi(e.parentLocale)))return hi[e.parentLocale]||(hi[e.parentLocale]=[]),hi[e.parentLocale].push({name:t,config:e}),null;n=i._config}return li[t]=new L(A(n,e)),hi[t]&&hi[t].forEach((function(t){mi(t.name,t.config)})),fi(t),li[t]}return delete li[t],null}function vi(t,e){if(null!=e){var i,n,o=ai;null!=li[t]&&null!=li[t].parentLocale?li[t].set(A(li[t]._config,e)):(null!=(n=pi(t))&&(o=n._config),e=A(o,e),null==n&&(e.abbr=t),(i=new L(e)).parentLocale=li[t],li[t]=i),fi(t)}else null!=li[t]&&(null!=li[t].parentLocale?(li[t]=li[t].parentLocale,t===fi()&&fi(t)):null!=li[t]&&delete li[t]);return li[t]}function gi(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return si;if(!s(t)){if(e=pi(t))return e;t=[t]}return ci(t)}function yi(){return T(li)}function bi(t){var e,i=t._a;return i&&-2===g(t).overflow&&(e=i[Vt]<0||i[Vt]>11?Vt:i[Ut]<1||i[Ut]>te(i[Wt],i[Vt])?Ut:i[Xt]<0||i[Xt]>24||24===i[Xt]&&(0!==i[qt]||0!==i[Zt]||0!==i[$t])?Xt:i[qt]<0||i[qt]>59?qt:i[Zt]<0||i[Zt]>59?Zt:i[$t]<0||i[$t]>999?$t:-1,g(t)._overflowDayOfYear&&(eUt)&&(e=Ut),g(t)._overflowWeeks&&-1===e&&(e=Kt),g(t)._overflowWeekday&&-1===e&&(e=Jt),g(t).overflow=e),t}var _i=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wi=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ki=/Z|[+-]\d\d(?::?\d\d)?/,xi=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Di=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Si=/^\/?Date\((-?\d+)/i,Ci=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,Ti={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Mi(t){var e,i,n,o,r,s,a=t._i,l=_i.exec(a)||wi.exec(a);if(l){for(g(t).iso=!0,e=0,i=xi.length;eve(r)||0===t._dayOfYear)&&(g(t)._overflowDayOfYear=!0),i=_e(r,0,t._dayOfYear),t._a[Vt]=i.getUTCMonth(),t._a[Ut]=i.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=s[e]=n[e];for(;e<7;e++)t._a[e]=s[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[Xt]&&0===t._a[qt]&&0===t._a[Zt]&&0===t._a[$t]&&(t._nextDay=!0,t._a[Xt]=0),t._d=(t._useUTC?_e:be).apply(null,s),o=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Xt]=24),t._w&&void 0!==t._w.d&&t._w.d!==o&&(g(t).weekdayMismatch=!0)}}function ji(t){var e,i,n,o,r,s,a,l,h;null!=(e=t._w).GG||null!=e.W||null!=e.E?(r=1,s=4,i=Fi(e.GG,t._a[Wt],xe(qi(),1,4).year),n=Fi(e.W,1),((o=Fi(e.E,1))<1||o>7)&&(l=!0)):(r=t._locale._week.dow,s=t._locale._week.doy,h=xe(qi(),r,s),i=Fi(e.gg,t._a[Wt],h.year),n=Fi(e.w,h.week),null!=e.d?((o=e.d)<0||o>6)&&(l=!0):null!=e.e?(o=e.e+r,(e.e<0||e.e>6)&&(l=!0)):o=r),n<1||n>De(i,r,s)?g(t)._overflowWeeks=!0:null!=l?g(t)._overflowWeekday=!0:(a=ke(i,n,o,r,s),t._a[Wt]=a.year,t._dayOfYear=a.dayOfYear)}function Hi(t){if(t._f!==o.ISO_8601)if(t._f!==o.RFC_2822){t._a=[],g(t).empty=!0;var e,i,n,r,s,a,l=""+t._i,h=l.length,u=0;for(n=V(t._f,t._locale).match(R)||[],e=0;e0&&g(t).unusedInput.push(s),l=l.slice(l.indexOf(i)+i.length),u+=i.length),H[r]?(i?g(t).empty=!1:g(t).unusedTokens.push(r),Gt(r,i,t)):t._strict&&!i&&g(t).unusedTokens.push(r);g(t).charsLeftOver=h-u,l.length>0&&g(t).unusedInput.push(l),t._a[Xt]<=12&&!0===g(t).bigHour&&t._a[Xt]>0&&(g(t).bigHour=void 0),g(t).parsedDateParts=t._a.slice(0),g(t).meridiem=t._meridiem,t._a[Xt]=zi(t._locale,t._a[Xt],t._meridiem),null!==(a=g(t).era)&&(t._a[Wt]=t._locale.erasConvertYear(a,t._a[Wt])),Yi(t),bi(t)}else Ii(t);else Mi(t)}function zi(t,e,i){var n;return null==i?e:null!=t.meridiemHour?t.meridiemHour(e,i):null!=t.isPM?((n=t.isPM(i))&&e<12&&(e+=12),n||12!==e||(e=0),e):e}function Gi(t){var e,i,n,o,r,s,a=!1;if(0===t._f.length)return g(t).invalidFormat=!0,void(t._d=new Date(NaN));for(o=0;othis?this:t:b()}));function Ki(t,e){var i,n;if(1===e.length&&s(e[0])&&(e=e[0]),!e.length)return qi();for(i=e[0],n=1;nthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function kn(){if(!u(this._isDSTShifted))return this._isDSTShifted;var t,e={};return k(e,this),(e=Vi(e))._a?(t=e._isUTC?m(e._a):qi(e._a),this._isDSTShifted=this.isValid()&&hn(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function xn(){return!!this.isValid()&&!this._isUTC}function Dn(){return!!this.isValid()&&this._isUTC}function Sn(){return!!this.isValid()&&this._isUTC&&0===this._offset}o.updateOffset=function(){};var Cn=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Tn=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Mn(t,e){var i,n,o,r=t,s=null;return an(t)?r={ms:t._milliseconds,d:t._days,M:t._months}:d(t)||!isNaN(+t)?(r={},e?r[e]=+t:r.milliseconds=+t):(s=Cn.exec(t))?(i="-"===s[1]?-1:1,r={y:0,d:dt(s[Ut])*i,h:dt(s[Xt])*i,m:dt(s[qt])*i,s:dt(s[Zt])*i,ms:dt(ln(1e3*s[$t]))*i}):(s=Tn.exec(t))?(i="-"===s[1]?-1:1,r={y:On(s[2],i),M:On(s[3],i),w:On(s[4],i),d:On(s[5],i),h:On(s[6],i),m:On(s[7],i),s:On(s[8],i)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(o=Pn(qi(r.from),qi(r.to)),(r={}).ms=o.milliseconds,r.M=o.months),n=new sn(r),an(t)&&l(t,"_locale")&&(n._locale=t._locale),an(t)&&l(t,"_isValid")&&(n._isValid=t._isValid),n}function On(t,e){var i=t&&parseFloat(t.replace(",","."));return(isNaN(i)?0:i)*e}function En(t,e){var i={};return i.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+t.clone().add(i.months,"M"),i}function Pn(t,e){var i;return t.isValid()&&e.isValid()?(e=pn(e,t),t.isBefore(e)?i=En(t,e):((i=En(e,t)).milliseconds=-i.milliseconds,i.months=-i.months),i):{milliseconds:0,months:0}}function An(t,e){return function(i,n){var o;return null===n||isNaN(+n)||(O(e,"moment()."+e+"(period, number) is deprecated. Please use moment()."+e+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=i,i=n,n=o),Ln(this,Mn(i,n),t),this}}function Ln(t,e,i,n){var r=e._milliseconds,s=ln(e._days),a=ln(e._months);t.isValid()&&(n=null==n||n,a&&ue(t,pt(t,"Month")+a*i),s&&ft(t,"Date",pt(t,"Date")+s*i),r&&t._d.setTime(t._d.valueOf()+r*i),n&&o.updateOffset(t,s||a))}Mn.fn=sn.prototype,Mn.invalid=rn;var In=An(1,"add"),Nn=An(-1,"subtract");function Fn(t){return"string"==typeof t||t instanceof String}function Rn(t){return D(t)||c(t)||Fn(t)||d(t)||jn(t)||Yn(t)||null==t}function Yn(t){var e,i,n=a(t)&&!h(t),o=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"];for(e=0;ei.valueOf():i.valueOf()9999?W(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):E(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",W(i,"Z")):W(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function to(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var t,e,i,n,o="moment",r="";return this.isLocal()||(o=0===this.utcOffset()?"moment.utc":"moment.parseZone",r="Z"),t="["+o+'("]',e=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i="-MM-DD[T]HH:mm:ss.SSS",n=r+'[")]',this.format(t+e+i+n)}function eo(t){t||(t=this.isUtc()?o.defaultFormatUtc:o.defaultFormat);var e=W(this,t);return this.localeData().postformat(e)}function io(t,e){return this.isValid()&&(D(t)&&t.isValid()||qi(t).isValid())?Mn({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function no(t){return this.from(qi(),t)}function oo(t,e){return this.isValid()&&(D(t)&&t.isValid()||qi(t).isValid())?Mn({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()}function ro(t){return this.to(qi(),t)}function so(t){var e;return void 0===t?this._locale._abbr:(null!=(e=gi(t))&&(this._locale=e),this)}o.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",o.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var ao=C("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(t){return void 0===t?this.localeData():this.locale(t)}));function lo(){return this._locale}var ho=1e3,uo=60*ho,co=60*uo,po=3506328*co;function fo(t,e){return(t%e+e)%e}function mo(t,e,i){return t<100&&t>=0?new Date(t+400,e,i)-po:new Date(t,e,i).valueOf()}function vo(t,e,i){return t<100&&t>=0?Date.UTC(t+400,e,i)-po:Date.UTC(t,e,i)}function go(t){var e,i;if(void 0===(t=ot(t))||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?vo:mo,t){case"year":e=i(this.year(),0,1);break;case"quarter":e=i(this.year(),this.month()-this.month()%3,1);break;case"month":e=i(this.year(),this.month(),1);break;case"week":e=i(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=i(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=fo(e+(this._isUTC?0:this.utcOffset()*uo),co);break;case"minute":e=this._d.valueOf(),e-=fo(e,uo);break;case"second":e=this._d.valueOf(),e-=fo(e,ho)}return this._d.setTime(e),o.updateOffset(this,!0),this}function yo(t){var e,i;if(void 0===(t=ot(t))||"millisecond"===t||!this.isValid())return this;switch(i=this._isUTC?vo:mo,t){case"year":e=i(this.year()+1,0,1)-1;break;case"quarter":e=i(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=i(this.year(),this.month()+1,1)-1;break;case"week":e=i(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=i(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=co-fo(e+(this._isUTC?0:this.utcOffset()*uo),co)-1;break;case"minute":e=this._d.valueOf(),e+=uo-fo(e,uo)-1;break;case"second":e=this._d.valueOf(),e+=ho-fo(e,ho)-1}return this._d.setTime(e),o.updateOffset(this,!0),this}function bo(){return this._d.valueOf()-6e4*(this._offset||0)}function _o(){return Math.floor(this.valueOf()/1e3)}function wo(){return new Date(this.valueOf())}function ko(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]}function xo(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}}function Do(){return this.isValid()?this.toISOString():null}function So(){return y(this)}function Co(){return f({},g(this))}function To(){return g(this).overflow}function Mo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Oo(t,e){var i,n,r,s=this._eras||gi("en")._eras;for(i=0,n=s.length;i=0)return l[n]}function Po(t,e){var i=t.since<=t.until?1:-1;return void 0===e?o(t.since).year():o(t.since).year()+(e-t.offset)*i}function Ao(){var t,e,i,n=this.localeData().eras();for(t=0,e=n.length;t(r=De(t,n,o))&&(e=r),Jo.call(this,t,e,i,n,o))}function Jo(t,e,i,n,o){var r=ke(t,e,i,n,o),s=_e(r.year,0,r.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}function Qo(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)}z("N",0,0,"eraAbbr"),z("NN",0,0,"eraAbbr"),z("NNN",0,0,"eraAbbr"),z("NNNN",0,0,"eraName"),z("NNNNN",0,0,"eraNarrow"),z("y",["y",1],"yo","eraYear"),z("y",["yy",2],0,"eraYear"),z("y",["yyy",3],0,"eraYear"),z("y",["yyyy",4],0,"eraYear"),Nt("N",jo),Nt("NN",jo),Nt("NNN",jo),Nt("NNNN",Ho),Nt("NNNNN",zo),Ht(["N","NN","NNN","NNNN","NNNNN"],(function(t,e,i,n){var o=i._locale.erasParse(t,n,i._strict);o?g(i).era=o:g(i).invalidEra=t})),Nt("y",Ot),Nt("yy",Ot),Nt("yyy",Ot),Nt("yyyy",Ot),Nt("yo",Go),Ht(["y","yy","yyy","yyyy"],Wt),Ht(["yo"],(function(t,e,i,n){var o;i._locale._eraYearOrdinalRegex&&(o=t.match(i._locale._eraYearOrdinalRegex)),i._locale.eraYearOrdinalParse?e[Wt]=i._locale.eraYearOrdinalParse(t,o):e[Wt]=parseInt(t,10)})),z(0,["gg",2],0,(function(){return this.weekYear()%100})),z(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),Wo("gggg","weekYear"),Wo("ggggg","weekYear"),Wo("GGGG","isoWeekYear"),Wo("GGGGG","isoWeekYear"),nt("weekYear","gg"),nt("isoWeekYear","GG"),at("weekYear",1),at("isoWeekYear",1),Nt("G",Et),Nt("g",Et),Nt("GG",xt,bt),Nt("gg",xt,bt),Nt("GGGG",Tt,wt),Nt("gggg",Tt,wt),Nt("GGGGG",Mt,kt),Nt("ggggg",Mt,kt),zt(["gggg","ggggg","GGGG","GGGGG"],(function(t,e,i,n){e[n.substr(0,2)]=dt(t)})),zt(["gg","GG"],(function(t,e,i,n){e[n]=o.parseTwoDigitYear(t)})),z("Q",0,"Qo","quarter"),nt("quarter","Q"),at("quarter",7),Nt("Q",yt),Ht("Q",(function(t,e){e[Vt]=3*(dt(t)-1)})),z("D",["DD",2],"Do","date"),nt("date","D"),at("date",9),Nt("D",xt),Nt("DD",xt,bt),Nt("Do",(function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient})),Ht(["D","DD"],Ut),Ht("Do",(function(t,e){e[Ut]=dt(t.match(xt)[0])}));var tr=ct("Date",!0);function er(t){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==t?e:this.add(t-e,"d")}z("DDD",["DDDD",3],"DDDo","dayOfYear"),nt("dayOfYear","DDD"),at("dayOfYear",4),Nt("DDD",Ct),Nt("DDDD",_t),Ht(["DDD","DDDD"],(function(t,e,i){i._dayOfYear=dt(t)})),z("m",["mm",2],0,"minute"),nt("minute","m"),at("minute",14),Nt("m",xt),Nt("mm",xt,bt),Ht(["m","mm"],qt);var ir=ct("Minutes",!1);z("s",["ss",2],0,"second"),nt("second","s"),at("second",15),Nt("s",xt),Nt("ss",xt,bt),Ht(["s","ss"],Zt);var nr,or,rr=ct("Seconds",!1);for(z("S",0,0,(function(){return~~(this.millisecond()/100)})),z(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),z(0,["SSS",3],0,"millisecond"),z(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),z(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),z(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),z(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),z(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),z(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),nt("millisecond","ms"),at("millisecond",16),Nt("S",Ct,yt),Nt("SS",Ct,bt),Nt("SSS",Ct,_t),nr="SSSS";nr.length<=9;nr+="S")Nt(nr,Ot);function sr(t,e){e[$t]=dt(1e3*("0."+t))}for(nr="S";nr.length<=9;nr+="S")Ht(nr,sr);function ar(){return this._isUTC?"UTC":""}function lr(){return this._isUTC?"Coordinated Universal Time":""}or=ct("Milliseconds",!1),z("z",0,0,"zoneAbbr"),z("zz",0,0,"zoneName");var hr=x.prototype;function ur(t){return qi(1e3*t)}function dr(){return qi.apply(null,arguments).parseZone()}function cr(t){return t}hr.add=In,hr.calendar=Gn,hr.clone=Bn,hr.diff=$n,hr.endOf=yo,hr.format=eo,hr.from=io,hr.fromNow=no,hr.to=oo,hr.toNow=ro,hr.get=mt,hr.invalidAt=To,hr.isAfter=Wn,hr.isBefore=Vn,hr.isBetween=Un,hr.isSame=Xn,hr.isSameOrAfter=qn,hr.isSameOrBefore=Zn,hr.isValid=So,hr.lang=ao,hr.locale=so,hr.localeData=lo,hr.max=$i,hr.min=Zi,hr.parsingFlags=Co,hr.set=vt,hr.startOf=go,hr.subtract=Nn,hr.toArray=ko,hr.toObject=xo,hr.toDate=wo,hr.toISOString=Qn,hr.inspect=to,"undefined"!=typeof Symbol&&null!=Symbol.for&&(hr[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),hr.toJSON=Do,hr.toString=Jn,hr.unix=_o,hr.valueOf=bo,hr.creationData=Mo,hr.eraName=Ao,hr.eraNarrow=Lo,hr.eraAbbr=Io,hr.eraYear=No,hr.year=ge,hr.isLeapYear=ye,hr.weekYear=Vo,hr.isoWeekYear=Uo,hr.quarter=hr.quarters=Qo,hr.month=de,hr.daysInMonth=ce,hr.week=hr.weeks=Oe,hr.isoWeek=hr.isoWeeks=Ee,hr.weeksInYear=Zo,hr.weeksInWeekYear=$o,hr.isoWeeksInYear=Xo,hr.isoWeeksInISOWeekYear=qo,hr.date=tr,hr.day=hr.days=Ve,hr.weekday=Ue,hr.isoWeekday=Xe,hr.dayOfYear=er,hr.hour=hr.hours=oi,hr.minute=hr.minutes=ir,hr.second=hr.seconds=rr,hr.millisecond=hr.milliseconds=or,hr.utcOffset=mn,hr.utc=gn,hr.local=yn,hr.parseZone=bn,hr.hasAlignedHourOffset=_n,hr.isDST=wn,hr.isLocal=xn,hr.isUtcOffset=Dn,hr.isUtc=Sn,hr.isUTC=Sn,hr.zoneAbbr=ar,hr.zoneName=lr,hr.dates=C("dates accessor is deprecated. Use date instead.",tr),hr.months=C("months accessor is deprecated. Use month instead",de),hr.years=C("years accessor is deprecated. Use year instead",ge),hr.zone=C("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",vn),hr.isDSTShifted=C("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",kn);var pr=L.prototype;function fr(t,e,i,n){var o=gi(),r=m().set(n,e);return o[i](r,t)}function mr(t,e,i){if(d(t)&&(e=t,t=void 0),t=t||"",null!=e)return fr(t,e,i,"month");var n,o=[];for(n=0;n<12;n++)o[n]=fr(t,n,i,"month");return o}function vr(t,e,i,n){"boolean"==typeof t?(d(e)&&(i=e,e=void 0),e=e||""):(i=e=t,t=!1,d(e)&&(i=e,e=void 0),e=e||"");var o,r=gi(),s=t?r._week.dow:0,a=[];if(null!=i)return fr(e,(i+s)%7,n,"day");for(o=0;o<7;o++)a[o]=fr(e,(o+s)%7,n,"day");return a}function gr(t,e){return mr(t,e,"months")}function yr(t,e){return mr(t,e,"monthsShort")}function br(t,e,i){return vr(t,e,i,"weekdays")}function _r(t,e,i){return vr(t,e,i,"weekdaysShort")}function wr(t,e,i){return vr(t,e,i,"weekdaysMin")}pr.calendar=N,pr.longDateFormat=X,pr.invalidDate=Z,pr.ordinal=J,pr.preparse=cr,pr.postformat=cr,pr.relativeTime=tt,pr.pastFuture=et,pr.set=P,pr.eras=Oo,pr.erasParse=Eo,pr.erasConvertYear=Po,pr.erasAbbrRegex=Ro,pr.erasNameRegex=Fo,pr.erasNarrowRegex=Yo,pr.months=se,pr.monthsShort=ae,pr.monthsParse=he,pr.monthsRegex=fe,pr.monthsShortRegex=pe,pr.week=Se,pr.firstDayOfYear=Me,pr.firstDayOfWeek=Te,pr.weekdays=He,pr.weekdaysMin=Ge,pr.weekdaysShort=ze,pr.weekdaysParse=We,pr.weekdaysRegex=qe,pr.weekdaysShortRegex=Ze,pr.weekdaysMinRegex=$e,pr.isPM=ii,pr.meridiem=ri,fi("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10;return t+(1===dt(t%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),o.lang=C("moment.lang is deprecated. Use moment.locale instead.",fi),o.langData=C("moment.langData is deprecated. Use moment.localeData instead.",gi);var kr=Math.abs;function xr(){var t=this._data;return this._milliseconds=kr(this._milliseconds),this._days=kr(this._days),this._months=kr(this._months),t.milliseconds=kr(t.milliseconds),t.seconds=kr(t.seconds),t.minutes=kr(t.minutes),t.hours=kr(t.hours),t.months=kr(t.months),t.years=kr(t.years),this}function Dr(t,e,i,n){var o=Mn(e,i);return t._milliseconds+=n*o._milliseconds,t._days+=n*o._days,t._months+=n*o._months,t._bubble()}function Sr(t,e){return Dr(this,t,e,1)}function Cr(t,e){return Dr(this,t,e,-1)}function Tr(t){return t<0?Math.floor(t):Math.ceil(t)}function Mr(){var t,e,i,n,o,r=this._milliseconds,s=this._days,a=this._months,l=this._data;return r>=0&&s>=0&&a>=0||r<=0&&s<=0&&a<=0||(r+=864e5*Tr(Er(a)+s),s=0,a=0),l.milliseconds=r%1e3,t=ut(r/1e3),l.seconds=t%60,e=ut(t/60),l.minutes=e%60,i=ut(e/60),l.hours=i%24,s+=ut(i/24),a+=o=ut(Or(s)),s-=Tr(Er(o)),n=ut(a/12),a%=12,l.days=s,l.months=a,l.years=n,this}function Or(t){return 4800*t/146097}function Er(t){return 146097*t/4800}function Pr(t){if(!this.isValid())return NaN;var e,i,n=this._milliseconds;if("month"===(t=ot(t))||"quarter"===t||"year"===t)switch(e=this._days+n/864e5,i=this._months+Or(e),t){case"month":return i;case"quarter":return i/3;case"year":return i/12}else switch(e=this._days+Math.round(Er(this._months)),t){case"week":return e/7+n/6048e5;case"day":return e+n/864e5;case"hour":return 24*e+n/36e5;case"minute":return 1440*e+n/6e4;case"second":return 86400*e+n/1e3;case"millisecond":return Math.floor(864e5*e)+n;default:throw new Error("Unknown unit "+t)}}function Ar(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*dt(this._months/12):NaN}function Lr(t){return function(){return this.as(t)}}var Ir=Lr("ms"),Nr=Lr("s"),Fr=Lr("m"),Rr=Lr("h"),Yr=Lr("d"),jr=Lr("w"),Hr=Lr("M"),zr=Lr("Q"),Gr=Lr("y");function Br(){return Mn(this)}function Wr(t){return t=ot(t),this.isValid()?this[t+"s"]():NaN}function Vr(t){return function(){return this.isValid()?this._data[t]:NaN}}var Ur=Vr("milliseconds"),Xr=Vr("seconds"),qr=Vr("minutes"),Zr=Vr("hours"),$r=Vr("days"),Kr=Vr("months"),Jr=Vr("years");function Qr(){return ut(this.days()/7)}var ts=Math.round,es={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function is(t,e,i,n,o){return o.relativeTime(e||1,!!i,t,n)}function ns(t,e,i,n){var o=Mn(t).abs(),r=ts(o.as("s")),s=ts(o.as("m")),a=ts(o.as("h")),l=ts(o.as("d")),h=ts(o.as("M")),u=ts(o.as("w")),d=ts(o.as("y")),c=r<=i.ss&&["s",r]||r0,c[4]=n,is.apply(null,c)}function os(t){return void 0===t?ts:"function"==typeof t&&(ts=t,!0)}function rs(t,e){return void 0!==es[t]&&(void 0===e?es[t]:(es[t]=e,"s"===t&&(es.ss=e-1),!0))}function ss(t,e){if(!this.isValid())return this.localeData().invalidDate();var i,n,o=!1,r=es;return"object"==typeof t&&(e=t,t=!1),"boolean"==typeof t&&(o=t),"object"==typeof e&&(r=Object.assign({},es,e),null!=e.s&&null==e.ss&&(r.ss=e.s-1)),n=ns(this,!o,r,i=this.localeData()),o&&(n=i.pastFuture(+this,n)),i.postformat(n)}var as=Math.abs;function ls(t){return(t>0)-(t<0)||+t}function hs(){if(!this.isValid())return this.localeData().invalidDate();var t,e,i,n,o,r,s,a,l=as(this._milliseconds)/1e3,h=as(this._days),u=as(this._months),d=this.asSeconds();return d?(t=ut(l/60),e=ut(t/60),l%=60,t%=60,i=ut(u/12),u%=12,n=l?l.toFixed(3).replace(/\.?0+$/,""):"",o=d<0?"-":"",r=ls(this._months)!==ls(d)?"-":"",s=ls(this._days)!==ls(d)?"-":"",a=ls(this._milliseconds)!==ls(d)?"-":"",o+"P"+(i?r+i+"Y":"")+(u?r+u+"M":"")+(h?s+h+"D":"")+(e||t||l?"T":"")+(e?a+e+"H":"")+(t?a+t+"M":"")+(l?a+n+"S":"")):"P0D"}var us=sn.prototype;return us.isValid=on,us.abs=xr,us.add=Sr,us.subtract=Cr,us.as=Pr,us.asMilliseconds=Ir,us.asSeconds=Nr,us.asMinutes=Fr,us.asHours=Rr,us.asDays=Yr,us.asWeeks=jr,us.asMonths=Hr,us.asQuarters=zr,us.asYears=Gr,us.valueOf=Ar,us._bubble=Mr,us.clone=Br,us.get=Wr,us.milliseconds=Ur,us.seconds=Xr,us.minutes=qr,us.hours=Zr,us.days=$r,us.weeks=Qr,us.months=Kr,us.years=Jr,us.humanize=ss,us.toISOString=hs,us.toString=hs,us.toJSON=hs,us.locale=so,us.localeData=lo,us.toIsoString=C("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",hs),us.lang=ao,z("X",0,0,"unix"),z("x",0,0,"valueOf"),Nt("x",Et),Nt("X",Lt),Ht("X",(function(t,e,i){i._d=new Date(1e3*parseFloat(t))})),Ht("x",(function(t,e,i){i._d=new Date(dt(t))})),//! moment.js +o.version="2.29.1",r(qi),o.fn=hr,o.min=Ji,o.max=Qi,o.now=tn,o.utc=m,o.unix=ur,o.months=gr,o.isDate=c,o.locale=fi,o.invalid=b,o.duration=Mn,o.isMoment=D,o.weekdays=br,o.parseZone=dr,o.localeData=gi,o.isDuration=an,o.monthsShort=yr,o.weekdaysMin=wr,o.defineLocale=mi,o.updateLocale=vi,o.locales=yi,o.weekdaysShort=_r,o.normalizeUnits=ot,o.relativeTimeRounding=os,o.relativeTimeThreshold=rs,o.calendarFormat=zn,o.prototype=hr,o.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},o}()}));i((function(t,e){(function(t){function e(t,e,i,n){var o={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return e?o[i][0]:o[i][1]}t.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,w:e,ww:"%d Wochen",M:e,MM:e,y:e,yy:e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),i="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],o=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;t.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(t,n){return t?/-MMM-/.test(n)?i[t.month()]:e[t.month()]:e},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4},invalidDate:"Fecha inválida"})})(o)})),i((function(t,e){(function(t){var e=/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,i=[/^janv/i,/^févr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^août/i,/^sept/i,/^oct/i,/^nov/i,/^déc/i];t.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsRegex:e,monthsShortRegex:e,monthsStrictRegex:/^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,monthsShortStrictRegex:/(janv\.?|févr\.?|mars|avr\.?|mai|juin|juil\.?|août|sept\.?|oct\.?|nov\.?|déc\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(t,e){switch(e){case"D":return t+(1===t?"er":"");default:case"M":case"Q":case"DDD":case"d":return t+(1===t?"er":"e");case"w":case"W":return t+(1===t?"re":"e")}},week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){t.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(this.hours()>1?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){t.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"令和",narrow:"㋿",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"平成",narrow:"㍻",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"昭和",narrow:"㍼",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"大正",narrow:"㍽",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"明治",narrow:"㍾",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"西暦",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"紀元前",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(元|\d+)年/,eraYearOrdinalParse:function(t,e){return"元"===e[1]?1:parseInt(e[1]||t,10)},months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日(ddd) HH:mm"},meridiemParse:/午前|午後/i,isPM:function(t){return"午後"===t},meridiem:function(t,e,i){return t<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:function(t){return t.week()!==this.week()?"[来週]dddd LT":"dddd LT"},lastDay:"[昨日] LT",lastWeek:function(t){return this.week()!==t.week()?"[先週]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(t,e){switch(e){case"y":return 1===t?"元年":t+"年";case"d":case"D":case"DDD":return t+"日";default:return t}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})})(o)})),i((function(t,e){(function(t){var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),i="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),n=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],o=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;t.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(t,n){return t?/-MMM-/.test(n)?i[t.month()]:e[t.month()]:e},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",w:"één week",ww:"%d weken",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(t){return t+(1===t||8===t||t>=20?"ste":"de")},week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){var e="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),i="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),n=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^paź/i,/^lis/i,/^gru/i];function o(t){return t%10<5&&t%10>1&&~~(t/10)%10!=1}function r(t,e,i){var n=t+" ";switch(i){case"ss":return n+(o(t)?"sekundy":"sekund");case"m":return e?"minuta":"minutę";case"mm":return n+(o(t)?"minuty":"minut");case"h":return e?"godzina":"godzinę";case"hh":return n+(o(t)?"godziny":"godzin");case"ww":return n+(o(t)?"tygodnie":"tygodni");case"MM":return n+(o(t)?"miesiące":"miesięcy");case"yy":return n+(o(t)?"lata":"lat")}}t.defineLocale("pl",{months:function(t,n){return t?/D MMMM/.test(n)?i[t.month()]:e[t.month()]:e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",w:"tydzień",ww:r,M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){function e(t,e,i){var n,o;return"m"===i?e?"минута":"минуту":t+" "+(n=+t,o={ss:e?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:e?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",ww:"неделя_недели_недель",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[i].split("_"),n%10==1&&n%100!=11?o[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?o[1]:o[2])}var i=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];t.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:i,longMonthsParse:i,shortMonthsParse:i,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}},lastWeek:function(t){if(t.week()===this.week())return 2===this.day()?"[Во] dddd, [в] LT":"[В] dddd, [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:e,m:e,mm:e,h:"час",hh:e,d:"день",dd:e,w:"неделя",ww:e,M:"месяц",MM:e,y:"год",yy:e},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(t){return/^(дня|вечера)$/.test(t)},meridiem:function(t,e,i){return t<4?"ночи":t<12?"утра":t<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":return t+"-й";case"D":return t+"-го";case"w":case"W":return t+"-я";default:return t}},week:{dow:1,doy:4}})})(o)})),i((function(t,e){(function(t){function e(t,e,i){var n,o;return"m"===i?e?"хвилина":"хвилину":"h"===i?e?"година":"годину":t+" "+(n=+t,o={ss:e?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:e?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:e?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[i].split("_"),n%10==1&&n%100!=11?o[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?o[1]:o[2])}function i(t){return function(){return t+"о"+(11===this.hours()?"б":"")+"] LT"}}t.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(t,e){var i={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return!0===t?i.nominative.slice(1,7).concat(i.nominative.slice(0,1)):t?i[/(\[[ВвУу]\]) ?dddd/.test(e)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(e)?"genitive":"nominative"][t.day()]:i.nominative},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:i("[Сьогодні "),nextDay:i("[Завтра "),lastDay:i("[Вчора "),nextWeek:i("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return i("[Минулої] dddd [").call(this);case 1:case 2:case 4:return i("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:e,m:e,mm:e,h:"годину",hh:e,d:"день",dd:e,M:"місяць",MM:e,y:"рік",yy:e},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(t){return/^(дня|вечора)$/.test(t)},meridiem:function(t,e,i){return t<4?"ночі":t<12?"ранку":t<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(t,e){switch(e){case"M":case"d":case"DDD":case"w":case"W":return t+"-й";case"D":return t+"-го";default:return t}},week:{dow:1,doy:7}})})(o)}));var r=Math.ceil,s=Math.floor,a=function(t){return isNaN(t=+t)?0:(t>0?s:r)(t)},l=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t},h=function(t){return function(e,i){var n,o,r=String(l(e)),s=a(i),h=r.length;return s<0||s>=h?t?"":void 0:(n=r.charCodeAt(s))<55296||n>56319||s+1===h||(o=r.charCodeAt(s+1))<56320||o>57343?t?r.charAt(s):n:t?r.slice(s,s+2):o-56320+(n-55296<<10)+65536}},u={codeAt:h(!1),charAt:h(!0)},d=function(t){return t&&t.Math==Math&&t},c=d("object"==typeof globalThis&&globalThis)||d("object"==typeof window&&window)||d("object"==typeof self&&self)||d("object"==typeof e&&e)||function(){return this}()||Function("return this")(),p=function(t){try{return!!t()}catch(t){return!0}},f=!p((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),m=function(t){return"object"==typeof t?null!==t:"function"==typeof t},v=c.document,g=m(v)&&m(v.createElement),y=function(t){return g?v.createElement(t):{}},b=!f&&!p((function(){return 7!=Object.defineProperty(y("div"),"a",{get:function(){return 7}}).a})),_=function(t){if(!m(t))throw TypeError(String(t)+" is not an object");return t},w=function(t,e){if(!m(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!m(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!m(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!m(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")},k=Object.defineProperty,x={f:f?k:function(t,e,i){if(_(t),e=w(e,!0),_(i),b)try{return k(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported");return"value"in i&&(t[e]=i.value),t}},D=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},S=f?function(t,e,i){return x.f(t,e,D(1,i))}:function(t,e,i){return t[e]=i,t},C="__core-js_shared__",T=c[C]||function(t,e){try{S(c,t,e)}catch(i){c[t]=e}return e}(C,{}),M=Function.toString;"function"!=typeof T.inspectSource&&(T.inspectSource=function(t){return M.call(t)});var O,E,P,A=T.inspectSource,L=c.WeakMap,I="function"==typeof L&&/native code/.test(A(L)),N=function(t){return Object(l(t))},F={}.hasOwnProperty,R=Object.hasOwn||function(t,e){return F.call(N(t),e)},Y=i((function(t){(t.exports=function(t,e){return T[t]||(T[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.14.0",mode:"pure",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})})),j=0,H=Math.random(),z=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++j+H).toString(36)},G=Y("keys"),B=function(t){return G[t]||(G[t]=z(t))},W={},V="Object already initialized",U=c.WeakMap;if(I||T.state){var X=T.state||(T.state=new U),q=X.get,Z=X.has,$=X.set;O=function(t,e){if(Z.call(X,t))throw new TypeError(V);return e.facade=t,$.call(X,t,e),e},E=function(t){return q.call(X,t)||{}},P=function(t){return Z.call(X,t)}}else{var K=B("state");W[K]=!0,O=function(t,e){if(R(t,K))throw new TypeError(V);return e.facade=t,S(t,K,e),e},E=function(t){return R(t,K)?t[K]:{}},P=function(t){return R(t,K)}}var J,Q,tt={set:O,get:E,has:P,enforce:function(t){return P(t)?E(t):O(t,{})},getterFor:function(t){return function(e){var i;if(!m(e)||(i=E(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return i}}},et={}.propertyIsEnumerable,it=Object.getOwnPropertyDescriptor,nt={f:it&&!et.call({1:2},1)?function(t){var e=it(this,t);return!!e&&e.enumerable}:et},ot={}.toString,rt=function(t){return ot.call(t).slice(8,-1)},st="".split,at=p((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==rt(t)?st.call(t,""):Object(t)}:Object,lt=function(t){return at(l(t))},ht=Object.getOwnPropertyDescriptor,ut={f:f?ht:function(t,e){if(t=lt(t),e=w(e,!0),b)try{return ht(t,e)}catch(t){}if(R(t,e))return D(!nt.f.call(t,e),t[e])}},dt=/#|\.prototype\./,ct=function(t,e){var i=ft[pt(t)];return i==vt||i!=mt&&("function"==typeof e?p(e):!!e)},pt=ct.normalize=function(t){return String(t).replace(dt,".").toLowerCase()},ft=ct.data={},mt=ct.NATIVE="N",vt=ct.POLYFILL="P",gt=ct,yt={},bt=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t},_t=function(t,e,i){if(bt(t),void 0===e)return t;switch(i){case 0:return function(){return t.call(e)};case 1:return function(i){return t.call(e,i)};case 2:return function(i,n){return t.call(e,i,n)};case 3:return function(i,n,o){return t.call(e,i,n,o)}}return function(){return t.apply(e,arguments)}},wt=ut.f,kt=function(t){var e=function(e,i,n){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,n)}return t.apply(this,arguments)};return e.prototype=t.prototype,e},xt=function(t,e){var i,n,o,r,s,a,l,h,u=t.target,d=t.global,p=t.stat,f=t.proto,m=d?c:p?c[u]:(c[u]||{}).prototype,v=d?yt:yt[u]||(yt[u]={}),g=v.prototype;for(o in e)i=!gt(d?o:u+(p?".":"#")+o,t.forced)&&m&&R(m,o),s=v[o],i&&(a=t.noTargetGet?(h=wt(m,o))&&h.value:m[o]),r=i&&a?a:e[o],i&&typeof s==typeof r||(l=t.bind&&i?_t(r,c):t.wrap&&i?kt(r):f&&"function"==typeof r?_t(Function.call,r):r,(t.sham||r&&r.sham||s&&s.sham)&&S(l,"sham",!0),v[o]=l,f&&(R(yt,n=u+"Prototype")||S(yt,n,{}),yt[n][o]=r,t.real&&g&&!g[o]&&S(g,o,r)))},Dt=!p((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),St=B("IE_PROTO"),Ct=Object.prototype,Tt=Dt?Object.getPrototypeOf:function(t){return t=N(t),R(t,St)?t[St]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?Ct:null},Mt=function(t){return"function"==typeof t?t:void 0},Ot=function(t,e){return arguments.length<2?Mt(yt[t])||Mt(c[t]):yt[t]&&yt[t][e]||c[t]&&c[t][e]},Et=Ot("navigator","userAgent")||"",Pt=c.process,At=Pt&&Pt.versions,Lt=At&&At.v8;Lt?Q=(J=Lt.split("."))[0]<4?1:J[0]+J[1]:Et&&(!(J=Et.match(/Edge\/(\d+)/))||J[1]>=74)&&(J=Et.match(/Chrome\/(\d+)/))&&(Q=J[1]);var It,Nt,Ft,Rt=Q&&+Q,Yt=!!Object.getOwnPropertySymbols&&!p((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&Rt&&Rt<41})),jt=Yt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,Ht=Y("wks"),zt=c.Symbol,Gt=jt?zt:zt&&zt.withoutSetter||z,Bt=function(t){return R(Ht,t)&&(Yt||"string"==typeof Ht[t])||(Yt&&R(zt,t)?Ht[t]=zt[t]:Ht[t]=Gt("Symbol."+t)),Ht[t]},Wt=Bt("iterator"),Vt=!1;[].keys&&("next"in(Ft=[].keys())?(Nt=Tt(Tt(Ft)))!==Object.prototype&&(It=Nt):Vt=!0);var Ut=null==It||p((function(){var t={};return It[Wt].call(t)!==t}));Ut&&(It={}),Ut&&!R(It,Wt)&&S(It,Wt,(function(){return this}));var Xt,qt={IteratorPrototype:It,BUGGY_SAFARI_ITERATORS:Vt},Zt=Math.min,$t=function(t){return t>0?Zt(a(t),9007199254740991):0},Kt=Math.max,Jt=Math.min,Qt=function(t,e){var i=a(t);return i<0?Kt(i+e,0):Jt(i,e)},te=function(t){return function(e,i,n){var o,r=lt(e),s=$t(r.length),a=Qt(n,s);if(t&&i!=i){for(;s>a;)if((o=r[a++])!=o)return!0}else for(;s>a;a++)if((t||a in r)&&r[a]===i)return t||a||0;return!t&&-1}},ee={includes:te(!0),indexOf:te(!1)},ie=ee.indexOf,ne=function(t,e){var i,n=lt(t),o=0,r=[];for(i in n)!R(W,i)&&R(n,i)&&r.push(i);for(;e.length>o;)R(n,i=e[o++])&&(~ie(r,i)||r.push(i));return r},oe=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],re=Object.keys||function(t){return ne(t,oe)},se=f?Object.defineProperties:function(t,e){_(t);for(var i,n=re(e),o=n.length,r=0;o>r;)x.f(t,i=n[r++],e[i]);return t},ae=Ot("document","documentElement"),le=B("IE_PROTO"),he=function(){},ue=function(t){return"