/*---------------------------------------------------
  SASS ELements (based on LESS Elements 0.9 http://lesselements.com) 
-------------------------------- -------------------
  LESS ELEMENTS made by Dmitry Fadeyev (http://fadeyev.net)
  SASS port by Samuel Beek (http://samuelbeek.com) 
---------------------------------------------------*/
/*------------------------
    Usage

  $color-white: hexToRGBString(#fff) => "255,255,255"
  $color-white: hexToRGBString(rgb(255,255,255)) => "255,255,255"
  $color-white: hexToRGBString(rgba(#fff,1)) => "255,255,255"

------------------------*/
/*------------------------
    Usage

    h1 {
      font-size: rem(32);
    }

    OR:

    h1 {
      font-size: rem(32px);
    }
------------------------*/
/*------------------------
  FADE IN
  e.g. @include fadeIn( 2s );
------------------------*/
/*------------------------
mixin that calculates if text needs to be light or dark
depending on the background color passed.

From this W3C document: http://www.webmasterworld.com/r.cgi?f=88&d=9769&url=http://www.w3.org/TR/AERT#color-contrast

usage:
@include text-contrast($bgcolor)

Color brightness is determined by the following formula: 
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
------------------------*/
/*------------------------
 color factory 
  eg: contrast-ink($contrastvalue)
------------------------*/
/*------------------------
 color factory 
  eg: @include paint($blue-grey-50, bg-blue-grey-50);
------------------------*/
/* backface visibility */
/* generate theme button */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
:root {
  --bs-blue: #4089e0;
  --bs-indigo: #9b6ab5;
  --bs-purple: #b756a8;
  --bs-pink: #c55d9e;
  --bs-red: #fd5484;
  --bs-orange: #fe7e6b;
  --bs-yellow: #ffd274;
  --bs-green: #77c688;
  --bs-teal: #1fb0d5;
  --bs-cyan: #20a0e7;
  --bs-black: #000;
  --bs-white: #fff;
  --primary-50: #ccbfdf;
  --primary-100: #beaed7;
  --primary-200: #b19dce;
  --primary-300: #a38cc6;
  --primary-400: #967bbd;
  --primary-500: #886ab5;
  --primary-600: #7a59ad;
  --primary-700: #6e4e9e;
  --primary-800: #62468d;
  --primary-900: #563d7c;
  --success-50: #7aece0;
  --success-100: #63e9db;
  --success-200: #4de5d5;
  --success-300: #37e2d0;
  --success-400: #21dfcb;
  --success-500: #1dc9b7;
  --success-600: #1ab3a3;
  --success-700: #179c8e;
  --success-800: #13867a;
  --success-900: #107066;
  --info-50: #9acffa;
  --info-100: #82c4f8;
  --info-200: #6ab8f7;
  --info-300: #51adf6;
  --info-400: #39a1f4;
  --info-500: #2196F3;
  --info-600: #0d8aee;
  --info-700: #0c7cd5;
  --info-800: #0a6ebd;
  --info-900: #0960a5;
  --warning-50: #ffebc1;
  --warning-100: #ffe3a7;
  --warning-200: #ffdb8e;
  --warning-300: #ffd274;
  --warning-400: #ffca5b;
  --warning-500: #ffc241;
  --warning-600: #ffba28;
  --warning-700: #ffb20e;
  --warning-800: #f4a500;
  --warning-900: #da9400;
  --danger-50: #feb7d9;
  --danger-100: #fe9ecb;
  --danger-200: #fe85be;
  --danger-300: #fe6bb0;
  --danger-400: #fd52a3;
  --danger-500: #fd3995;
  --danger-600: #fd2087;
  --danger-700: #fc077a;
  --danger-800: #e7026e;
  --danger-900: #ce0262;
  --fusion-50: #909090;
  --fusion-100: #838383;
  --fusion-200: #767676;
  --fusion-300: dimgray;
  --fusion-400: #5d5d5d;
  --fusion-500: #505050;
  --fusion-600: #434343;
  --fusion-700: #363636;
  --fusion-800: #2a2a2a;
  --fusion-900: #1d1d1d;
  --dark-50: #404040;
  --dark-100: #333333;
  --dark-200: #262626;
  --dark-300: #1a1a1a;
  --dark-400: #0d0d0d;
  --dark-500: #000;
  --dark-600: black;
  --dark-700: black;
  --dark-800: black;
  --dark-900: black;
  --light-50: white;
  --light-100: white;
  --light-200: white;
  --light-300: white;
  --light-400: white;
  --light-500: #fff;
  --light-600: #f2f2f2;
  --light-700: #e6e6e6;
  --light-800: #d9d9d9;
  --light-900: #cccccc;
  --secondary-50: #afb5ba;
  --secondary-100: #a1a8ae;
  --secondary-200: #939ba2;
  --secondary-300: #868e96;
  --secondary-400: #78828a;
  --secondary-500: #6c757d;
  --secondary-600: #60686f;
  --secondary-700: #545b62;
  --secondary-800: #494f54;
  --secondary-900: #3d4246;
  --bs-primary: #886ab5;
  --bs-primary-rgb: 136, 106, 181;
  --bs-primary-text-emphasis: #3e2c5a;
  --bs-primary-bg-subtle: #dad0e8;
  --bs-primary-border-subtle: #beaed7;
  --bs-success: #1dc9b7;
  --bs-success-rgb: 29, 201, 183;
  --bs-success-text-emphasis: #0a433d;
  --bs-success-bg-subtle: #90efe5;
  --bs-success-border-subtle: #63e9db;
  --bs-info: #2196F3;
  --bs-info-rgb: 33, 150, 243;
  --bs-info-text-emphasis: #064475;
  --bs-info-bg-subtle: #b2dbfb;
  --bs-info-border-subtle: #82c4f8;
  --bs-warning: #ffc241;
  --bs-warning-rgb: 255, 194, 65;
  --bs-warning-text-emphasis: #a77100;
  --bs-warning-bg-subtle: #fff3da;
  --bs-warning-border-subtle: #ffe3a7;
  --bs-danger: #fd3995;
  --bs-danger-rgb: 253, 57, 149;
  --bs-danger-text-emphasis: #9b024a;
  --bs-danger-bg-subtle: #ffd0e6;
  --bs-danger-border-subtle: #fe9ecb;
  --bs-fusion: #505050;
  --bs-fusion-rgb: 80, 80, 80;
  --bs-fusion-text-emphasis: #030303;
  --bs-fusion-bg-subtle: #9c9c9c;
  --bs-fusion-border-subtle: #838383;
  --bs-dark: #000;
  --bs-dark-rgb: 0, 0, 0;
  --bs-dark-text-emphasis: black;
  --bs-dark-bg-subtle: #4d4d4d;
  --bs-dark-border-subtle: #333333;
  --bs-light: #fff;
  --bs-light-rgb: 255, 255, 255;
  --bs-light-text-emphasis: #b3b3b3;
  --bs-light-bg-subtle: white;
  --bs-light-border-subtle: white;
  --bs-secondary: #6c757d;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-secondary-text-emphasis: #25282b;
  --bs-secondary-bg-subtle: #bcc1c6;
  --bs-secondary-border-subtle: #a1a8ae;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-form-valid-color: $color-success;
  --bs-form-valid-border-color: $color-success;
  --bs-form-invalid-color: $color-danger;
  --bs-form-invalid-border-color: $color-danger;
  --app-nav-link-color: var(--bs-gray-800);
  --app-nav-link-hover-color: #7a59ad;
  --app-nav-link-active-color: #7a59ad;
  --app-nav-title-color: #666666;
  --app-nav-border-color: rgba(var(--secondary), 0.3);
  --app-nav-item-hover-bg: rgba(136, 106, 181, 0.045);
  --app-nav-item-active-bg: rgba(var(--secondary), 0.07);
  --app-nav-item-active-indicator: var(--app-nav-link-active-color);
  --app-nav-collapse-sign-color: var(--bs-body-color);
  --bs-link-color: #886ab5;
  --bs-link-color-rgb: 136, 106, 181;
  --bs-link-hover-color-rgb: 110, 78, 158;
  --bs-link-decoration: underline;
  --bs-link-hover-color: darken($color-primary, 10%);
  --bs-code-color: #e7026e;
  --bs-highlight-color: #212529;
  --bs-highlight-bg: #fff3cd;
  --app-header-height: 5.5rem;
  --menu-width: 12rem;
  --right-content-width: 20rem;
  --menu-width-minified: 4.4rem;
  --menu-top-height-minified: 4rem;
  --menu-top-height: 6rem;
  --drawer-width: 24rem;
  --app-header-fixed: 0;
  --app-nav-full: 0;
  --app-header-background: var(--bs-body-bg);
  --app-nav-background: var(--bs-body-bg);
  --app-drawer-background: var(--bs-body-bg);
  --app-content-background: #fdfdfd;
  --logo-width: 11rem;
  --logo-height: 2rem;
  --app-layout-border-color: rgba(0, 0, 0, 0.07);
  --bs-border-color-translucent: rgba(0, 0, 0, 0.1);
  --bs-border-color: #dee2e6;
  --app-nav-svgicon-size: 1.25rem;
  --collapse-icon-border: rgba(0, 0, 0, 0.3);
  --collapse-icon-border-hover: rgba(var(--primary), 0.8);
  --collapse-icon-width: 2.5rem;
  --collapse-icon-height: 1.8rem;
  --primary: 136, 106, 181;
  --secondary: 108, 117, 125;
  --success: 29, 201, 183;
  --warning: 255, 194, 65;
  --info: 33, 150, 243;
  --danger: 253, 57, 149;
  --fusion: 80, 80, 80;
  --disable: 173, 181, 189;
  --white: 255, 255, 255;
  --font-family: "Poppins", sans-serif;
  --direction: ltr;
  --transition: transform 470ms cubic-bezier(.34,1.25,.3,1);
  --z-index-master: 999;
  --z-index-slave: 1;
  --content-padding: 1.25rem;
  --menu-icon-size: 1.625rem;
  --settings-disabled: 0.3;
  --bs-body-color: #505050;
  --bs-body-font-size: 0.925rem;
  --bs-form-valid-border-color: #1dc9b7;
  --bs-form-invalid-border-color: #fd3995;
  --bs-form-valid-color: #1dc9b7;
  --bs-form-invalid-color: #fd3995;
  --input-placeholder-color: rgba(112, 112, 112, 0.5);
  --bs-secondary-color: rgba(70, 79, 87, 0.70);
  --scrollbar-width: 8px;
  --scrollbar-color: #f1f1f1;
  --scrollbar-thumb: #888;
  --scrollbar-thumb-hover: #555;
  --border-radius-uniform: 0.375rem;
  --border-radius-uniform-sm: 0.25rem;
  --border-radius-uniform-xs: 0.125rem;
}

.nav-pills {
  --bs-nav-pills-link-active-bg: #886ab5;
}

.progress,
.progress-stacked {
  --bs-progress-bar-bg: #886ab5;
}

.list-group {
  --bs-list-group-active-bg: #886ab5;
  --bs-list-group-active-border-color: #886ab5;
}

.form-check-input:checked {
  background-color: #886ab5;
  border-color: #886ab5;
}

.form-check-input[type=checkbox]:indeterminate {
  background-color: #886ab5;
  border-color: #886ab5;
}

.list-group-item.active {
  background-color: var(--app-nav-item-active-bg);
  color: var(--bs-body-color);
}

.list-group-item:hover {
  color: var(--app-nav-link-hover-color);
  background-color: var(--app-nav-item-hover-bg);
}

