/* ------------------------------------------------------------------------------
 *
 *  # Core layout
 *
 *  Content area, sidebar, page header and boxed layout styles
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Global configuration
 *
 *  Here you can change main theme, enable or disable certain components and
 *  optional styles. This allows you to include only components that you need.
 *
 *  'true'  - enables component and includes it to main CSS file.
 *  'false' - disables component and excludes it from main CSS file.
 *
 *  Layout helper: @if $layout == 'base' {...}
 *  Theme helper: @if $theme == 'material' {...}
 *  Component helper: @if $enable-* {...}
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Custom Limitless functions
 *
 *  Utility mixins and functions for evalutating source code across our variables, maps, and mixins.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Custom template mixins
 *
 *  All custom mixins are prefixed with "ll-" to avoid conflicts
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Main colors
 *
 *  List of the template main color palettes
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Default Bootstrap variable overrides
 *
 *  Variables should follow the `$component-state-property-size` formula for
 *  consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
 *  Also includes custom variables, all marked with "!default" flag.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Additional variables
 *
 *  Mainly 3rd party libraries and additional variables for default
 *  Bootstrap components.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Mixins
 *
 *  Import Bootstrap mixins with overrides
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Badge mixin
 *
 *  Override and extend default badge mixin.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Buttons mixin
 *
 *  Override and extend default buttons mixin.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Caret mixin
 *
 *  Override and extend default cared mixin.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Forms mixin
 *
 *  Override and extend default forms mixin.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Background mixin
 *
 *  Override and extend default background mixin.
 *
 * ---------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------
 *
 *  # Main content layout
 *
 *  Styles for main structure of content area
 *
 * ---------------------------------------------------------------------------- */
html {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }

body {
  min-height: 100vh;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex: 1;
      flex: 1; }

.page-content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-positive: 1;
      flex-grow: 1; }

.content-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex: 1;
      flex: 1;
  overflow: auto; }

.content {
  padding: 1.25rem 1.25rem;
  -ms-flex-positive: 1;
      flex-grow: 1; }
  .content::after {
    display: block;
    clear: both;
    content: ""; }

/* ------------------------------------------------------------------------------
 *
 *  # Page header
 *
 *  Page header components and color options
 *
 * ---------------------------------------------------------------------------- */
.page-title {
  padding: 1rem 0 1rem 0;
  position: relative; }
  .page-title small {
    display: inline-block;
    margin-right: 0.625rem; }
    .page-title small:before {
      content: '/';
      margin-left: 0.875rem; }
    .page-title small.d-block {
      margin-right: 0; }
      .page-title small.d-block:before {
        content: none; }
  .page-title small.d-block,
  .page-title .breadcrumb {
    margin-right: 1.875rem; }
  .page-title h1, .page-title h2, .page-title h3, .page-title h4, .page-title h5, .page-title h6 {
    margin: 0; }

.page-header-content {
  position: relative;
  padding: 0 1.25rem; }
  .page-header-content[class*=border-bottom-] + .breadcrumb-line {
    border-top: 0; }

.page-header-light {
  background-color: #fff;
  border-bottom: 1px solid #ddd; }
  .page-header-light.has-cover {
    background: url(../images/backgrounds/seamless.png); }

.page-header-dark {
  background-color: #273246;
  color: #fff;
  margin-bottom: 1.25rem; }
  .page-header-dark > .breadcrumb > li > a,
  .page-header-dark > .breadcrumb > li + li:before,
  .page-header-dark .page-header-content .breadcrumb > li > a,
  .page-header-dark .page-header-content .breadcrumb > li + li:before {
    color: rgba(255, 255, 255, 0.9); }
  .page-header-dark > .breadcrumb > li > a:hover, .page-header-dark > .breadcrumb > li > a:focus,
  .page-header-dark .page-header-content .breadcrumb > li > a:hover,
  .page-header-dark .page-header-content .breadcrumb > li > a:focus {
    color: #fff;
    opacity: 1; }
  .page-header-dark > .breadcrumb > .active,
  .page-header-dark .page-header-content .breadcrumb > .active {
    color: rgba(255, 255, 255, 0.5); }
  .page-header-dark.has-cover {
    background: url(../images/login_cover.jpg);
    background-size: cover; }

/* ------------------------------------------------------------------------------
 *
 *  # Sidebar layouts
 *
 *  Sidebar components, main navigation and sidebar itself
 *
 * ---------------------------------------------------------------------------- */
.sidebar {
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  width: 16.875rem;
  z-index: 1040; }
  .sidebar:not(.sidebar-component) {
    position: fixed;
    top: 0;
    bottom: 0;
    box-sizing: content-box;
    transition: all ease-in-out 0.15s; }
    @media screen and (prefers-reduced-motion: reduce) {
      .sidebar:not(.sidebar-component) {
        transition: none; } }
  .sidebar-main,
  .sidebar-main .sidebar-content, .sidebar-secondary,
  .sidebar-secondary .sidebar-content {
    right: -18.5625rem; }
  .sidebar-right,
  .sidebar-right .sidebar-content {
    left: -18.5625rem; }
  .sidebar.sidebar-fullscreen {
    width: 100%; }

.sidebar:not(.sidebar-component) .sidebar-content {
  position: fixed;
  top: 3.00003rem;
  bottom: 0;
  width: inherit;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  transition: right ease-in-out 0.15s, left ease-in-out 0.15s; }
  @media screen and (prefers-reduced-motion: reduce) {
    .sidebar:not(.sidebar-component) .sidebar-content {
      transition: none; } }
  .navbar-lg:first-child ~ .page-content .sidebar:not(.sidebar-component) .sidebar-content {
    top: 3.25003rem; }
  .navbar-sm:first-child ~ .page-content .sidebar:not(.sidebar-component) .sidebar-content {
    top: 2.75003rem; }

.sidebar-mobile-main .sidebar-main {
  box-shadow: -0.25rem 0 1rem rgba(0, 0, 0, 0.35); }
  .sidebar-mobile-main .sidebar-main,
  .sidebar-mobile-main .sidebar-main .sidebar-content {
    right: 0; }

.sidebar-mobile-secondary .sidebar-secondary {
  box-shadow: -0.25rem 0 1rem rgba(0, 0, 0, 0.35); }
  .sidebar-mobile-secondary .sidebar-secondary,
  .sidebar-mobile-secondary .sidebar-secondary .sidebar-content {
    right: 0; }

.sidebar-mobile-right .sidebar-right {
  display: block;
  box-shadow: 0.25rem 0 1rem rgba(0, 0, 0, 0.35); }
  .sidebar-mobile-right .sidebar-right,
  .sidebar-mobile-right .sidebar-right .sidebar-content {
    left: 0; }

.sidebar-mobile-component .sidebar-component {
  display: block; }

.nav-sidebar {
  -ms-flex-direction: column;
      flex-direction: column;
      min-height: 1000px; }
  .nav-sidebar .nav-item:not(.nav-item-header):first-child {
    padding-top: 0; }
  .nav-sidebar .nav-item:not(.nav-item-header):last-child {
    padding-bottom: 0; }
  .nav-sidebar .nav-item:not(.nav-item-divider) {
    margin-bottom: 1px; }
    .nav-sidebar .nav-item:not(.nav-item-divider):last-child {
      margin-bottom: 0; }
  .nav-sidebar > .nav-item > .nav-link {
    font-weight: 500; }
  .nav-sidebar .nav-link {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 0.75rem 1.25rem;
    transition: background-color ease-in-out 0.15s, color ease-in-out 0.15s; }
    @media screen and (prefers-reduced-motion: reduce) {
      .nav-sidebar .nav-link {
        transition: none; } }
    .nav-sidebar .nav-link i {
      margin-left: 1.25rem;
      margin-top: 0.12502rem;
      margin-bottom: 0.12502rem;
      top: 0; }
    .nav-sidebar .nav-link .badge {
      transition: background-color ease-in-out 0.15s, border-color ease-in-out 0.15s; }
      @media screen and (prefers-reduced-motion: reduce) {
        .nav-sidebar .nav-link .badge {
          transition: none; } }
    .nav-sidebar .nav-link.disabled, .nav-sidebar .nav-link.disabled:hover, .nav-sidebar .nav-link.disabled:focus {
      background-color: transparent;
      opacity: 0.5; }
  .nav-sidebar .nav-item-header {
    padding: 0.75rem 1.25rem;
    margin-top: 0.5rem; }
    .nav-sidebar .nav-item-header > i {
      display: none; }
  .nav-sidebar .nav-item-divider {
    margin: 5px 0;
    height: 1px; }

.nav-item-submenu > .nav-link {
  padding-left: 2.75rem; }
  .nav-item-submenu > .nav-link:after {
    content: '\e9c4';
    font-family: "icomoon";
    display: inline-block;
    font-size: 1rem;
    vertical-align: middle;
    line-height: 1;
    position: absolute;
    top: 0.75rem;
    margin-top: 0.12502rem;
    left: 1.25rem;
    transition: -webkit-transform 0.25s ease-in-out;
    transition: transform 0.25s ease-in-out;
    transition: transform 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media screen and (prefers-reduced-motion: reduce) {
      .nav-item-submenu > .nav-link:after {
        transition: none; } }

.nav-item-submenu.nav-item-open > .nav-link:after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.nav-group-sub {
  display: none; }
  .nav-group-sub .nav-link {
    padding: 0.3rem 3.5rem 0.3rem 1.25rem; }
  .nav-group-sub .nav-group-sub .nav-link {
    padding-right: 4.75rem; }
  .nav-group-sub .nav-group-sub .nav-group-sub .nav-link {
    padding-right: 6rem; }
  .nav-group-sub .nav-item-submenu > .nav-link:after {
    top: 0.325rem; }
  .nav-item-expanded > .nav-group-sub {
    display: block; }

.nav-scrollspy .nav-link.active + .nav,
.nav-scrollspy .nav-item-open .nav-link:not(.active) + .nav {
  display: block; }

.nav-scrollspy .nav-link.active:after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg); }

