/*! WDS: High-Contrast Mission Control v1.0.0 | Based on Spectree CSS. */

/*
  WDS: HIGH-CONTRAST MISSION CONTROL PALETTE
  Source: Inspired by NASA Standards, optimized for high-contrast on a white background.
*/
:root {
    /* ----------------------------------------- */
    /* --- I. Core & Monochrome Palette      --- */
    /* ----------------------------------------- */
    --color-background: #FFFFFF;
    --color-text-primary: #111111;
    --color-text-secondary: #555555;
    --color-white: #FFFFFF;
    --color-black: #000000;
    
    /* RGB channel values for dynamic theming */
    --color-black-rgb: 0, 0, 0;
    --color-white-rgb: 255, 255, 255;
  
    /* ----------------------------------------- */
    /* --- II. Semantic & Accent Palette     --- */
    /* ----------------------------------------- */
    --color-success: #0A7A3E; /* Deep, confident green */
    --color-error: #C70039;   /* Strong, serious red */
    --color-warning: #D97E00; /* Deep, amber-orange */
    --color-info: #0B3D91;    /* The original, deep NASA blue */
    
    /* RGB channel values for semantic colors */
    --color-success-rgb: 10, 122, 62;
    --color-error-rgb: 199, 0, 57;
    --color-warning-rgb: 217, 126, 0;
    --color-info-rgb: 11, 61, 145;
  
    /* ----------------------------------------- */
    /* --- III. Greyscale & UI Palette       --- */
    /* ----------------------------------------- */
    --color-grey-light: #F5F5F5;
    --color-grey-active: #EEEEEE; /* Slightly darker grey for active table rows */
    --color-grey-active-transparent: rgba(238, 238, 238, 0.5);
    --color-border: #BDBDBD;
    --color-disabled: #A5A5A5;
  
    /* ----------------------------------------- */
    /* --- IV. Interaction State Variants    --- */
    /* ----------------------------------------- */
    --color-success-dark: #075E2F;
    --color-error-dark: #A4002D;
    --color-warning-dark: #B96A00;
    --color-info-dark: #083177;
    --color-success-background: #D4F4E2; /* A light, vibrant green for input backgrounds */
    --color-error-background: rgba(var(--color-error-rgb), 0.03); /* Light transparent red for error states */
  
    /*
      WDS: TYPOGRAPHY & SHAPE SYSTEM
      This is the central control panel for all fonts, sizes, and shapes.
    */
  
    /* ----------------------------------------- */
    /* --- V. Typography                     --- */
    /* ----------------------------------------- */
    --font-size-root: 15px; /* Base font size for the entire document */
    --font-family-primary: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
    --font-family-mono: "SF Mono", "Segoe UI Mono", "Roboto Mono", Menlo, Courier, monospace;
  
    --font-weight-light: 400;     /* For small text */
    --font-weight-normal: 450;    /* For body text */
    --font-weight-medium: 500;    /* For legends */
    --font-weight-bold: 600;      /* For headings and strong text */
  
    --font-size-sm: 0.8rem;
    --font-size-base: 0.9rem;
    --font-size-lg: 1.0rem;
  
    --line-height-base: 1.5;
    --line-height-heading: 1.2;
    
    --font-stretch-body: 95%;
  
    /* ----------------------------------------- */
    /* --- VI. Padding & Spacing               --- */
    /* ----------------------------------------- */
    --padding-xs: 0.1rem;
    --padding-sm: 0.15rem;
    --padding-base: 0.2rem;
    --padding-md: 0.3rem;
    --padding-lg: 0.4rem;
    --padding-xl: 0.6rem;
    --padding-xxl: 0.8rem;
  
    --margin-xs: 0.1rem;
    --margin-sm: 0.2rem;
    --margin-base: 0.4rem;
    --margin-md: 0.8rem;
    --margin-lg: 1.2rem;
    --margin-xl: 1.6rem;
  
    /* ----------------------------------------- */
    /* --- VII. Borders & Sizing               --- */
    /* ----------------------------------------- */
    --border-width-thin: 0.05rem;
    --border-width-default: 0.1rem;
    --border-radius-default: 0.1rem;
  
    /* ----------------------------------------- */
    /* --- VIII. Shadows & Z-Index           --- */
    /* ----------------------------------------- */
    --shadow-focus: 0 0 0 var(--border-width-default) rgba(var(--color-black-rgb), 0.2);
    --shadow-focus-info: 0 0 0 var(--border-width-default) rgba(var(--color-info-rgb), 0.2);
    --shadow-focus-success: 0 0 0 var(--border-width-default) rgba(var(--color-success-rgb), 0.2);
    --shadow-focus-error: 0 0 0 var(--border-width-default) rgba(var(--color-error-rgb), 0.2);
    --shadow-menu: 0 0.05rem 0.2rem rgba(var(--color-black-rgb), 0.3);
    --shadow-modal: 0 0.2rem 0.5rem rgba(var(--color-black-rgb), 0.3);
    --shadow-avatar-presence: 0 0 0 var(--border-width-default) var(--color-white);
  
    --z-index-menu: 300;
    --z-index-modal: 400;
    --z-index-badge: 100;
    --z-index-popover: 300;
  
    /* ----------------------------------------- */
    /* --- IX. Component-Specific Variables  --- */
    /* ----------------------------------------- */
  
    /* --- Buttons --- */
    --btn-height-base: 1.8rem;
    --btn-height-sm: 1.4rem;
    --btn-height-lg: 2rem;
    --btn-line-height: 1.2rem;
    --btn-position-top: -2px;
    --btn-action-width-base: 1.8rem;
    --btn-action-width-sm: 1.4rem;
    --btn-action-width-lg: 2rem;
    --btn-clear-dimensions: 1rem;
    --btn-clear-line-height: 0.8rem;
    --btn-clear-margin-right: -2px;
  
    /* --- Forms --- */
    --form-input-height-base: 1.8rem;
    --form-input-height-sm: 1.4rem;
    --form-input-height-lg: 2rem;
    --form-input-line-height: 1.2rem;
    --form-select-arrow-icon: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%204%205'%3E%3Cpath%20fill='%23555555'%20d='M2%200L0%202h4zm0%205L0%203h4z'/%3E%3C/svg%3E");
    --form-checkbox-icon-dimensions: 0.8rem;
    --form-checkbox-checkmark-width: 6px;
    --form-checkbox-checkmark-height: 9px;
    --form-checkbox-checkmark-margin-top: -6px;
    --form-checkbox-checkmark-margin-left: -3px;
    --form-checkbox-indeterminate-width: 10px;
    --form-checkbox-indeterminate-height: 2px;
    --form-checkbox-indeterminate-margin-top: -1px;
    --form-checkbox-indeterminate-margin-left: -5px;
    --form-radio-dot-size: 6px;
    --form-switch-width: 1.6rem;
    --form-switch-height: 1rem;
    --form-switch-handle-dimensions: 0.8rem;
    --form-switch-handle-checked-left: 14px;
  
    /* --- Modals --- */
    --modal-overlay-background: rgba(241, 241, 241, 0.75);
    --modal-max-width-sm: 320px;
    --modal-max-width-base: 640px;
    --modal-max-width-lg: 960px;
    --modal-max-height: 75vh;
    --modal-animation: slide-down 0.2s ease 1;
  
    /* --- Avatars --- */
    --avatar-size-xs: 0.8rem;
    --avatar-size-sm: 1.2rem;
    --avatar-size-base: 1.6rem;
    --avatar-size-lg: 2.4rem;
    --avatar-size-xl: 3.2rem;
    --avatar-font-size-xs: 0.4rem;
    --avatar-font-size-sm: 0.6rem;
    --avatar-font-size-base: var(--font-size-sm);
    --avatar-font-size-lg: 1.2rem;
    --avatar-font-size-xl: 1.6rem;
    --avatar-presence-size: 0.5em;
    --avatar-text-color: rgba(var(--color-white-rgb), 0.85);
  
    /* --- Badges --- */
    --badge-height: 0.9rem;
    --badge-min-width: 0.9rem;
    --badge-dot-size: 6px;
  
    /* --- Toasts --- */
    --toast-background-primary: rgba(var(--color-black-rgb), 0.95);
    --toast-background-success: rgba(var(--color-success-rgb), 0.95);
    --toast-background-warning: rgba(var(--color-warning-rgb), 0.95);
    --toast-background-error: rgba(var(--color-error-rgb), 0.95);
  
    /* --- Tooltips --- */
    --tooltip-background: rgba(var(--color-black-rgb), 0.95);
    --tooltip-max-width: 320px;
  
    /* --- Popovers --- */
    --popover-max-width: 320px;
  
    /* --- Steps --- */
    --step-connector-height: 2px;
    --step-connector-top: 9px;
    --step-item-padding-y: 20px;
    --step-item-padding-x: 10px;
    --step-marker-size: 0.6rem;
  }
  
  
  html {
      font-family: sans-serif;
      -ms-text-size-adjust: 100%;
      -webkit-text-size-adjust: 100%;
  }
  body {
      margin: 0;
  }
  article,
  aside,
  footer,
  header,
  nav,
  section {
      display: block;
  }
  h1 {
      font-size: 2em;
      margin: 0.67em 0;
  }
  figcaption,
  figure,
  main {
      display: block;
  }
  hr {
      overflow: visible;
      box-sizing: content-box;
      height: 0;
  }
  a {
      background-color: transparent;
      -webkit-text-decoration-skip: objects;
  }
  a:active,
  a:hover {
      outline-width: 0;
  }
  address {
      font-style: normal;
  }
  b,
  strong {
      font-weight: inherit;
  }
  b,
  strong {
      font-weight: var(--font-weight-bold);
  }
  code,
  kbd,
  pre,
  samp {
      font-family: var(--font-family-mono);
      font-size: 1em;
  }
  dfn {
      font-style: italic;
  }
  small {
      font-size: 80%;
      font-weight: var(--font-weight-light);
  }
  sub,
  sup {
      font-size: 75%;
      line-height: 0;
      position: relative;
      vertical-align: baseline;
  }
  sub {
      bottom: -0.25em;
  }
  sup {
      top: -0.5em;
  }
  audio,
  video {
      display: inline-block;
  }
  audio:not([controls]) {
      display: none;
      height: 0;
  }
  img {
      border-style: none;
  }
  svg:not(:root) {
      overflow: hidden;
  }
  button,
  input,
  optgroup,
  select,
  textarea {
      font-family: inherit;
      font-size: inherit;
      line-height: inherit;
      margin: 0;
  }
  button,
  input {
      overflow: visible;
  }
  button,
  select {
      text-transform: none;
  }
  [type="reset"],
  [type="submit"],
  button,
  html [type="button"] {
      -webkit-appearance: button;
  }
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner,
  button::-moz-focus-inner {
      padding: 0;
      border-style: none;
  }
  fieldset {
      margin: 0;
      padding: 0;
      border: 0;
  }
  legend {
      display: table;
      box-sizing: border-box;
      max-width: 100%;
      padding: 0;
      white-space: normal;
      color: inherit;
  }
  progress {
      display: inline-block;
      vertical-align: baseline;
  }
  textarea {
      overflow: auto;
  }
  [type="checkbox"],
  [type="radio"] {
      box-sizing: border-box;
      padding: 0;
  }
  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
      height: auto;
  }
  [type="search"] {
      outline-offset: -2px;
      -webkit-appearance: textfield;
  }
  [type="search"]::-webkit-search-cancel-button,
  [type="search"]::-webkit-search-decoration {
      -webkit-appearance: none;
  }
  ::-webkit-file-upload-button {
      font: inherit;
      -webkit-appearance: button;
  }
  details,
  menu {
      display: block;
  }
  summary {
      display: list-item;
      outline: 0;
  }
  canvas {
      display: inline-block;
  }
  template {
      display: none;
  }
  [hidden] {
      display: none;
  }
  *,
  ::after,
  ::before {
      box-sizing: inherit;
  }
  html {
      font-size: var(--font-size-root);
      line-height: var(--line-height-base);
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
  }
  body {
      font-family: var(--font-family-primary);
      font-size: var(--font-size-base);
      font-weight: var(--font-weight-normal);
      font-stretch: var(--font-stretch-body);
      overflow-x: hidden;
      color: var(--color-text-primary);
      background: var(--color-background);
      text-rendering: optimizeLegibility;
  }
  
  a {
      text-decoration: none;
      color: var(--color-info);
      outline: 0;
  }
  a:focus {
      box-shadow: var(--shadow-focus);
  }
  a.active,
  a:active,
  a:focus,
  a:hover {
      text-decoration: underline;
      color: var(--color-info-dark);
  }
  a:visited {
      color: var(--color-info-dark);
  }
  article a {
      text-decoration: underline;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
      font-weight: var(--font-weight-bold);
      line-height: var(--line-height-heading);
      margin-top: 0;
      margin-bottom: 0.5em;
      color: inherit;
  }
  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6 {
      font-weight: var(--font-weight-bold);
  }
  .h1,
  h1 {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      font-style: italic;
  }
  .h2,
  h2 {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
  }
  .h3,
  h3 {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-bold);
      font-style: italic;
  }
  .h4,
  h4 {
      font-size: var(--font-size-lg);
  }
  .h5,
  h5 {
      font-size: var(--font-size-lg);
  }
  .h6,
  h6 {
      font-size: var(--font-size-lg);
  }
  p {
      margin: 0 0 1.2rem;
  }
  a,
  ins,
  u {
      text-decoration-skip: ink edges;
  }
  abbr[title] {
      cursor: help;
      text-decoration: none;
      border-bottom: 0.1rem dotted;
  }
  kbd {
      font-size: var(--font-size-sm);
      line-height: 1.25;
      margin: 0 var(--padding-md);
      padding: var(--padding-xs) var(--padding-base);
      color: var(--color-white);
      border-radius: var(--border-radius-default);
      background: var(--color-black);
  }
  mark {
      padding: var(--border-width-thin) var(--padding-xs) 0;
      color: var(--color-text-primary);
      border-bottom: var(--border-width-thin) solid var(--color-border);
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
  }
  blockquote {
      margin-left: 0;
      padding: var(--padding-lg) var(--padding-xxl);
      border-left: var(--border-width-default) solid var(--color-border);
  }
  blockquote p:last-child {
      margin-bottom: 0;
  }
  ol,
  ul {
      margin: var(--margin-md) 0 var(--margin-md) var(--margin-xl);
      padding: 0;
  }
  ol ol,
  ol ul,
  ul ol,
  ul ul {
      margin: var(--margin-md) 0 var(--margin-md) var(--margin-xl);
  }
  ol li,
  ul li {
      margin-top: var(--margin-base);
  }
  ul {
      list-style: disc outside;
  }
  ul ul {
      list-style-type: circle;
  }
  ol {
      list-style: decimal outside;
  }
  ol ol {
      list-style-type: lower-alpha;
  }
  dl dt {
      font-weight: var(--font-weight-bold);
  }
  dl dd {
      margin: var(--margin-base) 0 var(--margin-md) 0;
  }
  .lang-zh,
  .lang-zh-hans,
  html:lang(zh),
  html:lang(zh-Hans) {
      font-family: var(--font-family-primary), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei";
  }
  .lang-zh-hant,
  html:lang(zh-Hant) {
      font-family: var(--font-family-primary), "PingFang TC", "Hiragino Sans CNS", "Microsoft JhengHei";
  }
  .lang-ja,
  html:lang(ja) {
      font-family: var(--font-family-primary), "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, Meiryo;
  }
  .lang-ko,
  html:lang(ko) {
      font-family: var(--font-family-primary), "Malgun Gothic";
  }
  .lang-cjk ins,
  .lang-cjk u,
  :lang(ja) ins,
  :lang(ja) u,
  :lang(zh) ins,
  :lang(zh) u {
      text-decoration: none;
      border-bottom: var(--border-width-default) solid;
  }
  .lang-cjk del + del,
  .lang-cjk del + s,
  .lang-cjk ins + ins,
  .lang-cjk ins + u,
  .lang-cjk s + del,
  .lang-cjk s + s,
  .lang-cjk u + ins,
  .lang-cjk u + u,
  :lang(ja) del + del,
  :lang(ja) del + s,
  :lang(ja) ins + ins,
  :lang(ja) ins + u,
  :lang(ja) s + del,
  :lang(ja) s + s,
  :lang(ja) u + ins,
  :lang(ja) u + u,
  :lang(zh) del + del,
  :lang(zh) del + s,
  :lang(zh) ins + ins,
  :lang(zh) ins + u,
  :lang(zh) s + del,
  :lang(zh) s + s,
  :lang(zh) u + ins,
  :lang(zh) u + u {
      margin-left: 0.125em;
  }
  .table {
      width: 100%;
      border-spacing: 0;
      border-collapse: collapse;
      text-align: left;
      border: var(--border-width-default) solid var(--color-border);
  }
  .table.table-striped tbody tr:nth-of-type(odd) {
      background-color: var(--color-grey-light);
  }
  .table tbody tr.active,
  .table.table-striped tbody tr.active {
      background-color: var(--color-grey-active);
  }
  .table.table-hover tbody tr:hover {
      background-color: var(--color-grey-active);
  }
  .table.table-scroll {
      display: block;
      overflow-x: auto;
      padding-bottom: 0.5rem;
      white-space: nowrap;
  }
  .table td {
      padding: var(--padding-md) var(--padding-xl) 0;
      border-bottom: var(--border-width-default) solid var(--color-border);
  }
  .table th {
      font-weight: var(--font-weight-bold);
      padding: var(--padding-md) var(--padding-xl) 0;
      border-bottom: var(--border-width-default) solid var(--color-text-primary);
  }
  .btn {
      font-size: var(--font-size-base);
      line-height: var(--btn-line-height);
      position: relative;
      top: var(--btn-position-top);
      display: inline-block;
      height: var(--btn-height-base);
      padding: var(--padding-md) var(--padding-lg) var(--padding-xs) var(--padding-lg);
      cursor: pointer;
      -webkit-user-select: none;
      -ms-user-select: none;
      user-select: none;
      text-align: center;
      vertical-align: middle;
      white-space: nowrap;
      text-decoration: none;
      color: var(--color-text-primary);
      border: var(--border-width-default) solid var(--color-black);
      border-radius: var(--border-radius-default);
      outline: 0;
      background: var(--color-white);
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
  }
  .btn:focus {
      box-shadow: var(--shadow-focus);
  }
  .btn:focus,
  .btn:hover {
      text-decoration: none;
      border-color: var(--color-text-primary);
      background: var(--color-grey-light);
  }
  .btn.active,
  .btn:active {
      text-decoration: none;
      color: var(--color-white);
      border-color: var(--color-black);
      background: var(--color-black);
  }
  .btn.active.loading::after,
  .btn:active.loading::after {
      border-bottom-color: var(--color-white);
      border-left-color: var(--color-white);
  }
  .btn.disabled,
  .btn:disabled,
  .btn[disabled] {
      cursor: default;
      pointer-events: none;
      opacity: 0.5;
      color: var(--color-disabled);
  }
  .btn.btn-primary {
      color: var(--color-white);
      border-color: var(--color-black);
      background: var(--color-black);
  }
  .btn.btn-primary:focus,
  .btn.btn-primary:hover {
      color: var(--color-white);
      border-color: var(--color-text-primary);
      background: var(--color-text-primary);
  }
  .btn.btn-primary.active,
  .btn.btn-primary:active {
      color: var(--color-white);
      border-color: var(--color-black);
      background: var(--color-black);
  }
  .btn.btn-primary.loading::after {
      border-bottom-color: var(--color-white);
      border-left-color: var(--color-white);
  }
  .btn.btn-success {
      color: var(--color-white);
      border-color: var(--color-success);
      background: var(--color-success);
  }
  .btn.btn-success:focus {
      box-shadow: var(--shadow-focus-success);
  }
  .btn.btn-success:focus,
  .btn.btn-success:hover {
      color: var(--color-white);
      border-color: var(--color-success-dark);
      background-color: var(--color-success-dark);
  }
  .btn.btn-success.active,
  .btn.btn-success:active {
      color: var(--color-white);
      border-color: var(--color-success-dark);
      background: var(--color-success-dark);
  }
  .btn.btn-success.loading::after {
      border-bottom-color: var(--color-white);
      border-left-color: var(--color-white);
  }
  .btn.btn-error {
      color: var(--color-white);
      border-color: var(--color-error);
      background: var(--color-error);
  }
  .btn.btn-error:focus {
      box-shadow: var(--shadow-focus-error);
  }
  .btn.btn-error:focus,
  .btn.btn-error:hover {
      color: var(--color-white);
      border-color: var(--color-error-dark);
      background-color: var(--color-error-dark);
  }
  .btn.btn-error.active,
  .btn.btn-error:active {
      color: var(--color-white);
      border-color: var(--color-error-dark);
      background: var(--color-error-dark);
  }
  .btn.btn-error.loading::after {
      border-bottom-color: var(--color-white);
      border-left-color: var(--color-white);
  }
  .btn.btn-link {
      color: var(--color-info);
      border-color: transparent;
      background: 0 0;
  }
  .btn.btn-link.active,
  .btn.btn-link:active,
  .btn.btn-link:focus,
  .btn.btn-link:hover {
      color: var(--color-info-dark);
  }
  .btn.btn-sm {
      font-size: var(--font-size-sm);
      height: var(--btn-height-sm);
      padding: var(--padding-sm) var(--padding-md);
  }
  .btn.btn-lg {
      font-size: var(--font-size-lg);
      height: var(--btn-height-lg);
      padding: var(--padding-base) var(--padding-xl);
  }
  .btn.btn-block {
      display: block;
      width: 100%;
  }
  .btn.btn-action {
      width: var(--btn-action-width-base);
      padding-right: 0;
      padding-left: 0;
  }
  .btn.btn-action.btn-sm {
      width: var(--btn-action-width-sm);
  }
  .btn.btn-action.btn-lg {
      width: var(--btn-action-width-lg);
  }
  .btn.btn-clear {
      line-height: var(--btn-clear-line-height);
      width: var(--btn-clear-dimensions);
      height: var(--btn-clear-dimensions);
      margin-right: var(--btn-clear-margin-right);
      margin-left: 0.2rem;
      padding: 0.1rem;
      text-decoration: none;
      opacity: 1;
      color: currentColor;
      border: 0;
      background: 0 0;
  }
  .btn.btn-clear:focus,
  .btn.btn-clear:hover {
      opacity: 0.95;
      background: var(--color-grey-active-transparent);
  }
  .btn.btn-clear::before {
      content: "\2715";
  }
  .btn-group {
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  .btn-group .btn {
      -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  }
  .btn-group .btn:first-child:not(:last-child) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
  .btn-group .btn:not(:first-child):not(:last-child) {
      margin-left: calc(-1 * var(--border-width-default));
      border-radius: 0;
  }
  .btn-group .btn:last-child:not(:first-child) {
      margin-left: calc(-1 * var(--border-width-default));
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .btn-group .btn.active,
  .btn-group .btn:active,
  .btn-group .btn:focus,
  .btn-group .btn:hover {
      z-index: 1;
  }
  .btn-group.btn-group-block {
      display: -ms-flexbox;
      display: flex;
  }
  .btn-group.btn-group-block .btn {
      -ms-flex: 1 0 0;
      flex: 1 0 0;
  }
  .form-group:not(:last-child) {
      margin-bottom: var(--margin-base);
  }
  fieldset {
      margin-bottom: var(--margin-md);
  }
  legend {
      font-size: var(--font-size-lg);
      font-weight: var(--font-weight-medium);
      margin-bottom: var(--margin-md);
  }
  .form-label {
      line-height: 1.2rem;
      display: block;
      padding: var(--padding-base) 0;
  }
  .form-label.label-sm {
      font-size: var(--font-size-sm);
      padding: 0.25rem 0;
  }
  .form-label.label-lg {
      font-size: var(--font-size-lg);
      padding: 0.3rem 0;
  }
  .form-input {
      font-size: var(--font-size-base);
      line-height: var(--form-input-line-height);
      position: relative;
      display: block;
      width: 100%;
      max-width: 100%;
      height: var(--form-input-height-base);
      padding: 0.1rem 0.4rem;
      color: var(--color-text-primary);
      border: var(--border-width-default) solid var(--color-text-primary);
      border-radius: var(--border-radius-default);
      outline: 0;
      background: var(--color-white);
      background-image: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
  }
  .form-input:focus {
      border-color: var(--color-info);
      box-shadow: var(--shadow-focus-info);
  }
  .form-input:-ms-input-placeholder {
      color: var(--color-disabled);
  }
  .form-input::-ms-input-placeholder {
      color: var(--color-disabled);
  }
  .form-input::placeholder {
      color: var(--color-disabled);
  }
  .form-input.input-sm {
      font-size: var(--font-size-sm);
      height: var(--form-input-height-sm);
      padding: 0.15rem 0.3rem;
  }
  .form-input.input-lg {
      font-size: var(--font-size-lg);
      height: var(--form-input-height-lg);
      padding: 0.2rem 0.6rem;
  }
  .form-input.input-inline {
      display: inline-block;
      width: auto;
      vertical-align: middle;
  }
  .form-input[type="file"] {
      height: auto;
  }
  textarea.form-input,
  textarea.form-input.input-lg,
  textarea.form-input.input-sm {
      height: auto;
  }
  .form-input-hint {
      font-size: var(--font-size-sm);
      margin-top: 0.2rem;
      color: var(--color-text-secondary);
  }
  .has-success .form-input-hint,
  .is-success + .form-input-hint {
      color: var(--color-success);
  }
  .has-error .form-input-hint,
  .is-error + .form-input-hint {
      color: var(--color-error);
  }
  .form-select {
      font-size: var(--font-size-base);
      line-height: var(--form-input-line-height);
      width: 100%;
      height: var(--form-input-height-base);
      padding: 0.1rem 0.4rem;
      vertical-align: middle;
      color: inherit;
      border: var(--border-width-default) solid var(--color-text-primary);
      border-radius: var(--border-radius-default);
      outline: 0;
      background: var(--color-white);
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
  }
  .form-select:focus {
      border-color: var(--color-info);
      box-shadow: var(--shadow-focus-info);
  }
  .form-select::-ms-expand {
      display: none;
  }
  .form-select.select-sm {
      font-size: var(--font-size-sm);
      height: var(--form-input-height-sm);
      padding: 0.15rem 1.1rem 0.15rem 0.3rem;
  }
  .form-select.select-lg {
      font-size: var(--font-size-lg);
      height: var(--form-input-height-lg);
      padding: 0.2rem 1.4rem 0.2rem 0.6rem;
  }
  .form-select[multiple],
  .form-select[size] {
      height: auto;
      padding: 0.1rem 0.4rem;
  }
  .form-select[multiple] option,
  .form-select[size] option {
      padding: 0.1rem 0.2rem;
  }
  .form-select:not([multiple]):not([size]) {
      padding-right: 1.2rem;
      background: var(--color-white) var(--form-select-arrow-icon) no-repeat right 0.35rem
          center/.4rem 0.5rem;
  }
  .has-icon-left,
  .has-icon-right {
      position: relative;
  }
  .has-icon-left .form-icon,
  .has-icon-right .form-icon {
      position: absolute;
      z-index: 2;
      top: 50%;
      width: 0.8rem;
      height: 0.8rem;
      margin: 0 0.1rem;
      transform: translateY(-50%);
  }
  .has-icon-left .form-icon {
      left: 0.1rem;
  }
  .has-icon-left .form-input {
      padding-left: 1rem;
  }
  .has-icon-right .form-icon {
      right: 0.1rem;
  }
  .has-icon-right .form-input {
      padding-right: 1rem;
  }
  .form-checkbox,
  .form-radio,
  .form-switch {
      line-height: var(--form-input-line-height);
      position: relative;
      display: block;
      min-height: var(--form-input-height-sm);
      margin: 0.2rem 0;
      padding: 0.1rem 0.4rem 0.1rem 1.2rem;
  }
  .form-checkbox input,
  .form-radio input,
  .form-switch input {
      position: absolute;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      width: 1px;
      height: 1px;
      margin: -1px;
  }
  .form-checkbox input:focus + .form-icon,
  .form-radio input:focus + .form-icon,
  .form-switch input:focus + .form-icon {
      border-color: var(--color-info);
      box-shadow: var(--shadow-focus-info);
  }
  .form-checkbox input:checked + .form-icon,
  .form-radio input:checked + .form-icon,
  .form-switch input:checked + .form-icon {
      border-color: var(--color-black);
      background: var(--color-black);
  }
  .form-checkbox .form-icon,
  .form-radio .form-icon,
  .form-switch .form-icon {
      position: absolute;
      display: inline-block;
      cursor: pointer;
      border: var(--border-width-default) solid var(--color-border);
  }
  .form-checkbox.input-sm,
  .form-radio.input-sm,
  .form-switch.input-sm {
      font-size: var(--font-size-sm);
      margin: 0;
  }
  .form-checkbox.input-lg,
  .form-radio.input-lg,
  .form-switch.input-lg {
      font-size: var(--font-size-lg);
      margin: 0.3rem 0;
  }
  .form-checkbox .form-icon,
  .form-radio .form-icon {
      top: 0.3rem;
      left: 0;
      width: var(--form-checkbox-icon-dimensions);
      height: var(--form-checkbox-icon-dimensions);
      background: var(--color-white);
  }
  .form-checkbox input:active + .form-icon,
  .form-radio input:active + .form-icon {
      background: var(--color-grey-light);
  }
  .form-checkbox .form-icon {
      border-radius: var(--border-radius-default);
  }
  .form-checkbox input:checked + .form-icon::before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: var(--form-checkbox-checkmark-width);
      height: var(--form-checkbox-checkmark-height);
      margin-top: var(--form-checkbox-checkmark-margin-top);
      margin-left: var(--form-checkbox-checkmark-margin-left);
      content: "";
      transform: rotate(45deg);
      border: 0.1rem solid var(--color-white);
      border-top-width: 0;
      border-left-width: 0;
      background-clip: padding-box;
  }
  .form-checkbox input:indeterminate + .form-icon {
      border-color: var(--color-info);
      background: var(--color-info);
  }
  .form-checkbox input:indeterminate + .form-icon::before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: var(--form-checkbox-indeterminate-width);
      height: var(--form-checkbox-indeterminate-height);
      margin-top: var(--form-checkbox-indeterminate-margin-top);
      margin-left: var(--form-checkbox-indeterminate-margin-left);
      content: "";
      background: var(--color-white);
  }
  .form-radio .form-icon {
      border-radius: 50%;
  }
  .form-radio input:checked + .form-icon::before {
      position: absolute;
      top: 50%;
      left: 50%;
      width: var(--form-radio-dot-size);
      height: var(--form-radio-dot-size);
      content: "";
      transform: translate(-50%, -50%);
      border-radius: 50%;
      background: var(--color-white);
  }
  .form-switch {
      padding-left: 2rem;
  }
  .form-switch .form-icon {
      top: 0.2rem;
      left: 0;
      width: var(--form-switch-width);
      height: var(--form-switch-height);
      border-radius: 0.5rem;
      background: var(--color-disabled);
      background-clip: padding-box;
  }
  .form-switch .form-icon::before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: var(--form-switch-handle-dimensions);
      height: var(--form-switch-handle-dimensions);
      content: "";
      border-radius: 50%;
      background: var(--color-white);
  }
  .form-switch input:checked + .form-icon::before {
      left: var(--form-switch-handle-checked-left);
  }
  .form-switch input:active + .form-icon::before {
      background: var(--color-grey-light);
  }
  .input-group {
      display: -ms-flexbox;
      display: flex;
  }
  .input-group .input-group-addon {
      line-height: 1.2rem;
      padding: 0.1rem 0.4rem;
      white-space: nowrap;
      border: var(--border-width-default) solid var(--color-border);
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
  }
  .input-group .input-group-addon.addon-sm {
      font-size: var(--font-size-sm);
      padding: 0.15rem 0.3rem;
  }
  .input-group .input-group-addon.addon-lg {
      font-size: var(--font-size-lg);
      padding: 0.2rem 0.6rem;
  }
  .input-group .form-input,
  .input-group .form-select {
      width: 1%;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  }
  .input-group .input-group-btn {
      z-index: 1;
  }
  .input-group .form-input:first-child:not(:last-child),
  .input-group .form-select:first-child:not(:last-child),
  .input-group .input-group-addon:first-child:not(:last-child),
  .input-group .input-group-btn:first-child:not(:last-child) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
  }
  .input-group .form-input:not(:first-child):not(:last-child),
  .input-group .form-select:not(:first-child):not(:last-child),
  .input-group .input-group-addon:not(:first-child):not(:last-child),
  .input-group .input-group-btn:not(:first-child):not(:last-child) {
      margin-left: calc(-1 * var(--border-width-default));
      border-radius: 0;
  }
  .input-group .form-input:last-child:not(:first-child),
  .input-group .form-select:last-child:not(:first-child),
  .input-group .input-group-addon:last-child:not(:first-child),
  .input-group .input-group-btn:last-child:not(:first-child) {
      margin-left: calc(-1 * var(--border-width-default));
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
  }
  .input-group .form-input:focus,
  .input-group .form-select:focus,
  .input-group .input-group-addon:focus,
  .input-group .input-group-btn:focus {
      z-index: 2;
  }
  .input-group .form-select {
      width: auto;
  }
  .input-group.input-inline {
      display: -ms-inline-flexbox;
      display: inline-flex;
  }
  .form-input.is-success,
  .form-select.is-success,
  .has-success .form-input,
  .has-success .form-select {
      border-color: var(--color-success);
      background-color: var(--color-success-background);
  }
  .form-input.is-success:focus,
  .form-select.is-success:focus,
  .has-success .form-input:focus,
  .has-success .form-select:focus {
      box-shadow: var(--shadow-focus-success);
  }
  .form-input.is-error,
  .form-select.is-error,
  .has-error .form-input,
  .has-error .form-select {
      border-color: var(--color-error);
      background: var(--color-error-background);
  }
  .form-input.is-error:focus,
  .form-select.is-error:focus,
  .has-error .form-input:focus,
  .has-error .form-select:focus {
      box-shadow: var(--shadow-focus-error);
  }
  .form-checkbox.is-error .form-icon,
  .form-radio.is-error .form-icon,
  .form-switch.is-error .form-icon,
  .has-error .form-checkbox .form-icon,
  .has-error .form-radio .form-icon,
  .has-error .form-switch .form-icon {
      border-color: var(--color-error);
  }
  .form-checkbox.is-error input:checked + .form-icon,
  .form-radio.is-error input:checked + .form-icon,
  .form-switch.is-error input:checked + .form-icon,
  .has-error .form-checkbox input:checked + .form-icon,
  .has-error .form-radio input:checked + .form-icon,
  .has-error .form-switch input:checked + .form-icon {
      border-color: var(--color-error);
      background: var(--color-error);
  }
  .form-checkbox.is-error input:focus + .form-icon,
  .form-radio.is-error input:focus + .form-icon,
  .form-switch.is-error input:focus + .form-icon,
  .has-error .form-checkbox input:focus + .form-icon,
  .has-error .form-radio input:focus + .form-icon,
  .has-error .form-switch input:focus + .form-icon {
      border-color: var(--color-error);
      box-shadow: var(--shadow-focus-error);
  }
  .form-checkbox.is-error input:indeterminate + .form-icon,
  .has-error .form-checkbox input:indeterminate + .form-icon {
      border-color: var(--color-error);
      background: var(--color-error);
  }
  .form-input:not(:-ms-input-placeholder):invalid {
      border-color: var(--color-error);
  }
  .form-input:not(:placeholder-shown):invalid {
      border-color: var(--color-error);
  }
  .form-input:not(:-ms-input-placeholder):invalid:focus {
      background: var(--color-error-background);
      box-shadow: var(--shadow-focus-error);
  }
  .form-input:not(:placeholder-shown):invalid:focus {
      background: var(--color-error-background);
      box-shadow: var(--shadow-focus-error);
  }
  .form-input:not(:-ms-input-placeholder):invalid + .form-input-hint {
      color: var(--color-error);
  }
  .form-input:not(:placeholder-shown):invalid + .form-input-hint {
      color: var(--color-error);
  }
  .form-input.disabled,
  .form-input:disabled,
  .form-select.disabled,
  .form-select:disabled {
      cursor: not-allowed;
      opacity: 0.5;
      background-color: var(--color-grey-light);
  }
  .form-input[readonly] {
      background-color: var(--color-grey-light);
  }
  input.disabled + .form-icon,
  input:disabled + .form-icon {
      cursor: not-allowed;
      opacity: 0.5;
      background: var(--color-grey-light);
  }
  .form-switch input.disabled + .form-icon::before,
  .form-switch input:disabled + .form-icon::before {
      background: var(--color-white);
  }
  .form-horizontal {
      padding: 0.4rem 0;
  }
  .form-horizontal .form-group {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  .form-inline {
      display: inline-block;
  }
  .label {
      line-height: 1.25;
      display: inline-block;
      margin: 0 0.3rem;
      padding: 0.1rem 0.2rem;
      padding-top: 0.2rem;
      color: var(--color-text-primary);
      border: var(--border-width-default) solid var(--color-border);
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
  }
  .label.label-rounded {
      padding-right: 0.4rem;
      padding-left: 0.4rem;
      border-radius: 5rem;
  }
  .label.label-primary {
      color: var(--color-white);
      background: var(--color-black);
  }
  .label.label-secondary {
      color: var(--color-text-primary);
      background: var(--color-grey-light);
  }
  .label.label-success {
      color: var(--color-white);
      background: var(--color-success);
  }
  .label.label-warning {
      color: var(--color-white);
      background: var(--color-warning);
  }
  .label.label-error {
      color: var(--color-white);
      background: var(--color-error);
  }
  code {
      font-size: 90%;
      line-height: 1.25;
      margin: 0;
      padding: 0.1rem 0.2rem;
      color: var(--color-text-primary);
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
  }
  .code {
      position: relative;
      color: var(--color-text-primary);
      border-radius: var(--border-radius-default);
  }
  .code::before {
      font-size: var(--font-size-sm);
      position: absolute;
      top: 0.1rem;
      right: 0.4rem;
      content: attr(data-lang);
      color: var(--color-text-secondary);
  }
  .code code {
      line-height: 1.5;
      display: block;
      overflow-x: auto;
      width: 100%;
      padding: 1rem;
      color: inherit;
      background: var(--color-grey-light);
  }
  pre {
      overflow-x: auto;
      padding: 0.4rem 0.8rem;
      border: 1px solid var(--color-border);
      background: var(--color-grey-light);
  }
  .img-responsive {
      display: block;
      max-width: 100%;
      height: auto;
  }
  .img-fit-cover {
      object-fit: cover;
  }
  .img-fit-contain {
      object-fit: contain;
  }
  .video-responsive {
      position: relative;
      display: block;
      overflow: hidden;
      width: 100%;
      padding: 0;
  }
  .video-responsive::before {
      display: block;
      padding-bottom: 56.25%;
      content: "";
  }
  .video-responsive embed,
  .video-responsive iframe,
  .video-responsive object {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
  }
  video.video-responsive {
      max-width: 100%;
      height: auto;
  }
  video.video-responsive::before {
      content: none;
  }
  .video-responsive-4-3::before {
      padding-bottom: 75%;
  }
  .video-responsive-1-1::before {
      padding-bottom: 100%;
  }
  .figure {
      margin: 0 0 0.4rem 0;
  }
  .figure .figure-caption {
      margin-top: 0.4rem;
      color: var(--color-text-secondary);
  }
  .container {
      width: 100%;
      margin-right: auto;
      margin-left: auto;
      padding-right: 0.4rem;
      padding-left: 0.4rem;
  }
  .container.grid-xl {
      max-width: 1292px;
  }
  .container.grid-lg {
      max-width: 972px;
  }
  .container.grid-md {
      max-width: 852px;
  }
  .container.grid-sm {
      max-width: 612px;
  }
  .container.grid-xs {
      max-width: 492px;
  }
  .show-lg,
  .show-md,
  .show-sm,
  .show-xl,
  .show-xs {
      display: none !important;
  }
  .columns {
      display: -ms-flexbox;
      display: flex;
      margin-right: -0.4rem;
      margin-left: -0.4rem;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  .columns.col-gapless {
      margin-right: 0;
      margin-left: 0;
  }
  .columns.col-gapless > .column {
      padding-right: 0;
      padding-left: 0;
  }
  .columns.col-oneline {
      overflow-x: auto;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  }
  .column {
      max-width: 100%;
      padding-right: 0.4rem;
      padding-left: 0.4rem;
      -ms-flex: 1;
      flex: 1;
  }
  .column.col-1,
  .column.col-10,
  .column.col-11,
  .column.col-12,
  .column.col-2,
  .column.col-3,
  .column.col-4,
  .column.col-5,
  .column.col-6,
  .column.col-7,
  .column.col-8,
  .column.col-9,
  .column.col-auto {
      -ms-flex: none;
      flex: none;
  }
  .col-12 {
      width: 100%;
  }
  .col-11 {
      width: 91.66666667%;
  }
  .col-10 {
      width: 83.33333333%;
  }
  .col-9 {
      width: 75%;
  }
  .col-8 {
      width: 66.66666667%;
  }
  .col-7 {
      width: 58.33333333%;
  }
  .col-6 {
      width: 50%;
  }
  .col-5 {
      width: 41.66666667%;
  }
  .col-4 {
      width: 33.33333333%;
  }
  .col-3 {
      width: 25%;
  }
  .col-2 {
      width: 16.66666667%;
  }
  .col-1 {
      width: 8.33333333%;
  }
  .col-auto {
      width: auto;
      max-width: none;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  }
  .col-mx-auto {
      margin-right: auto;
      margin-left: auto;
  }
  .col-ml-auto {
      margin-left: auto;
  }
  .col-mr-auto {
      margin-right: auto;
  }
  @media (max-width: 1280px) {
      .col-xl-1,
      .col-xl-10,
      .col-xl-11,
      .col-xl-12,
      .col-xl-2,
      .col-xl-3,
      .col-xl-4,
      .col-xl-5,
      .col-xl-6,
      .col-xl-7,
      .col-xl-8,
      .col-xl-9,
      .col-xl-auto {
          -ms-flex: none;
          flex: none;
      }
      .col-xl-12 {
          width: 100%;
      }
      .col-xl-11 {
          width: 91.66666667%;
      }
      .col-xl-10 {
          width: 83.33333333%;
      }
      .col-xl-9 {
          width: 75%;
      }
      .col-xl-8 {
          width: 66.66666667%;
      }
      .col-xl-7 {
          width: 58.33333333%;
      }
      .col-xl-6 {
          width: 50%;
      }
      .col-xl-5 {
          width: 41.66666667%;
      }
      .col-xl-4 {
          width: 33.33333333%;
      }
      .col-xl-3 {
          width: 25%;
      }
      .col-xl-2 {
          width: 16.66666667%;
      }
      .col-xl-1 {
          width: 8.33333333%;
      }
      .col-xl-auto {
          width: auto;
      }
      .hide-xl {
          display: none !important;
      }
      .show-xl {
          display: block !important;
      }
  }
  @media (max-width: 960px) {
      .col-lg-1,
      .col-lg-10,
      .col-lg-11,
      .col-lg-12,
      .col-lg-2,
      .col-lg-3,
      .col-lg-4,
      .col-lg-5,
      .col-lg-6,
      .col-lg-7,
      .col-lg-8,
      .col-lg-9,
      .col-lg-auto {
          -ms-flex: none;
          flex: none;
      }
      .col-lg-12 {
          width: 100%;
      }
      .col-lg-11 {
          width: 91.66666667%;
      }
      .col-lg-10 {
          width: 83.33333333%;
      }
      .col-lg-9 {
          width: 75%;
      }
      .col-lg-8 {
          width: 66.66666667%;
      }
      .col-lg-7 {
          width: 58.33333333%;
      }
      .col-lg-6 {
          width: 50%;
      }
      .col-lg-5 {
          width: 41.66666667%;
      }
      .col-lg-4 {
          width: 33.33333333%;
      }
      .col-lg-3 {
          width: 25%;
      }
      .col-lg-2 {
          width: 16.66666667%;
      }
      .col-lg-1 {
          width: 8.33333333%;
      }
      .col-lg-auto {
          width: auto;
      }
      .hide-lg {
          display: none !important;
      }
      .show-lg {
          display: block !important;
      }
  }
  @media (max-width: 840px) {
      .col-md-1,
      .col-md-10,
      .col-md-11,
      .col-md-12,
      .col-md-2,
      .col-md-3,
      .col-md-4,
      .col-md-5,
      .col-md-6,
      .col-md-7,
      .col-md-8,
      .col-md-9,
      .col-md-auto {
          -ms-flex: none;
          flex: none;
      }
      .col-md-12 {
          width: 100%;
      }
      .col-md-11 {
          width: 91.66666667%;
      }
      .col-md-10 {
          width: 83.33333333%;
      }
      .col-md-9 {
          width: 75%;
      }
      .col-md-8 {
          width: 66.66666667%;
      }
      .col-md-7 {
          width: 58.33333333%;
      }
      .col-md-6 {
          width: 50%;
      }
      .col-md-5 {
          width: 41.66666667%;
      }
      .col-md-4 {
          width: 33.33333333%;
      }
      .col-md-3 {
          width: 25%;
      }
      .col-md-2 {
          width: 16.66666667%;
      }
      .col-md-1 {
          width: 8.33333333%;
      }
      .col-md-auto {
          width: auto;
      }
      .hide-md {
          display: none !important;
      }
      .show-md {
          display: block !important;
      }
  }
  @media (max-width: 600px) {
      .col-sm-1,
      .col-sm-10,
      .col-sm-11,
      .col-sm-12,
      .col-sm-2,
      .col-sm-3,
      .col-sm-4,
      .col-sm-5,
      .col-sm-6,
      .col-sm-7,
      .col-sm-8,
      .col-sm-9,
      .col-sm-auto {
          -ms-flex: none;
          flex: none;
      }
      .col-sm-12 {
          width: 100%;
      }
      .col-sm-11 {
          width: 91.66666667%;
      }
      .col-sm-10 {
          width: 83.33333333%;
      }
      .col-sm-9 {
          width: 75%;
      }
      .col-sm-8 {
          width: 66.66666667%;
      }
      .col-sm-7 {
          width: 58.33333333%;
      }
      .col-sm-6 {
          width: 50%;
      }
      .col-sm-5 {
          width: 41.66666667%;
      }
      .col-sm-4 {
          width: 33.33333333%;
      }
      .col-sm-3 {
          width: 25%;
      }
      .col-sm-2 {
          width: 16.66666667%;
      }
      .col-sm-1 {
          width: 8.33333333%;
      }
      .col-sm-auto {
          width: auto;
      }
      .hide-sm {
          display: none !important;
      }
      .show-sm {
          display: block !important;
      }
  }
  @media (max-width: 480px) {
      .col-xs-1,
      .col-xs-10,
      .col-xs-11,
      .col-xs-12,
      .col-xs-2,
      .col-xs-3,
      .col-xs-4,
      .col-xs-5,
      .col-xs-6,
      .col-xs-7,
      .col-xs-8,
      .col-xs-9,
      .col-xs-auto {
          -ms-flex: none;
          flex: none;
      }
      .col-xs-12 {
          width: 100%;
      }
      .col-xs-11 {
          width: 91.66666667%;
      }
      .col-xs-10 {
          width: 83.33333333%;
      }
      .col-xs-9 {
          width: 75%;
      }
      .col-xs-8 {
          width: 66.66666667%;
      }
      .col-xs-7 {
          width: 58.33333333%;
      }
      .col-xs-6 {
          width: 50%;
      }
      .col-xs-5 {
          width: 41.66666667%;
      }
      .col-xs-4 {
          width: 33.33333333%;
      }
      .col-xs-3 {
          width: 25%;
      }
      .col-xs-2 {
          width: 16.66666667%;
      }
      .col-xs-1 {
          width: 8.33333333%;
      }
      .col-xs-auto {
          width: auto;
      }
      .hide-xs {
          display: none !important;
      }
      .show-xs {
          display: block !important;
      }
  }
  .hero {
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      padding-top: 4rem;
      padding-bottom: 4rem;
      -ms-flex-direction: column;
      -ms-flex-pack: justify;
      justify-content: space-between;
  }
  .hero.hero-sm {
      padding-top: 2rem;
      padding-bottom: 2rem;
  }
  .hero.hero-lg {
      padding-top: 8rem;
      padding-bottom: 8rem;
  }
  .hero .hero-body {
      padding: 0.4rem;
  }
  .navbar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      align-items: stretch;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-pack: justify;
      justify-content: space-between;
  }
  .navbar .navbar-section {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex: 1 0 0;
      flex: 1 0 0;
  }
  .navbar .navbar-section:not(:first-child):last-child {
      -ms-flex-pack: end;
      justify-content: flex-end;
  }
  .navbar .navbar-center {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  }
  .navbar .navbar-brand {
      font-size: var(--font-size-lg);
      text-decoration: none;
  }
  .accordion input:checked ~ .accordion-header .icon,
  .accordion[open] .accordion-header .icon {
      transform: rotate(90deg);
  }
  .accordion input:checked ~ .accordion-body,
  .accordion[open] .accordion-body {
      max-height: 50rem;
  }
  .accordion .accordion-header {
      display: block;
      padding: 0.2rem 0.4rem;
  }
  .accordion .accordion-body {
      overflow: hidden;
      max-height: 0;
      margin-bottom: 0.4rem;
  }
  summary.accordion-header::-webkit-details-marker {
      display: none;
  }
  .avatar {
      font-size: var(--avatar-font-size-base);
      font-weight: 300;
      line-height: 1.25;
      position: relative;
      display: inline-block;
      width: var(--avatar-size-base);
      height: var(--avatar-size-base);
      margin: 0;
      vertical-align: middle;
      color: var(--avatar-text-color);
      border-radius: 50%;
      background: var(--color-black);
  }
  .avatar.avatar-xs {
      font-size: var(--avatar-font-size-xs);
      width: var(--avatar-size-xs);
      height: var(--avatar-size-xs);
  }
  .avatar.avatar-sm {
      font-size: var(--avatar-font-size-sm);
      width: var(--avatar-size-sm);
      height: var(--avatar-size-sm);
  }
  .avatar.avatar-lg {
      font-size: var(--avatar-font-size-lg);
      width: var(--avatar-size-lg);
      height: var(--avatar-size-lg);
  }
  .avatar.avatar-xl {
      font-size: var(--avatar-font-size-xl);
      width: var(--avatar-size-xl);
      height: var(--avatar-size-xl);
  }
  .avatar img {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      border-radius: 50%;
  }
  .avatar .avatar-icon,
  .avatar .avatar-presence {
      position: absolute;
      z-index: 2;
      right: 14.64%;
      bottom: 14.64%;
      width: 50%;
      height: 50%;
      padding: 0.1rem;
      transform: translate(50%, 50%);
      background: var(--color-white);
  }
  .avatar .avatar-presence {
      width: var(--avatar-presence-size);
      height: var(--avatar-presence-size);
      border-radius: 50%;
      background: var(--color-disabled);
      box-shadow: var(--shadow-avatar-presence);
  }
  .avatar .avatar-presence.online {
      background: var(--color-success);
  }
  .avatar .avatar-presence.busy {
      background: var(--color-error);
  }
  .avatar .avatar-presence.away {
      background: var(--color-warning);
  }
  .avatar[data-initial]::before {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 50%;
      content: attr(data-initial);
      transform: translate(-50%, -50%);
      color: currentColor;
  }
  .badge {
      position: relative;
      white-space: nowrap;
  }
  .badge:not([data-badge])::after,
  .badge[data-badge]::after {
      display: inline-block;
      content: attr(data-badge);
      transform: translate(-0.05rem, -0.5rem);
      color: var(--color-white);
      border-radius: 0.5rem;
      background: var(--color-info);
      background-clip: padding-box;
      box-shadow: var(--shadow-avatar-presence);
  }
  .badge[data-badge]::after {
      font-size: var(--font-size-sm);
      line-height: 1;
      min-width: var(--badge-min-width);
      height: var(--badge-height);
      padding: 0.1rem 0.2rem;
      text-align: center;
      white-space: nowrap;
  }
  .badge:not([data-badge])::after,
  .badge[data-badge=""]::after {
      width: var(--badge-dot-size);
      min-width: var(--badge-dot-size);
      height: var(--badge-dot-size);
      padding: 0;
  }
  .badge.btn::after {
      position: absolute;
      top: 0;
      right: 0;
      transform: translate(50%, -50%);
  }
  .badge.avatar::after {
      position: absolute;
      z-index: var(--z-index-badge);
      top: 14.64%;
      right: 14.64%;
      transform: translate(50%, -50%);
  }
  .breadcrumb {
      margin: 0.2rem 0;
      padding: 0.2rem 0;
      list-style: none;
  }
  .breadcrumb .breadcrumb-item {
      display: inline-block;
      margin: 0;
      padding: 0.2rem 0;
      color: var(--color-text-secondary);
  }
  .breadcrumb .breadcrumb-item:not(:last-child) {
      margin-right: 0.2rem;
  }
  .breadcrumb .breadcrumb-item:not(:last-child) a {
      color: var(--color-text-secondary);
  }
  .breadcrumb .breadcrumb-item:not(:first-child)::before {
      padding-right: 0.4rem;
      content: "/";
      color: var(--color-text-secondary);
  }
  .bar {
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      height: 0.8rem;
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  }
  .bar.bar-sm {
      height: 0.2rem;
  }
  .bar .bar-item {
      font-size: var(--font-size-sm);
      line-height: 0.8rem;
      position: relative;
      display: block;
      width: 0;
      height: 100%;
      text-align: center;
      color: var(--color-white);
      background: var(--color-info);
      -ms-flex-negative: 0;
      flex-shrink: 0;
  }
  .bar .bar-item:first-child {
      border-top-left-radius: var(--border-radius-default);
      border-bottom-left-radius: var(--border-radius-default);
  }
  .bar .bar-item:last-child {
      border-top-right-radius: var(--border-radius-default);
      border-bottom-right-radius: var(--border-radius-default);
      -ms-flex-negative: 1;
      flex-shrink: 1;
  }
  .bar-slider {
      position: relative;
      height: 0.1rem;
      margin: 0.4rem 0;
  }
  .bar-slider .bar-item {
      position: absolute;
      left: 0;
      padding: 0;
  }
  .bar-slider .bar-item:not(:last-child):first-child {
      z-index: 1;
      background: var(--color-grey-light);
  }
  .bar-slider .bar-slider-btn {
      position: absolute;
      top: 50%;
      right: 0;
      width: 0.6rem;
      height: 0.6rem;
      padding: 0;
      transform: translate(50%, -50%);
      border: 0;
      border-radius: 50%;
      background: var(--color-info);
  }
  .bar-slider .bar-slider-btn:active {
      box-shadow: 0 0 0 var(--border-width-default) var(--color-info);
  }
  .card {
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      border: var(--border-width-default) solid var(--color-border);
      border-radius: var(--border-radius-default);
      background: var(--color-white);
      -ms-flex-direction: column;
  }
  .card .card-body,
  .card .card-footer,
  .card .card-header {
      padding: 0.8rem;
      padding-bottom: 0;
  }
  .card .card-body:last-child,
  .card .card-footer:last-child,
  .card .card-header:last-child {
      padding-bottom: 0.8rem;
  }
  .card .card-body {
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  }
  .card .card-image {
      padding-top: 0.8rem;
  }
  .card .card-image:first-child {
      padding-top: 0;
  }
  .card .card-image:first-child img {
      border-top-left-radius: var(--border-radius-default);
      border-top-right-radius: var(--border-radius-default);
  }
  .card .card-image:last-child img {
      border-bottom-right-radius: var(--border-radius-default);
      border-bottom-left-radius: var(--border-radius-default);
  }
  .chip {
      font-size: 90%;
      line-height: 0.8rem;
      display: -ms-inline-flexbox;
      display: inline-flex;
      overflow: hidden;
      max-width: 320px;
      height: 1.2rem;
      margin: 0.1rem;
      padding: 0.2rem 0.4rem;
      vertical-align: middle;
      white-space: nowrap;
      text-decoration: none;
      text-overflow: ellipsis;
      border-radius: 5rem;
      background: var(--color-grey-light);
      -ms-flex-align: center;
      align-items: center;
  }
  .chip.active {
      color: var(--color-white);
      background: var(--color-black);
  }
  .chip .avatar {
      margin-right: 0.2rem;
      margin-left: -0.4rem;
  }
  .chip .btn-clear {
      transform: scale(0.75);
      border-radius: 50%;
  }
  .dropdown {
      position: relative;
      display: inline-block;
  }
  .dropdown .menu {
      position: absolute;
      top: 100%;
      left: 0;
      display: none;
      overflow-y: auto;
      max-height: 50vh;
      animation: slide-down 0.15s ease 1;
  }
  .dropdown.dropdown-right .menu {
      right: 0;
      left: auto;
  }
  .dropdown .dropdown-toggle:focus + .menu,
  .dropdown .menu:hover,
  .dropdown.active .menu {
      display: block;
  }
  .dropdown .btn-group .dropdown-toggle:nth-last-child(2) {
      border-top-right-radius: var(--border-radius-default);
      border-bottom-right-radius: var(--border-radius-default);
  }
  .empty {
      padding: 3.2rem 1.6rem;
      text-align: center;
      color: var(--color-text-secondary);
      border-radius: var(--border-radius-default);
      background: var(--color-grey-light);
  }
  .empty .empty-icon {
      margin-bottom: 0.8rem;
  }
  .empty .empty-subtitle,
  .empty .empty-title {
      margin: 0.4rem auto;
  }
  .empty .empty-action {
      margin-top: 0.8rem;
  }
  .menu {
      z-index: var(--z-index-menu);
      min-width: 180px;
      margin: 0;
      padding: 0.4rem;
      list-style: none;
      transform: translateY(0.2rem);
      border-radius: var(--border-radius-default);
      background: var(--color-white);
      box-shadow: var(--shadow-menu);
  }
  .menu.menu-nav {
      background: 0 0;
      box-shadow: none;
  }
  .menu .menu-item {
      position: relative;
      margin-top: 0;
      padding: 0 0.4rem;
      text-decoration: none;
  }
  .menu .menu-item > a {
      display: block;
      margin: 0 -0.4rem;
      padding: 0.2rem 0.4rem;
      text-decoration: none;
      color: inherit;
      border-radius: var(--border-radius-default);
  }
  .menu .menu-item > a:focus,
  .menu .menu-item > a:hover {
      color: var(--color-text-primary);
      background: var(--color-grey-light);
  }
  .menu .menu-item > a.active,
  .menu .menu-item > a:active {
      color: var(--color-text-primary);
      background: var(--color-grey-light);
  }
  .menu .menu-item .form-checkbox,
  .menu .menu-item .form-radio,
  .menu .menu-item .form-switch {
      margin: 0.1rem 0;
  }
  .menu .menu-item + .menu-item {
      margin-top: 0.2rem;
  }
  .menu .menu-badge {
      position: absolute;
      top: 0;
      right: 0;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -ms-flex-align: center;
      align-items: center;
  }
  .menu .menu-badge .label {
      margin-right: 0.4rem;
  }
  .modal {
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: none;
      overflow: hidden;
      padding: 0.4rem;
      opacity: 0;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
  }
  .modal.active,
  .modal:target {
      z-index: var(--z-index-modal);
      display: -ms-flexbox;
      display: flex;
      opacity: 1;
  }
  .modal.active .modal-overlay,
  .modal:target .modal-overlay {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      display: block;
      cursor: default;
      background: var(--modal-overlay-background);
  }
  .modal.active .modal-container,
  .modal:target .modal-container {
      z-index: 1;
      animation: var(--modal-animation);
  }
  .modal.modal-sm .modal-container {
      max-width: var(--modal-max-width-sm);
      padding: 0 0.4rem;
  }
  .modal.modal-lg .modal-overlay {
      background: var(--color-white);
  }
  .modal.modal-lg .modal-container {
      max-width: var(--modal-max-width-lg);
      box-shadow: none;
  }
  .modal-container {
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: var(--modal-max-width-base);
      max-height: var(--modal-max-height);
      padding: 0 0.8rem;
      border-radius: var(--border-radius-default);
      background: var(--color-white);
      box-shadow: var(--shadow-modal);
      -ms-flex-direction: column;
  }
  .modal-container.modal-fullheight {
      max-height: 100vh;
  }
  .modal-container .modal-header {
      padding: 0.8rem;
      color: var(--color-text-primary);
  }
  .modal-container .modal-body {
      position: relative;
      overflow-y: auto;
      padding: 0.8rem;
  }
  .modal-container .modal-footer {
      padding: 0.8rem;
      text-align: right;
  }
  .nav {
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      margin: 0.2rem 0;
      list-style: none;
      -ms-flex-direction: column;
  }
  .nav .nav-item a {
      padding: 0.2rem 0.4rem;
      text-decoration: none;
      color: var(--color-text-secondary);
  }
  .nav .nav-item a:focus,
  .nav .nav-item a:hover {
      color: var(--color-text-primary);
  }
  .nav .nav-item.active > a {
      font-weight: 600;
      color: var(--color-text-primary);
  }
  .nav .nav-item.active > a:focus,
  .nav .nav-item.active > a:hover {
      color: var(--color-text-primary);
  }
  .nav .nav {
      margin-bottom: 0.4rem;
      margin-left: 0.8rem;
  }
  .pagination {
      display: -ms-flexbox;
      display: flex;
      margin: 0.2rem 0;
      padding: 0.2rem 0;
      list-style: none;
  }
  .pagination .page-item {
      margin: 0.2rem 0.05rem;
  }
  .pagination .page-item span {
      display: inline-block;
      padding: 0.2rem 0.2rem;
  }
  .pagination .page-item a {
      display: inline-block;
      padding: 0.2rem 0.4rem;
      text-decoration: none;
      border-radius: var(--border-radius-default);
  }
  .pagination .page-item a:focus,
  .pagination .page-item a:hover {
      color: var(--color-black);
  }
  .pagination .page-item.disabled a {
      cursor: default;
      pointer-events: none;
      opacity: 0.5;
  }
  .pagination .page-item.active a {
      color: var(--color-white);
      background: var(--color-black);
  }
  .pagination .page-item.page-next,
  .pagination .page-item.page-prev {
      -ms-flex: 1 0 50%;
      flex: 1 0 50%;
  }
  .pagination .page-item.page-next {
      text-align: right;
  }
  .pagination .page-item .page-item-title {
      margin: 0;
  }
  .pagination .page-item .page-item-subtitle {
      margin: 0;
      opacity: 0.5;
  }
  .panel {
      display: -ms-flexbox;
      display: flex;
      flex-direction: column;
      border: var(--border-width-default) solid var(--color-black);
      border-radius: var(--border-radius-default);
      -ms-flex-direction: column;
  }
  .panel .panel-footer,
  .panel .panel-header {
      padding: 0.8rem;
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  }
  .panel .panel-nav {
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  }
  .panel .panel-body {
      overflow-y: auto;
      padding: 0 0.8rem;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  }
  .popover {
      position: relative;
      display: inline-block;
  }
  .popover .popover-container {
      position: absolute;
      z-index: var(--z-index-popover);
      top: 0;
      left: 50%;
      width: var(--popover-max-width);
      padding: 0.4rem;
      transform: translate(-50%, -50%) scale(0);
      opacity: 0;
  }
  .popover :focus + .popover-container,
  .popover:hover .popover-container {
      display: block;
      transform: translate(-50%, -100%) scale(1);
      opacity: 1;
  }
  .popover.popover-right .popover-container {
      top: 50%;
      left: 100%;
  }
  .popover.popover-right :focus + .popover-container,
  .popover.popover-right:hover .popover-container {
      transform: translate(0, -50%) scale(1);
  }
  .popover.popover-bottom .popover-container {
      top: 100%;
      left: 50%;
  }
  .popover.popover-bottom :focus + .popover-container,
  .popover.popover-bottom:hover .popover-container {
      transform: translate(-50%, 0) scale(1);
  }
  .popover.popover-left .popover-container {
      top: 50%;
      left: 0;
  }
  .popover.popover-left :focus + .popover-container,
  .popover.popover-left:hover .popover-container {
      transform: translate(-100%, -50%) scale(1);
  }
  .popover .card {
      border: 0;
      box-shadow: var(--shadow-modal);
  }
  .step {
      display: -ms-flexbox;
      display: flex;
      width: 100%;
      margin: 0.2rem 0;
      list-style: none;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  }
  .step .step-item {
      position: relative;
      min-height: 1rem;
      margin-top: 0;
      text-align: center;
      -ms-flex: 1 1 0;
      flex: 1 1 0;
  }
  .step .step-item:not(:first-child)::before {
      position: absolute;
      top: var(--step-connector-top);
      left: -50%;
      width: 100%;
      height: var(--step-connector-height);
      content: "";
      background: var(--color-border);
  }
  .step .step-item a {
      display: inline-block;
      padding: var(--step-item-padding-y) var(--step-item-padding-x) 0;
      text-decoration: none;
      color: var(--color-text-primary);
  }
  .step .step-item a::before {
      position: absolute;
      z-index: 1;
      top: 0.2rem;
      left: 50%;
      display: block;
      width: var(--step-marker-size);
      height: var(--step-marker-size);
      content: "";
      transform: translateX(-50%);
      border: 0.1rem solid var(--color-white);
      border-radius: 50%;
      background: var(--color-text-primary);
  }
  .step .step-item.active a::before {
      border: var(--border-width-default) solid var(--color-text-primary);
      background: var(--color-white);
  }
  .step .step-item.active ~ .step-item::before {
      background: var(--color-border);
  }
  .step .step-item.active ~ .step-item a {
      color: var(--color-disabled);
  }
  .step .step-item.active ~ .step-item a::before {
      background: var(--color-grey-light);
  }
  .tab {
      display: -ms-flexbox;
      display: flex;
      margin: 0.2rem 0 0.1rem 0;
      list-style: none;
      border-bottom: var(--border-width-default) solid var(--color-border);
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  }
  .tab .tab-item {
      margin-top: 0;
  }
  .tab .tab-item a {
      display: block;
      margin: 0 0.4rem 0 0;
      padding: 0.4rem 0.2rem 0.3rem 0.2rem;
      text-decoration: none;
      color: inherit;
      border-bottom: var(--border-width-default) solid transparent;
  }
  .tab .tab-item a:focus,
  .tab .tab-item a:hover {
      color: var(--color-info);
  }
  .tab .tab-item a.active,
  .tab .tab-item.active a {
      color: var(--color-info);
      border-bottom-color: var(--color-info);
  }
  .tab .tab-item.tab-action {
      text-align: right;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  }
  .tab .tab-item .btn-clear {
      margin-top: -0.2rem;
  }
  .tab.tab-block .tab-item {
      text-align: center;
      -ms-flex: 1 0 0;
      flex: 1 0 0;
  }
  .tab.tab-block .tab-item a {
      margin: 0;
  }
  .tab.tab-block .tab-item .badge[data-badge]::after {
      position: absolute;
      top: 0.1rem;
      right: 0.1rem;
      transform: translate(0, 0);
  }
  .tab:not(.tab-block) .badge {
      padding-right: 0;
  }
  .tile {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-line-pack: justify;
      align-content: space-between;
      -ms-flex-align: start;
      align-items: flex-start;
  }
  .tile .tile-action,
  .tile .tile-icon {
      -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  }
  .tile .tile-content {
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  }
  .tile .tile-content:not(:first-child) {
      padding-left: 0.4rem;
  }
  .tile .tile-content:not(:last-child) {
      padding-right: 0.4rem;
  }
  .tile .tile-subtitle,
  .tile .tile-title {
      line-height: 1.2rem;
  }
  .tile.tile-centered {
      -ms-flex-align: center;
      align-items: center;
  }
  .tile.tile-centered .tile-content {
      overflow: hidden;
  }
  .tile.tile-centered .tile-subtitle,
  .tile.tile-centered .tile-title {
      overflow: hidden;
      margin-bottom: 0;
      white-space: nowrap;
      text-overflow: ellipsis;
  }
  .toast {
      display: block;
      width: 100%;
      padding: 0.2rem 0.4rem 0;
      color: var(--color-white);
      border: var(--border-width-default) solid var(--color-black);
      border-color: var(--color-black);
      border-radius: var(--border-radius-default);
      background: var(--toast-background-primary);
  }
  .toast.toast-primary {
      border-color: var(--color-black);
      background: var(--toast-background-primary);
  }
  .toast.toast-success {
      border-color: var(--color-success);
      background: var(--toast-background-success);
  }
  .toast.toast-warning {
      border-color: var(--color-warning);
      background: var(--toast-background-warning);
  }
  .toast.toast-error {
      border-color: var(--color-error);
      background: var(--toast-background-error);
  }
  .toast a {
      text-decoration: underline;
      color: var(--color-white);
  }
  .toast a.active,
  .toast a:active,
  .toast a:focus,
  .toast a:hover {
      color: var(--color-grey-light);
  }
  .toast .btn-clear {
      margin: 0.1rem;
  }
  .toast p:last-child {
      margin-bottom: 0;
  }
  .tooltip {
      position: relative;
  }
  .tooltip::after {
      font-size: var(--font-size-sm);
      position: absolute;
      z-index: var(--z-index-popover);
      bottom: 100%;
      left: 50%;
      display: block;
      overflow: hidden;
      max-width: var(--tooltip-max-width);
      padding: 0.2rem 0.4rem;
      content: attr(data-tooltip);
      transform: translate(-50%, 0.4rem);
      white-space: pre;
      text-overflow: ellipsis;
      pointer-events: none;
      opacity: 0;
      color: var(--color-white);
      border-radius: var(--border-radius-default);
      background: var(--tooltip-background);
  }
  .tooltip:focus::after,
  .tooltip:hover::after {
      transform: translate(-50%, -0.2rem);
      opacity: 1;
  }
  .tooltip.disabled,
  .tooltip[disabled] {
      pointer-events: auto;
  }
  .tooltip.tooltip-right::after {
      bottom: 50%;
      left: 100%;
      transform: translate(-0.2rem, 50%);
  }
  .tooltip.tooltip-right:focus::after,
  .tooltip.tooltip-right:hover::after {
      transform: translate(0.2rem, 50%);
  }
  .tooltip.tooltip-bottom::after {
      top: 100%;
      bottom: auto;
      transform: translate(-50%, -0.4rem);
  }
  .tooltip.tooltip-bottom:focus::after,
  .tooltip.tooltip-bottom:hover::after {
      transform: translate(-50%, 0.2rem);
  }
  .tooltip.tooltip-left::after {
      right: 100%;
      bottom: 50%;
      left: auto;
      transform: translate(0.4rem, 50%);
  }
  .tooltip.tooltip-left:focus::after,
  .tooltip.tooltip-left:hover::after {
      transform: translate(-0.2rem, 50%);
  }
  @keyframes loading {
      0% {
          transform: rotate(0);
      }
      100% {
          transform: rotate(360deg);
      }
  }
  @keyframes slide-down {
      0% {
          transform: translateY(-1.6rem);
          opacity: 0;
      }
      100% {
          transform: translateY(0);
          opacity: 1;
      }
  }
  .text-primary {
      color: var(--color-text-primary) !important;
  }
  a.text-primary:focus,
  a.text-primary:hover {
      color: var(--color-text-primary);
  }
  .text-secondary {
      color: var(--color-text-secondary) !important;
  }
  a.text-secondary:focus,
  a.text-secondary:hover {
      color: var(--color-text-primary);
  }
  .text-grey {
      color: var(--color-disabled) !important;
  }
  a.text-grey:focus,
  a.text-grey:hover {
      color: var(--color-text-secondary);
  }
  .text-light {
      color: var(--color-white) !important;
  }
  a.text-light:focus,
  a.text-light:hover {
      color: var(--color-grey-light);
  }
  .text-dark {
      color: var(--color-black) !important;
  }
  a.text-dark:focus,
  a.text-dark:hover {
      color: var(--color-black);
  }
  .text-success {
      color: var(--color-success) !important;
  }
  a.text-success:focus,
  a.text-success:hover {
      color: var(--color-success-dark);
  }
  .text-warning {
      color: var(--color-warning) !important;
  }
  a.text-warning:focus,
  a.text-warning:hover {
      color: var(--color-warning-dark);
  }
  .text-error {
      color: var(--color-error) !important;
  }
  a.text-error:focus,
  a.text-error:hover {
      color: var(--color-error-dark);
  }
  .bg-primary {
      color: var(--color-white);
      background: var(--color-black) !important;
  }
  .bg-secondary {
      background: var(--color-grey-light) !important;
  }
  .bg-dark {
      color: var(--color-white);
      background: var(--color-black) !important;
  }
  .bg-grey {
      background: var(--color-grey-light) !important;
  }
  .bg-success {
      color: var(--color-white);
      background: var(--color-success) !important;
  }
  .bg-warning {
      color: var(--color-white);
      background: var(--color-warning) !important;
  }
  .bg-error {
      color: var(--color-white);
      background: var(--color-error) !important;
  }
  .c-hand {
      cursor: pointer;
  }
  .c-move {
      cursor: move;
  }
  .c-zoom-in {
      cursor: zoom-in;
  }
  .c-zoom-out {
      cursor: zoom-out;
  }
  .c-not-allowed {
      cursor: not-allowed;
  }
  .c-auto {
      cursor: auto;
  }
  .d-block {
      display: block;
  }
  .d-inline {
      display: inline;
  }
  .d-inline-block {
      display: inline-block;
  }
  .d-flex {
      display: -ms-flexbox;
      display: flex;
  }
  .d-inline-flex {
      display: -ms-inline-flexbox;
      display: inline-flex;
  }
  .d-hide,
  .d-none {
      display: none !important;
  }
  .d-visible {
      visibility: visible;
  }
  .d-invisible {
      visibility: hidden;
  }
  .text-hide {
      font-size: 0;
      line-height: 0;
      color: transparent;
      border: 0;
      background: 0 0;
      text-shadow: none;
  }
  .text-assistive {
      position: absolute;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      width: 1px;
      height: 1px;
      margin: -1px;
      padding: 0;
      border: 0;
  }
  .divider,
  .divider-vert {
      position: relative;
      display: block;
  }
  .divider-vert[data-content]::after,
  .divider[data-content]::after {
      font-size: var(--font-size-sm);
      display: inline-block;
      padding: 0 0.4rem;
      content: attr(data-content);
      transform: translateY(-0.7rem);
      color: var(--color-text-secondary);
      background: var(--color-background);
  }
  .divider {
      height: 0.1rem;
      margin: 0.4rem 0;
      border-top: var(--border-width-default) solid var(--color-border);
  }
  .divider[data-content] {
      margin: 0.8rem 0;
  }
  .divider-vert {
      display: block;
      padding: 0.8rem;
  }
  .divider-vert::before {
      position: absolute;
      top: 0.4rem;
      bottom: 0.4rem;
      left: 50%;
      display: block;
      content: "";
      transform: translateX(-50%);
      border-left: var(--border-width-default) solid var(--color-border);
  }
  .divider-vert[data-content]::after {
      position: absolute;
      top: 50%;
      left: 50%;
      padding: 0.2rem 0;
      transform: translate(-50%, -50%);
  }
  .loading {
      position: relative;
      min-height: 0.8rem;
      pointer-events: none;
      color: transparent !important;
  }
  .loading::after {
      position: absolute;
      z-index: 1;
      top: 50%;
      left: 50%;
      display: block;
      width: 0.8rem;
      height: 0.8rem;
      margin-top: -0.4rem;
      margin-left: -0.4rem;
      content: "";
      animation: loading 0.5s infinite linear;
      border: var(--border-width-default) solid var(--color-text-primary);
      border-top-color: transparent;
      border-right-color: transparent;
      border-radius: 50%;
  }
  .loading.loading-lg {
      min-height: 2rem;
  }
  .loading.loading-lg::after {
      width: 1.6rem;
      height: 1.6rem;
      margin-top: -0.8rem;
      margin-left: -0.8rem;
  }
  .clearfix::after {
      display: table;
      clear: both;
      content: "";
  }
  .float-left {
      float: left !important;
  }
  .float-right {
      float: right !important;
  }
  .p-relative {
      position: relative !important;
  }
  .p-absolute {
      position: absolute !important;
  }
  .p-fixed {
      position: fixed !important;
  }
  .p-sticky {
      position: sticky !important;
  }
  .p-centered {
      display: block;
      float: none;
      margin-right: auto;
      margin-left: auto;
  }
  .flex-centered {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: center;
      justify-content: center;
  }
  .m-0 {
      margin: 0 !important;
  }
  .mb-0 {
      margin-bottom: 0 !important;
  }
  .ml-0 {
      margin-left: 0 !important;
  }
  .mr-0 {
      margin-right: 0 !important;
  }
  .mt-0 {
      margin-top: 0 !important;
  }
  .mx-0 {
      margin-right: 0 !important;
      margin-left: 0 !important;
  }
  .my-0 {
      margin-top: 0 !important;
      margin-bottom: 0 !important;
  }
  .m-1 {
      margin: 0.2rem !important;
  }
  .mb-1 {
      margin-bottom: 0.2rem !important;
  }
  .ml-1 {
      margin-left: 0.2rem !important;
  }
  .mr-1 {
      margin-right: 0.2rem !important;
  }
  .mt-1 {
      margin-top: 0.2rem !important;
  }
  .mx-1 {
      margin-right: 0.2rem !important;
      margin-left: 0.2rem !important;
  }
  .my-1 {
      margin-top: 0.2rem !important;
      margin-bottom: 0.2rem !important;
  }
  .m-2 {
      margin: 0.4rem !important;
  }
  .mb-2 {
      margin-bottom: 0.4rem !important;
  }
  .ml-2 {
      margin-left: 0.4rem !important;
  }
  .mr-2 {
      margin-right: 0.4rem !important;
  }
  .mt-2 {
      margin-top: 0.4rem !important;
  }
  .mx-2 {
      margin-right: 0.4rem !important;
      margin-left: 0.4rem !important;
  }
  .my-2 {
      margin-top: 0.4rem !important;
      margin-bottom: 0.4rem !important;
  }
  .p-0 {
      padding: 0 !important;
  }
  .pb-0 {
      padding-bottom: 0 !important;
  }
  .pl-0 {
      padding-left: 0 !important;
  }
  .pr-0 {
      padding-right: 0 !important;
  }
  .pt-0 {
      padding-top: 0 !important;
  }
  .px-0 {
      padding-right: 0 !important;
      padding-left: 0 !important;
  }
  .py-0 {
      padding-top: 0 !important;
      padding-bottom: 0 !important;
  }
  .p-1 {
      padding: 0.2rem !important;
  }
  .pb-1 {
      padding-bottom: 0.2rem !important;
  }
  .pl-1 {
      padding-left: 0.2rem !important;
  }
  .pr-1 {
      padding-right: 0.2rem !important;
  }
  .pt-1 {
      padding-top: 0.2rem !important;
  }
  .px-1 {
      padding-right: 0.2rem !important;
      padding-left: 0.2rem !important;
  }
  .py-1 {
      padding-top: 0.2rem !important;
      padding-bottom: 0.2rem !important;
  }
  .p-2 {
      padding: 0.4rem !important;
  }
  .pb-2 {
      padding-bottom: 0.4rem !important;
  }
  .pl-2 {
      padding-left: 0.4rem !important;
  }
  .pr-2 {
      padding-right: 0.4rem !important;
  }
  .pt-2 {
      padding-top: 0.4rem !important;
  }
  .px-2 {
      padding-right: 0.4rem !important;
      padding-left: 0.4rem !important;
  }
  .py-2 {
      padding-top: 0.4rem !important;
      padding-bottom: 0.4rem !important;
  }
  .s-rounded {
      border-radius: var(--border-radius-default);
  }
  .s-circle {
      border-radius: 50%;
  }
  .text-left {
      text-align: left;
  }
  .text-right {
      text-align: right;
  }
  .text-center {
      text-align: center;
  }
  .text-justify {
      text-align: justify;
  }
  .text-lowercase {
      text-transform: lowercase;
  }
  .text-uppercase {
      text-transform: uppercase;
  }
  .text-capitalize {
      text-transform: capitalize;
  }
  .text-normal {
      font-weight: 400;
  }
  .text-bold {
      font-weight: 600;
  }
  .text-italic {
      font-style: italic;
  }
  .text-large {
      font-size: 1.2em;
  }
  .text-ellipsis {
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis;
  }
  .text-clip {
      overflow: hidden;
      white-space: nowrap;
      text-overflow: clip;
  }
  .text-break {
      word-wrap: break-word;
      word-break: break-word;
      -webkit-hyphens: auto;
      hyphens: auto;
      -ms-hyphens: auto;
  }
  
  