/* keyframes */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* fade in up */
@keyframes animateFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
/* mixins */
@keyframes rotating {
  0% {
    transform: rotate(0deg);
  }
  20% {
    transform: rotate(90deg);
    animation-timing-function: ease-in;
  }
  40% {
    transform: rotate(180deg);
    animation-timing-function: linear;
  }
  60% {
    transform: rotate(270deg);
    animation-timing-function: ease-out;
  }
  80% {
    transform: rotate(360deg);
    animation-timing-function: linear;
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes blob-anim-1 {
  0% {
    d: path("M 100 600 q 0 -700, 500 -500 t 500 500 t -500 500 T 100 600 z");
  }
  30% {
    d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
  }
  70% {
    d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
  100% {
    d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
  }
}
@keyframes blob-anim-2 {
  0% {
    d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
  40% {
    d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
  }
  80% {
    d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
  }
  100% {
    d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
}
@keyframes blob-anim-3 {
  0% {
    d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
  }
  35% {
    d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
  }
  75% {
    d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
  100% {
    d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
}
@keyframes blob-anim-4 {
  0% {
    d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
  }
  30% {
    d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
  }
  70% {
    d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
  }
  100% {
    d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes refresh {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}
@keyframes widthAnimation {
  0% {
    transform: translate3d(-90%, 0, 0);
  }
  10% {
    transform: translate3d(-90%, 0, 0);
  }
  20% {
    transform: translate3d(-90%, 0, 0);
  }
  30% {
    transform: translate3d(-90%, 0, 0);
  }
  40% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, 0, 0);
  }
  60% {
    transform: translate3d(0, 0, 0);
  }
  70% {
    transform: translate3d(-90%, 0, 0);
  }
  80% {
    transform: translate3d(-90%, 0, 0);
  }
  100% {
    transform: translate3d(-90%, 0, 0);
  }
}
@keyframes animateFadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes animateFadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes animateFadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes animateFadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
.fadeinup {
  animation: animateFadeInUp 0.5s;
  -webkit-animation: animateFadeInUp 0.5s;
}

.fadeindown {
  animation: animateFadeInDown 0.5s;
  -webkit-animation: animateFadeInDown 0.5s;
}

.fadeinleft {
  animation: animateFadeInLeft 0.5s;
  -webkit-animation: animateFadeInLeft 0.5s;
}

.fadeinright {
  animation: animateFadeInRight 0.5s;
  -webkit-animation: animateFadeInRight 0.5s;
}

/* 	CSS RESET 
	Documentation: This CSS sets the font size to 1rem on the HTML element, sets the 
	font family to the variable --font-family on the body element, removes text decoration, 
	color, and list style on any a, ol, or ul elements, sets the width of any images to 100% 
	and the height to auto, and sets the margin and padding to 0 on all elements, as well 
	as making all elements use the border-box box sizing.
*/
html,
body {
  height: 100%;
}

body {
  font-family: var(--font-family);
  --bs-body-font-size: 0.875rem;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

button:focus:not(.focus-ring),
input:focus:not(.focus-ring),
textarea:focus:not(.focus-ring),
select:focus:not(.focus-ring),
a:focus:not(.focus-ring) {
  box-shadow: none !important;
}

p {
  margin-bottom: 1.5rem;
}

.subheader-title {
  font-size: 1.75rem;
  font-weight: 500;
  color: var(--page-subheader-color, var(--bs-body-color));
  text-shadow: var(--page-subheader-text-shadow, #fff) 0 1px;
  margin: 0;
}
.subheader-title:not(:has(*)) {
  margin-bottom: 2rem;
}
.subheader-title small {
  color: var(--bs-body-color);
  display: block;
  margin: 0.25rem 0 2rem;
  line-height: 2;
  font-size: 1rem;
  font-weight: 300;
  align-items: center;
}
.subheader-title .badge-subheader {
  font-size: 0.325em;
  font-weight: 400;
  text-shadow: none;
  margin-left: 0.25rem;
  margin-top: 0.25rem;
}

/************************************************************* Rules BELOW this point are set globally*/
.app-debug-mode {
  position: relative;
}
.app-debug-mode .app-header::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  background: rgba(var(--primary), 0.7);
  z-index: 1;
  padding: 2px 4px;
  font-size: 0.5rem;
  color: #fff;
}

.content-wrapper > .app-breadcrumb + * {
  animation: animateFadeInUp 0.3s;
}

.main-content > * {
  animation: animateFadeInUp 0.7s;
}

.main-content > * + .row {
  animation: animateFadeInUp 1.4s;
}

/* hide right content */
body:not(.content-has-right) .content-wrapper-right {
  display: none;
}

/* app wrap */
.app-wrap {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--menu-width) auto;
  grid-template-rows: var(--app-header-height) auto;
  grid-template-areas: "header header" "sidebar main" "sidebar main";
  gap: 0;
  padding: 0;
  /* changes value on condition */
  padding-top: var(--app-header-fixed);
}

/* app header */
.app-header {
  /* grid area */
  grid-area: header;
  height: var(--app-header-height);
  padding: 0 2rem 0 0;
  border-bottom: 1px solid var(--app-layout-border-color);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  /* changes vale on condition */
  margin-left: var(--app-nav-full);
  background-color: var(--app-header-background, silver);
}
.app-header .app-logo {
  width: var(--menu-width);
  border-right: 1px solid var(--app-header-background);
  margin-right: 2rem;
  will-change: width;
  transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
  transform: translate3d(0, 0, 0);
}
.app-header .app-search .form-control {
  max-width: 21.875rem;
  height: 2.625rem;
  line-height: normal;
  border-radius: 4px;
  background: 0 0;
  border: 1px solid transparent;
  box-shadow: none;
  font-size: 0.9375rem;
  padding: 0.38rem;
  --bs-secondary-color: var(--input-placeholder-color);
  text-overflow: ellipsis;
}

/* app sidebar */
.app-sidebar {
  /* grid area */
  grid-area: sidebar;
  width: var(--menu-width);
  padding: 0;
  border-right: 1px solid var(--app-layout-border-color);
  overflow-x: hidden;
  z-index: 10;
  position: relative;
  background: var(--app-nav-background, silver);
  will-change: width;
  transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
  transform: translate3d(0, 0, 0);
}
.app-sidebar .app-logo {
  display: none;
}
.app-sidebar .app-menu-filter-container {
  width: var(--menu-width);
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

/* app body */
.app-body {
  grid-area: main;
  display: flex;
  flex-flow: column;
  direction: var(--direction);
  max-width: 100%;
  width: 100%;
  overflow-x: auto;
}

/* app nav */
.app-nav {
  overflow-x: auto;
  padding: var(--content-padding);
}

/* app content */
.app-content {
  flex: 1;
  background-color: var(--app-content-background, #fdfdfd);
  display: flex;
}
.app-content .content-wrapper {
  padding: 1.5rem 2rem;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  max-width: 100%;
  position: relative;
  overflow-x: hidden;
}
.app-content .content-wrapper .main-content {
  flex: 1 1 auto;
}
.app-content .content-wrapper-right {
  flex: 0 0 var(--right-content-width);
  border-left: 1px solid var(--app-layout-border-color);
}

/* app footer */
.app-footer,
.nav-footer {
  padding: 1rem 2rem;
  border-top: 1px solid var(--app-layout-border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.75rem;
}
.app-footer .app-footer-content,
.nav-footer .app-footer-content {
  display: flex;
  align-items: center;
  gap: 0.1875rem;
  font-weight: 900;
}
.app-footer .app-footer-content .logo,
.nav-footer .app-footer-content .logo {
  height: 1.25rem;
}

.hide-page-scrollbar {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 8px);
}

.app-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: var(--drawer-width);
  background: var(--app-drawer-background);
  border-left: 1px solid var(--app-layout-border-color);
  transform: translate3d(calc(var(--drawer-width)), 0, 0);
  transition: var(--transition);
  z-index: calc(var(--z-index-master) + 2);
  display: flex;
  flex-direction: column;
}
.app-drawer > * {
  padding: var(--content-padding);
}
.app-drawer > *:not(.app-drawer-header) {
  overflow-x: auto;
}
.app-drawer .app-drawer-header {
  height: var(--app-header-height);
  min-height: var(--app-header-height);
  display: flex;
  align-items: center;
  background-color: var(--app-header-background);
  border-bottom: 1px solid var(--app-layout-border-color);
}
.app-drawer.open {
  transform: translate3d(0, 0, 0);
}
.app-drawer.open + .backdrop:not([data-toggleclass=app-mobile-menu-open]) {
  display: block;
  opacity: 1;
}

/* app menu and drawer backdrop */
.backdrop {
  display: none;
  position: fixed;
  z-index: calc(var(--z-index-master) + 1);
  background: rgba(0, 0, 0, 0.3);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  animation: fadeIn 0.4s ease-in-out;
  transform: translate3d(0, 0, 0);
}

/* set header fixed: this is global as it transends all levels */
.set-header-fixed {
  /* 
  	CSS: incompatibility : .set-nav-full
  	CSS: needs dependency: .set-nav-fixed
  */
}
.set-header-fixed .app-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: var(--z-index-master);
}
.set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed) .app-header {
  position: fixed;
  left: var(--menu-width);
  right: 0;
  top: 0;
}
.set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed).set-nav-minified .app-header {
  left: var(--menu-width-minified);
  padding-left: 2rem;
}
.set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed).set-nav-minified .app-header .app-logo {
  display: none;
}
.set-header-fixed:not(.set-nav-fixed) [data-class^=set-nav-full] {
  opacity: var(--settings-disabled);
}
.set-header-fixed:not(.set-nav-fixed) [data-class^=set-nav-full] ~ label {
  opacity: var(--settings-disabled);
}

/************************************************************* Rules ABOVE this point are set globally*/
/**************************************** Rules BELOW this point are set for screen sizes above 992px */
/*	so we take the opportunity to set the responsive rules here as it will apply for larger screens 
    but will not apply for smaller less complex screens, if you want certain responsive rules to 
    transcent to smaller screens, you can set them above this point for (universal rules)
    or below this point for mobile only rules */
@media (min-width: 992px) {
  /* debug mode */
  .app-debug-mode .app-header::before {
    content: "XXL ";
  }
  /* large screens will hide */
  .hidden-lg {
    display: none !important;
  }
  /* set nav top */
  .set-nav-top {
    /* app wrap */
    /* app sidebar */
    /* app body */
    /* 
    	CSS: incompatibility : .set-nav-full .set-nav-collapsed
    	CSS: needs dependency: .set-nav-fixed
    */
    /* set nav full and collapsed */
    /* look for dependency */
  }
  .set-nav-top .app-wrap {
    grid-template-columns: auto auto;
    grid-template-rows: var(--app-header-height) var(--menu-top-height) auto;
    grid-template-areas: "header header " "sidebar sidebar" "main main";
  }
  .set-nav-top .app-sidebar {
    min-height: var(--menu-top-height);
    height: var(--menu-top-height);
    width: auto;
    border-right: 0;
    border-bottom: 2px dashed #333;
  }
  .set-nav-top .app-body {
    width: auto;
  }
  .set-nav-top [data-class^=set-nav-full],
  .set-nav-top [data-class^=set-nav-collapsed] {
    opacity: var(--settings-disabled);
    text-decoration: line-through;
  }
  .set-nav-top [data-class^=set-nav-full] ~ label,
  .set-nav-top [data-class^=set-nav-collapsed] ~ label {
    opacity: var(--settings-disabled);
    text-decoration: line-through;
  }
  .set-nav-top.set-nav-full [data-class^=set-nav-full],
  .set-nav-top.set-nav-full [data-class^=set-nav-collapsed], .set-nav-top.set-nav-collapsed [data-class^=set-nav-full],
  .set-nav-top.set-nav-collapsed [data-class^=set-nav-collapsed] {
    opacity: var(--settings-disabled);
    text-decoration: line-through;
  }
  .set-nav-top.set-nav-full [data-class^=set-nav-full] ~ label,
  .set-nav-top.set-nav-full [data-class^=set-nav-collapsed] ~ label, .set-nav-top.set-nav-collapsed [data-class^=set-nav-full] ~ label,
  .set-nav-top.set-nav-collapsed [data-class^=set-nav-collapsed] ~ label {
    opacity: var(--settings-disabled);
    text-decoration: line-through;
  }
  .set-nav-top:not(.set-header-fixed) [data-class^=set-nav-fixed] {
    opacity: var(--settings-disabled);
  }
  .set-nav-top:not(.set-header-fixed) [data-class^=set-nav-fixed] ~ label {
    opacity: var(--settings-disabled);
  }
  /* set nav minified and not collapsed */
  .set-nav-minified:not(.set-nav-collapsed) {
    /* check if appheader has a sibling app-sidebar that is hovered */
    /* app wrap */
    /* app header */
    /* app sidebar */
    /* change state of the collapse icon in the app-header */
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-header:has(+ .app-sidebar:hover) {
    /* control app logo width from a sub div on hover */
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-header:has(+ .app-sidebar:hover) .app-logo {
    width: calc(var(--menu-width));
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-wrap {
    grid-template-columns: var(--menu-width-minified) auto !important;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-header .app-logo {
    width: var(--menu-width-minified);
    overflow: hidden;
    margin-right: calc(2rem + 1px);
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) {
    width: var(--menu-width-minified);
    /* app menu filter container */
    /* when primary nav is collapsed, hide span */
    /* when nav is collapsed, hide primary nav ul ul */
    /* when nav is collapsed, hide collapse sign */
    /* when nav is collapsed, hide nav title to "..." */
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .app-menu-filter-container #searchInput {
    visibility: hidden;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .primary-nav ul li a span {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .primary-nav ul ul {
    display: none !important;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .collapse-sign {
    display: none;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title {
    visibility: hidden;
    position: relative;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title span {
    display: none;
  }
  .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title::before {
    content: "...";
    color: currentColor;
    font-size: inherit;
    visibility: visible;
    display: inline-block;
    bottom: 50%;
    inset-inline-start: 0;
    margin-inline-start: 0.225rem;
    transform: translateX(0%);
  }
  .set-nav-minified:not(.set-nav-collapsed) .collapse-icon svg {
    transform: scaleX(-1);
    margin-left: 0.75rem;
  }
  .set-nav-minified:not(.set-nav-collapsed) .collapse-icon::after {
    width: 0.5625rem;
  }
  .set-nav-minified:not(.set-nav-collapsed) .collapse-icon:hover svg {
    margin-left: 1.125rem;
  }
  .set-nav-minified:not(.set-nav-collapsed) .collapse-icon:hover::after {
    width: 0.875rem;
  }
  /* set nav fixed */
  .set-nav-fixed.set-nav-top.set-header-fixed .app-sidebar {
    position: fixed;
    top: var(--app-header-height);
    left: 0;
    right: 0;
    z-index: var(--z-index-master);
    overflow-y: auto;
    background-color: rgba(var(--danger), 0.9);
  }
  .set-nav-fixed:not(.set-nav-top).set-nav-full:not(.set-header-fixed) .app-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: var(--z-index-master);
  }
  .set-nav-fixed:not(.set-nav-top).set-header-fixed:not(.set-nav-full) .app-sidebar {
    position: fixed;
    top: var(--app-header-height);
    bottom: 0;
    z-index: var(--z-index-master);
    overflow-y: auto;
  }
  .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    z-index: var(--z-index-master);
  }
  .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-sidebar .app-logo {
    display: flex;
  }
  .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-header {
    padding-left: 2rem;
  }
  .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-header .app-logo {
    display: none;
  }
  /* set nav collapsed and set nav full but not set nav top */
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class=set-nav-minified],
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class^=set-nav-minify] {
    opacity: var(--settings-disabled);
  }
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class=set-nav-minified] ~ label,
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class^=set-nav-minify] ~ label {
    opacity: var(--settings-disabled);
  }
  .set-nav-collapsed.set-nav-full:not(.set-nav-top):not(.set-nav-top) .app-wrap {
    grid-template-columns: 0 auto;
  }
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar {
    transform: translate3d(calc(10px - var(--menu-width)), 0, 0);
    transition: var(--transition);
    z-index: var(--z-index-slave);
    position: relative;
    background-color: var(--app-nav-background);
    overflow-x: visible;
    /* adds an invisible buffer space for better usability*/
  }
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar:hover {
    transform: translate3d(0, 0, 0);
  }
  .set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar::after {
    content: "";
    position: absolute;
    display: block;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: -1.25rem;
    background: transparent;
    width: calc(var(--menu-width) + 2.5rem);
  }
  /* set nav full and not set nav top and not set header fixed */
  .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-wrap {
    grid-template-columns: var(--menu-width) auto;
    grid-template-rows: var(--app-header-height) auto;
    grid-template-areas: "sidebar header " "sidebar main" "sidebar main";
  }
  .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-sidebar .app-logo {
    display: flex;
    width: var(--menu-width);
  }
  .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-header {
    padding-left: 2rem;
  }
  .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-header .app-logo {
    display: none;
  }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width 1280px */
@media only screen and (max-width: 1280px) {
  /* debug mode */
  .app-debug-mode .app-header::before {
    content: "XL";
  }
  /* make things a little smaller to fit on the screen */
  html {
    font-size: 14px;
    --menu-width: 17rem;
  }
}
/********************************************* Rules BELOW this point are set all screens below 992px */
@media only screen and (max-width: 991.98px) {
  /* debug mode */
  .app-debug-mode {
    position: relative;
  }
  .app-debug-mode .app-header::before {
    content: "LG";
  }
  /* set all input to 16px to avoid mobile keyboard issues */
  input, textarea, select, .form-control {
    font-size: 1rem !important;
  }
  /* enforced layout changes on mobile */
  .position-on-mobile-absolute {
    position: absolute !important;
  }
  .position-on-mobile-absolute {
    position: absolute !important;
  }
  .position-on-mobile-relative {
    position: relative !important;
  }
  .position-on-mobile-static {
    position: static !important;
  }
  .height-mobile-auto {
    height: auto !important;
    min-height: auto !important;
    max-height: auto !important;
  }
  .width-mobile-auto {
    width: auto !important;
    min-width: auto !important;
    max-width: auto !important;
  }
  .expand-full-height-on-mobile {
    height: calc(100vh - var(--app-header-height)) !important;
  }
  .expand-full-width-on-mobile {
    width: 100vw !important;
    max-width: 100vw !important;
  }
  /* make things a little bigger for mobile */
  html {
    font-size: 17px;
    --menu-width: 18rem;
  }
  /* hide content scrollbar on mobile menu open */
  .app-mobile-menu-open {
    overflow: hidden;
  }
  /* set font size and menu width */
  body {
    --bs-body-font-size: 1rem;
    --mobile-page-padding: 1rem;
    --menu-width: 20rem;
  }
  /* small screens will hide this class */
  .hidden-sm {
    display: none !important;
  }
  /* app sidebar */
  .app-sidebar {
    background: var(--bs-body-bg);
  }
  /* app wrap */
  .app-wrap {
    grid-template-columns: 0 auto;
    grid-template-rows: var(--app-header-height) auto;
    grid-template-areas: "sidebar header " "sidebar main" "sidebar main";
  }
  /* app header */
  .app-header {
    padding: 0 var(--mobile-page-padding) !important;
    gap: 1rem;
    /* app logo */
    /* profile image */
  }
  .app-header .app-logo {
    display: none;
  }
  .app-header .btn-system .profile-image {
    width: 2.8rem;
    height: 2.8rem;
    max-width: 2.8rem;
    max-height: 2.8rem;
  }
  .app-header .btn-system .sa-icon {
    width: 1.8rem;
    height: 1.8rem;
    z-index: 1;
  }
  .app-header .btn-system::before {
    width: 3.5rem;
    height: 3.5rem;
    z-index: 0;
  }
  .app-header .btn-system:hover::before, .app-header .btn-system.show::before {
    background: rgba(var(--primary), 0.1);
  }
  .app-header > .flex-grow-1 {
    flex-grow: 0 !important;
  }
  /* app sidebar */
  .app-sidebar {
    transform: translate3d(calc(0px - var(--menu-width)), 0, 0);
    transition: var(--transition);
    z-index: calc(var(--z-index-master) + 1);
    top: 0;
    bottom: 0;
    position: fixed;
    overflow-y: auto;
    /* app logo */
    /* primary nav */
    /* primary nav title */
    /* search input */
  }
  .app-sidebar .app-logo {
    display: flex;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  }
  .app-sidebar .primary-nav ul li a {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1rem;
  }
  .app-sidebar .primary-nav .nav-title {
    font-size: 0.85rem;
  }
  .app-sidebar #searchInput {
    font-size: 1rem;
    line-height: 2.5rem;
  }
  /* app content */
  .app-content .content-wrapper {
    padding: var(--mobile-page-padding);
  }
  /* app footer */
  .app-footer,
  .nav-footer {
    padding: 1rem var(--mobile-page-padding);
  }
  /* app mobile menu open */
  .btn-system[data-bs-toggle=dropdown] + .dropdown-menu {
    right: var(--mobile-page-padding) !important;
  }
  /* app mobile menu backdrop */
  [data-toggleclass=app-mobile-menu-open].backdrop {
    z-index: var(--z-index-master);
  }
  /* app mobile menu open */
  .app-mobile-menu-open .app-sidebar {
    transform: translate3d(0, 0, 0);
  }
  .app-mobile-menu-open [data-toggleclass=app-mobile-menu-open].backdrop {
    display: block;
    opacity: 1;
  }
  /* set header fixed */
  .set-header-fixed .app-header {
    left: 0 !important;
  }
  /* panel header */
  .panel-hdr h2 {
    font-size: 1rem !important;
  }
  /* panel icon */
  .panel.panel-icon .panel-toolbar [data-action*=panel-]:not(.dropdown-item) .sa-icon {
    width: 1.8rem !important;
    height: 1.8rem !important;
  }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width TABLET */
@media only screen and (max-width: 768px) {
  /* debug mode */
  .app-debug-mode .app-header::before {
    content: "MD";
  }
  /* hide content on tablet */
  .hidden-tablet {
    display: none !important;
  }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width MOBILE */
@media only screen and (max-width: 576px) {
  /* debug mode */
  .app-debug-mode .app-header::before {
    content: "SM";
  }
  /* hide content on mobile */
  .hidden-mobile {
    display: none !important;
  }
  /* make things a little bigger for mobile : aiming for minimum 41px for clickable area */
  html {
    font-size: 16px;
    --menu-width: 18rem;
  }
  /* adataptive vars*/
  :root {
    --scrollbar-width: 0px;
  }
  /* app header */
  /* app header : focus change header icon visibility*/
  .app-header > :first-child ~ *:not(.dropdown-menu) {
    scale: 1;
    opacity: 1;
    transition: all 0.3s ease-in-out;
  }
  .app-header:has(.app-search > input:focus) {
    overflow-x: hidden;
  }
  .app-header:has(.app-search > input:focus) .app-search {
    position: absolute;
    left: calc(var(--mobile-page-padding) + 4rem + 0.5rem);
    right: var(--mobile-page-padding);
  }
  .app-header:has(.app-search > input:focus) .app-search .form-control {
    max-width: unset;
  }
  .app-header:has(.app-search > input:focus) > :first-child ~ *:not(.dropdown-menu) {
    scale: 0;
    opacity: 0;
  }
  /* app content */
  .app-content .breadcrumb {
    /* breadcrumb item math: total minimum screen width is 320px */
  }
  .app-content .breadcrumb .breadcrumb-item {
    max-width: 100px !important;
  }
  .app-content .breadcrumb .breadcrumb-item.active {
    max-width: 130px !important;
  }
}
.app-logo {
  padding: 0 1.5rem;
  position: relative;
  height: var(--app-header-height);
  width: var(--menu-width);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}
.app-logo > img,
.app-logo > svg {
  z-index: 2;
  width: var(--logo-width);
  height: var(--logo-height);
  min-width: var(--logo-width);
}
.app-logo > svg {
  fill: none;
  color: currentColor;
  stroke-width: 1px !important;
  --logo-color: rgba(var(--primary), 0.8);
  --logo-color-fill: rgba(var(--white), 0.01);
}
.app-logo::before {
  content: attr(data-prefix);
  position: absolute;
  display: block;
  background: #fafafa;
  padding: 0.0625rem 0.25rem;
  border-radius: 0.3125rem;
  left: 13.4375rem;
  font-size: 0.6rem;
  top: 50%;
  transform: translate(0, -50%);
  line-height: 1.08375rem;
}

.app-logo:hover > .logo-backdrop {
  height: 4.375rem;
  top: 0.625rem;
  left: 0.1875rem;
  opacity: 0.4;
  transition: all 150ms cubic-bezier(0.34, 1.25, 0.3, 1);
}

.app-logo:active > .logo-backdrop {
  height: 5rem;
  top: 0.3125rem;
  left: -0.125rem;
  opacity: 0.2;
  transition: all 550ms cubic-bezier(0.34, 5.25, 0.3, 1);
}

.logo-backdrop {
  --bg-0: var(--bs-body-bg);
  --bg-1: var(--bs-body-bg);
  --blob-1: var(--primary-500);
  --blob-2: var(--primary-200);
  --blob-3: var(--bs-body-bg);
  --blob-4: var(--bs-body-bg);
  width: 3.75rem;
  height: 3.5rem;
  position: absolute;
  opacity: 0.6;
  top: 1.0625rem;
  left: 0.625rem;
  transition: all 750ms cubic-bezier(0.34, 1.25, 0.3, 1);
  z-index: 1;
}

.palette-5 {
  --bg-0: #ffffff;
  --bg-1: #d3f7ff;
  --blob-1: #bb74ff;
  --blob-2: #7c7dff;
  --blob-3: #a0f8ff;
  --blob-4: #ffffff;
}

.blobs {
  width: min(60vw, 60vh);
  height: min(60vw, 60vh);
  max-height: 100%;
  max-width: 100%;
}
.blobs svg {
  position: relative;
  height: 100%;
  z-index: 2;
}
.blobs .blob {
  animation: rotate 25s infinite alternate ease-in-out;
  transform-origin: 50% 50%;
  opacity: 0.7;
}
.blobs .blob path {
  animation: blob-anim-1 5s infinite alternate cubic-bezier(0.45, 0.2, 0.55, 0.8);
  transform-origin: 50% 50%;
  transform: scale(0.8);
  transition: fill 800ms ease;
}
.blobs .blob.alt {
  animation-direction: alternate-reverse;
  opacity: 0.3;
}
.blobs .blob-1 path {
  fill: var(--blob-1);
  filter: blur(1rem);
}
.blobs .blob-2 {
  animation-duration: 18s;
  animation-direction: alternate-reverse;
}
.blobs .blob-2 path {
  fill: var(--blob-2);
  animation-name: blob-anim-2;
  animation-duration: 7s;
  filter: blur(0.75rem);
  transform: scale(0.78);
}
.blobs .blob-2.alt {
  animation-direction: alternate;
}
.blobs .blob-3 {
  animation-duration: 23s;
}
.blobs .blob-3 path {
  fill: var(--blob-3);
  animation-name: blob-anim-3;
  animation-duration: 6s;
  filter: blur(0.5rem);
  transform: scale(0.76);
}
.blobs .blob-4 {
  animation-duration: 31s;
  animation-direction: alternate-reverse;
  opacity: 0.9;
}
.blobs .blob-4 path {
  fill: var(--blob-4);
  animation-name: blob-anim-4;
  animation-duration: 10s;
  filter: blur(10rem);
  transform: scale(0.5);
}
.blobs .blob-4.alt {
  animation-direction: alternate;
  opacity: 0.8;
}

/* Navigation styles */
.primary-nav {
  padding: 0.5rem 1.5rem;
  width: var(--menu-width);
  /* Badges inside primary nav */
  /* Navigation title */
}
.primary-nav .badge {
  --bs-badge-font-size: 0.55rem;
  font-weight: 600;
  margin-left: -0.25rem;
  border-radius: 3px;
  height: 1rem;
  align-self: center !important;
}
.primary-nav .badge.badge-end {
  margin-left: auto !important;
  margin-right: 1.5rem !important;
}
.primary-nav .nav-title {
  text-transform: uppercase;
  margin: 0;
  color: var(--app-nav-title-color);
  padding: 1rem 0;
  margin-top: 0.5rem;
  font-size: 0.7rem;
  letter-spacing: 1px;
  font-weight: 600;
}
.primary-nav .nav-title:first-of-type {
  margin-top: 0rem;
}
.primary-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  position: relative;
  flex-direction: column;
  gap: 0.125rem;
}
.primary-nav ul ul::before {
  content: "";
  position: absolute;
  border-left: 1px dashed var(--app-nav-border-color);
  display: block;
  top: 0;
  bottom: 0;
  left: 0.55rem;
  z-index: 1;
}
.primary-nav ul ul > li > ul::before {
  content: "";
  left: 2.1rem;
}
.primary-nav ul ul li a {
  line-height: 1.5rem;
  padding-left: calc(1.9rem + 2px);
  border-radius: 0.625rem;
  font-size: 0.85rem;
  font-weight: 400;
}
.primary-nav ul ul li a:only-child:not(.nav-more-link):hover {
  background-color: var(--app-nav-item-hover-bg);
}
.primary-nav ul ul li.active > a {
  color: var(--app-nav-link-color);
}
.primary-nav ul ul li.active > a .badge {
  margin-left: 0.75rem;
}
.primary-nav ul ul li.active:not(.open):not(.has-ul) a:only-child {
  color: var(--app-nav-link-active-color);
  background-color: var(--app-nav-item-active-bg);
}
.primary-nav ul ul li.active:not(.open):not(.has-ul)::before {
  content: "";
  border-radius: 100%;
  width: 0.4375rem;
  height: 0.4375rem;
  background: var(--app-nav-item-active-indicator);
  position: absolute;
  left: 0.375rem;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
}
.primary-nav ul ul ul::before {
  left: 1rem;
}
.primary-nav ul li {
  position: relative;
}
.primary-nav ul li.active:not(.open).has-ul > a .nav-link-text {
  position: relative;
}
.primary-nav ul li.active:not(.open).has-ul > a .nav-link-text::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--danger-500);
  position: absolute;
  border-radius: 100%;
  right: -1rem;
  top: 50%;
  transform: translate(0, -50%);
}
.primary-nav ul li.active > a:only-child .nav-link-text {
  position: relative;
}
.primary-nav ul li.active > a:only-child .nav-link-text::before {
  content: "";
  width: 5px;
  height: 5px;
  background: var(--app-nav-active-indicator, var(--danger-500));
  position: absolute;
  border-radius: 100%;
  right: -1rem;
  top: 50%;
  transform: translate(0, -50%);
}
.primary-nav ul li.active:not(.open):not(.has-ul) a:only-child {
  color: var(--app-nav-link-active-color);
}
.primary-nav ul li:last-child {
  border-bottom: none;
}
.primary-nav ul li a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  line-height: 2;
  color: var(--app-nav-link-color);
  font-size: 0.875rem;
  position: relative;
  text-decoration: none;
  width: 100%;
  font-weight: var(--app-nav-parent-fw, 600);
}
.primary-nav ul li a .sa-icon {
  width: var(--app-nav-svgicon-size);
  height: var(--app-nav-svgicon-size);
}
.primary-nav ul li a:hover {
  color: var(--app-nav-link-hover-color);
}
.primary-nav ul li a:hover .sa-icon {
  fill: var(--app-nav-item-hover-bg);
  stroke: var(--app-nav-link-hover-color);
}
.primary-nav ul li a > i {
  font-size: 1rem;
  width: 1.5rem;
}
.primary-nav ul li a > i::after {
  color: rgba(var(--info), 0.9);
}
.primary-nav ul li a > i::before {
  color: rgba(var(--primary), 0.9);
}

/* Nested submenu styles */
.primary-nav ul > li > ul {
  padding-left: 0;
  gap: 0.25rem;
}
.primary-nav ul > li > ul ul {
  padding-left: 1.55rem;
}
.primary-nav ul > li > ul ul li a {
  padding-left: 1.4rem;
  border-radius: 0.625rem;
  transition: none;
  line-height: 1.5rem;
  font-weight: 400;
}
.primary-nav ul > li > ul ul li a:not(.nav-more-link):hover {
  background-color: var(--app-nav-item-hover-bg);
}
.primary-nav ul > li > ul ul li.active:not(.open) > a {
  background-color: var(--app-nav-item-active-bg);
  color: var(--app-nav-link-active-color);
}

/* Collapse/Expand sign styles */
.collapse-sign {
  position: absolute;
  right: 0.3125rem;
  font-family: monospace;
  color: var(--app-nav-collapse-sign-color);
  font-size: 1rem;
  top: 50%;
  transform: translate(0, -50%);
  font-weight: normal;
}
.collapse-sign::before {
  flex-shrink: 0;
  width: var(--bs-accordion-btn-icon-width);
  height: var(--bs-accordion-btn-icon-width);
  margin-left: auto;
  content: "";
  background-image: var(--bs-accordion-btn-icon);
  background-repeat: no-repeat;
  background-size: var(--bs-accordion-btn-icon-width);
  transition: var(--bs-accordion-btn-icon-transition);
}

/* List Filter Styles */
.nav-hidden {
  display: none !important;
}

.nav-hidden-container {
  transition: height 0.2s ease-in-out;
  flex-direction: column;
  gap: 0.25rem;
}

.nav-show-more {
  padding: 2px 0;
}
.nav-show-more .nav-more-link {
  color: rgba(var(--bs-body-color-rgb), 0.85);
  font-size: 0.9em;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-weight: 400;
  opacity: 0.6;
}
.nav-show-more .nav-more-link > a:hover {
  background-color: none !important;
}
.nav-show-more .nav-more-link:hover {
  color: var(--app-nav-link-hover-color) !important;
  opacity: 0.9;
}
.nav-show-more .nav-more-link.showing-more {
  color: var(--bs-body-color);
  opacity: 0.7;
}
.nav-show-more .nav-more-link.showing-more:hover {
  opacity: 0.9;
}
.nav-show-more .nav-more-link .collapse-sign {
  right: 0.3125rem;
}

.nav-footer {
  padding-left: calc(1.5rem + 2px);
  padding-right: calc(1.5rem + 2px);
}

.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::before, .set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--primary-500);
  z-index: 10;
}
.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::before {
  top: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.03) 100%);
}
.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::after {
  bottom: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0) 100%);
}
.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .nav-footer {
  border-top: 0;
}

.info-card {
  position: relative;
  width: 100%;
  height: 9.53rem;
  color: #fff;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 2rem;
  transition: all 0.7s cubic-bezier(0.34, 1.25, 0.3, 1);
}

.info-card img.cover {
  opacity: 0.5;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  height: auto;
}

.info-card .profile-image {
  width: 3.125rem;
  height: auto;
  display: inline-block;
  z-index: 2;
  position: relative;
}

.info-card .info-card-text {
  margin-left: 1rem;
  color: inherit;
  text-shadow: #000 0 1px;
  z-index: 1;
  position: relative;
  line-height: normal;
}

.info-card .info-card-text > span {
  font-weight: 300;
}

@media (min-width: 1399px) {
  .info-card:hover {
    transition: all 0.1s ease-in-out;
    will-change: opacity;
  }
  .info-card:hover img.cover {
    opacity: 0.7;
    backface-visibility: hidden;
  }
}
.info-card-text {
  font-size: 0.875rem;
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  line-height: 1.35;
}

.info-card-text > span {
  font-size: 0.875rem;
  display: block;
  font-weight: 300;
}

.primary-nav .js-filter-hide {
  display: none !important;
}
.primary-nav .js-filter-show {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding-bottom: 0;
}
.primary-nav .js-list-active ul {
  padding-left: 1rem !important;
  display: flex !important;
  flex-direction: column;
}
.primary-nav .js-list-active ul .nav-hidden-container {
  display: flex !important;
  height: unset !important;
  flex-direction: column;
}
.primary-nav .js-list-active ul .nav-show-more {
  display: none !important;
}
.primary-nav .js-list-active ul ul {
  padding-left: 1rem !important;
  display: flex !important;
  height: unset !important;
}
.primary-nav .js-list-active ul::before {
  content: none !important;
}
.primary-nav .js-list-active li.active:not(open)::before {
  content: none !important;
}
.primary-nav .js-list-active a {
  padding-left: 0.625rem;
}
.primary-nav .js-list-active a i,
.primary-nav .js-list-active a svg {
  display: none;
}
.primary-nav .js-list-active .nav-item a {
  padding-left: 0.625rem;
}
.primary-nav .js-list-active .nav-item a i,
.primary-nav .js-list-active .nav-item a svg {
  display: none;
}
.primary-nav .js-list-active .collapse-sign {
  display: none;
}
.primary-nav .js-list-active .nav-title {
  color: var(--bs-link-color);
  font-weight: 600;
}