.nav-sidebar-icons-reverse .nav-link {
  padding-left: 3.5rem; }
  .nav-sidebar-icons-reverse .nav-link i {
    position: absolute;
    top: 0.75rem;
    left: 1.25rem;
    margin-left: 0; }

.nav-sidebar-icons-reverse .nav-item-submenu .nav-link {
  padding-left: 4.5rem; }
  .nav-sidebar-icons-reverse .nav-item-submenu .nav-link:after {
    left: 3.25rem; }

.nav-sidebar-icons-reverse .nav-group-sub .nav-link {
  padding-right: 2.5rem; }
  .nav-sidebar-icons-reverse .nav-group-sub .nav-link i {
    top: 0.625rem; }

.nav-sidebar-icons-reverse .nav-group-sub .nav-group-sub .nav-link {
  padding-right: 3.75rem; }

.nav-sidebar-icons-reverse .nav-group-sub .nav-group-sub .nav-group-sub .nav-link {
  padding-right: 5rem; }

.nav-sidebar-bordered > .nav-item + .nav-item:not(.nav-item-divider) {
  margin-bottom: 0; }

.sidebar .card:first-child .nav-sidebar-bordered {
  padding-top: 0; }
  .sidebar .card:first-child .nav-sidebar-bordered > .nav-item:first-child,
  .sidebar .card:first-child .nav-sidebar-bordered > .nav-item-header:first-child {
    border-top: 0; }

.sidebar .card:last-child .nav-sidebar-bordered {
  padding-bottom: 0; }
  .sidebar .card:last-child .nav-sidebar-bordered > .nav-item:last-child,
  .sidebar .card:last-child .nav-sidebar-bordered > .nav-item-header:last-child {
    border-bottom: 0; }

.sidebar-dark .nav-sidebar-bordered > .nav-item {
  border-top: 1px solid rgba(255, 255, 255, 0.1); }
  .sidebar-dark .nav-sidebar-bordered > .nav-item:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

.sidebar-dark .nav-sidebar-bordered > .nav-item-header {
  background-color: rgba(0, 0, 0, 0.1);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  margin: 0; }