.nav-filter-msg {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 2rem;
  color: var(--bs-white) !important;
}
.nav-filter-msg:hover {
  background: var(--bs-danger) !important;
}
.nav-filter-msg:hover i {
  width: 0.84375rem;
}

#searchInput {
  border-style: dashed;
  font-size: 0.875rem;
  line-height: 1.5rem;
  position: relative;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.07);
  --bs-secondary-color: var(--input-placeholder-color);
}
#searchInput:focus {
  background-color: rgba(var(--bs-primary-rgb), 0.03);
}

#js-nav-menu:has(li:not(.js-filter-hide)) + .no-results-msg {
  display: none;
}

.set-nav-dark:not([data-bs-theme=dark]) {
  --app-nav-bg: var(--primary-900);
  --app-nav-active-indicator: var(--warning-500);
  --app-nav-collapse-sign-color: rgba(255, 255, 255, 0.5);
  --app-nav-item-active-indicator: rgba(255, 255, 255, 0.5);
  --app-nav-background: var(--app-nav-bg);
  --app-content-background: rgba(var(--bs-primary-rgb), 0.04);
  --app-nav-parent-fw: 500;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar {
  --app-nav-item-hover-bg: rgba(245, 245, 245, 0.045);
  --app-nav-item-active-bg: rgba(255, 255, 255, 0.09);
  --app-nav-link-active-color: rgba(255, 255, 255, 1);
  --app-nav-border-color: rgba(255, 255, 255, 0.2);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo {
  --app-header-background: var(--app-nav-bg);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo .custom-logo,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo .custom-logo {
  --logo-color: rgba(var(--white), 1);
  --logo-color-fill: none;
  color: #fff;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo .logo-backdrop,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo .logo-backdrop {
  --bg-0: var(--app-nav-bg);
  --bg-1: var(--app-nav-bg);
  --blob-1: var(--info-500);
  --blob-2: #f882e6;
  --blob-3: var(--app-nav-bg);
  --blob-4: var(--app-nav-bg);
  opacity: 0.7;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo::before,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo::before {
  background: #2b3362;
  color: #fff;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo {
  background-image: linear-gradient(270deg, rgba(var(--bs-info-rgb), 0.18), transparent);
  background-color: var(--app-nav-bg);
  background-repeat: repeat-y;
  background-size: auto;
  background-position: left top;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar {
  background-image: linear-gradient(270deg, rgba(var(--bs-info-rgb), 0.18), transparent);
  background-color: var(--app-nav-bg);
  background-repeat: repeat-y;
  background-size: auto;
  background-position: left top;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar #searchInput {
  background-color: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.9);
  border-color: rgba(255, 255, 255, 0.3);
  --bs-secondary-color: rgb(255 255 255 / 40%);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar #searchInput:focus {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.5);
  outline: 4px solid rgba(255, 255, 255, 0.1);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .info-container {
  --bs-info-border-color: rgba(255, 255, 255, 0.3);
  --bs-info-bg: rgba(255, 255, 255, 0.05);
  --bs-info-color: rgba(255, 255, 255, 0.9);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-title {
  color: rgba(255, 255, 255, 0.6);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a {
  color: rgba(255, 255, 255, 0.6);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a .sa-icon {
  fill: rgba(255, 255, 255, 0.2);
  stroke: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a:hover {
  color: rgba(255, 255, 255, 0.9);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a:hover .sa-icon {
  fill: rgba(255, 255, 255, 0.3);
  stroke: rgb(229, 232, 252);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav li.active.has-ul:not(.open) > a {
  color: rgba(255, 255, 255, 0.9);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link.showing-more,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link {
  color: rgba(255, 255, 255, 0.65);
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link.showing-more:hover,
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link:hover {
  color: rgba(255, 255, 255, 0.9) !important;
}
.set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .slimScrollBar {
  --scrollbar-color: rgba(255, 255, 255, 0.8);
  --scrollbar-hover-color: rgba(255, 255, 255, 1);
}

.js-filter-hide {
  display: none;
}

.js-filter-show {
  display: block;
}

.suggestions-container {
  font-size: 0.9rem;
  color: #666;
}

.suggest-title {
  color: #999;
  margin-right: 0.5rem;
}

.suggestion {
  color: rgba(var(--bs-link-color-rgb));
  cursor: pointer;
  border-radius: 3px;
  transition: background-color 0.2s;
}

.suggestion:hover {
  background-color: rgba(33, 150, 243, 0.1);
  color: rgba(var(--bs-link-hover-color-rgb));
}

.did-you-mean {
  font-size: 0.9rem;
  color: #666;
  margin-top: 0.25rem;
}
.did-you-mean a {
  color: #2196F3;
  text-decoration: none;
}
.did-you-mean a:hover {
  text-decoration: underline;
}

.bg-primary-50 {
  background-color: var(--primary-50) !important;
  color: #212121 !important;
}

.bg-primary-100 {
  background-color: var(--primary-100) !important;
  color: #212121 !important;
}

.bg-primary-150 {
  background-color: var(--primary-150) !important;
  color: #212121 !important;
}

.bg-primary-200 {
  background-color: var(--primary-200) !important;
  color: #212121 !important;
}

.bg-primary-250 {
  background-color: var(--primary-250) !important;
  color: #212121 !important;
}

.bg-primary-300 {
  background-color: var(--primary-300) !important;
  color: #212121 !important;
}

.bg-primary-350 {
  background-color: var(--primary-350) !important;
  color: #212121 !important;
}

.bg-primary-400 {
  background-color: var(--primary-400) !important;
  color: white !important;
}

.bg-primary-450 {
  background-color: var(--primary-450) !important;
  color: white !important;
}

.bg-primary-500 {
  background-color: var(--primary-500) !important;
  color: white !important;
}

.bg-primary-550 {
  background-color: var(--primary-550) !important;
  color: white !important;
}

.bg-primary-600 {
  background-color: var(--primary-600) !important;
  color: white !important;
}

.bg-primary-650 {
  background-color: var(--primary-650) !important;
  color: white !important;
}

.bg-primary-700 {
  background-color: var(--primary-700) !important;
  color: white !important;
}

.bg-primary-750 {
  background-color: var(--primary-750) !important;
  color: white !important;
}

.bg-primary-800 {
  background-color: var(--primary-800) !important;
  color: white !important;
}

.bg-primary-850 {
  background-color: var(--primary-850) !important;
  color: white !important;
}

.bg-primary-900 {
  background-color: var(--primary-900) !important;
  color: white !important;
}

.bg-success-50 {
  background-color: var(--success-50) !important;
  color: #212121 !important;
}

.bg-success-100 {
  background-color: var(--success-100) !important;
  color: #212121 !important;
}

.bg-success-150 {
  background-color: var(--success-150) !important;
  color: #212121 !important;
}

.bg-success-200 {
  background-color: var(--success-200) !important;
  color: #212121 !important;
}

.bg-success-250 {
  background-color: var(--success-250) !important;
  color: #212121 !important;
}

.bg-success-300 {
  background-color: var(--success-300) !important;
  color: #212121 !important;
}

.bg-success-350 {
  background-color: var(--success-350) !important;
  color: #212121 !important;
}

.bg-success-400 {
  background-color: var(--success-400) !important;
  color: #212121 !important;
}

.bg-success-450 {
  background-color: var(--success-450) !important;
  color: #212121 !important;
}

.bg-success-500 {
  background-color: var(--success-500) !important;
  color: white !important;
}

.bg-success-550 {
  background-color: var(--success-550) !important;
  color: white !important;
}

.bg-success-600 {
  background-color: var(--success-600) !important;
  color: white !important;
}

.bg-success-650 {
  background-color: var(--success-650) !important;
  color: white !important;
}

.bg-success-700 {
  background-color: var(--success-700) !important;
  color: white !important;
}

.bg-success-750 {
  background-color: var(--success-750) !important;
  color: white !important;
}

.bg-success-800 {
  background-color: var(--success-800) !important;
  color: white !important;
}

.bg-success-850 {
  background-color: var(--success-850) !important;
  color: white !important;
}

.bg-success-900 {
  background-color: var(--success-900) !important;
  color: white !important;
}

.bg-info-50 {
  background-color: var(--info-50) !important;
  color: #212121 !important;
}

.bg-info-100 {
  background-color: var(--info-100) !important;
  color: #212121 !important;
}

.bg-info-150 {
  background-color: var(--info-150) !important;
  color: #212121 !important;
}

.bg-info-200 {
  background-color: var(--info-200) !important;
  color: #212121 !important;
}

.bg-info-250 {
  background-color: var(--info-250) !important;
  color: #212121 !important;
}

.bg-info-300 {
  background-color: var(--info-300) !important;
  color: #212121 !important;
}

.bg-info-350 {
  background-color: var(--info-350) !important;
  color: #212121 !important;
}

.bg-info-400 {
  background-color: var(--info-400) !important;
  color: white !important;
}

.bg-info-450 {
  background-color: var(--info-450) !important;
  color: white !important;
}

.bg-info-500 {
  background-color: var(--info-500) !important;
  color: white !important;
}

.bg-info-550 {
  background-color: var(--info-550) !important;
  color: white !important;
}

.bg-info-600 {
  background-color: var(--info-600) !important;
  color: white !important;
}

.bg-info-650 {
  background-color: var(--info-650) !important;
  color: white !important;
}

.bg-info-700 {
  background-color: var(--info-700) !important;
  color: white !important;
}

.bg-info-750 {
  background-color: var(--info-750) !important;
  color: white !important;
}

.bg-info-800 {
  background-color: var(--info-800) !important;
  color: white !important;
}

.bg-info-850 {
  background-color: var(--info-850) !important;
  color: white !important;
}

.bg-info-900 {
  background-color: var(--info-900) !important;
  color: white !important;
}

.bg-warning-50 {
  background-color: var(--warning-50) !important;
  color: #212121 !important;
}

.bg-warning-100 {
  background-color: var(--warning-100) !important;
  color: #212121 !important;
}

.bg-warning-150 {
  background-color: var(--warning-150) !important;
  color: #212121 !important;
}

.bg-warning-200 {
  background-color: var(--warning-200) !important;
  color: #212121 !important;
}

.bg-warning-250 {
  background-color: var(--warning-250) !important;
  color: #212121 !important;
}

.bg-warning-300 {
  background-color: var(--warning-300) !important;
  color: #212121 !important;
}

.bg-warning-350 {
  background-color: var(--warning-350) !important;
  color: #212121 !important;
}

.bg-warning-400 {
  background-color: var(--warning-400) !important;
  color: #212121 !important;
}

.bg-warning-450 {
  background-color: var(--warning-450) !important;
  color: #212121 !important;
}

.bg-warning-500 {
  background-color: var(--warning-500) !important;
  color: #212121 !important;
}

.bg-warning-550 {
  background-color: var(--warning-550) !important;
  color: white !important;
}

.bg-warning-600 {
  background-color: var(--warning-600) !important;
  color: white !important;
}

.bg-warning-650 {
  background-color: var(--warning-650) !important;
  color: white !important;
}

.bg-warning-700 {
  background-color: var(--warning-700) !important;
  color: white !important;
}

.bg-warning-750 {
  background-color: var(--warning-750) !important;
  color: white !important;
}

.bg-warning-800 {
  background-color: var(--warning-800) !important;
  color: white !important;
}

.bg-warning-850 {
  background-color: var(--warning-850) !important;
  color: white !important;
}

.bg-warning-900 {
  background-color: var(--warning-900) !important;
  color: white !important;
}

.bg-danger-50 {
  background-color: var(--danger-50) !important;
  color: #212121 !important;
}

.bg-danger-100 {
  background-color: var(--danger-100) !important;
  color: #212121 !important;
}

.bg-danger-150 {
  background-color: var(--danger-150) !important;
  color: #212121 !important;
}

.bg-danger-200 {
  background-color: var(--danger-200) !important;
  color: #212121 !important;
}

.bg-danger-250 {
  background-color: var(--danger-250) !important;
  color: #212121 !important;
}

.bg-danger-300 {
  background-color: var(--danger-300) !important;
  color: #212121 !important;
}

.bg-danger-350 {
  background-color: var(--danger-350) !important;
  color: #212121 !important;
}

.bg-danger-400 {
  background-color: var(--danger-400) !important;
  color: white !important;
}

.bg-danger-450 {
  background-color: var(--danger-450) !important;
  color: white !important;
}

.bg-danger-500 {
  background-color: var(--danger-500) !important;
  color: white !important;
}

.bg-danger-550 {
  background-color: var(--danger-550) !important;
  color: white !important;
}

.bg-danger-600 {
  background-color: var(--danger-600) !important;
  color: white !important;
}

.bg-danger-650 {
  background-color: var(--danger-650) !important;
  color: white !important;
}

.bg-danger-700 {
  background-color: var(--danger-700) !important;
  color: white !important;
}

.bg-danger-750 {
  background-color: var(--danger-750) !important;
  color: white !important;
}

.bg-danger-800 {
  background-color: var(--danger-800) !important;
  color: white !important;
}

.bg-danger-850 {
  background-color: var(--danger-850) !important;
  color: white !important;
}

.bg-danger-900 {
  background-color: var(--danger-900) !important;
  color: white !important;
}

.bg-fusion-50 {
  background-color: var(--fusion-50) !important;
  color: #212121 !important;
}

.bg-fusion-100 {
  background-color: var(--fusion-100) !important;
  color: #212121 !important;
}

.bg-fusion-150 {
  background-color: var(--fusion-150) !important;
  color: #212121 !important;
}

.bg-fusion-200 {
  background-color: var(--fusion-200) !important;
  color: #212121 !important;
}

.bg-fusion-250 {
  background-color: var(--fusion-250) !important;
  color: #212121 !important;
}

.bg-fusion-300 {
  background-color: var(--fusion-300) !important;
  color: white !important;
}

.bg-fusion-350 {
  background-color: var(--fusion-350) !important;
  color: white !important;
}

.bg-fusion-400 {
  background-color: var(--fusion-400) !important;
  color: white !important;
}

.bg-fusion-450 {
  background-color: var(--fusion-450) !important;
  color: white !important;
}

.bg-fusion-500 {
  background-color: var(--fusion-500) !important;
  color: white !important;
}

.bg-fusion-550 {
  background-color: var(--fusion-550) !important;
  color: white !important;
}

.bg-fusion-600 {
  background-color: var(--fusion-600) !important;
  color: white !important;
}

.bg-fusion-650 {
  background-color: var(--fusion-650) !important;
  color: white !important;
}

.bg-fusion-700 {
  background-color: var(--fusion-700) !important;
  color: white !important;
}

.bg-fusion-750 {
  background-color: var(--fusion-750) !important;
  color: white !important;
}

.bg-fusion-800 {
  background-color: var(--fusion-800) !important;
  color: white !important;
}

.bg-fusion-850 {
  background-color: var(--fusion-850) !important;
  color: white !important;
}

.bg-fusion-900 {
  background-color: var(--fusion-900) !important;
  color: white !important;
}

.bg-dark-50 {
  background-color: var(--dark-50) !important;
  color: #212121 !important;
}

.bg-dark-100 {
  background-color: var(--dark-100) !important;
  color: #212121 !important;
}

.bg-dark-150 {
  background-color: var(--dark-150) !important;
  color: white !important;
}

.bg-dark-200 {
  background-color: var(--dark-200) !important;
  color: white !important;
}

.bg-dark-250 {
  background-color: var(--dark-250) !important;
  color: white !important;
}

.bg-dark-300 {
  background-color: var(--dark-300) !important;
  color: white !important;
}

.bg-dark-350 {
  background-color: var(--dark-350) !important;
  color: white !important;
}

.bg-dark-400 {
  background-color: var(--dark-400) !important;
  color: white !important;
}

.bg-dark-450 {
  background-color: var(--dark-450) !important;
  color: white !important;
}

.bg-dark-500 {
  background-color: var(--dark-500) !important;
  color: white !important;
}

.bg-dark-550 {
  background-color: var(--dark-550) !important;
  color: white !important;
}

.bg-dark-600 {
  background-color: var(--dark-600) !important;
  color: white !important;
}

.bg-dark-650 {
  background-color: var(--dark-650) !important;
  color: white !important;
}

.bg-dark-700 {
  background-color: var(--dark-700) !important;
  color: white !important;
}

.bg-dark-750 {
  background-color: var(--dark-750) !important;
  color: white !important;
}

.bg-dark-800 {
  background-color: var(--dark-800) !important;
  color: white !important;
}

.bg-dark-850 {
  background-color: var(--dark-850) !important;
  color: white !important;
}

.bg-dark-900 {
  background-color: var(--dark-900) !important;
  color: white !important;
}

.bg-light-50 {
  background-color: var(--light-50) !important;
  color: #212121 !important;
}

.bg-light-100 {
  background-color: var(--light-100) !important;
  color: #212121 !important;
}

.bg-light-150 {
  background-color: var(--light-150) !important;
  color: #212121 !important;
}

.bg-light-200 {
  background-color: var(--light-200) !important;
  color: #212121 !important;
}

.bg-light-250 {
  background-color: var(--light-250) !important;
  color: #212121 !important;
}

.bg-light-300 {
  background-color: var(--light-300) !important;
  color: #212121 !important;
}

.bg-light-350 {
  background-color: var(--light-350) !important;
  color: #212121 !important;
}

.bg-light-400 {
  background-color: var(--light-400) !important;
  color: #212121 !important;
}

.bg-light-450 {
  background-color: var(--light-450) !important;
  color: #212121 !important;
}

.bg-light-500 {
  background-color: var(--light-500) !important;
  color: #212121 !important;
}

.bg-light-550 {
  background-color: var(--light-550) !important;
  color: #212121 !important;
}

.bg-light-600 {
  background-color: var(--light-600) !important;
  color: #212121 !important;
}

.bg-light-650 {
  background-color: var(--light-650) !important;
  color: white !important;
}

.bg-light-700 {
  background-color: var(--light-700) !important;
  color: white !important;
}

.bg-light-750 {
  background-color: var(--light-750) !important;
  color: white !important;
}

.bg-light-800 {
  background-color: var(--light-800) !important;
  color: white !important;
}

.bg-light-850 {
  background-color: var(--light-850) !important;
  color: white !important;
}

.bg-light-900 {
  background-color: var(--light-900) !important;
  color: white !important;
}

.bg-secondary-50 {
  background-color: var(--secondary-50) !important;
  color: #212121 !important;
}

.bg-secondary-100 {
  background-color: var(--secondary-100) !important;
  color: #212121 !important;
}

.bg-secondary-150 {
  background-color: var(--secondary-150) !important;
  color: #212121 !important;
}

.bg-secondary-200 {
  background-color: var(--secondary-200) !important;
  color: #212121 !important;
}

.bg-secondary-250 {
  background-color: var(--secondary-250) !important;
  color: #212121 !important;
}

.bg-secondary-300 {
  background-color: var(--secondary-300) !important;
  color: #212121 !important;
}

.bg-secondary-350 {
  background-color: var(--secondary-350) !important;
  color: white !important;
}

.bg-secondary-400 {
  background-color: var(--secondary-400) !important;
  color: white !important;
}

.bg-secondary-450 {
  background-color: var(--secondary-450) !important;
  color: white !important;
}

.bg-secondary-500 {
  background-color: var(--secondary-500) !important;
  color: white !important;
}

.bg-secondary-550 {
  background-color: var(--secondary-550) !important;
  color: white !important;
}

.bg-secondary-600 {
  background-color: var(--secondary-600) !important;
  color: white !important;
}

.bg-secondary-650 {
  background-color: var(--secondary-650) !important;
  color: white !important;
}

.bg-secondary-700 {
  background-color: var(--secondary-700) !important;
  color: white !important;
}

.bg-secondary-750 {
  background-color: var(--secondary-750) !important;
  color: white !important;
}

.bg-secondary-800 {
  background-color: var(--secondary-800) !important;
  color: white !important;
}

.bg-secondary-850 {
  background-color: var(--secondary-850) !important;
  color: white !important;
}

.bg-secondary-900 {
  background-color: var(--secondary-900) !important;
  color: white !important;
}

.bg-placeholder {
  --body-bg: var(--success-500);
  --gp-color-1: var(--primary-900);
  background-color: var(--body-bg);
  background-image: radial-gradient(ellipse at bottom, var(--body-bg) 5%, transparent 60%), linear-gradient(136deg, transparent, var(--gp-color-1) 290%), linear-gradient(115deg, var(--gp-color-1), transparent 40%), linear-gradient(180deg, transparent 0, var(--body-bg) 70%), radial-gradient(ellipse at -70% -180%, transparent 80%, var(--gp-color-1) 0), radial-gradient(ellipse at bottom, var(--body-bg) 40%, transparent 80%), radial-gradient(ellipse at 5% 340%, transparent 80%, var(--gp-color-1) 0);
  background-repeat: no-repeat;
}

.bg-subtlelight-fade {
  background-color: var(--bs-body-bg);
  background-image: -webkit-gradient(linear, left bottom, left top, from(var(--bs-body-bg)), to(rgba(var(--bs-primary-rgb), 0.04)));
  background-image: linear-gradient(to top, var(--bs-body-bg), rgba(var(--bs-primary-rgb), 0.04));
}

.body-bg {
  background-color: var(--bs-body-bg);
}

.content-wrapper:has(> .layout-trimmed) {
  padding: 0 !important;
}
.content-wrapper:has(> .layout-trimmed) > *:not(.main-content) {
  display: none !important;
}

.show-child-on-hover .show-on-hover-parent {
  display: none;
}

.show-child-on-hover:hover .show-on-hover-parent {
  display: block;
}

.hide-child-on-hover .hide-on-hover-parent {
  display: block;
}

.hide-child-on-hover:hover .hide-on-hover-parent {
  display: none;
}

.translucent-dark,
.translucent-light {
  background: rgba(0, 0, 0, 0.25);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border-radius: 0.625rem;
  border: 1px solid rgba(0, 0, 0, 0.18);
}

.translucent-light {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.fw-bold, b, strong,
.fw-500 {
  font-weight: 500 !important;
}

.fw-300,
.fw-light {
  font-weight: 300 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

code {
  --code-background: var(--bs-body-bg);
  background: var(--code-background);
  padding: 0.125rem 0.25rem;
  border-radius: 0.125rem;
}

.h2-title {
  font-size: 1.75rem;
  font-weight: 500;
  text-shadow: var(--bs-emphasis-color) 0 1px;
  margin: 3.5rem 0 0 0;
  display: flex;
  align-items: center;
  gap: 0.3125rem;
}
.h2-title:not(:has(*)) {
  margin-bottom: 2.3rem;
}

.h3-title {
  font-size: 1.125rem;
  font-weight: 700;
  margin: 2rem 0 0 0;
  display: flex;
  align-items: center;
  gap: 0.3125rem;
}
.h3-title:not(:has(*)) {
  margin-bottom: 0.7rem;
}

.hover-effect-dot {
  position: relative;
}

.hover-effect-dot:before {
  content: "";
  background: rgba(0, 0, 0, 0.2);
  width: 0%;
  height: 0%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 100%;
  -webkit-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
}

.hover-effect-dot:hover:before {
  width: 75%;
  height: 75%;
}

.h-auto {
  height: auto !important;
}

.w-auto {
  width: auto !important;
}

.min-height-reset {
  min-height: initial !important;
}

.max-width-reset {
  max-width: none !important;
}

.max-height-reset {
  max-height: none !important;
}

.min-width-0 {
  min-width: 0;
}

.width-0 {
  width: 0;
}

.width-1 {
  width: 1.5rem;
}

.width-2 {
  width: 2rem;
}

.width-3 {
  width: 2.5rem;
}

.width-4 {
  width: 2.75rem;
}

.width-5 {
  width: 3rem;
}

.width-6 {
  width: 3.25rem;
}

.width-7 {
  width: 3.5rem;
}

.width-8 {
  width: 3.75rem;
}

.width-9 {
  width: 4rem;
}

.width-10 {
  width: 4.25rem;
}

.width-xs {
  min-width: 5rem;
}

.width-max-xs {
  max-width: 5rem;
}

.width-sm {
  min-width: 10rem;
}

.width-max-sm {
  max-width: 10rem;
}

.width-lg {
  min-width: 15rem;
}

.width-max-lg {
  max-width: 15rem;
}

.width-xl {
  min-width: 20rem;
}

.width-max-xl {
  max-width: 20rem;
}

.width-max-100 {
  max-width: 100%;
}

.height-0 {
  height: 0;
}

.height-1 {
  height: 1.5rem;
}

.height-2 {
  height: 2rem;
}

.height-3 {
  height: 2.5rem;
}

.height-4 {
  height: 2.75rem;
}

.height-5 {
  height: 3rem;
}

.height-6 {
  height: 3.25rem;
}

.height-7 {
  height: 3.5rem;
}

.height-8 {
  height: 3.75rem;
}

.height-9 {
  height: 4rem;
}

.height-10 {
  height: 4.25rem;
}

.height-xs {
  min-height: 5rem;
}

.height-sm {
  min-height: 10rem;
}

.height-lg {
  min-height: 15rem;
}

.height-xl {
  min-height: 20rem;
}

.l-h-n {
  line-height: normal;
}

.if-empty-display-none:empty {
  display: none !important;
}

[data-hasmore] {
  position: relative;
  color: #fff;
}

[data-hasmore]:before {
  content: attr(data-hasmore);
  border-radius: inherit;
  background: rgba(0, 0, 0, 0.4);
  height: inherit;
  width: 100%;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 500;
  font-size: inherit;
}

.time-stamp {
  font-size: 0.78125rem;
  margin: 0.25rem 0 0 0;
  color: #767676;
  font-weight: 300;
}

.border-faded {
  border: 1px solid rgba(var(--bs-body-color-rgb), var(--row-grid-opacity, 0.07));
}

.border-transparent {
  border: 1px solid transparent !important;
}

.border-top-left-radius-0 {
  border-top-left-radius: 0 !important;
}

.border-bottom-left-radius-0 {
  border-bottom-left-radius: 0 !important;
}

.border-top-right-radius-0 {
  border-top-right-radius: 0 !important;
}

.border-bottom-right-radius-0 {
  border-bottom-right-radius: 0 !important;
}

.rounded-plus {
  border-radius: 0.625rem;
}

.rounded-bottom {
  border-radius: 0 0 0.25rem 0.25rem;
}

.rounded-top {
  border-radius: 0.25rem 0.25rem 0 0;
}

a[target]:not(.btn) {
  font-weight: 500;
  -webkit-text-decoration-skip: ink;
  text-decoration: underline !important;
}

.profile-image {
  width: 3.125rem;
  height: 3.125rem;
  max-width: 3.125rem;
  max-height: 3.125rem;
  object-fit: cover;
}

.profile-image-md {
  width: 2rem;
  height: 2rem;
  max-width: 2rem;
  max-height: 2rem;
  object-fit: cover;
}

.profile-image-sm {
  width: 1.5625rem;
  height: 1.5625rem;
  max-width: 1.5625rem;
  max-height: 1.5625rem;
  object-fit: cover;
}

.text-inverse {
  color: #000;
}

.bg-inverse {
  background-color: #000;
}

[data-bs-theme=dark] .text-inverse {
  color: #fff;
}
[data-bs-theme=dark] .bg-inverse {
  background-color: #fff;
}

.status {
  position: relative;
}

.status:before {
  content: " ";
  position: absolute;
  width: 15px;
  height: 15px;
  display: block;
  top: -2px;
  right: -2px;
  background: #505050;
  border-radius: 50%;
  border: 2px solid var(--bs-body-bg);
}

.status.status-sm:before {
  width: 10px;
  height: 10px;
  border-width: 1px;
  top: 0;
  right: 0;
}

.status.status-xs:before {
  width: 8px;
  height: 8px;
  border-width: 1px;
  top: 0;
  right: 0;
}

.status.status-success:before {
  background: var(--success-500);
}

.status.status-danger:before {
  background: var(--danger-500);
}

.status.status-warning:before {
  background: var(--warning-500);
}

.bg-trans-gradient {
  background: linear-gradient(250deg, #886ab5, #2196F3);
}

.bg-primary-gradient {
  background-image: linear-gradient(250deg, rgba(var(--bs-primary-rgb), 0.5), transparent);
}

.bg-danger-gradient {
  background-image: linear-gradient(250deg, rgba(206, 2, 98, 0.7), transparent);
}

.bg-info-gradient {
  background-image: linear-gradient(250deg, rgba(9, 96, 165, 0.7), transparent);
}

.bg-warning-gradient {
  background-image: linear-gradient(250deg, rgba(218, 148, 0, 0.7), transparent);
}

.bg-success-gradient {
  background-image: linear-gradient(250deg, rgba(16, 112, 102, 0.7), transparent);
}

.bg-fusion-gradient {
  background-image: linear-gradient(250deg, rgba(29, 29, 29, 0.7), transparent);
}

.border-dashed {
  border-style: dashed !important;
}

.border-dotted {
  border-style: dotted !important;
}

.border-double {
  border-style: double !important;
}

.border-groove {
  border-style: groove !important;
}

.border-ridge {
  border-style: ridge !important;
}

.border-inset {
  border-style: inset !important;
}

.border-outset {
  border-style: outset !important;
}

.cursor-auto {
  cursor: auto !important;
}

.cursor-crosshair {
  cursor: crosshair !important;
}

.cursor-default {
  cursor: default !important;
}

.cursor-e-resize {
  cursor: e-resize !important;
}

.cursor-help {
  cursor: help !important;
}

.cursor-move {
  cursor: move !important;
}

.cursor-n-resize {
  cursor: n-resize !important;
}

.cursor-ne-resize {
  cursor: ne-resize !important;
}

.cursor-nw-resize {
  cursor: nw-resize !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.cursor-progress {
  cursor: progress !important;
}

.cursor-s-resize {
  cursor: s-resize !important;
}

.cursor-se-resize {
  cursor: se-resize !important;
}

.cursor-sw-resize {
  cursor: sw-resize !important;
}

.cursor-text {
  cursor: text !important;
}

.cursor-w-resize {
  cursor: w-resize !important;
}

.cursor-wait {
  cursor: wait !important;
}

.cursor-inherit {
  cursor: inherit !important;
}

.row-grid {
  overflow: hidden;
}

.row-grid > .col, .row-grid > [class$=" col"], .row-grid > [class*=" col "], .row-grid > [class*=" col-"], .row-grid > [class=col], .row-grid > [class^="col "], .row-grid > [class^=col-] {
  position: relative;
}

.row-grid > .col:after, .row-grid > [class$=" col"]:after, .row-grid > [class*=" col "]:after, .row-grid > [class*=" col-"]:after, .row-grid > [class=col]:after, .row-grid > [class^="col "]:after, .row-grid > [class^=col-]:after {
  --row-grid: var(--row-grid-line-rgb, var(--bs-body-color-rgb));
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -1px;
  display: block;
  width: 0;
  border-left: 1px solid rgba(var(--row-grid), var(--row-grid-opacity, 0.07));
}

.row-grid > .col:before, .row-grid > [class$=" col"]:before, .row-grid > [class*=" col "]:before, .row-grid > [class*=" col-"]:before, .row-grid > [class=col]:before, .row-grid > [class^="col "]:before, .row-grid > [class^=col-]:before {
  --row-grid: var(--row-grid-line-rgb, var(--bs-body-color-rgb));
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  display: block;
  height: 0;
  border-top: 1px solid rgba(var(--row-grid), var(--row-grid-opacity, 0.07));
}

.text-gradient {
  background: linear-gradient(180deg, var(--info-50) 10%, var(--info-300) 35%, var(--primary-500) 60%, var(--primary-600) 100%);
  color: var(--info-500);
  background-clip: text;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
}

.text-truncate-header {
  max-width: 6.0625rem;
}

.text-truncate-xs {
  max-width: 4.5625rem;
}

.text-truncate-sm {
  max-width: 117px;
}

.text-truncate-md {
  max-width: 160px;
}

.text-truncate-default {
  max-width: 180px;
}

.text-truncate-lg {
  max-width: 200px;
}

.p-g {
  padding: 2rem;
}

.m-g {
  margin: 2rem;
}

.mb-g {
  margin-bottom: 2rem !important;
}

.mb-gb {
  margin-bottom: 3rem;
}

.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
  font-weight: 300;
  display: block;
  font-size: 0.9375rem;
  line-height: 1.5;
  margin: 2px 0 1.5rem;
}

.h2 small, .h3 small, h2 small, h3 small {
  font-size: 0.9375rem;
}

.h4 small, h4 small {
  font-size: 0.875rem;
}

.h5 small, .h6 small, h5 small, h6 small {
  font-size: 0.8125rem;
}

.bg-faded {
  background-color: rgba(var(--bs-emphasis-color-rgb), 0.025);
}

.fs-nano {
  font-size: 0.6875rem !important;
}

.fs-xs {
  font-size: 0.75rem !important;
}

.fs-sm {
  font-size: 0.78125rem !important;
}

.fs-b {
  font-size: 0.8125rem !important;
}

.fs-md {
  font-size: 0.875rem !important;
}

.fs-lg {
  font-size: 0.9375rem !important;
}

.fs-xl {
  font-size: 1rem !important;
}

.fs-xxl {
  font-size: 1.75rem !important;
}

.opacity-5 {
  opacity: 0.05;
}

.opacity-10 {
  opacity: 0.1;
}

.opacity-15 {
  opacity: 0.15;
}

.opacity-20 {
  opacity: 0.2;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-30 {
  opacity: 0.3;
}

.opacity-35 {
  opacity: 0.35;
}

.opacity-40 {
  opacity: 0.4;
}

.opacity-45 {
  opacity: 0.45;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-55 {
  opacity: 0.55;
}

.opacity-60 {
  opacity: 0.6;
}

.opacity-65 {
  opacity: 0.65;
}

.opacity-70 {
  opacity: 0.7;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-80 {
  opacity: 0.8;
}

.opacity-85 {
  opacity: 0.85;
}

.opacity-90 {
  opacity: 0.9;
}

.opacity-95 {
  opacity: 0.95;
}

.opacity-100 {
  opacity: 1;
}

[aria-expanded=false] ~ .collapsed-reveal {
  display: none;
}

[aria-expanded=false] .collapsed-reveal {
  display: none;
}

[aria-expanded=false] ~ .collapsed-hidden {
  display: block;
}

[aria-expanded=false] .collapsed-hidden {
  display: block;
}

[aria-expanded=true] ~ .collapsed-reveal {
  display: block;
}

[aria-expanded=true] .collapsed-reveal {
  display: block;
}

[aria-expanded=true] ~ .collapsed-hidden {
  display: none;
}

[aria-expanded=true] .collapsed-hidden {
  display: none;
}

.pos-top {
  top: 0;
}

.pos-left {
  left: 0;
}

.pos-right {
  right: 0;
}

.pos-bottom {
  bottom: 0;
}

hr {
  border: none;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
}

.disabled:not(.btn), .disabled:not(.btn) > * {
  -webkit-filter: grayscale(80%);
  filter: grayscale(80%);
  opacity: 0.8;
  cursor: not-allowed;
}

.hover-bg {
  background: var(--bs-body-bg);
  -webkit-transition: all 0.1s ease-in;
  transition: all 0.1s ease-in;
  color: inherit;
}

.hover-bg:hover {
  background: inherit;
  color: inherit;
}

.rotate-90 {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.rotate-180 {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.rotate-270 {
  -webkit-transform: rotate(270deg);
  transform: rotate(270deg);
}

.shadow-0 {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.shadow-1, .shadow-hover-1:hover {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.1);
}

.shadow-2, .shadow-hover-2:hover {
  box-shadow: 0 0.1rem 0.15rem rgba(0, 0, 0, 0.1);
}

.shadow-3, .shadow-hover-3:hover {
  box-shadow: 0 0.1rem 0.15rem rgba(0, 0, 0, 0.125);
}

.shadow-4, .shadow-hover-4:hover {
  box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.125);
}

.shadow-5, .shadow-hover-5:hover {
  box-shadow: 0 0.125rem 0.325rem rgba(0, 0, 0, 0.175);
}

.shadow-hover-inset-1:hover, .shadow-inset-1 {
  box-shadow: inset 0 0.25rem 0.125rem 0 rgba(33, 37, 41, 0.025);
}

.shadow-hover-inset-2:hover, .shadow-inset-2 {
  box-shadow: inset 0 0.2rem 0.325rem rgba(0, 0, 0, 0.04);
}

.shadow-hover-inset-3:hover, .shadow-inset-3 {
  box-shadow: inset 0 0.2rem 0.325rem rgba(0, 0, 0, 0.05);
}

.shadow-hover-inset-4:hover, .shadow-inset-4 {
  box-shadow: inset 0 0.25rem 0.5rem rgba(0, 0, 0, 0.06);
}

.shadow-hover-inset-5:hover, .shadow-inset-5 {
  box-shadow: inset 0 0.35rem 0.5rem rgba(0, 0, 0, 0.07);
}

.shadow-sm-hover:hover {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-hover:hover {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg-hover:hover {
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.info-card-text {
  font-size: 0.875rem;
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  line-height: 1.35;
}

.info-card-text > span {
  font-size: 0.875rem;
  display: block;
  font-weight: 300;
}

/* scrolling wrapper */
.scrolling-wrapper {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Opacity classes */
.alpha-1 {
  opacity: 0.1;
}

.alpha-2 {
  opacity: 0.2;
}

.alpha-3 {
  opacity: 0.3;
}

.alpha-4 {
  opacity: 0.4;
}

.alpha-5 {
  opacity: 0.5;
}

.alpha-6 {
  opacity: 0.6;
}

.alpha-7 {
  opacity: 0.7;
}

.alpha-8 {
  opacity: 0.8;
}

.alpha-9 {
  opacity: 0.9;
}

.alpha-10 {
  opacity: 1;
}

/* Rotation classes - add all possible rotation values */
.rotate-0 {
  transform: rotate(0deg);
}

.rotate-45 {
  transform: rotate(45deg);
}

.rotate-90 {
  transform: rotate(90deg);
}

.rotate-135 {
  transform: rotate(135deg);
}

.rotate-180 {
  transform: rotate(180deg);
}

.rotate-225 {
  transform: rotate(225deg);
}

.rotate-270 {
  transform: rotate(270deg);
}

.rotate-315 {
  transform: rotate(315deg);
}

.rotate-360 {
  transform: rotate(360deg);
}

.kbd-key {
  align-items: center;
  background: linear-gradient(-225deg, #d5dbe4, #f8f8f8);
  border: 0;
  border-radius: 3px;
  box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px rgba(30, 35, 90, 0.4);
  color: #333;
  display: flex;
  justify-content: center;
  margin-right: 0.4em;
  padding: 0 0 2px;
  position: relative;
  top: -1px;
  transition-duration: 0.1s;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  height: 18px;
  width: 20px;
}

.badge.badge-icon {
  position: absolute;
  display: inline-block;
  background-color: var(--danger-500);
  color: #fff;
  box-shadow: 0 0 0 1px var(--bs-body-bg);
  cursor: default;
  border: 1px solid transparent;
  font-size: 0.625rem;
  min-width: 1.25rem;
  max-width: 2rem;
  padding: 0 0.3125rem;
  border-radius: 1.25rem;
  font-weight: 600;
  line-height: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: middle;
  transform: translate(10%, -10%);
}

.nav-link {
  font-size: 0.875rem;
}

.saving-indicator {
  position: fixed;
  top: 6.5625rem;
  right: 0.9375rem;
  font-size: 0.75rem;
  width: 1.5rem;
  height: 1.5rem;
  color: inherit;
  opacity: 0;
  transition: all 0.3s ease-out;
  z-index: calc(var(--z-index-master) + 3);
}
.saving-indicator.show {
  opacity: 1;
}
.saving-indicator.success {
  color: var(--success-500);
}

.hide-page-scrollbar .saving-indicator {
  right: calc(var(--drawer-width) + 1.5rem);
}

.slide-on-mobile {
  --sidepanel-width: 15rem;
  --sidepanel-z-index: 10;
  width: var(--sidepanel-width, 15rem);
}

@media only screen and (max-width: 991.98px) {
  .slide-on-mobile {
    transform: translate3d(0, 0, 0);
    z-index: var(--sidepanel-z-index, 10);
    position: absolute !important;
    top: 0;
    bottom: 0;
    background-color: var(--bs-body-bg, #f8f9fa);
    transition: all 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
  }
  .slide-backdrop {
    background: 0 0;
    transition: background 0.3s;
  }
  .slide-on-mobile-left {
    border-right: 1px solid rgba(0, 0, 0, 0.09);
    left: calc(-1 * var(--sidepanel-width, 15rem));
  }
  .slide-on-mobile-left-show {
    left: 0;
  }
  .slide-on-mobile-right {
    border-left: 1px solid rgba(0, 0, 0, 0.09);
    right: calc(-1 * var(--sidepanel-width, 15rem));
  }
  .slide-on-mobile-right-show {
    right: 0;
  }
  .slide-on-mobile-left-show + .slide-backdrop,
  .slide-on-mobile-right-show + .slide-backdrop {
    background: rgba(var(--bs-body-color-rgb), 0.09);
    position: absolute;
    z-index: 9;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
  }
}
.app-content:has(> .content-wrapper-right) {
  position: relative;
}

.content-wrapper-right {
  background-color: var(--bs-body-bg);
}

@media only screen and (max-width: 1440px) {
  .content-wrapper-right {
    position: absolute;
    right: calc(-1 * var(--right-content-width));
    width: var(--right-content-width);
    height: 100%;
    top: 0;
    z-index: 1000;
    display: none;
  }
  .content-wrapper-right.show {
    display: block;
    right: 0;
  }
}
.form-control:focus {
  border-color: var(--primary-500);
}
.form-control:focus + .input-group-text {
  background-color: var(--primary-500);
  color: var(--bs-white);
  border-color: var(--primary-500);
}
.form-control:focus + .input-group-text .form-check-input:checked {
  background-color: var(--primary-700);
  border-color: var(--primary-900);
}
.form-control + .input-group-text {
  transition: all 0.15s ease-in-out;
}

.input-group:focus-within .input-group-text {
  background-color: var(--primary-500);
  color: var(--bs-white) !important;
  border-color: var(--primary-500);
}
.input-group:focus-within .input-group-text .form-check-input:checked {
  background-color: var(--primary-700);
  border-color: var(--primary-900);
}
.input-group:focus-within .form-select {
  border-color: var(--primary-500);
}
.input-group:focus-within .input-group-text + .input-group-text {
  border-left: 1px solid var(--primary-700);
}

.form-check-input {
  transition: all 0.3s ease;
}

.input-group-text {
  -webkit-transition: all 0.15s ease-in-out;
  transition: all 0.15s ease-in-out;
}

.input-group.input-group-multi-transition input[type=text] {
  -webkit-transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
  transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
}

.input-group.input-group-multi-transition input[type=text]:focus {
  width: 50%;
}

/* When the input is invalid, make input-group-text red */
.was-validated .input-group.has-validation:has(> .form-control:invalid) .input-group-text,
.was-validated .input-group:has(> .form-control:invalid) .input-group-text,
.input-group:has(> .form-control.is-invalid) .input-group-text {
  background-color: var(--bs-form-invalid-color);
  border-color: var(--bs-form-invalid-border-color);
  color: #ffffff;
}

.was-validated .input-group.has-validation:has(> .form-control:valid) .input-group-text,
.was-validated .input-group:has(> .form-control:valid) .input-group-text,
.input-group:has(> .form-control.is-valid) .input-group-text {
  background-color: var(--bs-form-valid-color);
  border-color: var(--bs-form-valid-border-color);
  color: #ffffff;
}

/* create a hit area for the checkbox */
.form-check-hitbox {
  position: relative;
}
.form-check-hitbox .form-check-input {
  position: relative;
  z-index: 2;
}
.form-check-hitbox .form-check-input:focus + .form-check-label {
  background: rgba(var(--bs-body-color-rgb), 0.03);
}
.form-check-hitbox:hover:has(.form-check-input):hover .form-check-label {
  background: rgba(var(--bs-body-color-rgb), 0.05);
}
.form-check-hitbox .form-check-label {
  position: absolute;
  padding: 1.53em;
  background: transparent;
  border-radius: 100%;
  transform: translate(-86%, -23%);
  z-index: 1;
  transition: background 0.3s ease;
}
.form-check-hitbox .form-check-label:hover {
  background: rgba(var(--bs-body-color-rgb), 0.05);
}

.offer-card:hover {
  background-color: var(--bs-body-bg);
  border-color: var(--primary-500);
  cursor: pointer;
}

.channel-card:hover {
  background-color: var(--bs-body-bg);
  cursor: pointer;
}

.offer-card .form-check-input,
.channel-card .form-check-input {
  display: none;
}

.offer-card:has(.form-check-input:checked) {
  border-color: var(--primary-500);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.channel-card:has(.form-check-input:checked) {
  border-color: var(--primary-500);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.toast:not(:last-child) {
  margin-bottom: 0.75rem;
}

.list-spaced li {
  margin-top: 7px;
  margin-bottom: 7px;
}

.list-spaced li:first-child {
  margin-top: 0;
}

.list-spaced li:last-child {
  margin-bottom: 0;
}

.list-spaced > li {
  padding: 0 0 0.2rem;
}

.img-share {
  width: auto;
  height: 2.8125rem;
}

span.img-share {
  width: 4.1259375rem;
  height: 2.8125rem;
}

.notes {
  padding: 5px;
  background: #f9f4b5;
}

.disclaimer {
  padding-left: 0.625rem;
  font-size: 0.5rem;
  color: #a2a2a2;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-style: italic;
}

.nav-tabs-clean .nav-item .nav-link {
  border-radius: 0;
  border: 0;
  height: 2.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-bottom: 1px solid transparent !important;
}

.nav-tabs .nav-item .nav-link:not(:hover) {
  color: inherit;
}

.notification li > :first-child > span > span {
  display: block;
}

.modal-content {
  -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}

.modal.show .modal-dialog {
  -webkit-transform: none;
  transform: none;
}

.modal-alert {
  padding: 0 !important;
}

.modal-alert .modal-dialog {
  max-width: 100% !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: calc(100% - 3.5rem);
  -webkit-transform: none !important;
  transform: none !important;
}

.modal-alert .modal-content {
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 0;
  padding: 1.5rem 1rem 1rem;
}

.modal-alert .modal-title {
  font-size: 1.5rem;
  font-weight: 300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.modal-alert .modal-body, .modal-alert .modal-footer, .modal-alert .modal-header {
  width: 100%;
  max-width: 992px;
  margin: 0 auto;
  padding: 0;
  color: #fff;
  position: relative;
}

.modal-alert .close {
  color: #fff;
  text-shadow: 0 1px 0 #000;
}

.modal-backdrop-transparent {
  background: 0 0;
}

.modal-dialog-bottom, .modal-dialog-top {
  position: absolute;
  top: 0;
  margin: 0;
  min-width: 100%;
}

.modal-dialog-bottom .modal-dialog, .modal-dialog-top .modal-dialog {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.modal-dialog-bottom .modal-content, .modal-dialog-top .modal-content {
  border-radius: 0;
  border: 0;
}

.modal-dialog-bottom {
  top: auto;
  bottom: 0;
}

.modal.fade .modal-dialog-bottom {
  transform: translate(0, 25%);
}

.modal-dialog-start {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
}

.modal-dialog-start .modal-content {
  min-height: 100%;
  border-width: 0;
  border-radius: 0;
}

.modal.fade .modal-dialog-start {
  transform: translate(-25%, 0);
}

.modal-dialog-end {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  border-width: 0;
}

.modal-dialog-end .modal-content {
  min-height: 100%;
  border-width: 0;
  border-radius: 0;
}

.modal.fade .modal-dialog-end {
  transform: translate(25%, 0);
}

.modal.show .modal-dialog {
  transform: translate(0, 0);
}

.modal-md {
  max-width: 21.875rem;
}

.modal-backdrop {
  --bs-backdrop-opacity: 0.4;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02) !important;
}

.app-breadcrumb .breadcrumb {
  padding: 0;
  background: 0 0;
  margin: 0 0 1.5rem;
  position: relative;
  --bs-breadcrumb-item-active-color: rgba(var(--bs-body-color-rgb), 0.75);
  font-size: 0.875rem;
}
.app-breadcrumb .breadcrumb .breadcrumb-item {
  max-width: 10.625rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
  transition: all 0.3s ease-in-out;
}
.app-breadcrumb .breadcrumb .breadcrumb-item:hover {
  max-width: 12.5rem !important;
  cursor: default;
}

.app-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(var(--bs-body-color-rgb), 0.3);
  text-shadow: none;
}

.breadcrumb {
  margin: 0;
  --bs-breadcrumb-divider-color: rgba(var(--bs-dark-rgb), 0.2);
}
.breadcrumb[class^=bg-] .breadcrumb-item + .breadcrumb-item::before, .breadcrumb[class*=" bg-"] .breadcrumb-item + .breadcrumb-item::before {
  color: currentColor;
  opacity: 0.7;
}

.breadcrumb > li.breadcrumb-item {
  max-width: 130px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}

.breadcrumb > li.breadcrumb-item:hover {
  max-width: 200px !important;
  cursor: default;
}

[data-breadcrumb-seperator] + [data-breadcrumb-seperator]::before {
  content: attr(data-breadcrumb-seperator);
  color: currentColor;
}

.dropdown-menu {
  --bs-dropdown-link-active-bg: rgba(var(--primary), 0.9);
  --bs-dropdown-link-hover-bg: var(--app-nav-item-hover-bg);
  --bs-dropdown-link-hover-color: var(--primary-500);
  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
  min-width: 10rem;
  padding: 0.3125rem 0;
  margin: 0.125rem 0 0;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: 0 solid var(--bs-border-color-translucent);
  box-shadow: 0 0 15px 1px rgba(var(--bs-dark-rgb), 0.15);
}

.dropdown-item {
  display: block;
  width: 100%;
  clear: both;
  font-weight: 400;
  color: var(--bs-body-color);
  text-align: inherit;
  white-space: nowrap;
  background-color: transparent;
  border: 0;
}

.dropdown, .dropleft, .dropright, .dropup {
  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-left {
  right: auto;
  left: 0;
}

.dropdown-menu-right {
  right: 0;
  left: auto;
}

.btn-system[data-bs-toggle=dropdown] + .dropdown-menu {
  position: absolute;
  top: var(--app-header-height) !important;
  right: 2rem !important;
  left: auto !important;
  padding: 0;
  margin: 0;
}

.dropdown-menu-animated {
  transform: scale(0.8) !important;
  transition: all 270ms cubic-bezier(0.34, 1.25, 0.3, 1);
  opacity: 0;
  visibility: hidden;
  display: block;
  z-index: 1000;
}

.show + .dropdown-menu-animated {
  transform: scale(1) !important;
  transform-origin: -21px;
  opacity: 1;
  visibility: visible;
}

@media (min-width: 576px) {
  .dropdown-menu-sm-start {
    right: auto;
    left: 0;
  }
  .dropdown-menu-sm-end {
    right: 0;
    left: auto;
  }
}
@media (min-width: 768px) {
  .dropdown-menu-md-start {
    right: auto;
    left: 0;
  }
  .dropdown-menu-md-end {
    right: 0;
    left: auto;
  }
}
@media (min-width: 992px) {
  .dropdown-menu-lg-start {
    right: auto;
    left: 0;
  }
  .dropdown-menu-lg-end {
    right: 0;
    left: auto;
  }
}
@media (min-width: 1399px) {
  .dropdown-menu-xl-start {
    right: auto;
    left: 0;
  }
  .dropdown-menu-xl-end {
    right: 0;
    left: auto;
  }
}
.dropup .dropdown-menu {
  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;
}

.dropright .dropdown-menu {
  top: 0;
  right: auto;
  left: 100%;
  margin-top: 0;
  margin-left: 0.125rem;
}

.dropright .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;
}

.dropright .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropright .dropdown-toggle::after {
  vertical-align: 0;
}

.dropleft .dropdown-menu {
  top: 0;
  right: 100%;
  left: auto;
  margin-top: 0;
  margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: 0.255em;
  content: "";
}

.dropleft .dropdown-toggle::after {
  display: none;
}

.dropleft .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;
}

.dropleft .dropdown-toggle:empty::after {
  margin-left: 0;
}

.dropleft .dropdown-toggle::before {
  vertical-align: 0;
}

.dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=top] {
  right: auto;
  bottom: auto;
}

.dropdown-item:focus,
.dropdown-item:hover {
  text-decoration: none;
  background-color: var(--app-nav-item-hover-bg);
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item.selected {
  text-decoration: none;
  font-weight: 500;
  color: var(--app-nav-link-active-color);
  background-color: rgba(var(--secondary), 0.05);
}

.dropdown-item:active {
  text-decoration: none;
  font-weight: 400;
  background-color: rgba(33, 150, 243, 0.09);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
  color: var(--bs-gray-500);
  pointer-events: none;
  background-color: transparent;
}

.dropdown-header {
  display: block;
  padding: 0.3125rem 1.5rem;
  margin-bottom: 0;
  font-size: 0.725rem;
  color: var(--bs-body-color);
  white-space: nowrap;
  font-weight: 300;
}

.dropdown-item-text {
  display: block;
  padding: 0.75rem 1.5rem;
  color: var(--bs-body-color);
}

.dropdown-menu.dropdown-sm {
  width: 8rem;
  height: auto;
}

.dropdown-menu.dropdown-md {
  width: 14rem;
  height: auto;
}

.dropdown-menu.dropdown-lg {
  width: 17.5rem;
  height: auto;
}

.dropdown-menu.dropdown-xl {
  width: 21.875rem;
  height: auto;
}

.dropdown-menu .dropdown-item:first-child, .dropdown-menu .dropdown-item:last-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}

.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  margin-bottom: 0.2em;
  vertical-align: middle;
  width: 0.8em;
  height: 0.8em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9L12 17L20 9' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9L12 17L20 9' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  background-color: currentColor;
  border: 0 !important;
  content: "" !important;
}
.dropdown-toggle:disabled::after, .dropdown-toggle.disabled::after {
  opacity: 0.65;
}

.dropdown-toggle:has(.visually-hidden)::after {
  margin-left: 0;
}

.dropup .dropdown-toggle::after {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17L12 9L20 17' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17L12 9L20 17' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  margin-bottom: 0;
  vertical-align: 0;
}

.dropend .dropdown-toggle::after {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4L17 12L9 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4L17 12L9 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  margin-bottom: 0;
}

.dropstart .dropdown-toggle::before {
  display: inline-block;
  margin-right: 0.255em;
  vertical-align: middle;
  width: 0.8em;
  height: 0.8em;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 4L9 12L17 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 4L9 12L17 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
  background-color: currentColor;
  border: 0 !important;
  content: "" !important;
}
.dropstart .dropdown-toggle::after {
  display: none;
}

.nav-item .dropdown-toggle:after {
  font-size: 0.9em;
}

.dropdown-toggle.no-arrow::after,
.dropdown-toggle.no-arrow:not([data-bs-toggle=dropdown])::before {
  display: none !important;
}

.dropdown-menu .dropdown-menu {
  display: none;
}
.dropdown-menu .dropdown-menu::after {
  content: "";
  display: block;
  width: 130%;
  height: 130%;
  background-color: transparent;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.dropdown-multilevel {
  position: relative;
}
.dropdown-multilevel .dropdown-item {
  cursor: pointer;
}

.dropdown-multilevel:hover > .dropdown-menu {
  top: -2px;
  left: 100%;
  display: block;
}

.dropdown-multilevel.dropdown-multilevel-left .dropdown-menu {
  right: 100%;
  left: auto;
}

.dropdown-menu .dropdown-multilevel:hover > .dropdown-item:not(.disabled) {
  background: var(--bs-dropdown-link-hover-bg);
  color: var(--bs-dropdown-link-hover-color);
}

.dropdown-menu .dropdown-menu .dropdown-item {
  padding-top: 0.45rem !important;
  padding-bottom: 0.45rem !important;
  font-size: 0.825rem;
}

.card, .card-group {
  box-shadow: 0 0 13px 0 rgba(var(--bs-primary-rgb), 0.08);
}

.card {
  --bs-card-cap-padding-y: 1rem;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-title-spacer-y: 0rem;
}

.card-group > .card {
  box-shadow: none;
}

.list-group-item {
  --bs-list-group-item-padding-x: 1.25rem;
  --bs-list-group-item-padding-y: 0.75rem;
}

.pagination {
  --bs-pagination-active-bg: var(--primary-900);
  --bs-pagination-active-bg: var(--primary-500);
  --bs-pagination-active-border-color: var(--primary-700);
  --bs-pagination-color: var(--bs-body-color);
  --bs-pagination-focus-color: var(--bs-body-color);
  --bs-pagination-hover-color: var(--primary-500);
  --bs-pagination-disabled-border-color: rgba(var(--bs-emphasis-color-rgb), 0.2);
  --bs-pagination-font-size: 0.875rem;
  display: flex;
  padding-left: 0;
  list-style: none;
  border-radius: var(--bs-border-radius);
}
.pagination .page-item:not(:first-child) {
  margin-left: 0.25rem;
}

.page-link {
  position: relative;
  display: block;
  margin-left: -1px;
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  border-radius: 0.25rem;
}
.page-link:hover {
  z-index: 2;
  text-decoration: none;
  background-color: var(--primary-500) !important;
  color: #fff;
  border-color: var(--primary-700);
}
.page-link:focus {
  z-index: 3;
  outline: 0;
  box-shadow: 0 0 0 0.2rem transparent;
}

.page-item:first-child .page-link {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.page-item:last-child .page-link {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.page-item.active .page-link {
  z-index: 3;
  color: #fff;
}
.pagination-lg {
  --bs-pagination-padding-x: 1.5rem;
  --bs-pagination-padding-y: .75rem;
  --bs-pagination-font-size: 1rem;
  --bs-pagination-border-radius: var(--bs-border-radius-lg);
}
.pagination-lg .page-link {
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  line-height: 1.5;
}
.pagination-lg .page-item:first-child .page-link {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination-lg .page-item:last-child .page-link {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.pagination-sm {
  --bs-pagination-padding-x: 0.5rem;
  --bs-pagination-padding-y: 0.25rem;
  --bs-pagination-font-size: 0.875rem;
  --bs-pagination-border-radius: var(--bs-border-radius-sm);
}
.pagination-sm .page-link {
  padding: 0.25rem 0.6rem;
  font-size: 0.75rem;
}
.pagination-sm .page-item:first-child .page-link {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination-sm .page-item:last-child .page-link {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}

.pagination-xs .page-link {
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
}

.popover {
  --bs-popover-header-padding-y: 1rem;
  --bs-popover-header-padding-x: 1rem;
  --bs-popover-bg: rgba(0, 0, 0, .1);
  --bs-popover-arrow-border: rgba(0, 0, 0, .1);
  background: var(--bs-body-bg);
  box-shadow: 0 0 15px 1px rgba(90, 80, 105, 0.2);
  margin: 12px;
  border: 3px solid rgba(0, 0, 0, 0.2);
  border-radius: 0.5rem;
}

.popover .arrow {
  border-color: inherit;
}

.popover .popover-header {
  --bs-popover-header-font-size: 1rem;
  --bs-popover-header-font-weight: 500;
  border-radius: 0.5rem 0.5rem 0 0;
  border-bottom-width: 0;
  border-radius: 5px;
  --bs-popover-header-bg: transparent;
}

.popover-header + .popover-body {
  padding-top: 0;
}

.primary-popover {
  --bs-popover-border-color: var(--primary-500);
  --bs-popover-header-bg: var(--primary-500);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--primary-700);
  --bs-popover-arrow-border: var(--primary-800);
  background: var(--primary-500);
}

.secondary-popover {
  --bs-popover-border-color: var(--bs-secondary);
  --bs-popover-header-bg: var(--bs-secondary);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--bs-secondary);
  --bs-popover-arrow-border: var(--bs-secondary);
  background: var(--bs-secondary);
}

.success-popover {
  --bs-popover-border-color: var(--success-600);
  --bs-popover-header-bg: var(--success-600);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--success-800);
  --bs-popover-arrow-border: var(--success-800);
  background: var(--success-600);
}

.danger-popover {
  --bs-popover-border-color: var(--danger-700);
  --bs-popover-header-bg: var(--danger-700);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--danger-900);
  --bs-popover-arrow-border: var(--danger-800);
  background: var(--danger-700);
}

.warning-popover {
  --bs-popover-border-color: var(--warning-500);
  --bs-popover-header-bg: var(--warning-500);
  --bs-popover-header-color: var(--bs-dark);
  --bs-popover-body-color: var(--bs-dark);
  --bs-popover-bg: var(--warning-900);
  --bs-popover-arrow-border: var(--warning-900);
  background: var(--warning-500);
}

.info-popover {
  --bs-popover-border-color: var(--info-500);
  --bs-popover-header-bg: var(--info-500);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--info-700);
  --bs-popover-arrow-border: var(--info-800);
  background: var(--info-500);
}

.dark-popover {
  --bs-popover-border-color: var(--bs-dark);
  --bs-popover-header-bg: var(--bs-dark);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-body-color: var(--bs-light);
  --bs-popover-bg: var(--bs-dark);
  --bs-popover-arrow-border: var(--bs-dark);
  background: var(--bs-dark);
}

.light-popover {
  --bs-popover-border-color: var(--bs-light);
  --bs-popover-header-bg: var(--bs-light);
  --bs-popover-header-color: var(--bs-dark);
  --bs-popover-body-color: var(--bs-dark);
  --bs-popover-bg: rgba(255, 255, 255, 1);
  --bs-popover-arrow-border: rgba(43, 43, 43, 0.3);
  background: var(--bs-light);
}

.progress-xs {
  height: 5px;
}

.progress-sm {
  height: 8px;
}

.progress-md {
  height: 14px;
}

.progress-lg {
  height: 20px;
}

.progress-xl {
  height: 30px;
}

.progress, .progress-stacked {
  --bs-progress-bg: rgba(var(--bs-body-color-rgb), 0.07);
}

th {
  font-weight: 500;
}

.table {
  --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.14);
  font-weight: 300;
  font-size: 0.875rem;
}
.table.table-sm {
  font-size: 0.825rem;
}
.table.table-nano {
  font-size: 0.75rem;
}
.table.table-nano > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table thead td,
.table thead th {
  border-bottom-width: 2px;
}

.table-hover > tbody > tr:hover {
  outline: 1px solid var(--primary-500);
  z-index: 1;
  position: relative;
}

.table-border-0 td, .table-border-0 th {
  border: 0 !important;
}

.table-calendar {
  table-layout: fixed;
}

.table-calendar th {
  border: 0 !important;
  font-weight: 500;
}

.table-calendar tr td:first-child {
  border-left: 0;
}

.table-calendar tr td:last-child {
  border-right: 0;
  padding-right: 10px;
}

.table-calendar td, .table-calendar th {
  text-align: right;
  vertical-align: top;
  padding: 5px 8px;
  position: relative;
  border: 1px solid var(--bs-border-color);
}

.table-calendar-appointment-date {
  font-size: 2.2rem !important;
  vertical-align: top;
  line-height: 1.15;
  margin-right: 0.25rem;
}

/* Sort indicators */
.st-expand-btn {
  display: inline-flex;
  height: 20px;
  width: 20px;
  align-items: center;
  justify-content: center;
  line-height: 20px !important;
  font-size: 1.4em !important;
}

.st-wrapper {
  width: 100%;
}
.st-wrapper .st-table {
  border: 1px solid var(--bs-border-color);
}
.st-wrapper .pagination {
  --bs-pagination-active-bg: var(--primary-500);
  --bs-pagination-active-border-color: var(--primary-700);
  --bs-pagination-focus-color: var(--bs-emphasis-color);
  --bs-pagination-hover-color: var(--primary-500);
  --bs-pagination-color: var(--bs-emphasis-color);
}
.st-wrapper .st-search-wrapper {
  position: relative;
}
.st-wrapper .st-search-wrapper .sa-icon {
  --sa-icon-size: 1.1rem;
  --sa-icon-color: rgb(155 155 155);
  --sa-fill-opacity: 0.7;
  --sa-icon-fill: rgb(255 255 255 / var(--sa-fill-opacity));
  margin: 0 0.25rem;
}
.st-wrapper .st-search-wrapper .input-group:focus-within .input-group-text .sa-icon {
  --sa-icon-color: rgb(255, 255, 255);
  --sa-fill-opacity: 0.3;
}

.st-wrapper .table {
  width: 100%;
}

.st-wrapper .table td,
.st-wrapper .table th {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.st-sort-neutral,
.st-sort-asc,
.st-sort-desc {
  position: relative;
  padding-right: 1.5em !important;
}

.st-sort-neutral,
.st-sort-asc,
.st-sort-desc {
  position: relative; /* Needed for positioning pseudo-elements */
}

.st-sort-asc,
.st-sort-desc {
  background-color: rgba(var(--primary), 0.05) !important;
  border-bottom-color: var(--primary-500);
}

/* Down Arrow (pointing downward) using ::before */
.st-sort-neutral::before,
.st-sort-asc::before,
.st-sort-desc::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 7px solid #ccc;
  top: 55%;
  right: 7px;
}

/* Up Arrow (pointing upward) using ::after */
.st-sort-neutral::after,
.st-sort-asc::after,
.st-sort-desc::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-bottom: 7px solid #ccc;
  bottom: 55%;
  right: 7px;
}

.st-sort-asc::after {
  border-bottom-color: var(--primary-500);
}

.st-sort-desc::before {
  border-top-color: var(--primary-500);
}

/* Sort column highlight */
.st-sort-column {
  background-color: rgba(var(--primary), 0.05) !important;
}

/* If you want to style alternating rows differently */
.table-striped > tbody > tr:nth-of-type(odd) .st-sort-column {
  background-color: rgba(var(--primary), 0.09) !important;
}

/* Loading overlay */
.st-loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: var(--app-content-background);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  transition: opacity 0.3s ease-out;
}

/* Loading state */
.st-wrapper {
  position: relative;
  width: 100%;
}
.st-wrapper.st-loading {
  min-height: 550px;
  max-height: 550px;
  overflow: hidden;
  pointer-events: none;
  /* Background overlay */
  /* Loading text */
  /* Spinner - using a new element instead of pseudo-element */
}
.st-wrapper.st-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--app-content-background);
  z-index: 1000;
}
.st-wrapper.st-loading::before {
  content: "Initializing table, just a second...";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  font-size: 0.875rem;
  color: var(--bs-body-color);
  white-space: nowrap;
  padding-top: 40px; /* Space for the spinner */
}
.st-wrapper.st-loading .st-loading-spinner {
  content: "";
  position: absolute;
  top: calc(50% - 30px);
  left: 50%;
  width: 30px;
  height: 30px;
  border: 3px solid var(--primary-500);
  border-top-color: transparent;
  border-radius: 50%;
  z-index: 1001;
  animation: st-spin 0.6s linear infinite;
}
.st-wrapper.st-loading.st-ajax-loading {
  max-height: unset;
  pointer-events: unset;
}
.st-wrapper.st-loading.st-ajax-loading .st-loading-spinner {
  width: 30px;
  height: 30px;
  top: 50%;
  left: 50%;
}
.st-wrapper.st-loading.st-ajax-loading::before {
  content: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  font-size: 0.875rem;
  color: var(--bs-body-color);
  white-space: nowrap;
  width: 200px;
  height: 100px;
  padding-top: 40px;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid #333;
  border-radius: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.st-wrapper.st-loading.st-ajax-loading::after {
  content: none;
}
.st-wrapper.st-loading .table {
  opacity: 0.3;
}
.st-wrapper .table {
  transition: opacity 0.3s ease;
}

.st-spinner {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
  background: white;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes st-spin {
  to {
    transform: rotate(360deg);
  }
}
/* No results message */
.st-no-results {
  text-align: center;
  padding: 2rem;
  background-color: rgba(var(--info), 0.1);
  border: none;
  border-radius: 0.5rem;
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
}
.st-no-results b {
  color: var(--info-400);
  font-weight: 600 !important;
  word-wrap: break-word;
  word-break: break-word;
}

.st-table {
  width: 100%;
  border-collapse: collapse;
}

.st-table th, .st-table td {
  padding: 0.5rem 0.75rem; /* Reduced padding */
  white-space: nowrap; /* Prevent text wrapping */
  overflow: hidden;
  text-overflow: ellipsis;
}

.st-table th {
  position: relative;
  font-weight: 600;
}

.st-table td:first-child {
  position: relative;
}
.st-table td:first-child:has(.st-expand) {
  cursor: pointer;
}

.st-table td:first-child.st-expand::before,
.st-table td:first-child.st-expand-active::before {
  content: "+";
  font-weight: 300;
  font-size: 12px;
  position: absolute;
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 6px;
  left: 0.5rem;
  bottom: 6px;
  width: 1rem;
  border-radius: 0.25rem;
  box-shadow: 0 1px 2px 0 rgba(var(--bs-body-color-rgb), 0.1);
}

.st-table td:first-child.st-expand-active::before {
  content: "-";
  background: var(--primary-500);
  border-color: var(--primary-700);
  color: #fff;
  box-shadow: 0 1px 2px 0 rgba(var(--bs-primary-rgb), 0.1);
}

.st-expand {
  padding-left: 2.25rem !important;
}

.st-child-row {
  background-color: rgba(0, 0, 0, 0.02);
}

.st-child-content {
  padding: 0 !important;
}

.st-hidden-columns {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.5rem 0.5rem 0.5rem 2.25rem;
  position: relative;
}
.st-hidden-columns::before {
  content: "";
  position: absolute;
  border-left: 1px dashed var(--primary-700);
  display: block;
  top: 0;
  bottom: 0;
  left: 1rem;
  z-index: 1;
}

/* if table hover is active, show child row hover */
.table-hover tr.expanded:hover + .st-child-row {
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-hover tr.expanded:has(+ .st-child-row:hover) {
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.st-hidden-column-item {
  display: flex;
  align-items: baseline;
}

.st-hidden-column-label {
  font-weight: 600;
  min-width: 140px;
  display: inline-block;
}

.st-hidden-column-value {
  flex: 1;
}

.st-loading {
  position: relative;
  min-height: 200px;
}

.st-loading-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: var(--primary-500);
  animation: st-spin 1s linear infinite;
  z-index: 1000;
}

@keyframes st-spin {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* Optimize table for better space usage */
.st-table.st-compact th, .st-table.st-compact td {
  padding: 0.35rem 0.5rem;
  font-size: 0.9rem;
}

/* Add truncation for long text */
.st-table .st-truncate {
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.popover-body-p-0 .popover-body {
  padding: 0;
}
.popover-body-p-0 .popover-body img {
  border-radius: var(--border-radius-uniform);
}

/* Date management css */
.st-wrapper tr.editing td {
  font-weight: bold;
}
.st-wrapper tr.saved {
  background-image: linear-gradient(250deg, rgba(121, 250, 237, 0.7), transparent);
  background-color: var(--success-50) !important;
}
.st-wrapper tr.saved td {
  background: transparent !important;
}
.st-wrapper tr.new-record {
  animation: highlightNewRow 3s ease-in-out;
}
.st-wrapper tr.new-record td {
  background: transparent !important;
}

@keyframes highlightNewRow {
  0%, 100% {
    background-color: transparent;
  }
  30% {
    background-color: rgba(221, 233, 63, 0.2);
  }
}
@keyframes highlightSaved {
  0%, 100% {
    background-color: transparent;
  }
  30% {
    background-color: rgba(221, 233, 63, 0.2);
  }
}
.btn-primary {
  box-shadow: 0 2px 6px 0 rgba(136, 106, 181, 0.5);
}

.btn-success {
  box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
}

.btn-info {
  box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
}

.btn-warning {
  box-shadow: 0 2px 6px 0 rgba(255, 194, 65, 0.5);
}

.btn-danger {
  box-shadow: 0 2px 6px 0 rgba(253, 57, 149, 0.5);
}

.btn-fusion {
  box-shadow: 0 2px 6px 0 rgba(80, 80, 80, 0.5);
}

.btn-dark {
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.5);
}

.btn-light {
  box-shadow: 0 2px 6px 0 rgba(255, 255, 255, 0.5);
}

.btn-secondary {
  box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5);
}

/* parent position needs to be relative, and turn off waves function */
.btn-icon .badge {
  top: auto;
}
.btn-icon .badge.pos-top {
  margin-top: -0.25rem;
}
.btn-icon .badge.pos-bottom {
  margin-bottom: -0.25rem;
}
.btn-icon .badge.pos-left {
  margin-left: -0.25rem;
}
.btn-icon .badge.pos-right {
  margin-right: -0.25rem;
}

.btn-default {
  --btn-background-color: var(--bs-gray-100);
  --btn-default-bg-top: var(--bs-gray-100);
  --btn-default-bg-bottom: var(--bs-gray-200);
  --btn-border-color: rgba(var(--bs-body-color-rgb), 0.1);
  --btn-hover-border-color: rgba(var(--bs-body-color-rgb), 0.3);
  --btn-color: rgba(var(--bs-body-color-rgb), 0.85);
  --btn-hover-color: rgba(var(--bs-body-color-rgb), 1);
  --btn-focus-color: rgba(var(--bs-body-color-rgb), 1);
  --bs-btn-disabled-border-color: #dddddd;
  --bs-btn-active-border-color: var(--primary-500);
  background-color: var(--btn-background-color);
  background-image: linear-gradient(to top, var(--btn-default-bg-top), var(--btn-default-bg-bottom));
  color: var(--btn-color);
  border: 1px solid var(--btn-border-color);
  -webkit-box-shadow: none;
  box-shadow: none;
}

.btn-default:hover {
  -webkit-box-shadow: none;
  box-shadow: none;
  border-color: var(--btn-hover-border-color);
  color: var(--btn-hover-color);
}

.btn-default:focus {
  border-color: rgba(var(--bs-body-color-rgb), 0.5) !important;
  color: var(--btn-focus-color);
}

.btn-default:active,
.ben-default.active {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
  background: inherit;
  border-color: inherit;
}

.btn:not(.btn-system):active {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
  scale: 0.97;
}

.btn-check:checked + .btn,
:not(.btn-check) + .btn:active,
.btn:first-child:active,
.btn.active,
.btn.show {
  color: var(--bs-btn-active-color) !important;
  background-color: var(--bs-btn-active-bg) !important;
  border-color: var(--bs-btn-active-border-color) !important;
}

.btn-primary {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: #886ab5;
  --bs-btn-border-color: #886ab5;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #6e4e9e;
  --bs-btn-hover-border-color: #62468d;
  --bs-btn-focus-shadow-rgb: 136, 106, 181;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #62468d;
  --bs-btn-active-border-color: #563d7c;
  --bs-btn-disabled-color: var(--bs-white);
  --bs-btn-disabled-bg: #886ab5;
  --bs-btn-disabled-border-color: #886ab5;
}

.btn-success {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: #1dc9b7;
  --bs-btn-border-color: #1dc9b7;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #179c8e;
  --bs-btn-hover-border-color: #13867a;
  --bs-btn-focus-shadow-rgb: 29, 201, 183;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #13867a;
  --bs-btn-active-border-color: #107066;
  --bs-btn-disabled-color: var(--bs-white);
  --bs-btn-disabled-bg: #1dc9b7;
  --bs-btn-disabled-border-color: #1dc9b7;
}

.btn-info {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: #2196F3;
  --bs-btn-border-color: #2196F3;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #0c7cd5;
  --bs-btn-hover-border-color: #0a6ebd;
  --bs-btn-focus-shadow-rgb: 33, 150, 243;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #0a6ebd;
  --bs-btn-active-border-color: #0960a5;
  --bs-btn-disabled-color: var(--bs-white);
  --bs-btn-disabled-bg: #2196F3;
  --bs-btn-disabled-border-color: #2196F3;
}

.btn-warning {
  --bs-btn-color: #000;
  --bs-btn-bg: #ffc241;
  --bs-btn-border-color: #ffc241;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffb20e;
  --bs-btn-hover-border-color: #f4a500;
  --bs-btn-focus-shadow-rgb: 255, 194, 65;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #f4a500;
  --bs-btn-active-border-color: #da9400;
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #ffc241;
  --bs-btn-disabled-border-color: #ffc241;
}

.btn-danger {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: #fd3995;
  --bs-btn-border-color: #fd3995;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #fc077a;
  --bs-btn-hover-border-color: #e7026e;
  --bs-btn-focus-shadow-rgb: 253, 57, 149;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #e7026e;
  --bs-btn-active-border-color: #ce0262;
  --bs-btn-disabled-color: var(--bs-white);
  --bs-btn-disabled-bg: #fd3995;
  --bs-btn-disabled-border-color: #fd3995;
}

.btn-fusion {
  --bs-btn-color: var(--bs-white);
  --bs-btn-bg: #505050;
  --bs-btn-border-color: #505050;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #363636;
  --bs-btn-hover-border-color: #2a2a2a;
  --bs-btn-focus-shadow-rgb: 80, 80, 80;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #2a2a2a;
  --bs-btn-active-border-color: #1d1d1d;
  --bs-btn-disabled-color: var(--bs-white);
  --bs-btn-disabled-bg: #505050;
  --bs-btn-disabled-border-color: #505050;
}

.btn-outline-primary {
  --bs-btn-color: #886ab5;
  --bs-btn-border-color: #886ab5;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #886ab5;
  --bs-btn-hover-border-color: #886ab5;
  --bs-btn-focus-shadow-rgb: 136, 106, 181;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #886ab5;
  --bs-btn-active-border-color: #886ab5;
  --bs-btn-disabled-color: #886ab5;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #886ab5;
}

.btn-outline-success {
  --bs-btn-color: #1dc9b7;
  --bs-btn-border-color: #1dc9b7;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #1dc9b7;
  --bs-btn-hover-border-color: #1dc9b7;
  --bs-btn-focus-shadow-rgb: 29, 201, 183;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #1dc9b7;
  --bs-btn-active-border-color: #1dc9b7;
  --bs-btn-disabled-color: #1dc9b7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #1dc9b7;
}

.btn-outline-info {
  --bs-btn-color: #2196F3;
  --bs-btn-border-color: #2196F3;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #2196F3;
  --bs-btn-hover-border-color: #2196F3;
  --bs-btn-focus-shadow-rgb: 33, 150, 243;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #2196F3;
  --bs-btn-active-border-color: #2196F3;
  --bs-btn-disabled-color: #2196F3;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #2196F3;
}

.btn-outline-warning {
  --bs-btn-color: #ffc241;
  --bs-btn-border-color: #ffc241;
  --bs-btn-hover-color: #000;
  --bs-btn-hover-bg: #ffc241;
  --bs-btn-hover-border-color: #ffc241;
  --bs-btn-focus-shadow-rgb: 255, 194, 65;
  --bs-btn-active-color: #000;
  --bs-btn-active-bg: #ffc241;
  --bs-btn-active-border-color: #ffc241;
  --bs-btn-disabled-color: #ffc241;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #ffc241;
}

.btn-outline-danger {
  --bs-btn-color: #fd3995;
  --bs-btn-border-color: #fd3995;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #fd3995;
  --bs-btn-hover-border-color: #fd3995;
  --bs-btn-focus-shadow-rgb: 253, 57, 149;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #fd3995;
  --bs-btn-active-border-color: #fd3995;
  --bs-btn-disabled-color: #fd3995;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #fd3995;
}

.btn-outline-fusion {
  --bs-btn-color: #505050;
  --bs-btn-border-color: #505050;
  --bs-btn-hover-color: var(--bs-white);
  --bs-btn-hover-bg: #505050;
  --bs-btn-hover-border-color: #505050;
  --bs-btn-focus-shadow-rgb: 80, 80, 80;
  --bs-btn-active-color: var(--bs-white);
  --bs-btn-active-bg: #505050;
  --bs-btn-active-border-color: #505050;
  --bs-btn-disabled-color: #505050;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #505050;
}

.btn-system {
  font-size: 1.5rem;
  padding: 0.3125rem;
  line-height: var(--app-header-height);
  border: none;
  outline: none;
  cursor: default;
  position: relative;
}
.btn-system i {
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-system i::after {
  color: rgba(var(--info), 0.9);
  opacity: 0.4;
}
.btn-system i::before {
  color: rgba(var(--primary), 0.9);
}
.btn-system::before {
  content: "";
  position: absolute;
  width: 2.875rem;
  height: 2.875rem;
  border-radius: 50%;
  background: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.btn-system:focus {
  border: none;
  outline: none;
}
.btn-system:hover, .btn-system.show {
  border: none;
  outline: none;
}
.btn-system:hover .sa-icon, .btn-system.show .sa-icon {
  fill: rgba(var(--primary), var(--sa-fill-opacity));
  stroke: rgba(var(--primary), 0.8);
}
.btn-system:hover::before, .btn-system.show::before {
  background: rgba(var(--bs-emphasis-color-rgb), var(--btn-system-bg-opacity, 0.03));
}
.btn-system.btn-system-light:hover, .btn-system.btn-system-light.show {
  border: none;
  outline: none;
}
.btn-system.btn-system-light:hover .sa-icon, .btn-system.btn-system-light.show .sa-icon {
  fill: rgba(var(--white), var(--sa-fill-opacity));
  stroke: rgba(var(--white), 0.8);
}
.btn-system.btn-system-light:hover::before, .btn-system.btn-system-light.show::before {
  background: rgba(var(--white), var(--sa-fill-opacity));
}
.btn-system:active {
  scale: 0.9;
}

.btn[data-action=playsound]:not(.btn-has-sound) {
  padding: 0 2px;
  position: relative;
}
.btn[data-action=playsound]:not(.btn-has-sound) .sa-icon {
  width: 1rem;
  height: 1rem;
  stroke: rgb(34, 36, 38);
  stroke-width: 1px;
}
.btn[data-action=playsound]:not(.btn-has-sound):hover .sa-icon {
  stroke-width: 2px;
  stroke: rgb(255, 255, 255);
}
.btn[data-action=playsound]:not(.btn-has-sound)[data-audio-playing] {
  border-color: rgba(var(--danger), 0.9);
  background: rgba(var(--danger), 0.1);
}
.btn[data-action=playsound]:not(.btn-has-sound)[data-audio-playing] .sa-icon {
  stroke-width: 2px;
  stroke: rgba(var(--danger), 0.9);
}
.btn[data-action=playsound]:not(.btn-has-sound)::before {
  content: "";
  position: absolute;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  background: transparent;
  top: -1rem;
  left: -0.875rem;
}

.btn-icon {
  width: calc(2.1rem + 2px);
  height: calc(2.1rem + 2px);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):hover {
  background-color: rgba(var(--bs-body-color-rgb), 0.05);
  border-color: transparent;
}

.btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):not(.active):not(:active):not(:hover):not(:focus) {
  background: 0 0;
  color: var(--bs-body-color);
}

.btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):focus {
  border-color: rgba(var(--bs-body-color-rgb), 0.1) !important;
}

.btn-icon.btn-xs {
  width: calc(1.15rem + 2px);
  height: calc(1.15rem + 2px);
  padding: 0;
}

.btn-icon.btn-sm {
  width: calc(1.5rem + 2px);
  height: calc(1.5rem + 2px);
}

.btn-icon.btn-lg {
  width: calc(3rem + 2px);
  height: calc(3rem + 2px);
}

.btn-group-xs > .btn,
.btn-xs {
  padding: 0.25rem 0.5rem;
  font-size: 0.7rem;
  line-height: 1.5;
  border-radius: 0.25rem;
}

.btn-pills {
  border-radius: 0.9375rem;
}

.btn-outline-default {
  background-color: transparent;
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
  --bs-btn-active-border-color: var(--primary-500);
  --bs-btn-disabled-border-color: #dddddd;
}

.btn-outline-default:hover, .btn-outline-default:not(:disabled):not(.disabled).active,
.btn-outline-default:not(:disabled):not(.disabled):active, .show > .btn-outline-default.dropdown-toggle {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: var(--bs-border-color);
}

.btn-group .btn:not([class*=btn-outline-]):not(.btn-icon):not(.btn-light) {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group-prepend .btn:not([class*=btn-outline-]):not(.btn-icon):not(:first-child) {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group-append .btn:not([class*=btn-outline-]):not(.btn-icon):not(:first-child) {
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.btn-group-vertical .btn-group, .btn-group-vertical .btn:not([class*=btn-outline-]):not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group .btn:not(.btn-outline-default) + .btn:not(.btn-outline-default) {
  border-left-color: rgba(0, 0, 0, 0.1);
}

.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 0.5rem;
}

.tooltip {
  --bs-tooltip-padding-x: 0.6rem;
  --bs-tooltip-padding-y: 0.3rem;
  --bs-tooltip-font-size: 0.8125rem;
  --bs-tooltip-bg: rgba(14, 14, 14, 0.9);
  --bs-tooltip-border-radius: 5px;
  --bs-tooltip-opacity: 0.95;
  --bs-tooltip-arrow-width: 0.75rem;
  --bs-tooltip-arrow-height: 0.4rem;
}

.tooltip-inner {
  font-family: var(--font-family);
  font-weight: 300;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.tooltip-danger {
  --bs-tooltip-bg: var(--danger-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-warning {
  --bs-tooltip-bg: var(--warning-500);
  --bs-tooltip-color: var(--bs-dark);
}

.tooltip-success {
  --bs-tooltip-bg: var(--success-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-info {
  --bs-tooltip-bg: var(--info-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-primary {
  --bs-tooltip-bg: var(--primary-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-secondary {
  --bs-tooltip-bg: var(--secondary-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-dark {
  --bs-tooltip-bg: var(--dark-500);
  --bs-tooltip-color: var(--bs-white);
}

.tooltip-light {
  --bs-tooltip-bg: var(--light-500);
  --bs-tooltip-color: var(--bs-dark);
}

.tooltip-fusion {
  --bs-tooltip-bg: var(--fusion-500);
  --bs-tooltip-color: var(--bs-white);
}

.sa-icon {
  --sa-icon-color: rgb(155 155 155);
  --sa-fill-opacity: 0.3;
  --sa-icon-fill: rgb(219 219 219 / var(--sa-fill-opacity));
  --sa-icon-size: 1.25rem;
  width: var(--sa-icon-size);
  height: var(--sa-icon-size);
  stroke: var(--sa-icon-color);
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: var(--sa-icon-fill);
  display: block;
}
.sa-icon.sa-nofill {
  fill: none !important;
}
.sa-icon.sa-thin {
  stroke-width: 0.5px !important;
}
.sa-icon.sa-regular {
  stroke-width: 0.8px !important;
}
.sa-icon.sa-medium {
  stroke-width: 1.2px !important;
}
.sa-icon.sa-bold {
  stroke-width: 1.5px !important;
}
.sa-icon.sa-icon-1x {
  width: 1.125rem;
  height: 1.125rem;
}
.sa-icon.sa-icon-2x {
  width: 1.5rem;
  height: 1.5rem;
}
.sa-icon.sa-icon-3x {
  width: 2.1875rem;
  height: 2.1875rem;
}
.sa-icon.sa-icon-4x {
  width: 2.8125rem;
  height: 2.8125rem;
}
.sa-icon.sa-icon-5x {
  width: 3.4375rem;
  height: 3.4375rem;
  stroke-width: 0.5px;
}
.sa-icon.sa-icon-6x {
  width: 4.0625rem;
  height: 4.0625rem;
}
.sa-icon.sa-icon-7x {
  width: 4.6875rem;
  height: 4.6875rem;
}
.sa-icon.sa-icon-8x {
  width: 5.3125rem;
  height: 5.3125rem;
}
.sa-icon.sa-icon-9x {
  width: 5.9375rem;
  height: 5.9375rem;
}
.sa-icon.sa-icon-10x {
  width: 6.5625rem;
  height: 6.5625rem;
}
.sa-icon.sa-icon-primary {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--primary), var(--sa-fill-opacity));
  stroke: rgba(var(--primary), 0.8);
}
.sa-icon.sa-icon-success {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--success), var(--sa-fill-opacity));
  stroke: rgba(var(--success), 0.8);
}
.sa-icon.sa-icon-warning {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--warning), var(--sa-fill-opacity));
  stroke: rgba(var(--warning), 0.8);
}
.sa-icon.sa-icon-danger {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--danger), var(--sa-fill-opacity));
  stroke: rgba(var(--danger), 0.8);
}
.sa-icon.sa-icon-info {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--info), var(--sa-fill-opacity));
  stroke: rgba(var(--info), 0.8);
}
.sa-icon.sa-icon-light {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--bs-light-rgb), var(--sa-fill-opacity)) !important;
  stroke: rgba(var(--bs-light-rgb), 1) !important;
}
.sa-icon.sa-icon-dark {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--bs-dark-rgb), var(--sa-fill-opacity)) !important;
  stroke: rgba(var(--bs-dark-rgb), 1) !important;
}
.sa-icon.sa-icon-subtlelight {
  --sa-fill-opacity: 0.1;
  fill: rgba(var(--bs-body-color-rgb), var(--sa-fill-opacity)) !important;
  stroke: rgba(var(--bs-body-color-rgb), 1) !important;
}

.collapse-icon {
  border-radius: var(--border-radius-uniform);
  border: 1px solid var(--collapse-icon-border);
  height: var(--collapse-icon-height);
  width: var(--collapse-icon-width);
  position: relative;
  overflow: hidden;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  background: var(--app-header-background);
  cursor: pointer;
}
.collapse-icon > svg {
  height: 0.6875rem;
  margin-left: 0.5625rem;
  transition: all 100ms ease-in-out;
}
.collapse-icon > svg polygon {
  fill: var(--collapse-icon-border);
}
.collapse-icon::after {
  content: "";
  position: absolute;
  border-right: 1px solid var(--collapse-icon-border);
  width: 1.25rem;
  height: var(--collapse-icon-height);
  left: 0;
  top: 0;
  background: rgba(var(--bs-emphasis-color-rgb), 0.05);
  border-radius: 0;
  transition: all 200ms cubic-bezier(0.34, 1.25, 0.3, 1);
}
.collapse-icon:hover {
  border-color: var(--collapse-icon-border-hover);
  background: var(--bs-body-bg);
}
.collapse-icon:hover > svg {
  margin-left: 0.75rem;
}
.collapse-icon:hover > svg polygon {
  fill: var(--collapse-icon-border-hover);
}
.collapse-icon:hover::after {
  border-right-color: var(--collapse-icon-border-hover);
  background: rgba(var(--primary), 0.1);
  width: 0.5625rem;
}
.collapse-icon:active {
  scale: 0.95;
}

.ellipsis-icon {
  --ellipsis-icon-color: currentColor;
  --ellipsis-icon-width: 0.25rem;
  --ellipsis-icon-height: 0.25rem;
  --ellipsis-icon-spacing: 0.5rem;
  --ellipsis-icon-border-radius: 50%;
  width: var(--ellipsis-icon-width);
  height: var(--ellipsis-icon-height);
  background-color: var(--ellipsis-icon-color);
  border-radius: var(--ellipsis-icon-border-radius);
  overflow: visible;
  position: relative;
  display: inline-block;
  scale: 0.8;
  transition: all 200ms cubic-bezier(0.34, 1.25, 0.3, 1);
}
.ellipsis-icon::before, .ellipsis-icon::after {
  content: "";
  position: absolute;
  width: var(--ellipsis-icon-width);
  height: var(--ellipsis-icon-height);
  background-color: var(--ellipsis-icon-color);
  display: block;
  border-radius: var(--ellipsis-icon-border-radius);
}
.ellipsis-icon::before {
  top: calc(var(--ellipsis-icon-spacing) * -1);
  transition: all 100ms cubic-bezier(0.34, 1.25, 0.3, 1);
  transform: rotate(45deg);
}
.ellipsis-icon::after {
  bottom: calc(var(--ellipsis-icon-spacing) * -1);
  transition: all 300ms cubic-bezier(0.34, 1.25, 0.3, 1);
  transform: rotate(-45deg);
}

.btn-toolbar-master.show .ellipsis-icon {
  --ellipsis-icon-spacing: 0px;
  --ellipsis-icon-border-radius: 0px;
  --ellipsis-icon-width: 0.9375rem;
  --ellipsis-icon-height: 0.125rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: transparent;
}

.mobile-menu-icon {
  --mobile-menu-icon-width: 4rem;
  --mobile-menu-icon-height: 2.5rem;
  width: var(--mobile-menu-icon-width);
  height: var(--mobile-menu-icon-height);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--border-radius-uniform);
  background: rgba(var(--danger), 0.9);
  border: 1px solid var(--bs-body-bg);
}
.mobile-menu-icon .sa-icon {
  width: 1.8rem;
  height: 1.8rem;
  stroke-width: 1.5px;
  fill: rgba(var(--bs-light-rgb), 0.1);
  stroke: rgba(var(--bs-light-rgb), 1);
}
.mobile-menu-icon:active {
  background: rgba(var(--primary), 0.9);
  scale: 0.95;
}
.mobile-menu-icon::before {
  content: "";
  position: absolute;
  width: 100%;
}

.icon-stack {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  line-height: 1em;
  vertical-align: middle;
  text-align: center;
}

.icon-stack-1x, .icon-stack-2x, .icon-stack-3x {
  position: absolute !important;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: inherit !important;
}

.icon-stack-1x {
  font-size: 0.5em;
}

.icon-stack-2x {
  font-size: 0.7em;
  margin-left: 1px;
}

.icon-stack-3x {
  font-size: 1em;
}

.icon-stack-xl {
  font-size: 3.125rem;
}

.icon-stack-lg {
  font-size: 2.5rem;
}

.icon-stack-md {
  font-size: 2.125rem;
}

.icon-stack-sm {
  font-size: 1.875rem;
}

.stack-icon,
#my-icon {
  position: relative;
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  font-size: 1.25em;
  vertical-align: middle;
  text-align: center;
  overflow: hidden;
}
.stack-icon .icon-layers,
#my-icon .icon-layers {
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  right: 0;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stack-icon .icon-layers .stack-3x,
#my-icon .icon-layers .stack-3x {
  font-size: 100%;
}
.stack-icon .icon-layers .stack-3x.sa-icon,
#my-icon .icon-layers .stack-3x.sa-icon {
  width: 100%;
  height: 100%;
}
.stack-icon .icon-layers .stack-2x,
#my-icon .icon-layers .stack-2x {
  font-size: 80%;
}
.stack-icon .icon-layers .stack-2x.sa-icon,
#my-icon .icon-layers .stack-2x.sa-icon {
  width: 75%;
  height: 75%;
}
.stack-icon .icon-layers .stack-1x,
#my-icon .icon-layers .stack-1x {
  font-size: 60%;
}
.stack-icon .icon-layers .stack-1x.sa-icon,
#my-icon .icon-layers .stack-1x.sa-icon {
  width: 57%;
  height: 57%;
}
.stack-icon .icon-layers .stack-0x,
#my-icon .icon-layers .stack-0x {
  font-size: 50%;
}
.stack-icon .icon-layers .stack-0x.sa-icon,
#my-icon .icon-layers .stack-0x.sa-icon {
  width: 45%;
  height: 45%;
}

/* width */
::-webkit-scrollbar {
  width: var(--scrollbar-width, 8px);
}

/* Track */
::-webkit-scrollbar-track {
  background: var(--scrollbar-color, var(--bs-body-bg));
}

/* Handle */
::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb, rgba(var(--bs-body-color-rgb), 0.8));
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover, rgba(var(--bs-body-color-rgb), 1));
}

.slimScrollBar {
  --scrollbar-color: rgba(var(--bs-body-color-rgb), 0.8);
  --scrollbar-hover-color: rgba(var(--bs-body-color-rgb), 1);
  background: var(--scrollbar-color) !important;
  cursor: default !important;
  user-select: none;
  outline: 0.5px solid transparent;
  transition: opacity 0.2s linear;
}
.slimScrollBar:hover {
  outline-color: var(--scrollbar-color);
}
.slimScrollBar.dragging {
  background: var(--scrollbar-hover-color) !important;
  outline-color: var(--scrollbar-hover-color);
}
.slimScrollBar::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: calc(100% + 10px);
  height: calc(100% + 2px);
  left: -5px;
  opacity: 0;
}

.slimScrollRail {
  background: var(--bs-body-bg) !important;
  cursor: default !important;
  user-select: none;
  outline: 1px solid rgba(var(--bs-body-bg-rgb), 0.3);
}
.slimScrollRail:hover {
  opacity: 0.5 !important;
}
.slimScrollRail::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: calc(100% + 8px);
  height: calc(100% + 2px);
  left: -3px;
  opacity: 0;
}

.slimScrollDiv {
  user-select: none;
}

/* slimscroll bug */
.app-sidebar .slimScrollDiv {
  width: var(--menu-width) !important;
}

body:not(.no-slimscroll) .custom-scroll {
  overflow: hidden;
}

.custom-scroll,
.custom-scrollbar {
  overflow: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.custom-scroll::-webkit-scrollbar,
.custom-scrollbar::-webkit-scrollbar {
  height: 4px;
  width: 4px;
}
.custom-scroll::-webkit-scrollbar:hover,
.custom-scrollbar::-webkit-scrollbar:hover {
  background-color: rgba(var(--bs-body-color-rgb), 0.8);
}
.custom-scroll::-webkit-scrollbar-track-piece,
.custom-scrollbar::-webkit-scrollbar-track-piece {
  background-color: var(--bs-body-bg);
}
.custom-scroll::-webkit-scrollbar-track-piece:hover,
.custom-scrollbar::-webkit-scrollbar-track-piece:hover {
  background-color: var(--bs-body-bg);
}
.custom-scroll::-webkit-scrollbar-thumb:vertical,
.custom-scrollbar::-webkit-scrollbar-thumb:vertical {
  background-color: rgba(var(--bs-body-color-rgb), 0.5);
}
.custom-scroll::-webkit-scrollbar-thumb:vertical:hover,
.custom-scrollbar::-webkit-scrollbar-thumb:vertical:hover {
  background-color: rgba(var(--bs-body-color-rgb), 0.8);
}

/* 
 * Left Panel custom scroll
 */
.primary-nav::-webkit-scrollbar-track-piece {
  background-color: var(--bs-body-bg);
}

.primary-nav::-webkit-scrollbar-thumb:vertical {
  background-color: rgba(var(--bs-body-color-rgb), 0.8);
}

.primary-nav::-webkit-scrollbar-thumb:vertical:hover {
  background-color: rgba(var(--bs-body-color-rgb), 0.5);
}

.primary-nav::-webkit-scrollbar {
  height: 4px;
  width: 4px;
}

.primary-nav:hover::-webkit-scrollbar-corner {
  width: 40px;
}

.accordion-button {
  --bs-accordion-active-color: var(--app-nav-link-active-color);
  --bs-accordion-active-bg: rgba(var(--fusion), 0.04);
  background-color: var(--bs-accordion-active-bg);
  font-size: var(--bs-body-font-size);
  font-weight: 500;
}

.accordion.accordion-clean .accordion-item {
  border-left: 0;
  border-right: 0;
  background: transparent;
}
.accordion.accordion-clean .accordion-item:first-child {
  border-top: 0;
}
.accordion.accordion-clean .accordion-item:last-child {
  border-bottom: 0;
}
.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-button,
.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-body {
  padding-left: 0;
  padding-right: 0;
}
.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-body {
  padding-top: 0;
}
.accordion.accordion-clean .accordion-button {
  background: transparent;
}
.accordion.accordion-clean .accordion-button:not(.collapsed) {
  color: rgba(var(--bs-body-color-rgb), 1);
}
.accordion.accordion-clean .accordion-button.collapsed {
  color: rgba(var(--bs-body-color-rgb), 0.75);
}
.accordion.accordion-outline .accordion-item {
  margin-bottom: 1rem;
  border: 2px solid var(--bs-border-color) !important;
  border-radius: var(--bs-border-radius);
}
.accordion.accordion-outline .accordion-item .accordion-button {
  background: transparent;
}
.accordion.accordion-outline .accordion-item .accordion-button:focus {
  box-shadow: none;
}
.accordion.accordion-hover {
  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}
.accordion.accordion-hover .accordion-item {
  background: transparent;
}
.accordion.accordion-hover .accordion-button {
  transition: all 0.5s ease;
  background: transparent;
}
.accordion.accordion-hover .accordion-button:hover.collapsed {
  color: var(--bs-white);
  background-color: var(--primary-400);
}
.accordion.accordion-hover .accordion-button:hover.collapsed::after {
  background-image: var(--bs-accordion-btn-active-icon);
}
.accordion.accordion-hover .accordion-button:not(.collapsed) {
  color: var(--bs-white);
  background-color: var(--primary-700);
}
.accordion.accordion-hover .accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
}

.accordion-button:not(.collapsed) {
  box-shadow: none;
}
.accordion-button:not(.collapsed)::after {
  background-image: var(--bs-accordion-btn-active-icon);
}

[aria-expanded=false] ~ .collapsed-reveal {
  display: none;
}

[aria-expanded=false] .collapsed-reveal {
  display: none;
}

[aria-expanded=false] ~ .collapsed-hidden {
  display: block;
}

[aria-expanded=false] .collapsed-hidden {
  display: block;
}

[aria-expanded=true] ~ .collapsed-reveal {
  display: block;
}

[aria-expanded=true] .collapsed-reveal {
  display: block;
}

[aria-expanded=true] ~ .collapsed-hidden {
  display: none;
}

[aria-expanded=true] .collapsed-hidden {
  display: none;
}

.accordion-button.custom-collapse::after {
  content: none;
}

.panel-fullscreen {
  overflow: hidden;
  max-width: 100%;
}

.sortable-active .panel:not(.panel-locked):not(.panel-fullscreen) .panel-hdr > h2 {
  cursor: move;
}

.panel {
  --border-radius: 0.375rem;
  display: flex;
  flex-direction: column;
  position: relative;
  background-color: var(--app-panel-bg, #fff);
  box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.05);
  margin-bottom: 2rem;
  border: 1px solid var(--app-panel-border-color, rgba(0, 0, 0, 0.09));
  border-bottom: 1px solid var(--app-panel-border-bottom, #e0e0e0);
  border-radius: var(--border-radius);
  transition: border 500ms ease-out;
}
.panel.panel-selected {
  position: relative;
}
.panel.panel-selected::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: inherit;
  z-index: 10;
  background: repeating-linear-gradient(-55deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 5px, rgba(0, 0, 0, 0) 5px, rgba(0, 0, 0, 0) 9px);
  background-color: var(--panel-drag-bg, rgb(249, 249, 249));
  opacity: 0.5;
  border: 2px solid rgba(var(--success), 0.9);
}
.panel.panel-icon .panel-toolbar .btn-panel {
  margin-left: 0;
  position: relative;
  --sa-icon-hover-fill-opacity: 0.2;
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-collapse] .sa-icon {
  stroke: var(--bs-success);
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-collapse]:hover .sa-icon {
  fill: rgba(var(--success), var(--sa-icon-hover-fill-opacity));
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-fullscreen] .sa-icon {
  stroke: var(--bs-warning);
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-fullscreen]:hover .sa-icon {
  fill: rgba(var(--warning), var(--sa-icon-hover-fill-opacity));
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-close] .sa-icon {
  stroke: var(--bs-danger);
}
.panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-close]:hover .sa-icon {
  fill: rgba(var(--danger), var(--sa-icon-hover-fill-opacity));
}
.panel.panel-icon .panel-toolbar .btn-panel::after {
  content: "";
  width: 1.875rem;
  height: 1.875rem;
  position: absolute;
  border-radius: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.panel.panel-icon .panel-toolbar [data-action*=panel-]:not(.dropdown-item) .sa-icon {
  width: 1.5rem;
  height: 1.5rem;
  stroke-width: 1px;
  fill: none;
}
.panel:not(.panel-icon) .btn-panel {
  width: 1rem;
  height: 1rem;
  opacity: 0.8;
}
.panel:not(.panel-icon) .btn-panel:hover {
  opacity: 1;
}
.panel:not(.panel-icon) .btn-panel .sa-icon {
  display: none;
}
.panel:not(.panel-icon) .btn-panel[data-action=panel-collapse], .panel:not(.panel-icon) .btn-panel.js-panel-collapse {
  background: var(--bs-success);
}
.panel:not(.panel-icon) .btn-panel[data-action=panel-fullscreen], .panel:not(.panel-icon) .btn-panel.js-panel-fullscreen {
  background: var(--bs-warning);
}
.panel:not(.panel-icon) .btn-panel[data-action=panel-close], .panel:not(.panel-icon) .btn-panel.js-panel-close {
  background: var(--bs-danger);
}
.panel .panel-container {
  position: relative;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}
.panel .panel-container .panel-content {
  padding: 1rem;
}
.panel .panel-container .panel-content:only-child, .panel .panel-container .panel-content:last-child {
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}
.panel.panel-refreshing [data-action=panel-refresh] {
  color: var(--bs-gray-500);
  pointer-events: none;
  background-color: rgba(0, 0, 0, 0.07);
  box-shadow: none;
  border-color: rgba(0, 0, 0, 0.05);
  cursor: wait;
}
.panel.panel-refreshing [data-action=panel-refresh].dropdown-item {
  background: none;
}
.panel.panel-refreshing .panel-container .panel-content {
  opacity: 0.5;
  transition: all 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
}
.panel.panel-refreshing .panel-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: inherit;
  z-index: 10;
}
.panel.panel-refreshing .panel-container::after {
  content: "\e098";
  position: absolute;
  font-family: "smartadmin-icons";
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  z-index: 11;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2rem;
  color: var(--bs-gray-500);
  color: currentColor;
  animation: refresh 2s linear infinite;
}
.panel.panel-fullscreen {
  position: fixed !important;
  z-index: 2055;
  top: 0;
  left: 0;
  right: 0;
  height: 100vh !important;
  max-height: 100vh !important;
  width: 100vw !important;
  max-width: 100vw !important;
  border-radius: 0;
  border: 0;
}
.panel.panel-fullscreen [data-action=panel-collapse] [data-action=panel-close] {
  display: none !important;
}
.panel.panel-fullscreen .panel-hdr {
  height: 4.125rem;
  border-radius: 0;
  box-shadow: 0 0.125rem 0.125rem -0.0625rem rgba(45, 71, 120, 0.1);
}
.panel.panel-fullscreen .panel-hdr h2 {
  font-size: 14px;
  font-weight: 400;
}
.panel.panel-fullscreen .panel-hdr .panel-toolbar .btn-panel[data-action=panel-fullscreen] .sa-icon {
  width: 2rem;
  height: 2rem;
}
.panel.panel-fullscreen .panel-hdr .panel-toolbar [data-action=panel-collapse],
.panel.panel-fullscreen .panel-hdr .panel-toolbar [data-action=panel-close] {
  display: none;
}
.panel.panel-fullscreen .panel-container {
  flex: 1;
  overflow-y: auto;
  border-radius: 0;
  display: block !important;
}
.panel.panel-locked [data-panel-toggle=panel-locked].dropdown-item {
  font-weight: 500;
  color: var(--primary-500);
}
.panel.panel-locked .panel-hdr h2::before {
  font-family: "smartadmin-icons";
  content: "\f2ae";
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  color: currentColor;
  height: 24px;
  width: 24px;
  right: 0;
  background: var(--bs-body-bg);
  border-radius: 24px;
  border: 1px solid #ededed;
  padding-bottom: 2px;
  padding-right: 1px;
  top: 50%;
  transform: translate(0, -50%);
}
.panel.panel-locked .panel-hdr h2:active::before {
  color: #fff;
  background: var(--danger-500);
  border-color: var(--danger-600);
}
.panel.panel-locked .panel-hdr h2:only-child::before {
  right: 1rem;
}
.panel.panel-locked .panel-locked-text {
  display: block;
}
.panel.panel-locked .panel-unlock-text {
  display: none;
}
.panel:not(.panel-locked) .panel-locked-text {
  display: none;
}
.panel:not(.panel-locked) .panel-unlock-text {
  display: block;
}
.panel.ui-sortable-helper {
  box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.05), 0 5px 20px 0 rgba(0, 0, 0, 0.09);
}

.panel-tag {
  padding: 1rem 1rem;
  margin-bottom: 2rem;
  border-left: 0.1875rem solid var(--success-500);
  background: var(--panel-tag-background, #f2fdfc);
  font-weight: 400;
  font-size: 0.875rem;
  border-radius: 0px 0.25rem 0.25rem 0px;
}
.panel-tag > *:last-child,
.panel-tag > *:only-child {
  margin-bottom: 0;
}
.panel-tag:only-child {
  margin-bottom: 0;
}

.panel-container {
  transition: height 0.35s ease;
}

.panel-collapsed .panel-container {
  height: 0;
  overflow: hidden;
}

.panel-hdr {
  display: flex;
  align-items: center;
  min-height: 3rem;
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.panel-collapsed .panel-hdr {
  border-radius: var(--border-radius) var(--border-radius) 0 0;
}
.panel-hdr > :first-child {
  padding-left: 1rem;
}
.panel-hdr > :last-child {
  padding-right: 1rem;
}
.panel-hdr h2 {
  flex: 1;
  font-size: 0.875rem;
  margin: 0;
  display: flex;
  align-items: center;
  line-height: 3rem;
  color: inherit;
  color: var(--bs-body-color);
  position: relative;
  font-weight: 500;
}
.panel-hdr h2:not(:only-child) {
  margin-right: 0.667rem;
}
.panel-hdr h2 > [class*=fw-] {
  margin-left: 0.25rem;
}
.panel-hdr h2 small {
  display: inline-block;
  margin: 0;
  opacity: 0.8;
  font-weight: 400;
  font-size: 0.875rem;
  margin-left: 0.5rem;
}
.panel-hdr h2 .panel-icon {
  margin-right: 0.5rem;
}

.panel-hdr[class^=bg-] h2,
.panel-hdr[class*=" bg-"] h2 {
  color: inherit;
}

.panel:not(.panel-collapsed).panel-icon .panel-expand-icon {
  display: none;
}

.panel-toolbar {
  display: flex;
  align-items: center;
  position: relative;
}
.panel-toolbar .btn-panel {
  margin-left: 0.3rem;
  padding: 0;
  box-sizing: border-box;
  border-radius: 50%;
}
.panel-toolbar .btn-toolbar-master {
  height: 3rem;
  width: 1.826875rem;
  border-radius: 0;
  margin-right: -1rem;
  border-top-right-radius: 0.25rem;
  margin-left: 0.5rem;
  padding: 0 0.8125rem;
  background: transparent;
  border: 0;
  font-size: 1.5625rem;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}
.panel-toolbar .btn-toolbar-master.show {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
}
.panel-toolbar .btn-toolbar-master + .dropdown-menu {
  right: 0 !important;
  top: 3rem;
  left: auto !important;
  margin: 0;
  border-radius: 0;
  top: 100% !important;
}
.panel-toolbar .btn-panel-flat:last-child {
  border-top-right-radius: 0.1875rem;
}

/*
.panel-placeholder {
	background-color: #c3b5d9;
	box-sizing: border-box;
	margin-bottom: 1.5rem;
	border-radius: 0.3125rem;
	position: relative;
	overflow: hidden;
	border: 1px solid transparent;

	&:before,
	&:after {
		content: " ";
		background-image: url(data:image/gif;base64,R0lGODlhCAAIAJAAAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQECgD/ACwAAAAACAAIAAACD4SDYZB6udpiaMJYsXuoAAAh+QQECgD/ACwAAAAACAAIAAACDYQRGadrzVRMB9FZ5SwAIfkEBAoA/wAsAAAAAAgACAAAAg8MDqGYaudeW9ChyOyltQAAIfkEBAoA/wAsAAAAAAgACAAAAg9MgGCXm+rQYtC0WGl9oQAAIfkEBAoA/wAsAAAAAAgACAAAAg+MgWCRernaYmjCWLF7qAAAIfkEBAoA/wAsAAAAAAgACAAAAg2MAwmna81UTAfRWeUsACH5BAQKAP8ALAAAAAAIAAgAAAIPRB6gmGrnXlvQocjspbUAACH5BAQKAP8ALAAAAAAIAAgAAAIPBIJhl5vq0GLQtFhpfaAAADs=);
		border-radius: 0.3125rem;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0.3;
	}

	&:before {
		background: #c3b5d9;
		margin: 1px;
		box-sizing: border-box;
		opacity: 1;
		z-index: 1;
	}
}
*/
.mod-panel-clean .panel-hdr {
  background: var(--bs-body-bg);
  background-image: linear-gradient(to bottom, #f7f7f7, var(--bs-body-bg));
  box-shadow: none;
}
.mod-panel-clean .panel-hdr h2 {
  color: var(--bs-body-color);
  font-weight: 500;
}

/* nav tabs panel */
.nav-tabs-clean .nav-item .nav-link {
  border: 0;
}
.nav-tabs-clean .nav-item .nav-link.active {
  border-bottom: 1px solid var(--primary-500) !important;
  color: var(--primary-500);
  font-weight: 500;
  border-width: 2px !important;
}
.nav-tabs-clean .nav-item .nav-link:hover {
  color: var(--primary-500);
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--primary-500);
}

@media only screen and (max-width: 420px) {
  .panel .panel-hdr {
    font-size: 0.875rem;
    min-height: 2.75rem;
  }
  .panel .panel-hdr > :first-child {
    padding-left: 0.625rem;
  }
  .panel .panel-hdr > :last-child {
    padding-right: 0.625rem;
  }
  .panel .panel-hdr .panel-toolbar .btn-toolbar-master {
    margin-right: -0.625rem;
  }
  .panel .panel-container .panel-content:first-child {
    padding: 0.625rem;
  }
}
@media print {
  .panel-fullscreen .subheader,
  .panel-fullscreen .page-breadcrumb,
  .panel-fullscreen .page-content .panel:not(.panel-fullscreen) {
    display: none;
  }
  .panel-fullscreen .panel-hdr,
  .panel-fullscreen .panel-container,
  .panel-fullscreen .panel-content,
  .panel-fullscreen h2 {
    border: none;
    padding: 0 !important;
  }
  .panel-fullscreen .panel {
    margin: 0;
  }
}
.sortable-ghost {
  opacity: 0.4;
}

.sortable-drag {
  cursor: move;
}

[data-toggle=dropdown] .profile-image {
  width: 2rem;
  height: auto;
}

.notification-header {
  padding: 1.5rem 1.5rem 0.5rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background: var(--bs-body-bg);
  font-size: 0.75rem;
  white-space: nowrap;
  margin-bottom: 0;
}
.notification-header h4 {
  display: flex;
  flex-direction: column;
  font-size: 1.25rem;
}
.notification-header h4 small {
  font-size: 0.825rem;
  font-weight: 300;
  margin-top: 0.25rem;
}

.tab-notification {
  height: 22.6875rem;
}

.tab-notification .tab-pane {
  height: 100%;
}

.notification {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}

.notification li {
  position: relative;
  background: var(--bs-body-bg);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.notification li [data-bs-dismiss=alert] {
  position: absolute;
  right: 0;
  top: 0;
  padding: 15px;
  background: transparent var(--bs-btn-close-bg) center/0.7em auto no-repeat;
  visibility: hidden;
}
.notification li:hover [data-bs-dismiss=alert] {
  visibility: visible;
}

.notification li.unread {
  background: rgba(var(--bs-primary-rgb), 0.05);
}

.notification li.unread .name {
  font-weight: 600;
}

.notification li > :first-child {
  padding: 0.75rem 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.notification li:hover > :first-child {
  text-decoration: none;
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(29, 33, 41, 0.03)), to(rgba(29, 33, 41, 0.04)));
  background-image: linear-gradient(rgba(29, 33, 41, 0.03), rgba(29, 33, 41, 0.04));
}

.notification li > :first-child:focus {
  text-decoration: none;
}

.notification li > :first-child > span {
  position: relative;
}

.notification li > :first-child > span > span {
  display: block;
}

.notification li:last-child > a {
  border: 0;
}

.notification .name {
  color: var(--bs-body-color);
  font-weight: 400;
  font-size: 0.825rem;
}

.notification .msg-a,
.notification .msg-b {
  color: var(--bs-body-color);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width: 300px;
}

.notification:has(*) + .notification-empty-msg {
  display: none;
}

.notification:not(:has(*)) + .notification-empty-msg {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 1.25rem;
  font-weight: 300;
}

.set-colorblind-mode .alert-danger,
.set-colorblind-mode .btn-danger,
.set-colorblind-mode .btn-outline-danger,
.set-colorblind-mode [class*=bg-danger-],
.set-colorblind-mode .bg-danger,
.pattern-0 {
  background-size: 10px 10px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.07) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.07) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
}

.pattern-1 {
  background-size: 5px 5px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.04) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.04) 50%, rgba(255, 255, 255, 0.04) 75%, transparent 75%, transparent);
}

.set-colorblind-mode .alert-primary,
.set-colorblind-mode .btn-outline-primary,
.set-colorblind-mode .btn-primary,
.set-colorblind-mode [class*=bg-primary-],
.set-colorblind-mode .bg-primary,
.pattern-2 {
  background-size: 15px 15px;
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(255, 255, 255, 0.2)), color-stop(50%, transparent), to(transparent));
  background-image: linear-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent);
}

.set-colorblind-mode .alert-success,
.set-colorblind-mode .btn-outline-success,
.set-colorblind-mode .btn-success,
.set-colorblind-mode [class*=bg-success-],
.set-colorblind-mode .bg-success,
.pattern-3 {
  background-size: 15px 15px;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(255, 255, 255, 0.2)), color-stop(50%, transparent), to(transparent));
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent);
}

.set-colorblind-mode .alert-info,
.set-colorblind-mode .btn-info,
.set-colorblind-mode .btn-outline-info,
.set-colorblind-mode [class*=bg-info-],
.set-colorblind-mode .bg-info,
.pattern-4 {
  background-size: 37px 37px;
  background-position: 0 0, 18.5px 18.5px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2));
}

.set-colorblind-mode .alert-warning,
.set-colorblind-mode .btn-outline-warning,
.set-colorblind-mode .btn-warning,
.set-colorblind-mode [class*=bg-warning-],
.set-colorblind-mode .bg-warning,
.pattern-5 {
  background-size: 37px 37px;
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2));
}

.set-high-contrast-mode[data-bs-theme=light] {
  --bs-body-color: #000;
  --input-placeholder-color: #000;
  --app-nav-link-color: #000;
  --app-nav-link-hover-color: #000;
  --app-nav-border-color: #000;
  --bs-primary-text-emphasis: #000;
  --bs-success-text-emphasis: #000;
  --bs-danger-text-emphasis: #000;
  --bs-warning-text-emphasis: #000;
  --bs-info-text-emphasis: #000;
  --bs-light-text-emphasis: #fff;
  --bs-dark-text-emphasis: #000;
  --bs-border-color: #b1b1b1;
  --app-layout-border-color: rgba(0, 0, 0, 0.17);
  --app-panel-border-color: #b1b1b1;
  --app-panel-border-bottom: #b1b1b1;
  --bs-info-border-color: #b1b1b1;
  --collapse-icon-border: #000;
  --row-grid-line-rgb: 0, 0, 0;
  --row-grid-opacity: 0.17;
}
.set-high-contrast-mode[data-bs-theme=light] .panel.panel-icon .panel-toolbar .btn-panel .sa-icon {
  stroke: #000 !important;
}
.set-high-contrast-mode[data-bs-theme=light] .panel.panel-icon .panel-toolbar .btn-panel {
  --sa-icon-hover-fill-opacity: 1;
}
.set-high-contrast-mode[data-bs-theme=light] .primary-nav {
  --app-nav-link-active-color: #fff;
  --app-nav-item-active-indicator: #fff;
  --app-nav-item-active-bg: #000;
}
.set-high-contrast-mode[data-bs-theme=light] .list-group {
  --bs-list-group-border-color: #b1b1b1;
}
.set-high-contrast-mode[data-bs-theme=light] .chat-segment-get .chat-message {
  background: #000 !important;
  color: #fff;
}
.set-high-contrast-mode[data-bs-theme=light] table {
  --bs-table-border-color: #000;
}
.set-high-contrast-mode[data-bs-theme=light] .sa-icon {
  --sa-icon-color: #000;
}
.set-high-contrast-mode[data-bs-theme=light] .text-muted,
.set-high-contrast-mode[data-bs-theme=light] .frame-heading {
  color: #000 !important;
}
.set-high-contrast-mode[data-bs-theme=light] .btn-default {
  --btn-color: #000;
  --btn-border-color: #000;
  --btn-hover-border-color: #000;
}
.set-high-contrast-mode[data-bs-theme=light] [class^=bg-opacity-],
.set-high-contrast-mode[data-bs-theme=light] [class*=" bg-opacity-"] {
  --bs-bg-opacity: 1;
}