.sidebar-light .nav-sidebar-bordered > .nav-item {
  border-top: 1px solid #eee; }
  .sidebar-light .nav-sidebar-bordered > .nav-item:last-child {
    border-bottom: 1px solid #eee; }

.sidebar-light .nav-sidebar-bordered > .nav-item-header {
  background-color: #fafafa;
  border-top: 1px solid #eee;
  margin: 0; }

.sidebar-mobile-toggler {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent; }
  .sidebar-mobile-toggler a {
    padding: 0.875rem 1.25rem;
    transition: all ease-in-out 0.15s; }
    @media screen and (prefers-reduced-motion: reduce) {
      .sidebar-mobile-toggler a {
        transition: none; } }
    .navbar-lg:first-child ~ .page-content .sidebar-mobile-toggler a {
      padding: 1rem 1.25rem; }
    .navbar-sm:first-child ~ .page-content .sidebar-mobile-toggler a {
      padding: 0.75rem 1.25rem; }

.sidebar-mobile-expand i:last-child:not(:first-child) {
  display: none; }

.sidebar-fullscreen .sidebar-mobile-expand i:first-child {
  display: none; }

.sidebar-fullscreen .sidebar-mobile-expand i:last-child {
  display: inline-block; }

.sidebar-dark {
  background-color: #263238;
  color: #fff; }
  .sidebar-dark .sidebar-mobile-toggler {
    color: rgba(255, 255, 255, 0.9);
    border-bottom-color: rgba(255, 255, 255, 0.1); }
    .sidebar-dark .sidebar-mobile-toggler:not([class*=bg-]) {
      background-color: #1e272c; }
    .sidebar-dark .sidebar-mobile-toggler a {
      color: rgba(255, 255, 255, 0.9); }
      .sidebar-dark .sidebar-mobile-toggler a:hover {
        color: #fff;
        background-color: transparent; }
  .sidebar-dark .card-header {
    border-color: rgba(255, 255, 255, 0.1); }

.sidebar-dark .nav-sidebar .nav-link,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-link {
  color: rgba(255, 255, 255, 0.9); }
  .sidebar-dark .nav-sidebar .nav-link:not(.disabled):hover,
  .sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-link:not(.disabled):hover {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.15); }

.sidebar-dark .nav-sidebar .nav-item > .nav-link.active,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-item > .nav-link.active {
  background-color: rgba(0, 0, 0, 0.15);
  color: #fff; }

.sidebar-dark .nav-sidebar .nav-item-open > .nav-link:not(.disabled),
.sidebar-dark .nav-sidebar > .nav-item-expanded:not(.nav-item-open) > .nav-link,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-item-open > .nav-link:not(.disabled),
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item-expanded:not(.nav-item-open) > .nav-link {
  background-color: rgba(0, 0, 0, 0.15);
  color: #fff; }

.sidebar-dark .nav-sidebar > .nav-item-open > .nav-link:not(.disabled),
.sidebar-dark .nav-sidebar > .nav-item > .nav-link.active,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item-open > .nav-link:not(.disabled),
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item > .nav-link.active {
  background-color: #26A69A;
  color: #fff; }

.sidebar-dark .nav-sidebar .nav-item-header,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-item-header {
  color: rgba(255, 255, 255, 0.5); }

.sidebar-dark .nav-sidebar .nav-item-divider,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar .nav-item-divider {
  background-color: rgba(255, 255, 255, 0.1); }

.sidebar-dark .nav-sidebar > .nav-item-submenu > .nav-group-sub,
.sidebar-light .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item-submenu > .nav-group-sub {
  background-color: rgba(0, 0, 0, 0.15); }

.sidebar-dark[class*=bg-] .nav-sidebar > .nav-item-open > .nav-link:not(.disabled),
.sidebar-dark[class*=bg-] .nav-sidebar > .nav-item > .nav-link.active,
.sidebar .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item-open > .nav-link:not(.disabled),
.sidebar .card[class*=bg-]:not(.bg-light):not(.bg-white):not(.bg-transparent) .nav-sidebar > .nav-item > .nav-link.active {
  background-color: rgba(0, 0, 0, 0.3); }

.sidebar-light {
  background-color: #fff;
  color: #333;
  border-left: 1px solid rgba(0, 0, 0, 0.125);
  background-clip: content-box; }
  .sidebar-light.sidebar-right {
    border-left: 0;
    border-right: 1px solid rgba(0, 0, 0, 0.125); }
  .sidebar-light .nav-sidebar .nav-link {
    color: rgba(51, 51, 51, 1); }
    .sidebar-light .nav-sidebar .nav-link:not(.disabled):hover {
      color: #333;
      background-color: #f5f5f5; }
  .sidebar-light .nav-sidebar .nav-item > .nav-link.active {
    background-color: #f5f5f5;
    color: #333; }
  .sidebar-light .nav-sidebar .nav-item-open > .nav-link:not(.disabled),
  .sidebar-light .nav-sidebar > .nav-item-expanded:not(.nav-item-open) > .nav-link {
    background-color: #f5f5f5;
    color: #333; }
  .sidebar-light .nav-sidebar > .nav-item-open > .nav-link:not(.disabled),
  .sidebar-light .nav-sidebar > .nav-item > .nav-link.active {
    background-color: #f5f5f5;
    color: #333; }
  .sidebar-light .nav-sidebar .nav-item-header {
    color: rgba(51, 51, 51, 0.5); }
  .sidebar-light .nav-sidebar .nav-item-divider {
    background-color: rgba(0, 0, 0, 0.125); }
  .sidebar-light .nav-sidebar > .nav-item-submenu > .nav-group-sub {
    background-color: transparent; }
  .sidebar-light .sidebar-mobile-toggler {
    color: rgba(51, 51, 51, 0.8);
    border-bottom-color: rgba(0, 0, 0, 0.125); }
    .sidebar-light .sidebar-mobile-toggler:not([class*=bg-]) {
      background-color: whitesmoke; }
    .sidebar-light .sidebar-mobile-toggler a {
      color: rgba(51, 51, 51, 0.8); }
      .sidebar-light .sidebar-mobile-toggler a:hover {
        color: #333;
        background-color: transparent; }
    .sidebar-light .sidebar-mobile-toggler[class*=bg-]:not(.bg-white):not(.bg-light):not(.bg-transparent) {
      color: rgba(255, 255, 255, 0.9);
      border-bottom-color: rgba(255, 255, 255, 0.1); }
      .sidebar-light .sidebar-mobile-toggler[class*=bg-]:not(.bg-white):not(.bg-light):not(.bg-transparent) a {
        color: rgba(255, 255, 255, 0.9); }
        .sidebar-light .sidebar-mobile-toggler[class*=bg-]:not(.bg-white):not(.bg-light):not(.bg-transparent) a:hover {
          color: #fff;
          background-color: transparent; }

.sidebar-component {
  display: none;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 0.1875rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); }
  .sidebar-component.sidebar-dark {
    border-color: rgba(255, 255, 255, 0.1); }
  .sidebar-component.sidebar-light {
    border-color: rgba(0, 0, 0, 0.125); }

@media (min-width: 768px) {
  .sidebar-xs .sidebar-main {
    width: 3.5rem; }
    .sidebar-xs .sidebar-main .sidebar-content::-webkit-scrollbar {
      width: 0 !important; }
    .sidebar-xs .sidebar-main .card:not(.card-sidebar-mobile),
    .sidebar-xs .sidebar-main .card-title {
      display: none; }
    .sidebar-xs .sidebar-main .card-header h6 + .header-elements {
      padding-top: 0.22117rem;
      padding-bottom: 0.22117rem; }
    .sidebar-xs .sidebar-main .card-header h5 + .header-elements {
      padding-top: 0.31733rem;
      padding-bottom: 0.31733rem; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item {
      position: relative;
      margin: 0; }
      .sidebar-xs .sidebar-main .nav-sidebar > .nav-item > .nav-link {
        -ms-flex-pack: center;
            justify-content: center;
        padding-right: 0;
        padding-left: 0; }
        .sidebar-xs .sidebar-main .nav-sidebar > .nav-item > .nav-link > i {
          position: static;
          margin-right: 0;
          margin-left: 0;
          display: block;
          padding-bottom: 1px; }
        .sidebar-xs .sidebar-main .nav-sidebar > .nav-item > .nav-link > span {
          display: none; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-submenu:hover > .nav-group-sub, .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-submenu:focus > .nav-group-sub {
      display: block !important; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-submenu > .nav-group-sub {
      position: absolute;
      top: -0.5rem;
      left: -16.875rem;
      width: 16.875rem;
      display: none;
      z-index: 1000;
      box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
      border-top-left-radius: 0.1875rem;
      border-bottom-left-radius: 0.1875rem; }
      .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-submenu > .nav-group-sub[data-submenu-title]:before {
        content: attr(data-submenu-title);
        display: block;
        padding: 0.75rem 1.25rem;
        padding-bottom: 0;
        margin-top: 0.5rem;
        opacity: 0.5; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-submenu > .nav-link:after {
      content: none; }
    .sidebar-xs .sidebar-main .nav-sidebar .nav-group-sub .nav-link {
      padding-right: 1.25rem; }
    .sidebar-xs .sidebar-main .nav-sidebar .nav-group-sub .nav-group-sub .nav-link {
      padding-right: 2.25rem; }
    .sidebar-xs .sidebar-main .nav-sidebar .nav-group-sub .nav-group-sub .nav-group-sub .nav-link {
      padding-right: 3.5rem; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-header {
      padding: 0;
      text-align: center; }
      .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-header > i {
        display: block;
        top: 0;
        padding: 0.75rem 1.25rem;
        margin-top: 0.12502rem;
        margin-bottom: 0.12502rem; }
      .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-header > div {
        display: none; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item-open > .nav-group-sub {
      display: none !important; }
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item:hover > .nav-link.disabled + .nav-group-sub,
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item:hover > .nav-link.disabled > span, .sidebar-xs .sidebar-main .nav-sidebar > .nav-item:focus > .nav-link.disabled + .nav-group-sub,
    .sidebar-xs .sidebar-main .nav-sidebar > .nav-item:focus > .nav-link.disabled > span {
      display: none !important; }
    .sidebar-xs .sidebar-main .sidebar-user .card-body {
      padding-right: 0;
      padding-left: 0; }
    .sidebar-xs .sidebar-main .sidebar-user .media {
      -ms-flex-pack: center;
          justify-content: center; }
      .sidebar-xs .sidebar-main .sidebar-user .media > div:not(:first-child) {
        display: none !important; }
      .sidebar-xs .sidebar-main .sidebar-user .media > div:first-child {
        margin: 0 !important; }
    .sidebar-xs .sidebar-main .nav-item-submenu-reversed .nav-group-sub {
      top: auto !important;
      bottom: 0; }
    .sidebar-xs .sidebar-main.sidebar-dark .nav-sidebar > .nav-item:not(.nav-item-open):hover > .nav-link:not(.active):not(.disabled) {
      color: #fff;
      background-color: rgba(0, 0, 0, 0.15); }
    .sidebar-xs .sidebar-main.sidebar-dark .nav-sidebar > .nav-item-submenu > .nav-group-sub {
      background-color: #304047;
      border-right: 1px solid rgba(255, 255, 255, 0.1); }
    .sidebar-xs .sidebar-main.sidebar-light .nav-sidebar > .nav-item:not(.nav-item-open):hover > .nav-link:not(.active):not(.disabled) {
      color: #333;
      background-color: #f5f5f5; }
    .sidebar-xs .sidebar-main.sidebar-light .nav-sidebar > .nav-item-submenu > .nav-group-sub {
      background-color: #fcfcfc;
      border: 1px solid rgba(0, 0, 0, 0.125); }
  .sidebar-xs .sidebar-main.sidebar-fixed {
    z-index: 1029; }
    .sidebar-xs .sidebar-main.sidebar-fixed .nav-sidebar > .nav-item-submenu:hover > .nav-group-sub, .sidebar-xs .sidebar-main.sidebar-fixed .nav-sidebar > .nav-item-submenu:focus > .nav-group-sub {
      position: fixed;
      right: 3.5rem;
      top: 3.12503rem;
      bottom: 0;
      width: 16.875rem;
      overflow-y: auto;
      border-radius: 0; }
  .sidebar-xs .navbar-lg:first-child ~ .page-content .sidebar-fixed.sidebar-main .nav-sidebar > .nav-item-submenu:hover > .nav-group-sub, .sidebar-xs .navbar-lg:first-child ~ .page-content .sidebar-fixed.sidebar-main .nav-sidebar > .nav-item-submenu:focus > .nav-group-sub {
    top: 3.37503rem; }
  .sidebar-xs .navbar-sm:first-child ~ .page-content .sidebar-fixed.sidebar-main .nav-sidebar > .nav-item-submenu:hover > .nav-group-sub, .sidebar-xs .navbar-sm:first-child ~ .page-content .sidebar-fixed.sidebar-main .nav-sidebar > .nav-item-submenu:focus > .nav-group-sub {
    top: 2.87503rem; } }

@media (min-width: 576px) {
  .sidebar-expand-sm.sidebar-main {
    z-index: 99;
    box-shadow: none; }
    .sidebar-expand-sm.sidebar-main .sidebar-content {
      right: 0; }
  .sidebar-expand-sm.sidebar-secondary {
    z-index: 98;
    box-shadow: none; }
    .sidebar-expand-sm.sidebar-secondary .sidebar-content {
      right: 0; }
  .sidebar-expand-sm.sidebar-right {
    z-index: 97;
    box-shadow: none; }
    .sidebar-expand-sm.sidebar-right .sidebar-content {
      left: 0; }
  .sidebar-expand-sm.sidebar-component {
    z-index: 96; }
  .sidebar-expand-sm:not(.sidebar-component) {
    position: static;
    transition: none; } }
  @media screen and (min-width: 576px) and (prefers-reduced-motion: reduce) {
    .sidebar-expand-sm:not(.sidebar-component) {
      transition: none; } }

@media (min-width: 576px) {
    .sidebar-expand-sm:not(.sidebar-component):not(.sidebar-fixed) .sidebar-content {
      position: static;
      overflow: visible;
      width: auto; }
  .sidebar-expand-sm.sidebar-dark:not(.sidebar-component) + .sidebar-dark:not(.sidebar-component) {
    border-right: 1px solid rgba(255, 255, 255, 0.1); }
  .sidebar-expand-sm .sidebar-mobile-toggler {
    display: none; }
  .sidebar-expand-sm.sidebar-fullscreen {
    width: 16.875rem; }
  .sidebar-main-hidden .sidebar-expand-sm.sidebar-main,
  .sidebar-component-hidden .sidebar-expand-sm.sidebar-component,
  .sidebar-secondary-hidden .sidebar-expand-sm.sidebar-secondary,
  .sidebar-mobile-right .sidebar-expand-sm.sidebar-right {
    display: none; }
  .sidebar-expand-sm.sidebar-right {
    display: none; }
    .sidebar-right-visible .sidebar-expand-sm.sidebar-right {
      display: block; }
  .sidebar-expand-sm.sidebar-component {
    display: block;
    width: 16.875rem; }
    .sidebar-expand-sm.sidebar-component-left {
      margin-left: 1.25rem; }
    .sidebar-expand-sm.sidebar-component-right {
      margin-right: 1.25rem; } }

@media (max-width: 575.98px) {
  .sidebar-expand-sm:not(.sidebar-component) {
    border: 0; } }

@media (min-width: 768px) {
  .sidebar-expand-md.sidebar-main {
    z-index: 99;
    box-shadow: none; }
    .sidebar-expand-md.sidebar-main .sidebar-content {
      right: 0; }
  .sidebar-expand-md.sidebar-secondary {
    z-index: 98;
    box-shadow: none; }
    .sidebar-expand-md.sidebar-secondary .sidebar-content {
      right: 0; }
  .sidebar-expand-md.sidebar-right {
    z-index: 97;
    box-shadow: none; }
    .sidebar-expand-md.sidebar-right .sidebar-content {
      left: 0; }
  .sidebar-expand-md.sidebar-component {
    z-index: 96; }
  .sidebar-expand-md:not(.sidebar-component) {
    position: static;
    transition: none; } }
  @media screen and (min-width: 768px) and (prefers-reduced-motion: reduce) {
    .sidebar-expand-md:not(.sidebar-component) {
      transition: none; } }

@media (min-width: 768px) {
    .sidebar-expand-md:not(.sidebar-component):not(.sidebar-fixed) .sidebar-content {
      position: static;
      overflow: visible;
      width: auto; }
  .sidebar-expand-md.sidebar-dark:not(.sidebar-component) + .sidebar-dark:not(.sidebar-component) {
    border-right: 1px solid rgba(255, 255, 255, 0.1); }
  .sidebar-expand-md .sidebar-mobile-toggler {
    display: none; }
  .sidebar-expand-md.sidebar-fullscreen {
    width: 16.875rem; }
  .sidebar-main-hidden .sidebar-expand-md.sidebar-main,
  .sidebar-component-hidden .sidebar-expand-md.sidebar-component,
  .sidebar-secondary-hidden .sidebar-expand-md.sidebar-secondary,
  .sidebar-mobile-right .sidebar-expand-md.sidebar-right {
    display: none; }
  .sidebar-expand-md.sidebar-right {
    display: none; }
    .sidebar-right-visible .sidebar-expand-md.sidebar-right {
      display: block; }
  .sidebar-expand-md.sidebar-component {
    display: block;
    width: 16.875rem; }
    .sidebar-expand-md.sidebar-component-left {
      margin-left: 1.25rem; }
    .sidebar-expand-md.sidebar-component-right {
      margin-right: 1.25rem; } }

@media (max-width: 767.98px) {
  .sidebar-expand-md:not(.sidebar-component) {
    border: 0; } }

@media (min-width: 992px) {
  .sidebar-expand-lg.sidebar-main {
    z-index: 99;
    box-shadow: none; }
    .sidebar-expand-lg.sidebar-main .sidebar-content {
      right: 0; }
  .sidebar-expand-lg.sidebar-secondary {
    z-index: 98;
    box-shadow: none; }
    .sidebar-expand-lg.sidebar-secondary .sidebar-content {
      right: 0; }
  .sidebar-expand-lg.sidebar-right {
    z-index: 97;
    box-shadow: none; }
    .sidebar-expand-lg.sidebar-right .sidebar-content {
      left: 0; }
  .sidebar-expand-lg.sidebar-component {
    z-index: 96; }
  .sidebar-expand-lg:not(.sidebar-component) {
    position: static;
    transition: none; } }
  @media screen and (min-width: 992px) and (prefers-reduced-motion: reduce) {
    .sidebar-expand-lg:not(.sidebar-component) {
      transition: none; } }

@media (min-width: 992px) {
    .sidebar-expand-lg:not(.sidebar-component):not(.sidebar-fixed) .sidebar-content {
      position: static;
      overflow: visible;
      width: auto; }
  .sidebar-expand-lg.sidebar-dark:not(.sidebar-component) + .sidebar-dark:not(.sidebar-component) {
    border-right: 1px solid rgba(255, 255, 255, 0.1); }
  .sidebar-expand-lg .sidebar-mobile-toggler {
    display: none; }
  .sidebar-expand-lg.sidebar-fullscreen {
    width: 16.875rem; }
  .sidebar-main-hidden .sidebar-expand-lg.sidebar-main,
  .sidebar-component-hidden .sidebar-expand-lg.sidebar-component,
  .sidebar-secondary-hidden .sidebar-expand-lg.sidebar-secondary,
  .sidebar-mobile-right .sidebar-expand-lg.sidebar-right {
    display: none; }
  .sidebar-expand-lg.sidebar-right {
    display: none; }
    .sidebar-right-visible .sidebar-expand-lg.sidebar-right {
      display: block; }
  .sidebar-expand-lg.sidebar-component {
    display: block;
    width: 16.875rem; }
    .sidebar-expand-lg.sidebar-component-left {
      margin-left: 1.25rem; }
    .sidebar-expand-lg.sidebar-component-right {
      margin-right: 1.25rem; } }

@media (max-width: 991.98px) {
  .sidebar-expand-lg:not(.sidebar-component) {
    border: 0; } }

@media (min-width: 1200px) {
  .sidebar-expand-xl.sidebar-main {
    z-index: 99;
    box-shadow: none; }
    .sidebar-expand-xl.sidebar-main .sidebar-content {
      right: 0; }
  .sidebar-expand-xl.sidebar-secondary {
    z-index: 98;
    box-shadow: none; }
    .sidebar-expand-xl.sidebar-secondary .sidebar-content {
      right: 0; }
  .sidebar-expand-xl.sidebar-right {
    z-index: 97;
    box-shadow: none; }
    .sidebar-expand-xl.sidebar-right .sidebar-content {
      left: 0; }
  .sidebar-expand-xl.sidebar-component {
    z-index: 96; }
  .sidebar-expand-xl:not(.sidebar-component) {
    position: static;
    transition: none; } }
  @media screen and (min-width: 1200px) and (prefers-reduced-motion: reduce) {
    .sidebar-expand-xl:not(.sidebar-component) {
      transition: none; } }

@media (min-width: 1200px) {
    .sidebar-expand-xl:not(.sidebar-component):not(.sidebar-fixed) .sidebar-content {
      position: static;
      overflow: visible;
      width: auto; }
  .sidebar-expand-xl.sidebar-dark:not(.sidebar-component) + .sidebar-dark:not(.sidebar-component) {
    border-right: 1px solid rgba(255, 255, 255, 0.1); }
  .sidebar-expand-xl .sidebar-mobile-toggler {
    display: none; }
  .sidebar-expand-xl.sidebar-fullscreen {
    width: 16.875rem; }
  .sidebar-main-hidden .sidebar-expand-xl.sidebar-main,
  .sidebar-component-hidden .sidebar-expand-xl.sidebar-component,
  .sidebar-secondary-hidden .sidebar-expand-xl.sidebar-secondary,
  .sidebar-mobile-right .sidebar-expand-xl.sidebar-right {
    display: none; }
  .sidebar-expand-xl.sidebar-right {
    display: none; }
    .sidebar-right-visible .sidebar-expand-xl.sidebar-right {
      display: block; }
  .sidebar-expand-xl.sidebar-component {
    display: block;
    width: 16.875rem; }
    .sidebar-expand-xl.sidebar-component-left {
      margin-left: 1.25rem; }
    .sidebar-expand-xl.sidebar-component-right {
      margin-right: 1.25rem; } }

@media (max-width: 1199.98px) {
  .sidebar-expand-xl:not(.sidebar-component) {
    border: 0; } }

.sidebar-expand.sidebar-main {
  z-index: 99;
  box-shadow: none; }
  .sidebar-expand.sidebar-main .sidebar-content {
    right: 0; }

.sidebar-expand.sidebar-secondary {
  z-index: 98;
  box-shadow: none; }
  .sidebar-expand.sidebar-secondary .sidebar-content {
    right: 0; }

.sidebar-expand.sidebar-right {
  z-index: 97;
  box-shadow: none; }
  .sidebar-expand.sidebar-right .sidebar-content {
    left: 0; }

.sidebar-expand.sidebar-component {
  z-index: 96; }

.sidebar-expand:not(.sidebar-component) {
  position: static;
  transition: none; }
  @media screen and (prefers-reduced-motion: reduce) {
    .sidebar-expand:not(.sidebar-component) {
      transition: none; } }
  .sidebar-expand:not(.sidebar-component):not(.sidebar-fixed) .sidebar-content {
    position: static;
    overflow: visible;
    width: auto; }

.sidebar-expand.sidebar-dark:not(.sidebar-component) + .sidebar-dark:not(.sidebar-component) {
  border-right: 1px solid rgba(255, 255, 255, 0.1); }

.sidebar-expand .sidebar-mobile-toggler {
  display: none; }

.sidebar-expand.sidebar-fullscreen {
  width: 16.875rem; }

.sidebar-main-hidden .sidebar-expand.sidebar-main,
.sidebar-component-hidden .sidebar-expand.sidebar-component,
.sidebar-secondary-hidden .sidebar-expand.sidebar-secondary,
.sidebar-mobile-right .sidebar-expand.sidebar-right {
  display: none; }

.sidebar-expand.sidebar-right {
  display: none; }
  .sidebar-right-visible .sidebar-expand.sidebar-right {
    display: block; }

.sidebar-expand.sidebar-component {
  display: block;
  width: 16.875rem; }
  .sidebar-expand.sidebar-component-left {
    margin-left: 1.25rem; }
  .sidebar-expand.sidebar-component-right {
    margin-right: 1.25rem; }

.sidebar-expand:not(.sidebar-component) {
  border: 0; }

.sidebar:not(.bg-transparent) .card {
  border-width: 0;
  margin-bottom: 0;
  border-radius: 0;
  box-shadow: none; }
  .sidebar:not(.bg-transparent) .card .card {
    border-width: 1px; }
  .sidebar:not(.bg-transparent) .card:not([class*=bg-]):not(.fixed-top) {
    background-color: transparent; }

.sidebar .card-footer {
  border-bottom: 1px solid rgba(0, 0, 0, 0.125); }

.sidebar .row:not(.no-gutters) {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  .sidebar .row:not(.no-gutters) [class*=col] {
    padding-right: 0.3125rem;
    padding-left: 0.3125rem; }

.sidebar .form-group:last-child {
  margin-bottom: 0; }

.sidebar .nav-tabs .nav-item:first-child .nav-link {
  border-right: 0; }

.sidebar .nav-tabs .nav-item:last-child .nav-link {
  border-left: 0; }

.sidebar .nav-tabs .nav-link {
  border-top: 0;
  border-bottom-width: 0; }
  .sidebar .nav-tabs .nav-link.active {
    border-bottom-color: transparent; }

.sidebar-dark .nav-tabs {
  background-color: #1e272c;
  border-bottom-color: rgba(255, 255, 255, 0.1); }
  .sidebar-dark .nav-tabs .nav-link {
    color: rgba(255, 255, 255, 0.9); }
    .sidebar-dark .nav-tabs .nav-link:hover, .sidebar-dark .nav-tabs .nav-link:focus {
      color: #fff; }
    .sidebar-dark .nav-tabs .nav-link.active {
      color: #fff; }
  .sidebar-dark .nav-tabs:not(.nav-tabs-bottom) .nav-link.active {
    background-color: #263238;
    border-color: rgba(255, 255, 255, 0.1); }
  .sidebar-dark .nav-tabs .nav-item.show .nav-link:not(.active) {
    color: #fff; }

.sidebar-light .nav-tabs {
  background-color: whitesmoke;
  border-bottom-color: rgba(0, 0, 0, 0.125); }
  .sidebar-light .nav-tabs .nav-link:hover, .sidebar-light .nav-tabs .nav-link:focus {
    color: #333; }
  .sidebar-light .nav-tabs .nav-link.active {
    color: #333; }
  .sidebar-light .nav-tabs:not(.nav-tabs-bottom) .nav-link.active {
    background-color: #fff; }

.row-tile div[class*=col] .btn {
  border-radius: 0; }

.row-tile div[class*=col]:first-child .btn:first-child {
  border-top-right-radius: 0.1875rem; }

.row-tile div[class*=col]:first-child .btn:last-child {
  border-bottom-right-radius: 0.1875rem; }

.row-tile div[class*=col]:last-child .btn:first-child {
  border-top-left-radius: 0.1875rem; }

.row-tile div[class*=col]:last-child .btn:last-child {
  border-bottom-left-radius: 0.1875rem; }

.row-tile div[class*=col] .btn + .btn {
  border-top: 0; }

.row-tile div[class*=col] + div[class*=col] .btn {
  border-right: 0; }
.sidebar-user-material .sidebar-user-material-body {
  background: url(../images/backgrounds/user_bg1.jpg) center center no-repeat !important;
  background-size: cover !important; }

.sidebar-dark .sidebar-user-material .collapse {
  background-color: transparent;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

.sidebar-light .sidebar-user-material .collapse {
  background-color: transparent;
  border-bottom: 1px solid #ddd; }

.sidebar-user-material-footer > a {
  padding: 0.625rem 1.25rem;
  display: block;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.15);
  transition: background-color ease-in-out 0.15s; }
  @media screen and (prefers-reduced-motion: reduce) {
    .sidebar-user-material-footer > a {
      transition: none; } }
  .sidebar-user-material-footer > a:hover, .sidebar-user-material-footer > a[aria-expanded="true"] {
    background-color: rgba(0, 0, 0, 0.25); }
  .sidebar-user-material-footer > a:after {
    transition: all ease-in-out 0.15s; }
    @media screen and (prefers-reduced-motion: reduce) {
      .sidebar-user-material-footer > a:after {
        transition: none; } }
  .sidebar-user-material-footer > a[aria-expanded="true"]:after {
    -webkit-transform: rotate(-180deg);
            transform: rotate(-180deg); }

@media (min-width: 768px) {
  .sidebar-xs .sidebar-user-material-body > .card-body {
    display: none; }
  .sidebar-xs .sidebar-user-material-footer > a {
    padding: 1.25rem; }
    .sidebar-xs .sidebar-user-material-footer > a:after {
      margin: auto; }
  .sidebar-xs .sidebar-user-material-footer > a > span {
    display: none; } }

/* ------------------------------------------------------------------------------
 *
 *  # Boxed layout
 *
 *  Styles for main structure of content area in boxed layout
 *
 * ---------------------------------------------------------------------------- */
.layout-boxed-bg {
  background: url(../images/backgrounds/boxed_bg.png) repeat; }

.layout-boxed {
  box-shadow: 4px 2px 4px rgba(0, 0, 0, 0.15), -4px 2px 4px rgba(0, 0, 0, 0.15); }
  @media (min-width: 992px) {
    .layout-boxed,
    .layout-boxed > .navbar {
      width: 992px;
      margin-right: auto;
      margin-left: auto; } }
  @media (min-width: 1200px) {
    .layout-boxed,
    .layout-boxed > .navbar {
      width: 1200px; } }
  .layout-boxed .page-content {
    background-color: #f5f5f5; }

@media (min-width: 992px) {
  .content-boxed:not(.navbar-collapse) {
    margin-right: 6%;
    margin-left: 6%; }
  .navbar > .content-boxed > *:first-child {
    margin-right: 6%; }
  .navbar > .content-boxed > *:last-child {
    margin-left: 6%; }
  .breadcrumb-line > .content-boxed > *:first-child {
    margin-right: 1.25rem; }
  .breadcrumb-line > .content-boxed > *:last-child {
    margin-left: 1.25rem; } }


/* ===========================================================================
   .ds-btn primary — minimal support so the addFavBut() button (and any other
   isolated .ds-btn primary call sites that may live on legacy pages) renders
   correctly without having to load the full v3.css. If/when v3.css IS loaded
   (e.g. on v3 pages) these rules are redefined there — identical values, no
   conflict, and v3.css's later rules win the cascade with the same specificity.
   =========================================================================== */
:root {
    --c-primary-1: #2196F3;
    --c-primary-2: #1976D2;
    --c-primary-bg: #e3f2fd;
    --c-success-1: #4CAF50;
    --c-success-2: #2E7D32;
    --c-success-bg: #e8f5e9;
    --c-danger-1:  #e53935;
    --c-danger-2:  #c62828;
    --c-danger-bg: #ffebee;
    --c-warn-1:    #FF9800;
    --c-warn-2:    #E65100;
    --c-warn-bg:   #fff8e1;
    --c-neutral-1: #607d8b;
    --c-neutral-bg:#eceff1;
    --c-text:      #222;
    --c-text-soft: #607d8b;
    --c-text-muted:#90a4ae;
    --c-border:    #e0e3e7;
    --c-border-soft:#eef0f3;
}
.ds-btn {
    display: inline-flex; align-items: stretch;
    border: none !important; outline: none !important; box-shadow: none !important;
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    border-radius: 3px; overflow: hidden;
    font-size: 13px; cursor: pointer; text-decoration: none;
    line-height: 1; vertical-align: middle;
    transition: filter 0.15s ease; background: transparent;
}
.ds-btn:hover { filter: brightness(1.05); text-decoration: none; }
.ds-btn.outline:hover { filter: brightness(0.93); }
.ds-btn .t {
    padding: 9px 12px; display: inline-flex; align-items: center;
    color: #fff; background-clip: padding-box; -webkit-background-clip: padding-box;
}
.ds-btn .i {
    padding: 9px 9px; display: inline-flex; align-items: center;
    background: rgba(0,0,0,0.16); color: rgba(255,255,255,0.95);
    background-clip: padding-box; -webkit-background-clip: padding-box;
}
.ds-btn .i i { font-size: 14px; }
.ds-btn.primary .t { background: var(--c-primary-1); }
.ds-btn.primary .i { background: var(--c-primary-2); }
.ds-btn.danger  .t { background: var(--c-danger-1); }
.ds-btn.danger  .i { background: var(--c-danger-2); }
.ds-btn.warning .t { background: var(--c-warn-1); }
.ds-btn.warning .i { background: var(--c-warn-2); }
.ds-btn.success .t { background: var(--c-success-1); }
.ds-btn.success .i { background: var(--c-success-2); }

.ds-btn.outline.neutral .t { background: var(--c-neutral-bg); color: var(--c-neutral-1); }
.ds-btn.outline.neutral .i { background: #d6dde1; color: var(--c-neutral-1); }
.ds-btn.outline.primary .t { background: var(--c-primary-bg); color: var(--c-primary-2); }
.ds-btn.outline.primary .i { background: #c5e1f9; color: var(--c-primary-2); }

.ds-btn.sm      { font-size: 12px; }
.ds-btn.sm .t   { padding: 6px 9px; }
.ds-btn.sm .i   { padding: 6px 7px; }
.ds-btn.sm .i i { font-size: 12px; }


/* ===========================================================================
   .ds-swal — confirmation dialog (per DESIGN_SYSTEM §14)
   Mirrored from v3.css so confirmations render identically under both legacy
   and v3 chrome. Pairs with dsConfirm() in custom.js.php. Replaces all
   swal({...}) "are you sure?" callsites.
   =========================================================================== */
.ds-swal-bg {
    position: fixed; inset: 0; background: rgba(0,0,0,0.6);
    z-index: 1100; display: none; align-items: center; justify-content: center;
    padding: 16px;
}
.ds-swal-bg.is-open { display: flex; }

.ds-swal {
    background: #fff; border-radius: 4px; padding: 28px 24px; text-align: center;
    width: 100%; max-width: 440px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.3);
    animation: ds-swal-in 0.2s ease-out;
}
@keyframes ds-swal-in {
    from { transform: scale(0.9); opacity: 0; }
    to   { transform: scale(1);   opacity: 1; }
}

.ds-swal .swal-icn {
    width: 88px; height: 88px; border-radius: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    margin: 0 auto 18px; overflow: hidden;
}
.ds-swal .swal-icn i { font-size: 52px; line-height: 1; }

.ds-swal.warning  .swal-icn { background: var(--c-warn-bg);    color: var(--c-warn-1); }
.ds-swal.danger   .swal-icn { background: var(--c-danger-bg);  color: var(--c-danger-1); }
.ds-swal.success  .swal-icn { background: var(--c-success-bg); color: var(--c-success-2); }
.ds-swal.question .swal-icn { background: var(--c-primary-bg); color: var(--c-primary-2); }

.ds-swal h4 {
    font-size: 16px; font-weight: 600; color: var(--c-text);
    margin: 0 0 8px;
}
.ds-swal p {
    font-size: 13.5px; color: var(--c-text-soft);
    margin: 0 0 20px; line-height: 1.6;
}

.ds-swal .actions {
    display: flex; gap: 26px; justify-content: center; flex-wrap: wrap;
}
.ds-swal .actions .ds-btn[data-cd] .t span { opacity: 0.8; font-variant-numeric: tabular-nums; }

@media (max-width: 576px) {
    .ds-swal { padding: 24px 16px; }
    .ds-swal .actions { flex-direction: column-reverse; }
    .ds-swal .actions .ds-btn { width: 100%; justify-content: center; }
}


/* ===========================================================================
   .ds-toast — floating notification with monster-on-top
   MIRRORED FROM v3.css (~line 1295) — keep in sync. Needed because showNotify()
   in custom.js.php emits .ds-toast markup unconditionally, and the toast must
   render under legacy chrome too (legacy pages don't load v3.css).
   =========================================================================== */
.ds-toast {
    background: #fff; border-radius: 4px;
    border: 1px solid var(--c-border);
    color: var(--c-text); pointer-events: auto; position: relative;
    margin-top: 90px;
    animation: ds-toast-in 0.25s ease-out;
}
@keyframes ds-toast-in {
    from { opacity: 0; transform: translateX(-12px); }
    to   { opacity: 1; transform: translateX(0); }
}
.ds-toast .ds-toast-monster {
    position: absolute; bottom: 100%; right: 16px;
    height: 90px; width: auto; z-index: 2;
    pointer-events: none; display: block;
}
.ds-toast .monster-row {
    background: var(--c-primary-bg); padding: 14px 16px;
    border-radius: 4px 4px 0 0;
    border-bottom: 1px solid var(--c-border-soft);
    min-height: 68px;
    display: flex; align-items: center;
}
.ds-toast .monster-row .body strong {
    display: block; font-size: 14px; margin-bottom: 3px; color: var(--c-text);
}
.ds-toast .monster-row .body span,
.ds-toast .monster-row .body span * {
    font-size: 12.5px; color: var(--c-text-soft); line-height: 1.5;
    font-weight: 400;
    white-space: pre-line;
}
.ds-toast .x {
    position: absolute; top: 6px; left: 8px;
    color: var(--c-text-muted); cursor: pointer;
    font-size: 18px; line-height: 1;
    background: none; border: 0; z-index: 3;
}
.ds-toast .progress {
    height: 4px; background: rgba(0,0,0,0.08);
    border-radius: 0 0 4px 4px; overflow: hidden;
}
.ds-toast .progress .bar {
    height: 100%; background: var(--c-primary-2);
    animation: ds-toast-prog 5s linear forwards;
}
.ds-toast:hover .progress .bar { animation-play-state: paused; }
@keyframes ds-toast-prog { from { width: 100%; } to { width: 0%; } }

.ds-toast.success .monster-row   { background: var(--c-success-bg); }
.ds-toast.success .progress .bar { background: var(--c-success-2); }
.ds-toast.danger  .monster-row   { background: var(--c-danger-bg); }
.ds-toast.danger  .progress .bar { background: var(--c-danger-1); }
.ds-toast.warning .monster-row   { background: var(--c-warn-bg); }
.ds-toast.warning .progress .bar { background: var(--c-warn-1); }

.ds-toast-zone {
    position: fixed; top: 72px; left: 16px; z-index: 9999;
    display: flex; flex-direction: column; gap: 10px;
    max-width: 360px; width: calc(100vw - 32px); pointer-events: none;
}


/* ===========================================================================
   .ds-mini — lightweight popup (NOT a modal, NOT a SWAL).
   For small focused interactions (inline audio player, tiny file picker).
   ~310px wide, white textured background. Backdrop-click closes.
   MIRRORED FROM v3.css — keep in sync.
   =========================================================================== */
.ds-mini-bg {
    position: fixed; inset: 0; background: rgba(0,0,0,0.6);
    z-index: 1100; display: none; align-items: center; justify-content: center;
    padding: 16px;
}
.ds-mini-bg.is-open { display: flex; }

.ds-mini {
    background: #fff url('/_assets/images/backgrounds/seamless.png') repeat;
    border-radius: 4px;
    width: 100%; max-width: 310px;
    box-shadow: 0 16px 48px rgba(0,0,0,0.3);
    overflow: hidden;
    animation: ds-mini-in 0.2s ease-out;
}
@keyframes ds-mini-in {
    from { transform: scale(0.92); opacity: 0; }
    to   { transform: scale(1);    opacity: 1; }
}

.ds-mini-head      { padding: 14px 16px 6px; text-align: center; }
.ds-mini-head h4   { font-size: 15px; font-weight: 600; color: var(--c-text); margin: 0; }
.ds-mini-body      { padding: 12px 16px; text-align: center; }
.ds-mini-foot      { padding: 6px 16px 14px; text-align: center; }
.ds-mini-body > audio { width: 100%; max-width: 270px; }



/* ===========================================================================
   Legacy .badge.bg-* shim — restyles colored Bootstrap/Limitless badges to
   the DS visual treatment (rectangular 3px, font-weight 400, DS palette).
   Excludes form-label badges (float-left/right per DEV_RULES §26) so they
   keep their Limitless look. Status badges in tables / reports get the new
   look automatically with no PHP edits.
   =========================================================================== */
.badge.bg-primary:not(.float-left):not(.float-right),
.badge.bg-success:not(.float-left):not(.float-right),
.badge.bg-danger:not(.float-left):not(.float-right),
.badge.bg-warning:not(.float-left):not(.float-right),
.badge.bg-pink:not(.float-left):not(.float-right),
.badge.bg-pink-300:not(.float-left):not(.float-right),
.badge.bg-pink-400:not(.float-left):not(.float-right),
.badge.bg-purple:not(.float-left):not(.float-right),
.badge.bg-violet-400:not(.float-left):not(.float-right),
.badge.bg-teal:not(.float-left):not(.float-right),
.badge.bg-teal-300:not(.float-left):not(.float-right),
.badge.bg-teal-400:not(.float-left):not(.float-right),
.badge.bg-orange-400:not(.float-left):not(.float-right),
.badge.bg-orange-600:not(.float-left):not(.float-right),
.badge.bg-slate:not(.float-left):not(.float-right),
.badge.bg-grey:not(.float-left):not(.float-right),
.badge.bg-grey-300:not(.float-left):not(.float-right),
.badge.bg-grey-400:not(.float-left):not(.float-right),
.badge.bg-indigo-400:not(.float-left):not(.float-right),
.badge.bg-green:not(.float-left):not(.float-right) {
    border-radius: 3px !important;
    font-weight: 400 !important;
    padding: 2px 8px !important;
    color: #fff !important;
    font-size: 11.5px !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
}

.badge.bg-primary:not(.float-left):not(.float-right)     { background-color: #1976D2 !important; }
.badge.bg-success:not(.float-left):not(.float-right),
.badge.bg-green:not(.float-left):not(.float-right)       { background-color: #43A047 !important; }
.badge.bg-danger:not(.float-left):not(.float-right)      { background-color: #e53935 !important; }
.badge.bg-warning:not(.float-left):not(.float-right),
.badge.bg-orange-400:not(.float-left):not(.float-right),
.badge.bg-orange-600:not(.float-left):not(.float-right)  { background-color: #FF9800 !important; }
.badge.bg-pink:not(.float-left):not(.float-right),
.badge.bg-pink-300:not(.float-left):not(.float-right),
.badge.bg-pink-400:not(.float-left):not(.float-right)    { background-color: #ec407a !important; }
.badge.bg-purple:not(.float-left):not(.float-right),
.badge.bg-violet-400:not(.float-left):not(.float-right)  { background-color: #7E57C2 !important; }
.badge.bg-teal:not(.float-left):not(.float-right),
.badge.bg-teal-300:not(.float-left):not(.float-right),
.badge.bg-teal-400:not(.float-left):not(.float-right)    { background-color: #26A69A !important; }
.badge.bg-slate:not(.float-left):not(.float-right)       { background-color: #455a64 !important; }
.badge.bg-grey:not(.float-left):not(.float-right),
.badge.bg-grey-300:not(.float-left):not(.float-right)    { background-color: #607d8b !important; }
.badge.bg-grey-400:not(.float-left):not(.float-right)    { background-color: #b0bec5 !important; }
.badge.bg-indigo-400:not(.float-left):not(.float-right)  { background-color: #0d47a1 !important; }




/* bg-info added 2026-05-25 — info-cyan color for legacy badge-info renames */
.badge.bg-info:not(.float-left):not(.float-right) {
    border-radius: 3px !important;
    font-weight: 400 !important;
    padding: 2px 8px !important;
    color: #fff !important;
    font-size: 11.5px !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
    border: 0 !important;
    background-color: #0097A7 !important;
}

/* Also add border:none to the existing .bg-* shim entries (kills Limitless outlined borders) */
.badge.bg-primary:not(.float-left):not(.float-right),
.badge.bg-success:not(.float-left):not(.float-right),
.badge.bg-danger:not(.float-left):not(.float-right),
.badge.bg-warning:not(.float-left):not(.float-right),
.badge.bg-pink:not(.float-left):not(.float-right),
.badge.bg-pink-300:not(.float-left):not(.float-right),
.badge.bg-pink-400:not(.float-left):not(.float-right),
.badge.bg-purple:not(.float-left):not(.float-right),
.badge.bg-violet-400:not(.float-left):not(.float-right),
.badge.bg-teal:not(.float-left):not(.float-right),
.badge.bg-teal-300:not(.float-left):not(.float-right),
.badge.bg-teal-400:not(.float-left):not(.float-right),
.badge.bg-orange-400:not(.float-left):not(.float-right),
.badge.bg-orange-600:not(.float-left):not(.float-right),
.badge.bg-slate:not(.float-left):not(.float-right),
.badge.bg-grey:not(.float-left):not(.float-right),
.badge.bg-grey-300:not(.float-left):not(.float-right),
.badge.bg-grey-400:not(.float-left):not(.float-right),
.badge.bg-indigo-400:not(.float-left):not(.float-right),
.badge.bg-green:not(.float-left):not(.float-right) {
    border: 0 !important;
}




/* DS-palette extensions for badges — deep-purple, mustard (yellow gap-filler),
   plus -2 / deep shades of the main DS families (danger-2, warn-2, info-2). */
.badge.bg-deep-purple:not(.float-left):not(.float-right),
.badge.bg-mustard:not(.float-left):not(.float-right),
.badge.bg-danger-2:not(.float-left):not(.float-right),
.badge.bg-warn-2:not(.float-left):not(.float-right),
.badge.bg-info-2:not(.float-left):not(.float-right),
.badge.bg-accent-2:not(.float-left):not(.float-right) {
    border-radius: 3px !important;
    font-weight: 400 !important;
    padding: 2px 8px !important;
    color: #fff !important;
    font-size: 11.5px !important;
    letter-spacing: 0 !important;
    line-height: 1.55 !important;
    border: 0 !important;
}
.badge.bg-deep-purple:not(.float-left):not(.float-right)  { background-color: #9C27B0 !important; }
.badge.bg-mustard:not(.float-left):not(.float-right)      { background-color: #F9A825 !important; }
.badge.bg-danger-2:not(.float-left):not(.float-right)     { background-color: #c62828 !important; }
.badge.bg-warn-2:not(.float-left):not(.float-right)       { background-color: #E65100 !important; }
.badge.bg-info-2:not(.float-left):not(.float-right)       { background-color: #00838F !important; }
.badge.bg-accent-2:not(.float-left):not(.float-right)     { background-color: #5E35B1 !important; }



/* ===========================================================================
   .ds-badge — rectangular solid badge (per DESIGN_SYSTEM §7)
   MIRRORED FROM v3.css — keep in sync. Lets legacy chrome pages use the
   canonical .ds-badge markup directly (vs. the .badge.bg-* legacy shim).
   =========================================================================== */
.ds-badge {
    display: inline-block;
    padding: 2px 8px;
    font-size: 11.5px;
    font-weight: 400;
    line-height: 1.55;
    border-radius: 3px;
    color: #fff;
}
a.ds-badge, a.ds-badge:hover, a.ds-badge:focus { color: #fff; text-decoration: none; }
a.ds-badge:hover { filter: brightness(0.93); }
.ds-badge.primary { background: var(--c-primary-2); }
.ds-badge.success { background: #43A047; }
.ds-badge.danger  { background: var(--c-danger-1); }
.ds-badge.warning { background: var(--c-warn-1); color: #fff; }
.ds-badge.info    { background: #0097A7; }       /* Cyan-700 midpoint between info-1 (#00BCD4) and info-2 (#00838F) */
.ds-badge.accent  { background: #5E35B1; }       /* --c-accent-2 */
.ds-badge.neutral { background: var(--c-neutral-1); }

.ds-badge.pink         { background: #EC407A; }
.ds-badge.deep-purple  { background: #9C27B0; }
.ds-badge.danger-2     { background: #c62828; }
.ds-badge.warn-2       { background: #E65100; }
.ds-badge.info-2       { background: #00838F; }
.ds-badge.accent-2     { background: #5E35B1; }
.ds-badge.mustard      { background: #F9A825; }
.ds-badge.wa-green     { background: #25D366; }
.ds-badge.wa-blue      { background: #34B7F1; }

/* .ds-btn loading state — when JS sets data-loading="1" during AJAX, override
   the color zones with warning tones. The original color class is preserved
   so removeAttr("data-loading") restores the look on completion. */
.ds-btn[data-loading="1"] .t { background: var(--c-warn-1) !important; color: #fff !important; }
.ds-btn[data-loading="1"] .i { background: var(--c-warn-2) !important; color: #fff !important; }
.ds-btn[data-loading="1"] { pointer-events: none; opacity: 0.95; }

/* .ds-badge.teal — green-leaning teal, distinct from info (added 2026-05-25) */
.ds-badge.teal { background: #26A69A; color: #fff; }



/* Fix: explicit min-height on .ds-btn ensures both .t and .i zones render
   at the same height. flex stretch alone can fail when one child has a
   larger intrinsic content size (icon 14px vs text 13px) — visible mismatch.
   Default size: 32px (matches the icon zone height: 14px icon + 9+9 padding). */
.ds-btn { min-height: 32px; }
.ds-btn.sm { min-height: 26px; }
.ds-btn.lg { min-height: 40px; }
.ds-btn .i i { top: 0 !important; vertical-align: middle; line-height: 1; }



/* Stronger fix: ensure .ds-btn .t and .i zones render same height regardless
   of flex-stretch behavior (some browsers misbehave with <button> + flex).
   With box-sizing: border-box + min-height 32px on each span, both zones
   always render at identical heights. */
.ds-btn .t, .ds-btn .i {
    min-height: 32px;
    box-sizing: border-box;
    align-self: stretch;
}
.ds-btn.sm .t, .ds-btn.sm .i { min-height: 26px; }
.ds-btn.lg .t, .ds-btn.lg .i { min-height: 40px; }



/* Fix: <button> elements have user-agent default padding/border that adds
   1-3px around the flex content. Reset explicitly to 0 so the button outer
   matches the spans inner. (Diagnosed via console: button height 35.1px
   while both spans 32px — 3.1px was UA button padding.) */
.ds-btn { padding: 0 !important; }



/* Final fix: with display reported as "block" (Chrome serializes inline-flex
   as block when blockified), the spans behave as inline-blocks with baseline
   alignment, adding ~1px of line-box overhead. Force vertical-align: top to
   align them by top edge instead of baseline. */
.ds-btn .t, .ds-btn .i { vertical-align: top; }



/* ===============================================================
   Help / info modal content — uniform typography across the system
   Body 12.5px, headings 15px, muted gray text 12.5px.
   Apply via <div class="help-content"> at the top of every help/info AJAX response.
   =============================================================== */
.help-content { font-size: 12.5px; line-height: 1.75; direction: rtl; text-align: right; }
.help-content h6 { font-size: 15px; font-weight: 600; margin-bottom: 8px; }
.help-content h5 { font-size: 16px; font-weight: 600; margin-bottom: 8px; }
.help-content p { font-size: 12.5px; margin-bottom: 8px; }
.help-content .text-muted { font-size: 12.5px; }
.help-content .font-size-sm { font-size: 12.5px; }
.help-content ul, .help-content ol { font-size: 12.5px; padding-right: 20px; }
.help-content li { margin-bottom: 3px; }
.help-content code { font-size: 12px; }
.help-content table { font-size: 12.5px; }
.help-content table th { font-size: 12.5px; font-weight: 600; }
.help-content table td { font-size: 12.5px; }
.help-content .card-body h6 { margin-bottom: 4px; }
.help-content .ds-banner { font-size: 12.5px; }
.help-content .ds-banner .body strong { font-size: 12.5px; }

/* Hide the empty footer navbar placeholder from pageFooter.php / pageFooter_v3.php.
   The `<div class="navbar navbar-expand-lg navbar-light">` wrapper around
   `#navbar-footer` holds only an `&nbsp;` and shows up as a white strip in the
   middle of low-content pages (e.g. news_show.php empty state). */
.navbar:has(> #navbar-footer) { display: none; }