.app-fob-lg {
  height: 16.25rem;
  width: 100%;
  border-radius: 0.625rem;
  border: 1px dashed rgba(var(--info), 1);
  background: rgba(var(--info), 0.1);
  position: relative;
}
.app-fob-lg:not(.active) {
  border-color: var(--bs-body-color);
  background: var(--bs-body-bg);
}
.app-fob-lg > div {
  transition: all 0.5s ease-in-out;
}
.app-fob-lg > :nth-child(1) {
  position: absolute;
  height: 20%;
  top: 0;
  right: 0;
  left: 0;
  border-radius: 0.625rem 0.625rem 0 0;
  background: rgba(var(--bs-body-color-rgb), 0.15);
  display: block;
}
.app-fob-lg > :nth-child(2) {
  width: 25%;
  background: rgba(var(--bs-body-color-rgb), 0.15);
  left: 0;
  bottom: 0;
  top: 25%;
  position: absolute;
  border-radius: 0 0 0 0.625rem;
}
.app-fob-lg > :nth-child(3) {
  background: repeating-linear-gradient(-55deg, rgba(var(--bs-body-color-rgb), 0.05), rgba(var(--bs-body-color-rgb), 0.05) 2px, rgba(var(--bs-body-color-rgb), 0) 2px, rgba(var(--bs-body-color-rgb), 0) 6px);
  background-color: rgba(var(--bs-body-color-rgb), 0.15);
  width: 70%;
  top: 25%;
  right: 0;
  bottom: 0;
  position: absolute;
}
.app-fob-lg[data-class^=set-header-fixed] > :nth-child(1) {
  background: #F68BEC;
}
.app-fob-lg[data-class^=set-nav-full] > :nth-child(1) {
  left: 35%;
  border-radius: 0 0.625rem 0 0;
}
.app-fob-lg[data-class^=set-nav-full] > :nth-child(2) {
  border-radius: 0.625rem 0 0 0.625rem;
  top: 5%;
}
.app-fob-lg[data-class^=set-nav-fixed] > :nth-child(2) {
  background: #F68BEC;
}
.app-fob-lg[data-class^=set-nav-collapse] > :nth-child(1) {
  background: rgba(0, 0, 0, 0.1);
}
.app-fob-lg[data-class^=set-nav-collapse] > :nth-child(2) {
  top: 14%;
  height: auto;
  bottom: 14%;
  z-index: 1;
  border-radius: 0 0.625rem 0.625rem 0;
  width: 7%;
  background: rgba(var(--warning), 0.6);
}
.app-fob-lg[data-class^=set-nav-collapse] > :nth-child(3) {
  width: auto;
  left: 5%;
  border-radius: 0 0 0.625rem 0.625rem;
}
.app-fob-lg[data-class^=set-nav-minified] > :nth-child(2) {
  width: 13%;
}
.app-fob-lg[data-class^=set-nav-minified] > :nth-child(3) {
  width: 73%;
}

.app-fob-showcase {
  overflow: hidden;
  border: none;
}

.app-fob-showcase-text {
  margin-bottom: 2rem;
  position: relative;
  padding: 1.1rem 1rem 1rem;
  border: 1px dashed var(--bs-emphasis-color);
  border-radius: 0.625rem;
}
.app-fob-showcase-text:after {
  content: attr(data-prefix);
  position: absolute;
  padding: 0.3125rem;
  border-radius: 0.3125rem;
  background: var(--bs-body-color);
  top: -0.875rem;
  right: 0.625rem;
  color: var(--bs-body-bg);
  font-size: 0.8125rem;
  line-height: 0.8125rem;
}

.app-themes {
  /* Hide the actual checkbox */
  /* Ensure items stretch and look selected when checked */
}
.app-themes .clickable-boxes input[type=radio] {
  display: none;
}
.app-themes .clickable-boxes {
  display: flex;
  flex-wrap: wrap;
  /* Allows items to wrap to the next line */
  justify-content: start;
  /* Aligns items at the start of each row */
  align-items: stretch;
  /* Stretch items vertically */
  align-content: flex-start;
  /* Align rows at the start */
  gap: 0.8125rem;
  /* Adds consistent spacing between items */
  padding: 0.5rem 0;
}
.app-themes .clickable-boxes label {
  flex: 1 1 calc(25% - 0.625rem);
  /* Adjust flex to define 4 items per row */
  max-width: calc(25% - 0.625rem);
  /* Set maximum width based on row layout */
  text-align: center;
  background-color: #ddd;
  color: #333;
  line-height: 4.04375rem;
  height: 4.04375rem;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.2s;
  font-size: 0.825rem;
  position: relative;
}
.app-themes .clickable-boxes label::after {
  content: attr(data-prefix);
  position: absolute;
  padding: 0.25rem;
  border-radius: 0.25rem;
  background: #e9e9e9;
  bottom: 0.25rem;
  left: 0.25rem;
  color: #333;
  font-size: 0.66rem;
  line-height: 0.66rem;
}
.app-themes .clickable-boxes input[type=radio]:checked + label {
  background-color: #4CAF50;
  color: white;
  transform: scale(1.05);
  outline: 3px solid #156be1;
}
.app-themes .clickable-boxes input[type=radio]:checked + label::after {
  background: #333;
  color: #e9e9e9;
}
.set-header-fixed .app-fob-showcase :nth-child(1) {
  background-color: rgba(var(--danger), 0.9);
}

.set-nav-full:not(.set-header-fixed) .app-fob-showcase :nth-child(1) {
  left: 30%;
  border-radius: 0 0.625rem 0 0;
}
.set-nav-full:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
  top: 0;
  border-radius: 0.625rem 0 0 0.625rem;
}

.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(1) {
  left: 0;
  border-radius: 0.625rem 0.625rem 0 0;
}
.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
  top: 0;
  background-color: rgba(var(--warning), 0.9);
  border-radius: 0;
}
.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(3) {
  left: 0;
  right: 0;
  width: auto;
}

.set-nav-full.set-nav-fixed:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
  background-color: rgba(var(--danger), 0.9);
}

.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(2) {
  background-color: rgba(var(--danger), 0.9);
}

.set-nav-full.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(1) {
  left: 30%;
  border-radius: 0 0.625rem 0 0;
  background-color: rgba(var(--danger), 0.9);
}
.set-nav-full.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(2) {
  top: 0;
  background-color: rgba(var(--danger), 0.9);
  border-radius: 0.625rem 0 0 0.625rem;
}

.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(1),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(1),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(1) {
  left: 0;
}
.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(2) {
  transform: translate3d(-90%, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.1) 7px 0px 6px 2px;
  animation: widthAnimation 4s ease-in-out 2 alternate;
  z-index: 1;
}
.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(3),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(3),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(3) {
  left: 0;
  right: 0;
  width: auto;
  border-radius: 0 0 0.625rem 0.625rem;
}

.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2) {
  background-color: rgba(var(--warning), 0.9);
}

.set-nav-fixed:not(.set-nav-full):not(.set-header-fixed) .primary-mod {
  border-color: rgba(var(--danger), 0.9);
  color: rgba(var(--danger), 0.9);
}
.set-nav-fixed:not(.set-nav-full):not(.set-header-fixed) .primary-mod:after {
  content: "Select an option";
  color: var(--bs-white);
  background: rgba(var(--danger), 0.9);
}

.mod-status {
  padding: 0.8rem 1rem 0.5rem;
  border: 1px dashed var(--bs-border-color);
  position: relative;
  border-radius: 0.5rem;
  margin-bottom: 2.5rem;
}
.mod-status:first-of-type {
  margin-top: 2rem;
}
.mod-status:after {
  content: attr(data-prefix);
  position: absolute;
  padding: 0.3125rem;
  border-radius: 0.3125rem;
  background: var(--bs-border-color);
  top: -0.875rem;
  right: 0.625rem;
  color: var(--bs-body-color);
  font-size: 0.8125rem;
  line-height: 0.8125rem;
}

.reset-button {
  opacity: 0.75;
  filter: grayscale(50%);
}

[class*=set-],
[data-bs-theme=dark],
.theme-active {
  /* style rules go here */
}
[class*=set-] .reset-button,
[data-bs-theme=dark] .reset-button,
.theme-active .reset-button {
  opacity: 1;
  filter: grayscale(0%);
}

.color-disp-demo tr:first-child td {
  height: 100px;
  -webkit-box-shadow: inset 0 -5px 0 rgba(255, 255, 255, 0.8);
  box-shadow: inset 0 -5px 0 rgba(255, 255, 255, 0.8);
}

.color-disp-demo tr td {
  border: none;
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
}

.color-disp-demo tr td:hover {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  font-weight: 500;
}

.cr-c {
  width: 1.3125rem;
  height: 1.3125rem;
  display: block;
  border-radius: 50%;
}

.icon-demo {
  list-style: none;
  padding: 0;
}

.icon-demo li {
  border: 1px solid #7f8995;
  padding: 0.625rem;
  display: inline-block;
  font-size: 1.25rem;
  width: 3.75rem;
  height: 3.75rem;
  overflow: hidden;
  margin: 0 0.375rem 0 0;
  text-align: center;
  background: var(--bs-body-bg);
}

.icon-demo li:hover {
  -webkit-transform: scale(1.4);
  transform: scale(1.4);
}

pre code.hljs {
  border-radius: 1rem;
}

.show-codes code[class*=language-], .show-codes pre[class*=language-] {
  display: block !important;
}

.container-demo {
  max-width: 100%;
  width: 100%;
}

.bd-example {
  position: relative;
  padding: 1rem 0;
}

.bd-example-row-flex-cols .row {
  min-height: 10rem;
  background-color: rgba(255, 0, 0, 0.1);
}

.bd-example-row .row > .col, .bd-example-row .row > [class^=col-] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  background-color: rgba(86, 61, 124, 0.15);
  border: 1px solid rgba(86, 61, 124, 0.2);
}

.bd-example-row .row + .row {
  margin-top: 1rem;
}

.bd-highlight {
  background-color: rgba(86, 61, 124, 0.2);
  border: 1px solid rgba(86, 61, 124, 0.2);
}

.demo {
  margin: 0;
}

.demo > * {
  margin: 0 0.375rem 1rem 0 !important;
}

.demo.demo-no-mb > * {
  margin-bottom: 0 !important;
}

.demo-v-spacing-lg > * + *,
.demo-v-spacing-sm > * + *,
.demo-v-spacing > * + * {
  margin-top: 0.875rem !important;
  margin-bottom: 0 !important;
}

.demo-v-spacing-lg > *, .demo-v-spacing-sm > *, .demo-v-spacing > * {
  margin-bottom: 0 !important;
}

.demo-v-spacing > * + * {
  margin-top: 1rem !important;
}

.demo-v-spacing-lg > * + * {
  margin-top: 1.5rem !important;
}

.demo-h-spacing > :not(last-child):not(only-child) {
  margin-right: 1rem !important;
}

.frame-heading {
  font-size: 0.8125rem;
  margin-bottom: 1rem;
  color: #a1a1a1;
  font-weight: 500;
}

.frame-heading small {
  font-size: 0.8125rem;
  margin-bottom: 0.5rem;
}

.frame-wrap {
  background: inherit;
  padding: 0;
  margin-bottom: 1.5rem;
}

* > .frame-wrap:last-child {
  margin-bottom: 0 !important;
}

.demo-window {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding-top: 1.4375rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  user-select: none;
}
.demo-window:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 3;
  height: 1.4375rem;
  background: #e5e5e5;
}
.demo-window:after {
  content: "";
  position: absolute;
  left: 0.625rem;
  background: #ccc;
  top: 0.375rem;
  z-index: 4;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
}
.demo-window .demo-window-content {
  width: 100%;
  background: rgba(255, 255, 255, 0.15);
}
.demo-window .demo-window-content img {
  display: block;
  width: 100%;
}
.demo-window .demo-window-content:before {
  content: "";
  position: absolute;
  left: 1.625rem;
  background: #ccc;
  top: 0.375rem;
  z-index: 4;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
}
.demo-window .demo-window-content:after {
  content: "";
  position: absolute;
  left: 2.6875rem;
  background: #ccc;
  top: 0.375rem;
  z-index: 4;
  width: 0.6875rem;
  height: 0.6875rem;
  border-radius: 50%;
}

.button {
  background-color: rgba(var(--primary), 1);
  border: none;
  color: white;
  padding: 0.9375rem 1.25rem;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 1rem;
  cursor: pointer;
  width: 100%;
  font-weight: 500;
  border-radius: 0.625rem;
}
.button:hover {
  background-color: rgba(var(--primary), 0.9);
}
.button:active {
  scale: 0.98;
}

.info-container {
  padding: 1rem;
  border: 1px dashed var(--bs-info-border-color, rgba(0, 0, 0, 0.1));
  border-radius: 0.625rem;
  margin-bottom: 2rem;
  font-size: 0.875rem;
  background: var(--bs-info-bg, rgba(var(--warning), 0.1));
  color: var(--bs-info-color, var(--bs-body-color));
}

ol {
  margin: 0; /* removes the default margin */
  padding: 0; /* removes the default padding */
  margin-left: 2.5rem; /* adds a left margin of 40px */
}

[data-bs-theme=dark] {
  color-scheme: dark;
  --bs-body-color: #dee2e6;
  --bs-body-color-rgb: 222, 226, 230;
  --bs-body-bg: #212529;
  --bs-body-bg-rgb: 33, 37, 41;
  --bs-emphasis-color: #fff;
  --bs-emphasis-color-rgb: 255, 255, 255;
  --bs-secondary-color: rgba(222, 226, 230, 0.75);
  --bs-secondary-color-rgb: 222, 226, 230;
  --bs-secondary-bg: #343a40;
  --bs-secondary-bg-rgb: 52, 58, 64;
  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
  --bs-tertiary-color-rgb: 222, 226, 230;
  --bs-tertiary-bg: #2b3035;
  --bs-tertiary-bg-rgb: 43, 48, 53;
  --bs-primary-text-emphasis: #b8a6d3;
  --bs-secondary-text-emphasis: #a7acb1;
  --bs-success-text-emphasis: #77dfd4;
  --bs-info-text-emphasis: #7ac0f8;
  --bs-warning-text-emphasis: #ffda8d;
  --bs-danger-text-emphasis: #fe88bf;
  --bs-light-text-emphasis: #f8f9fa;
  --bs-dark-text-emphasis: #dee2e6;
  --bs-primary-bg-subtle: #1b1524;
  --bs-secondary-bg-subtle: #161719;
  --bs-success-bg-subtle: #062825;
  --bs-info-bg-subtle: #071e31;
  --bs-warning-bg-subtle: #33270d;
  --bs-danger-bg-subtle: #330b1e;
  --bs-light-bg-subtle: #343a40;
  --bs-dark-bg-subtle: #1a1d20;
  --bs-primary-border-subtle: #52406d;
  --bs-secondary-border-subtle: #41464b;
  --bs-success-border-subtle: #11796e;
  --bs-info-border-subtle: #145a92;
  --bs-warning-border-subtle: #997427;
  --bs-danger-border-subtle: #982259;
  --bs-light-border-subtle: #495057;
  --bs-dark-border-subtle: #343a40;
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --bs-headings-color: inherit;
  --bs-link-color: #b8a6d3;
  --bs-link-hover-color: #c6b8dc;
  --bs-code-color: #a7acb1;
  --bs-mark-color: #dee2e6;
  --bs-mark-bg: #ffda6a;
  --bs-form-select-indicator-color: #dee2e6;
  --bs-form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>");
  --bs-form-switch-color: rgba(255, 255, 255, 0.25);
  --bs-form-switch-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='rgba(255, 255, 255, 0.25)'/></svg>");
  --bs-form-valid-color: #75b798;
  --bs-form-valid-border-color: #75b798;
  --bs-form-invalid-color: #ea868f;
  --bs-form-invalid-border-color: #ea868f;
  --bs-accordion-icon-color: #b8a6d3;
  --bs-accordion-icon-active-color: #b8a6d3;
  --bs-accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#b8a6d3'><path 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'/></svg>");
  --bs-accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#b8a6d3'><path 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'/></svg>");
  --bs-border-color: #495057;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
  --app-nav-link-color: #adb5bd;
  --app-nav-link-hover-color: #59adff;
  --app-nav-link-active-color: #fff;
  --app-nav-title-color: #6c757d;
  --app-nav-border-color: #495057;
  --app-nav-item-hover-bg: rgba(255, 255, 255, 0.05);
  --app-nav-item-active-bg: rgba(255, 255, 255, 0.05);
  --app-nav-item-active-indicator: rgba(255, 255, 255, 0.9);
  --app-nav-collapse-sign-color: var(--app-nav-link-color);
  --app-header-background: #272b30;
  --app-nav-background: var(--app-header-background);
  --app-drawer-background: var(--app-header-background);
  --app-layout-border-color: var(--bs-border-color);
  --app-content-background: #363c41;
  --app-panel-bg: var(--app-header-background);
  --app-panel-border-color: var(--bs-border-color);
  --app-panel-border-bottom: var(--bs-border-color);
  --panel-tag-background: rgb(43 68 62);
  --panel-drag-bg: var(--app-content-background);
  --bs-input-bg: #2b3035;
  --bs-input-border-color: #495057;
  --bs-input-color: var(--bs-body-color);
  --bs-input-focus-bg: #2b3035;
  --bs-input-focus-border-color: #86b7fe;
  --bs-input-focus-color: var(--bs-emphasis-color);
  --app-scrollbar-bg: var(--bs-tertiary-bg);
  --app-scrollbar-thumb: var(--bs-secondary-bg);
  --app-scrollbar-thumb-hover: var(--bs-border-color);
  --app-card-bg: var(--bs-tertiary-bg);
  --app-dropdown-bg: var(--bs-tertiary-bg);
  --app-dropdown-border-color: var(--bs-border-color);
  --app-dropdown-link-color: var(--bs-body-color);
  --app-dropdown-link-hover-bg: var(--bs-secondary-bg);
  --app-dropdown-link-hover-color: var(--bs-emphasis-color);
  --app-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.25);
  --app-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
  --app-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.35);
  --page-breadcrumbs-text-shadow: #000;
  --page-subheader-text-shadow: #000;
  --page-subheader-color: var(--bs-emphasis-color);
  --bs-info-bg: rgb(69 59 31);
  --bs-info-border-color: rgb(147 126 70);
  --btn-system-bg-opacity: 0.07;
  --collapse-icon-border: rgba(255, 255, 255, 0.3);
  --collapse-icon-border-hover: rgba(var(--primary), 0.8);
  --collapse-icon-width: 2.5rem;
  --collapse-icon-height: 1.8rem;
  --bs-link-color-rgb: 110, 168, 254;
  --bs-link-hover-color-rgb: 139, 185, 254;
}
[data-bs-theme=dark] .dropdown-menu {
  --bs-dropdown-link-hover-color: var(--app-nav-link-hover-color);
}
[data-bs-theme=dark] #panelDeleteModal .modal-content {
  border-color: var(--bs-border-color);
}
[data-bs-theme=dark] .grid-background {
  --background-color: #333333;
  --background-image-color: 255, 255, 255;
}
[data-bs-theme=dark] .grid-background-dark {
  --background-color: #ffffff;
  --background-image-color: 0, 0, 0;
}
[data-bs-theme=dark] .form-check-input {
  --bs-form-check-bg: #727374;
}
[data-bs-theme=dark] .pagination {
  --bs-pagination-focus-color: var(--bs-emphasis-color);
  --bs-pagination-color: var(--bs-emphasis-color);
}
[data-bs-theme=dark] .app-logo::before {
  background-color: var(--bs-body-bg);
}
[data-bs-theme=dark] .app-logo > svg {
  --logo-color: var(--primary-500);
  color: rgb(225, 227, 229);
}
[data-bs-theme=dark] .card {
  --bs-card-bg: var(--app-panel-bg);
}
[data-bs-theme=dark] .dropdown-menu {
  --bs-dropdown-bg: #373b3f;
  border: 1px solid var(--bs-border-color);
}
[data-bs-theme=dark] .accordion-button {
  --bs-accordion-active-bg: rgba(var(--white), 0.04);
}
[data-bs-theme=dark] .accordion-button::after {
  filter: invert(90%) hue-rotate(180deg) brightness(1.2);
}
[data-bs-theme=dark] .nav-tabs {
  --bs-nav-tabs-link-active-bg: var(--app-panel-bg);
  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) transparent;
}
[data-bs-theme=dark] .tooltip {
  --bs-tooltip-color: #fff;
}
[data-bs-theme=dark] .modal-content {
  --bs-modal-bg: #373b3f;
  --bs-modal-border-color: var(--bs-border-color);
  --bs-modal-header-color: #fff;
}
[data-bs-theme=dark] .inverse-color {
  filter: invert(90%) hue-rotate(180deg) brightness(1.2);
}
[data-bs-theme=dark] .popover:not([class*=primary-], [class*=secondary-], [class*=success-], [class*=danger-], [class*=warning-], [class*=info-], [class*=dark-], [class*=light-]) {
  --bs-popover-border-color: rgba(0, 0, 0, 0.5);
  --bs-popover-header-color: var(--bs-light);
  --bs-popover-bg: rgba(0, 0, 0, 0.5);
  --bs-popover-arrow-border: rgba(0, 0, 0, 0.5);
}
[data-bs-theme=dark] .btn-outline-secondary {
  --bs-btn-color: var(--bs-body-color);
}
[data-bs-theme=dark] .btn-default {
  --btn-background-color: var(--bs-gray-300);
  --btn-default-bg-top: rgba(var(--bs-body-bg-rgb), 0.85);
  --btn-default-bg-bottom: rgba(var(--bs-body-bg-rgb), 1);
  --btn-border-color: var(--fusion-700);
  --btn-hover-border-color: var(--fusion-900);
  --btn-color: rgba(var(--bs-light-rgb), 0.85);
  --btn-hover-color: rgba(var(--bs-light-rgb), 1);
  --btn-focus-color: rgba(var(--bs-light-rgb), 1);
}

.set-rtl {
  --direction: rtl;
  direction: var(--direction);
}
/*# sourceMappingURL=smartapp.css.map */
