/*!
* Fusion5 Portal Starter Kit CSS 2024
* Modify or add to this file to include custom css
*/

/* portal css */

/* import custom fonts */
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700&display=swap");

:root:not(#custom-css) {
  color-scheme: light;

  --brand-color: var(--portalThemeColor1);
  --primary-color: var(--portalThemeColor4);
  --secondary-color: var(--portalThemeColor3);
  --alternate-color: var(--portalThemeColor2);
  --disabled-color: light-dark(#d1d1d1, #444);
  --warning-color: #ffc107;
  --error-color: var(--portalThemeColor4);
  --success-color: #198754;

  --control-border: none;
  --card-border: none;
  --control-border-radius: 6px;
  --button-border-radius: 3px;
  --navlink-border-radius: 2px;
  --card-border-radius: 6px;

  --navbar-height: 80px;
  --sidebar-width: 300px;
  --topbar-width: 800px;
  --topbar-height: 500px;

  --form-padding: 25px;
  --bs-body-font-family: "Lato", "Segoe UI", "San Francisco", "Roboto";
  --header-font-family: "Lato", "Segoe UI", "San Francisco", "Roboto";
  --header-font-color: black;
  --card-box-shadow: rgba(0, 0, 0, 0.12) 0px 0px 2px, rgba(0, 0, 0, 0.14) 0px 2px 4px;

  /* dark mode */
  --foreground: light-dark(#242424, white);
  --background: light-dark(#f0f0f0, #111);
  --control-background-color: light-dark(#f5f5f5, #151515);
  --control-foreground-color: light-dark(black, #f5f5f5);
  --card-bg-color: light-dark(white, #222);

  .private-mode-banner {
    display: none;
  }

  body {
    background-color: var(--background);
  }

  body * {
    color: var(--foreground);
  }

  body li a {
    margin-left: unset;
  }

  .h1,
  .h2,
  .h3,
  .h4,
  .h5,
  .h6,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: var(--header-font-family);
  }

  .form-header .tab-header.load {
    height: 40px;
    opacity: 0;
    pointer-events: none;
    transition: 200ms ease-in;
  }

  .form-header .tab-header {
    opacity: 1;
    transition: 200ms ease-in;
  }

  .form-header .d-flex {
    align-items: center;
  }

  .form-header.d-flex > * {
    padding-left: 0;
    padding-right: 0;
  }

  .form-header .form-title {
    font-size: 24px;
    font-weight: 600;
    margin-top: 10.5px;
  }

  .form-header h5 {
    color: color-mix(in srgb, var(--foreground), transparent 40%) !important;
  }

  .form-header .form-header-image {
    padding-right: 10px;
  }

  .form-header .form-owner,
  .form-header .flex-grow-1 {
    display: inline-flex;
    align-items: center;
  }

  .form-header .form-owner {
    justify-content: flex-end;
  }

  .form-status {
    min-height: 40px;
    padding-right: 10px;
    margin-right: 10px;
    border-right: 1px solid grey;
  }

  .form-header .profile-initials {
    position: relative;
  }

  .form-metadata-value {
    font-weight: 600;
    font-size: 14px;
  }

  .form-metadata-name {
    font-weight: 400;
    font-size: 12px;
    margin: 0;
  }

  .form-owner .profile-icon a {
    height: 36px;
    width: 36px;
    position: absolute;
  }

  .form-header .profile-initials {
    border: 1px solid var(--foreground);
    color: color-mix(in srgb, var(--foreground), transparent 50%) !important;
    font-size: 16px;
  }

  .form-header-image .profile-initials {
    background-color: #d69ca5;
    color: #420610 !important;
    border: none;
    padding-top: 8px;
    font-weight: 600;
  }

  .form-owner .profile-initials {
    height: 36px;
    width: 36px;
    font-size: 16px;
    padding-top: 5.5px;
    font-weight: 700;
  }

  label {
    font-weight: 600;
  }

  /* Navbar styles */

  .menu-bar {
    width: 100%;
  }

  .navbar {
    background-color: var(--brand-color);
    height: 80px;
  }

  .navbar > .container {
    padding: 0;
    margin-top: 5px;
    margin-bottom: 5px;
    overflow: hidden;
  }

  .navbar > .container:not(:has(.ellipsis-vertical)) {
    padding: 0 100px;
    max-width: unset;
  }

  .navbar-brand.navbar-header a {
    display: flex;
    align-items: center;
  }

  .navbar-brand.navbar-header h1 {
    color: white !important;
    font-family: unset;
    font-weight: 200;
    font-size: 2em;
    margin: 0;
  }

  .navbar-brand.navbar-header a:hover {
    text-decoration: none !important;
  }

  .nav.navbar-nav.weblinks {
    align-items: center;
    justify-content: flex-end;
    flex-direction: row;
    display: flex;
    flex-wrap: nowrap;
  }

  .nav.navbar-nav.weblinks .primary-nav {
    display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    height: 41px;
    overflow: hidden;
    justify-content: flex-end;
  }

  .nav.navbar-nav.weblinks .secondary-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: flex-grow 0.3s ease-in-out 0s;
    flex-grow: 0.01;
  }

  /* smallest screens */
  @media only screen and (max-width: 574px) {
    .nav.navbar-nav.weblinks .primary-nav {
      display: none;
    }

    .navbar {
      height: calc(var(--navbar-height) * 2);
    }

    .additional-nav {
      top: calc(var(--navbar-height) * 2) !important;
    }

    .additional-nav-background {
      top: calc(var(--navbar-height) * 2) !important;
    }

    .navbar > .container {
      flex-direction: column;
    }

    .navbar-collapse {
      width: 100% !important;
      margin-top: 10px;
    }

    .nav.navbar-nav.weblinks {
      justify-content: space-evenly;
    }

    .nav.navbar-nav.weblinks .secondary-nav {
      justify-content: space-around;
    }

    .nav.navbar-nav.weblinks .secondary-nav .nav-item {
      min-width: 75px;
      display: flex;
      justify-content: center;
    }

    .nav-item.search-item {
      padding: 0 !important;
    }
  }

  .navbar-collapse {
    display: block;
    flex-basis: unset;
  }

  .weblinks .weblink a .nav-text,
  .weblinks .nav-item .fa:before {
    color: var(--header-font-color) !important;
  }

  .weblinks .weblink a {
    border-radius: var(--navlink-border-radius);
    padding: 5px 20px;
  }

  .weblink a:hover {
    text-decoration: none !important;
    background-color: #ffffff0a;
    color: #eee;
  }

  .tab-header .nav-link {
    position: relative;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
  }

  .tab-header .nav-link .hidden-text {
    font-weight: 600;
    height: 0;
    visibility: hidden;
    display: flex;
    overflow: hidden;
  }

  .tab-header .nav-link:hover {
    text-decoration: none !important;
    font-weight: 600;
  }

  .tab-header .nav-link.active {
    font-weight: 600;
  }

  .weblink a:after,
  .tab-header .nav-link:after {
    box-sizing: border-box;
    content: "";
    left: -1px;
    bottom: -1px;
    height: 4px;
    width: calc(100% + 2px);
    position: absolute;
    display: block;
    border-bottom-left-radius: var(--navlink-border-radius);
    border-bottom-right-radius: var(--navlink-border-radius);
    border-bottom: 2px solid var(--primary-color);
    transform-origin: center;
    transform: scaleX(0);
    transition: transform 150ms ease-in-out;
  }

  .tab-header .nav-link:after {
    border-bottom: 4px solid var(--primary-color);
  }

  .weblink a:hover:after,
  .tab-header .nav-link.active:after {
    transform: scaleX(1);
  }

  /* profile picture */
  .profile-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 5px;
  }

  .profile-icon a {
    display: inline-flex;
    aspect-ratio: 1;
    border-radius: 50% !important;
    background-size: contain;
    height: 42px;
    width: 42px;
    padding: unset !important;
    align-items: center;
    justify-content: center;
  }

  .profile-initials {
    padding-top: 3px;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    text-align: center;
    height: 40px;
    width: 40px;
    font-size: 20px;
    font-weight: 400;
    border: 1px solid var(--navbar-text-color);
    border-radius: 50%;
    text-anchor: middle;
    color: color-mix(in srgb, var(--navbar-text-color), transparent 50%) !important;
  }

  .ellipsis-vertical {
    border-radius: var(--control-border-radius);
    transition: 0.3s;
    cursor: pointer;
    display: flex;
    align-items: center;
  }

  .ellipsis-vertical:hover {
    background-color: var(--control-background-color);
  }

  .ellipsis-vertical a {
    padding: 5px;
    font-size: 16px;
    background-color: transparent !important;
    text-decoration: none !important;
  }

  .ellipsis-vertical span {
    transform: rotate(90deg);
    left: -1px;
    position: relative;
  }

  .ellipsis-vertical span:before {
    color: var(--navbar-text-color) !important;
    font-size: 18px;
  }

  .ellipsis-vertical .dropdown-toggle:after {
    content: unset !important;
  }

  /* additional nav items dropdown desktop */
  .additional-nav {
    background-color: light-dark(white, #222);
    border: none;
    box-shadow: var(--card-box-shadow);
    position: fixed;
    top: 80px;
    z-index: 997;
    font-size: 14px;
    transition: left 0.2s ease-in-out, right 0.2s ease-in-out, height 0.2s ease-in-out, padding 0s 0.2s ease-in-out;
  }

  .additional-nav.fixed {
    position: sticky;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    padding: 10px;
  }

  .page-copy:has(> .additional-nav.fixed) {
    display: flex;
  }

  .page-copy:has(> .additional-nav.fixed) .xrm-editable-html {
    width: 100%;
  }

  .page-copy:has(> .additional-nav.fixed.right) {
    flex-direction: row-reverse;
  }

  .additional-nav.placeholder-show .accordion-item {
    visibility: hidden;
    opacity: 0;
  }

  .additional-nav.placeholder-show .placeholder-nav {
    cursor: wait;
    display: flex;
    opacity: 1;
    border-radius: var(--button-border-radius);
    margin-bottom: 10px;
    height: 43px;
    width: 100%;
    background: light-dark(#0001, #fff1);
    transition: opacity 0.2s ease;
    animation: placeholder-glow 2s ease-in-out infinite;
  }

  .additional-nav .placeholder-nav {
    opacity: 0;
  }

  .additional-nav.show {
    padding: 10px;
    transition: left 0.2s ease-in-out, right 0.2s ease-in-out, height 0.2s ease-in-out, padding 0s 0s ease-in-out;
  }

  .additional-nav.left {
    width: var(--sidebar-width);
    left: calc(var(--sidebar-width) * -1);
    height: 100vh;
  }

  .additional-nav.left.show {
    left: 0px;
  }

  .additional-nav.right {
    width: var(--sidebar-width);
    right: calc(var(--sidebar-width) * -1);
    height: 100vh;
  }

  .additional-nav.right.show {
    right: 0px;
  }

  .additional-nav.top {
    width: var(--topbar-width);
    max-width: 80vw;
    border-bottom-left-radius: var(--card-border-radius);
    border-bottom-right-radius: var(--card-border-radius);
    left: 50%;
    transform: translateX(-50%);
    height: 0;
    overflow: hidden;
  }

  .additional-nav.top.show {
    height: var(--topbar-height);
  }

  @media only screen and (max-width: 768px) {
    .additional-nav.top {
      width: 100vw;
      max-width: 100vw;
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
    }
  }

  .additional-nav-background {
    opacity: 0;
    visibility: hidden;
    position: fixed;
    top: var(--navbar-height);
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #0004;
    backdrop-filter: blur(5px);
    z-index: 996;
    transition: opacity 0.2s ease-in-out, visibility 0.2s;
  }

  .additional-nav-background.show {
    visibility: visible;
    opacity: 1;
  }

  .additional-nav.fixed ~ .additional-nav-background {
    display: none;
  }

  .additional-nav .accordion-item {
    border: none;
    background: none;
    opacity: 1;
    transition: opacity 0.3s ease;
  }

  .additional-nav .accordion-item a {
    background: none;
    box-shadow: none;
    padding: 11px 5px;
    margin-bottom: 5px;
    border-radius: var(--button-border-radius);
    font-family: unset;
    font-size: unset;
    font-weight: unset;
    transition: var(--bs-accordion-transition);
    position: relative;
    display: flex;
  }

  .additional-nav .accordion-item a:focus {
    box-shadow: none;
  }

  .additional-nav .accordion-item a:hover {
    text-decoration: none !important;
    background-color: light-dark(#0001, #fff1);
    color: unset !important;
  }

  .additional-nav .accordion-item a.current-page {
    background-color: color-mix(in srgb, var(--primary-color), transparent 20%);
  }

  .additional-nav .accordion-item a.current-page:hover {
    background-color: var(--primary-color);
  }

  .additional-nav .accordion-body {
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    padding-right: 0;
  }

  .accordion-button::after {
    background-color: var(--foreground);
    mask-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
  }

  .accordion-button:not(.collapsed)::after {
    background: var(--primary-color);
    mask-image: var(--bs-accordion-btn-icon);
  }

  .accordion .nav-link span {
    display: flex;
    align-items: center;
    padding-right: 10px;
  }

  .accordion .nav-link span.fa:before {
    color: var(--primary-color);
  }

  .navbar-dark .navbar-nav > li > a:focus {
    outline: none !important;
    border: none !important;
    text-decoration: none;
  }

  .nav-link {
    font-size: unset;
    font-family: unset;
    font-weight: unset;
    padding: 5px;
  }

  .nav-item {
    position: relative;
    padding: 1.5px 10px;
    width: auto;
    box-sizing: border-box;
    text-wrap-mode: nowrap;
    height: 37px;
  }

  .nav-item:last-of-type {
    padding-right: 0;
  }

  /* Auto show nav items that disappear from the header at each breakpoint */
  .additional-nav > .accordion-item:nth-of-type(1),
  .additional-nav > .accordion-item:nth-of-type(2),
  .additional-nav > .accordion-item:nth-of-type(3) {
    display: none;
  }

  @media only screen and (max-width: 574px) {
    .additional-nav > .accordion-item:nth-of-type(1) {
      display: block;
    }
  }

  @media only screen and (max-width: 768px) {
    .additional-nav > .accordion-item:nth-of-type(2) {
      display: block;
    }
  }

  @media only screen and (max-width: 991px) {
    .additional-nav > .accordion-item:nth-of-type(3) {
      display: block;
    }
  }

  /* Nav search bar styles */
  @media only screen and (min-width: 991px) {
    .nav-item:has(.form-search) {
      flex-grow: 1;
      max-width: 64px;
      padding-right: 0;
      transition: opacity 0.1s ease-in-out 0.3s, max-width 0.3s ease-in-out 0s;
      position: relative;
      margin-right: 10px;
    }

    .nav-item:has(.form-search) .search {
      display: none;
    }

    .nav-item:has(.form-search):focus-within,
    .nav-item:has(.form-search):hover {
      max-width: 400px;
      transition: opacity 0.1s ease-in-out 0s, max-width 0.3s ease-in-out 0.1s;
    }

    .nav.navbar-nav.weblinks .secondary-nav:has(.search-item:focus-within),
    .nav.navbar-nav.weblinks .secondary-nav:has(.search-item:hover) {
      flex-grow: 1;
      transition: flex-grow 0.3s ease-in-out 0.1s;
    }

    .nav-item:has(.form-search) input,
    .nav-item:has(.form-search) input {
      opacity: 0;
      transition: opacity 0.1s ease-in-out 0.3s;
    }

    .nav-item:has(.form-search):focus-within input,
    .nav-item:has(.form-search):hover input {
      opacity: 1;
      transition: opacity 0.1s ease-in-out 0s;
    }

    .nav-item .form-search .input-group {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      vertical-align: center;
      justify-content: center;
      border: none;
      box-sizing: content-box;
    }

    .nav-item .form-search .input-group input {
      text-indent: 10px;
      border: none;
      min-width: 54px;
      padding-left: 0;
      padding-right: 0;
      margin-right: -54px;
      z-index: 0;
      position: relative;
      border-radius: var(--control-border-radius);
    }

    /* Placeholder for search bar styles */
    .nav-item:has(.form-search):hover .input-group input::-webkit-input-placeholder,
    .nav-item:has(.form-search):focus-within .input-group input::-webkit-input-placeholder {
      opacity: 1;
      transition: opacity 0.1s ease-in-out 0.3s;
    }

    .nav-item:has(.form-search):hover .input-group input::-moz-placeholder,
    .nav-item:has(.form-search):focus-within .input-group input::-moz-placeholder {
      opacity: 1;
      transition: opacity 0.1s ease-in-out 0.3s;
    }

    .nav-item:has(.form-search):hover .input-group input::-ms-placeholder,
    .nav-item:has(.form-search):focus-within .input-group input::-ms-placeholder {
      opacity: 1;
      transition: opacity 0.1s ease-in-out 0.3s;
    }

    .nav-item:has(.form-search):hover .input-group input::placeholder,
    .nav-item:has(.form-search):focus-within .input-group input::placeholder {
      opacity: 1;
      transition: opacity 0.1s ease-in-out 0.3s;
    }

    .nav-item .form-search .input-group input::-webkit-input-placeholder {
      opacity: 0;
      transition: opacity 0.1s ease-in-out 0s;
    }

    .nav-item .form-search .input-group input::-moz-placeholder {
      opacity: 0;
      transition: opacity 0.1s ease-in-out 0s;
    }

    .nav-item .form-search .input-group input::-ms-placeholder {
      opacity: 0;
      transition: opacity 0.1s ease-in-out 0s;
    }

    .nav-item .form-search .input-group input::placeholder {
      opacity: 0;
      transition: opacity 0.1s ease-in-out 0s;
    }

    .nav-item .form-search .input-group button {
      border: none;
      border-radius: var(--control-border-radius);
      border-top-left-radius: 0 !important;
      border-bottom-left-radius: 0 !important;
      height: 36px;
      right: -1px;
      background-color: transparent;
      z-index: 2;
      position: relative;
      overflow: hidden;
    }

    .nav-item:has(.form-search) .input-group button span:before {
      color: var(--header-font-color);
      transition: color 0.15s ease-in-out 0.3s;
    }
  }

  .nav-item:has(.form-search):focus-within .input-group button span:before,
  .nav-item:has(.form-search):hover .input-group button span:before,
  .nav-item.ellipsis-vertical:hover span:before,
  .nav-item:has(.form-search):hover .search span:before {
    color: light-dark(#151515, white) !important;
    transition: color 0.15s ease-in-out 0s;
  }

  /* Hamburger menu styles */
  .navbar-toggler {
    background-color: transparent;
    border: none;
    border-radius: var(--button-border-radius);
  }

  .navbar-toggler:focus {
    box-shadow: none;
  }

  @media only screen and (max-width: 991px) {
    .nav-item:has(.form-search) {
      min-height: 37px;
      width: 47.75px;
      padding: 1.5px 10px;
      transition: transform 0.5s ease-in-out, opacity 0.3s ease-in-out, background-color 0.3s ease-in-out 0s;
      position: relative;
      background-color: transparent;
      border-radius: var(--control-border-radius);
      display: flex;
      align-items: center;
      margin-left: 10px;
    }

    .nav-item:has(.form-search) form .input-group-btn {
      display: none;
    }

    .nav-item:has(.form-search) a.search {
      padding: 6.5px 15px;
      font-size: 16px;
      width: 100%;
      height: 100%;
      display: flex;
      justify-content: center;
      align-items: center;
      border: none;
    }

    .nav-item:has(.form-search):hover {
      background-color: var(--control-background-color);
      cursor: pointer;
    }

    .nav-item:has(.form-search.overlay) input {
      opacity: 1;
      visibility: visible;
      transform: translate(-50%, 50%);
    }

    .nav-item:has(.form-search) input {
      opacity: 0;
      visibility: hidden;
      display: flex;
      position: fixed;
      z-index: 999;
      align-items: center;
      max-width: 500px;
      top: 10%;
      left: 50%;
      transition: opacity 0.5s ease-in-out, transform 0.2s ease-in-out;
      transform: translate(-50%, -50%);
      justify-content: center;
      background-color: light-dark(var(--control-background-color), #eee) !important;
      color: #242424 !important;
      border-radius: var(--control-border-radius);
      border: var(--control-border);
      box-shadow: var(--card-box-shadow);
      width: 80vw;
    }

    .nav-item:has(.form-search.overlay):after {
      opacity: 1;
      visibility: visible;
    }

    body:has(.nav-item:has(.form-search.overlay)) {
      overflow: hidden;
    }

    .nav-item:has(.form-search):after {
      cursor: default;
      content: "";
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      overflow: hidden;
      background: #0003;
      backdrop-filter: blur(5px);
      position: fixed;
      z-index: 998;
      opacity: 0;
      display: block;
      visibility: hidden;
      transition: all 0.3s ease-in-out;
    }

    .nav-item.search-item {
      padding: 0 !important;
    }
  }

  /* Footer styles */
  @media (min-width: 991px) and (max-width: 1199px) {
    footer .container {
      padding-left: calc(var(--bs-gutter-x) * 0.5);
      padding-right: calc(var(--bs-gutter-x) * 0.5);
    }

    /* Left offset if page has fixed navbar */
    body:has(.additional-nav.left.fixed) footer .container {
      padding-left: calc(var(--sidebar-width) - 40px);
    }

    body:has(.additional-nav.right.fixed) footer .container {
      padding-right: calc(var(--sidebar-width) - 40px);
    }
  }

  footer .container {
    padding-left: calc(var(--bs-gutter-x) * 0.5 + 60px);
    padding-right: calc(var(--bs-gutter-x) * 0.5 + 60px);
  }

  /* Left offset if page has fixed navbar */
  body:has(.additional-nav.left.fixed) footer .container {
    padding-left: var(--sidebar-width);
  }

  body:has(.additional-nav.right.fixed) footer .container {
    padding-right: var(--sidebar-width);
  }

  footer *:not(h1, h2, h3, h4, h5, h6) {
    font-size: 14px;
    font-family: var(--bs-body-font-family);
  }

  footer .nav-link {
    padding-left: 0;
    display: flex;
    align-items: center;
  }

  footer .nav-link img {
    margin-right: 10px;
  }

  footer .footer-bottom {
    background-color: var(--card-bg-color);
  }

  /* Button styles */

  .btn {
    border: 1px solid;
    border-radius: var(--button-border-radius);
    font-weight: 600;
    font-size: 14px;
    padding: 6px 20px;
    width: fit-content;
  }

  .btn-primary {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white !important;
    font-family: var(--bs-body-font-family);
  }

  .btn-primary:hover {
    background-color: color-mix(in srgb, var(--primary-color), black 10%);
    border-color: color-mix(in srgb, var(--primary-color), black 10%);
  }

  .btn-success {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: white !important;
    font-family: var(--bs-body-font-family);
  }

  .btn-success:hover {
    background-color: color-mix(in srgb, var(--primary-color), black 10%);
    border-color: color-mix(in srgb, var(--primary-color), black 10%);
  }

  .btn-warning {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
    color: white !important;
    font-family: var(--bs-body-font-family);
  }

  .btn-warning:hover {
    background-color: color-mix(in srgb, var(--warning-color), black 10%);
    border-color: color-mix(in srgb, var(--warning-color), black 10%);
  }

  .btn-danger {
    background-color: var(--error-color);
    border-color: var(--error-color);
    color: white !important;
    font-family: var(--bs-body-font-family);
  }

  .btn-danger:hover {
    background-color: color-mix(in srgb, var(--error-color), black 10%);
    border-color: color-mix(in srgb, var(--error-color), black 10%);
  }

  .btn-default {
    background-color: transparent;
    border: 1px solid #edebe9;
    color: var(--foreground);
    font-family: var(--bs-body-font-family);
  }

  .btn-default:hover {
    background-color: var(--disabled-color);
  }

  .btn-default:disabled {
    background-color: var(--disabled-color);
    border: none;
    color: light-dark(white, #222) !important;
  }

  #PreviousButton {
    margin-right: 6px;
  }

  .columnBlockLayout {
    margin-top: 0 !important;
    margin-bottom: 0;
  }

  .columnBlockLayout:last-of-type {
    margin-bottom: 60px;
  }

  .crmEntityFormView,
  #EntityFormView {
    margin: 0;
    padding: 0;
    background-color: transparent;
    border: none;
  }

  fieldset,
  h2.tab-title:not(:has(> br)),
  .form-header,
  .actions,
  .page-container:has(.ms-DetailsList),
  .modal .modal-content {
    border-radius: var(--card-border-radius);
    margin: 0px;
    padding: var(--form-padding);
    box-shadow: var(--card-box-shadow);
    background: var(--card-bg-color);
    border: var(--card-border);
    overflow-x: hidden;
    position: relative;
  }

  h2.tab-title {
    padding-top: 20px;
  }

  .modal-body fieldset {
    box-shadow: none;
    border: none;
  }

  .crmEntityFormView .actions {
    display: flex;
    gap: 10px;
    width: 100%;
    flex-wrap: wrap;
  }

  .crmEntityFormView .actions:after {
    display: none;
  }

  .actions .btn {
    width: auto;
    margin-right: 0;
    text-wrap-mode: nowrap;
    flex: 1 1 auto;
    max-width: fit-content;
  }

  fieldset {
    margin-top: 20px;
    overflow: visible;
  }

  .crmEntityFormView > fieldset:last-of-type {
    margin-bottom: 20px;
  }

  fieldset legend,
  .modal .modal-header {
    border-bottom-color: light-dark(#eee, #333);
    margin: 0 calc(var(--form-padding) * -1);
    width: calc(100% + var(--form-padding) * 2);
    /* make the line fill the parent */
  }

  .modal .modal-header {
    padding-top: 0;
    padding-left: calc(var(--form-padding) + 16px);
    padding-right: calc(var(--form-padding) + 16px);
  }

  fieldset legend > h3 {
    padding-left: var(--form-padding);
    /* reset the padding */
  }

  .crmEntityFormView label {
    background: light-dark(white, #222);
  }

  #ContentContainer_MainContent_MainContent_ContentBottom_MarketingOptionsPanel {
    padding-left: 0px;
    padding-right: 0px;
  }

  [id*="ProgressIndicator"] {
    padding-left: 0px;
    padding-right: 0px;
  }

  .progress.list-group.top {
    border-radius: var(--card-border-radius);
    box-shadow: var(--card-box-shadow);
    border: none;
  }

  /* Form component layout fixes */

  .tab-title {
    padding: 0 var(--form-padding) 21px var(--form-padding);
  }

  .tab-column {
    padding: 0;
  }

  .tab-column:first-of-type td {
    padding-left: 0;
  }

  .tab-column:last-of-type td {
    padding-right: 0;
  }

  @media only screen and (min-width: 768px) {
    table[role="presentation"] tr > td:not(:first-of-type) + td,
    table[role="presentation"] tr > td:not([hidden]) + td {
      padding-left: calc(var(--form-padding) / 2);
    }

    table[role="presentation"] tr > td:has(~ td:not([hidden]) ~ .zero-cell) {
      padding-right: calc(var(--form-padding) / 2);
    }

    table[role="presentation"] tr > td:has(+ .zero-cell) {
      padding-right: 0;
    }
  }

  .crmEntityFormView .cell {
    padding-left: 0;
    padding-right: 0;
  }

  .section-title > * {
    margin-top: 0;
  }

  .btn.btn-default.launchentitylookup,
  .btn.btn-default.clearlookupfield,
  .input-group-addon.btn,
  .view-search .input-group-btn > button {
    outline: none;
    background-color: var(--control-background-color);
    width: 3.5em;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border: var(--control-border);
  }

  .btn.btn-default.launchentitylookup,
  .input-group-addon.btn,
  .view-search .input-group-btn > button {
    border-top-right-radius: var(--control-border-radius) !important;
    border-bottom-right-radius: var(--control-border-radius) !important;
  }

  .btn.btn-default.launchentitylookup,
  .btn.btn-default.clearlookupfield {
    line-height: 24px !important;
    height: 37.6px;
  }

  .btn.btn-default.clearlookupfield {
    border-radius: 0;
    border-right: none;
  }

  .btn.btn-default.launchentitylookup:hover,
  .btn.btn-default.clearlookupfield:hover,
  .input-group-addon.btn:hover,
  .view-search .input-group-btn > button:hover {
    background-color: light-dark(
      color-mix(in srgb, transparent, black 20%),
      color-mix(in srgb, transparent, white 20%)
    );
  }

  .fa:before {
    color: color-mix(in srgb, var(--control-foreground-color), white 20%);
  }

  .form-control {
    height: 37.6px;
    border-top-left-radius: var(--control-border-radius);
    border-bottom-left-radius: var(--control-border-radius);
  }

  .form-control:focus {
    box-shadow: none;
  }

  .crmEntityFormView .form-control.readonly:focus,
  .crmEntityFormView .form-control[readonly][disabled]:focus,
  .form-readonly .form-control:focus {
    outline: none;
  }

  .crmEntityFormView .form-control.readonly,
  .crmEntityFormView .form-control[readonly][disabled],
  .form-readonly .form-control {
    padding-left: 0.75rem;
  }

  .aspNetDisabled:not(.lookup) {
    display: unset !important;
  }

  .control:has(input:not([type="checkbox"])),
  .control:has(select),
  .select2-search--dropdown {
    position: relative;
    gap: 0;
  }

  .control:has(input:not([type="checkbox"], [type="radio"])):after,
  .control:has(select):after,
  .select2-search--dropdown:after {
    box-sizing: border-box;
    content: "";
    left: 1px;
    top: 34px;
    height: 4px;
    width: calc(100% - 2px);
    position: absolute;
    display: block;
    border-bottom-left-radius: var(--control-border-radius);
    border-bottom-right-radius: var(--control-border-radius);
    border-bottom: 2px solid var(--primary-color);
    transform-origin: center;
    transform: scaleX(0);
    transition: transform 150ms ease-in-out;
    z-index: 999;
  }

  .select2-search--dropdown:after {
    width: calc(100% - 8px);
    left: 4px;
    top: 36px;
  }

  .control:has(input:not([type="checkbox"]).is-invalid):after,
  .control:has(select.is-invalid):after {
    border-bottom-color: var(--error-color);
  }

  .control:has(input:not([type="checkbox"], .lookup.form-control)[readonly]):after,
  .control:has(input.lookup.form-control.disabled):after,
  .control:has(select[readonly]):after,
  .control:has(input:not([type="checkbox"])[disabled]):after,
  .control:has(select[disabled]):after {
    border-bottom-color: var(--disabled-color);
  }

  input:not([type="checkbox"], .lookup.form-control)[readonly],
  input:not([type="checkbox"]).lookup.form-control.disabled,
  input:not([type="checkbox"])[disabled],
  select[readonly],
  select[disabled],
  textarea[readonly],
  textarea[disabled],
  .select2-selection[aria-disabled="true"] {
    background-image: url("data:image/svg+xml,%0A%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 20C18 21.1046 17.1046 22 16 22C14.8954 22 14 21.1046 14 20C14 18.8954 14.8954 18 16 18C17.1046 18 18 18.8954 18 20ZM10 10V8C10 4.68629 12.6863 2 16 2C19.3137 2 22 4.68629 22 8V10H23.5C25.433 10 27 11.567 27 13.5V26.5C27 28.433 25.433 30 23.5 30H8.5C6.567 30 5 28.433 5 26.5V13.5C5 11.567 6.567 10 8.5 10H10ZM12 8V10H20V8C20 5.79086 18.2091 4 16 4C13.7909 4 12 5.79086 12 8ZM8.5 12C7.67157 12 7 12.6716 7 13.5V26.5C7 27.3284 7.67157 28 8.5 28H23.5C24.3284 28 25 27.3284 25 26.5V13.5C25 12.6716 24.3284 12 23.5 12H8.5Z' fill='%23343a40'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 16px;
  }

  textarea[readonly],
  textarea[disabled] {
    background-position: right 0.75rem bottom 0.75rem;
  }

  .launchentitylookup:has(~ .select2-hidden-accessible[disabled]),
  .clearlookupfield:has(~ .select2-hidden-accessible[disabled]),
  .lookup.form-control.disabled ~ .launchentitylookup,
  .lookup.form-control.disabled ~ .clearlookupfield {
    display: none;
  }

  .control:has(input:not([type="checkbox"])):focus-within::after,
  .control:has(select):focus-within:after,
  .select2-search--dropdown:focus-within:after {
    transform: scaleX(1);
  }

  .control textarea {
    resize: vertical;
    border: var(--control-border);
    border-radius: var(--control-border-radius);
    background-color: var(--control-background-color) !important;
    height: 200px !important;
  }

  input.form-control,
  select.form-control {
    border: var(--control-border);
    background-color: var(--control-background-color) !important;
  }

  .form-control[type="email"] {
    display: block !important;
    text-decoration: none !important;
  }

  .form-control[type="email"] + .control {
    display: none;
  }

  /* Select dropdown arrow colours & placeholder styles */
  @media (prefers-color-scheme: dark) {
    .form-select {
      background-image: url("data:image/svg+xml;charset=utf8, %3Csvg viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none' d='m2 5 6 6 6-6' /%3E%3C/svg%3E");
    }
  }

  .form-select:has(> option[label="Select"]:checked) {
    color: var(--disabled-color) !important;
  }

  .form-select option:first-of-type[label="Select"] {
    color: var(--disabled-color) !important;
  }

  input.form-control::-webkit-input-placeholder {
    color: var(--disabled-color) !important;
  }

  input.form-control::-moz-placeholder {
    color: var(--disabled-color) !important;
  }

  input.form-control::-ms-placeholder {
    color: var(--disabled-color) !important;
  }

  input.form-control::placeholder {
    color: var(--disabled-color) !important;
  }

  .form-control ~ .text-muted {
    display: none;
  }

  .control:has(select, input, textarea) ~ .invalid-feedback,
  table[data-name="tab_complaintdetails_pcc_details"] #Subgrid_codeofethics_errormessage {
    color: var(--error-color) !important;
  }

  .control:has(.is-invalid) ~ .invalid-feedback {
    display: block;
  }

  .checkbox-cell > .invalid-feedback {
    padding-bottom: 10px;
  }

  .control {
    display: flex;
    gap: 10px;
  }

  .control > div:not(.input-group, .lookup-modal) {
    width: 100%;
  }

  .form-control:not(:has(~ .btn, ~ .input-group-btn)) {
    border-radius: var(--control-border-radius);
  }

  .form-control:has(~ .launchentitylookup) {
    border-right: none;
  }
  .form-control.lookup.disabled {
    border-top-right-radius: var(--control-border-radius);
    border-bottom-right-radius: var(--control-border-radius);
  }

  .form-control.has-error {
    border-color: var(--error-color) !important;
  }

  .select .option:disabled {
    background-color: --disabled-color;
  }

  .form-select {
    border-color: #949494;
  }

  /* Multiselect form control */

  control:has([data-id="UpdMSPicklistControl_container"]) {
    display: none;
  }

  .form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
  }

  /* Modern Lists */
  .fui-FluentProvider {
    background-color: var(--background);
  }

  .ms-CommandBar {
    background-color: transparent;
  }

  .ms-FocusZone {
    padding: 0;
    border-top-left-radius: var(--control-border-radius);
    border-top-right-radius: var(--control-border-radius);
  }

  .ms-FocusZone .ms-Button,
  .ms-Callout .ms-Button {
    margin: 0 !important;
    border-radius: var(--button-border-radius);
    font-family: var(--bs-body-font-family);
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
      box-shadow 0.15s ease-in-out;
  }

  .ms-Callout .ms-Button--primary.is-disabled {
    background-color: var(--disabled-color);
    border: none;
    color: light-dark(white, #222) !important;
  }

  .ms-Callout .ms-Button--primary:not(.is-disabled),
  .ms-Button.ms-CommandBarItem-link {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
  }

  .ms-Callout .ms-Button--primary:not(.is-disabled) *,
  .ms-Button.ms-CommandBarItem-link * {
    color: white !important;
  }

  .ms-Callout .ms-Button--primary:not(.is-disabled):hover,
  .ms-Button.ms-CommandBarItem-link:hover {
    background-color: color-mix(in srgb, var(--primary-color), black 10%);
    border-color: color-mix(in srgb, var(--primary-color), black 10%);
  }

  .ms-Callout .ms-Button--default,
  .ms-FocusZone .ms-Button.ms-Button--hasMenu {
    background-color: transparent;
    border: 1px solid #edebe9 !important;
  }

  .ms-Callout .ms-Button--default *,
  .ms-FocusZone .ms-Button.ms-Button--hasMenu * {
    color: var(--foreground) !important;
  }

  .ms-Callout .ms-Button--default:hover,
  .ms-FocusZone .ms-Button.ms-Button--hasMenu:hover {
    background-color: var(--disabled-color);
  }

  .ms-List-page {
    border-bottom-left-radius: var(--control-border-radius);
    border-bottom-right-radius: var(--control-border-radius);
    overflow: hidden;
  }

  .ms-DetailsRow {
    border-radius: 0;
    border-color: light-dark(#e5e5e5, #333);
    background-color: light-dark(transparent, var(--control-background-color));
  }

  .ms-DetailsRow:hover {
    border-radius: var(--control-border-radius);
    background-color: light-dark(#0001, #fff1);
  }

  .ms-DetailsRow-cell:has(button) {
    position: relative;
  }

  .ms-DetailsHeader {
    background-color: light-dark(#f0f0f0, #333);
    overflow: hidden;
  }

  .ms-DetailsHeader-cell:hover {
    background-color: light-dark(#0001, #fff1);
  }

  /* EA make color same as card color */
  .page-container > span > div {
    background-color: var(--card-bg-color) !important;
  }

  /* EA remove border on titles */
  .section-title {
    border-bottom: 0;
  }

  .ms-StackItem {
    background-color: var(--card-bg-color);
  }

  .ms-Suggestions-item:after {
    border: none;
  }

  .ms-TagItem {
    background-color: light-dark(#ddd, #333);
    border-radius: var(--control-border-radius);
    color: var(--control-foreground-color);
    transition: border 0.15s ease-in-out;
  }

  .ms-TagItem-close:focus {
    background-color: unset;
    border: 1px solid #edebe9;
  }

  .ms-TagItem-close:focus * {
    color: white !important;
  }

  .ms-TagItem-close:focus:after {
    border: none;
    outline: none;
  }

  .ms-ShimmerGap-root {
    background-color: transparent;
    border-top: 18px solid rgb(240, 240, 240);
    border-bottom: 18px solid rgb(240, 240, 240);
    box-sizing: content-box;
    height: 7px;
    border-color: light-dark(#fff, #222);
  }

  .ms-ShimmerLine-root {
    background-color: transparent;
    border-color: light-dark(#fff, #222);
    z-index: -1;
  }

  .ms-ShimmerLine-topRightCorner,
  .ms-ShimmerLine-bottomRightCorner,
  .ms-ShimmerLine-bottomLeftCorner,
  .ms-ShimmerLine-topLeftCorner {
    fill: transparent;
  }

  .ms-Shimmer-shimmerWrapper {
    background-color: light-dark(#e5e5e5, #111);
  }

  .ms-Shimmer-shimmerGradient {
    background: linear-gradient(
        to right,
        light-dark(rgb(229, 229, 229), #111) 0%,
        light-dark(rgb(220, 220, 220), #333) 50%,
        light-dark(rgb(229, 229, 229), #111) 100%
      )
      0px 0px / 90% 100% no-repeat light-dark(rgb(229, 229, 229), #111);
  }

  .ms-ContextualMenu,
  .ms-ContextualMenu-Callout,
  .ms-Callout,
  .ms-Callout-beakCurtain,
  .ms-Suggestions-container,
  .ms-Callout-main {
    background-color: var(--card-bg-color);
    border-radius: var(--control-border-radius);
  }

  .ms-Callout-beak,
  .ms-Callout-main .ms-ContextualMenu-item,
  .ms-Suggestions-item button {
    background-color: var(--card-bg-color);
  }

  .ms-Suggestions-item:has(button:hover) {
    background-color: transparent !important;
  }

  .ms-TagItem-close:hover,
  .ms-Callout-main .ms-ContextualMenu-link:hover,
  .ms-Suggestions-item button:hover {
    background-color: light-dark(
      color-mix(in srgb, transparent, black 20%),
      color-mix(in srgb, transparent, white 20%)
    );
  }

  .ms-BasePicker-text,
  .ms-Callout input,
  .ms-Callout .ms-Dropdown-title,
  .ms-Callout .ms-TextField-fieldGroup {
    border-radius: var(--control-border-radius);
    background-color: var(--control-background-color);
    border: var(--control-border);
    outline: none;
  }

  .ms-Callout .ms-TextField-fieldGroup:after {
    outline: none;
    border: none;
  }

  .ms-BasePicker-text:after {
    border-radius: var(--control-border-radius);
  }

  /* Multistep form progress bar */
  ol.progress.list-group {
    --chevron-padding: 10px;
    --chevron-width: 35px;
    --chevron-height: 50px;
    --chevron-primary-color: var(--primary-color);
    --chevron-disabled-color: var(--disabled-color);
    --chevron-success-color: var(--control-background-color);
  }

  ol.progress.list-group.top li {
    flex-grow: 1;
  }

  ol.progress.list-group.top li:last-of-type {
    margin-right: 0 !important;
  }

  ol.progress.list-group.top {
    height: var(--chevron-height);
    background-color: light-dark(white, #222);
    font-size: 14px;
    overflow-y: hidden;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    flex-direction: row !important;
  }

  ol.progress.list-group.top::-webkit-scrollbar {
    display: none;
  }

  ol.progress.list-group.top li {
    float: left;
    text-align: center;
    justify-content: center;
    vertical-align: top;
    position: relative;
    background: var(--disabled-color);
    /* color: #fff; */
    font-weight: 600;
    border: none;
    margin-right: calc(var(--chevron-width) + var(--chevron-padding));
    display: flex;
    align-items: center;
    min-width: 100px;
  }

  ol.progress.list-group.top li.list-group-item.active,
  ol.progress.list-group.top li.list-group-item.active span.number {
      color: #fff !important;
  }


  ol.progress.list-group.left li:hover,
  ol.progress.list-group.right li:hover,
  ol.progress.list-group.top li:hover {
    cursor: pointer;
    filter: brightness(80%);
    transition: all 0.3s ease;
  }

  ol.progress.list-group.top li:not(:first-of-type) {
    padding-left: 0;
  }

  ol.progress.list-group.top li a {
    line-height: var(--chevron-height);
    text-decoration: none;
    padding: 5px;
    color: #fff;
  }

  ol.progress.list-group.top li:before,
  ol.progress.list-group.top li:after {
    content: " ";
    height: 0;
    position: absolute;
    width: 0;
    border: calc(var(--chevron-height) / 2 + 1px) solid transparent;
    border-left-width: calc(var(--chevron-width) / 2);
    border-right-width: calc(var(--chevron-width) / 2);
    top: 0;
  }

  ol.progress.list-group.top li:before {
    border-top-color: var(--chevron-disabled-color);
    border-bottom-color: var(--chevron-disabled-color);
    border-right-color: var(--chevron-disabled-color);
    right: 100%;
  }

  ol.progress.list-group.top li:after {
    border-left-color: var(--chevron-disabled-color);
    left: 100%;
  }

  ol.progress.list-group.top li.list-group-item-success {
    margin-top: 0;
    background: var(--chevron-success-color);
  }

  ol.progress.list-group.top li.list-group-item-success:before {
    border-top-color: var(--chevron-success-color);
    border-bottom-color: var(--chevron-success-color);
    border-right-color: var(--chevron-success-color);
    right: 100%;
  }

  ol.progress.list-group.top li.list-group-item-success:after {
    border-left-color: var(--chevron-success-color);
    left: 100%;
  }

  ol.progress.list-group.top li.active {
    margin-top: 0;
    background: var(--chevron-primary-color);
  }

  ol.progress.list-group.top li.active:before {
    border-top-color: var(--chevron-primary-color);
    border-bottom-color: var(--chevron-primary-color);
    border-right-color: var(--chevron-primary-color);
    right: 100%;
  }

  ol.progress.list-group.top li.active:after {
    border-left-color: var(--chevron-primary-color);
    left: 100%;
  }

  /* Multistep form side progress bar */
  @media only screen and (min-width: 991px) {
    ol.progress.list-group.left,
    ol.progress.list-group.right {
      border-radius: var(--card-border-radius);
      padding: 0px;
      box-shadow: var(--card-box-shadow);
      background: light-dark(white, #222);
      height: 100%;
      border: none;
      overflow: hidden;
    }

    ol.progress.list-group.left {
      margin: 0 var(--form-padding) 0 0;
    }

    ol.progress.list-group.right {
      margin: 0 0 0 var(--form-padding);
    }

    ol.progress.list-group.left li,
    ol.progress.list-group.right li {
      background: var(--chevron-disabled-color);
      border: none;
      height: var(--chevron-height);
      margin: 5px;
      display: flex;
      align-items: center;
      text-align: center;
      font-weight: 600;
      font-size: 14px;
      margin-bottom: 0;
    }

    ol.progress.list-group.left li:last-of-type,
    ol.progress.list-group.right li:last-of-type {
      border-bottom-right-radius: var(--card-border-radius);
      border-bottom-left-radius: var(--card-border-radius);
    }

    ol.progress.list-group.left li.active,
    ol.progress.list-group.right li.active {
      background: var(--chevron-primary-color);
    }
  }

  @media only screen and (max-width: 991px) {
    /* multistep form progress bar flex for md display size */
    [id*="ProgressIndicator"] {
      width: 100%;
    }

    ol.progress.list-group.left,
    ol.progress.list-group.right {
      flex-direction: row;
      width: 100%;
      border-radius: var(--card-border-radius);
      overflow-y: hidden;
      overflow-x: auto;
      -ms-overflow-style: none;
      scrollbar-width: none;
      box-shadow: var(--card-box-shadow);
    }

    ol.progress.list-group.left::-webkit-scrollbar,
    ol.progress.list-group.right::-webkit-scrollbar {
      display: none;
    }
  }

  @media only screen and (max-width: 991px) {
    /* Multistep form side progress bar breakpoint moves to the top */
    ol.progress.list-group {
      --chevron-padding: 10px;
      --chevron-width: 35px;
      --chevron-height: 50px;
      --chevron-primary-color: var(--primary-color);
      --chevron-disabled-color: var(--disabled-color);
    }

    ol.progress.list-group.left,
    ol.progress.list-group.right {
      height: var(--chevron-height);
      background-color: light-dark(white, #222);
    }

    ol.progress.list-group.left li,
    ol.progress.list-group.right li {
      float: left;
      text-align: center;
      justify-content: center;
      vertical-align: top;
      position: relative;
      background: var(--chevron-disabled-color);
      color: #fff;
      font-weight: 600;
      font-size: 14px;
      border: none;
      border-radius: 0;
      margin-right: calc(var(--chevron-width) + var(--chevron-padding));
      display: flex;
      align-items: center;
      min-width: 100px;
    }

    ol.progress.list-group.left li:not(:first-of-type),
    ol.progress.list-group.right li:not(:first-of-type) {
      padding-left: 0;
    }

    ol.progress.list-group.left li a,
    ol.progress.list-group.right li a {
      line-height: var(--chevron-height);
      text-decoration: none;
      padding: 5px;
      color: #fff;
    }

    ol.progress.list-group.left li:before,
    ol.progress.list-group.right li:before,
    ol.progress.list-group.left li:after,
    ol.progress.list-group.right li:after {
      content: "";
      height: var(--chevron-height);
      position: absolute;
      width: 0;
      border: 24px solid transparent;
      border-left-width: calc(var(--chevron-width) / 2);
      border-right-width: calc(var(--chevron-width) / 2);
      top: 0;
    }

    ol.progress.list-group.left li:before,
    ol.progress.list-group.right li:before {
      border-top-color: var(--chevron-disabled-color);
      border-bottom-color: var(--chevron-disabled-color);
      border-right-color: var(--chevron-disabled-color);
      right: 100%;
    }

    ol.progress.list-group.left li:after,
    ol.progress.list-group.right li:after {
      border-left-color: var(--chevron-disabled-color);
      left: 100%;
    }

    ol.progress.list-group.left li.list-group-item-success:before,
    ol.progress.list-group.right li.list-group-item-success:before {
      border-top-color: var(--chevron-success-color);
      border-bottom-color: var(--chevron-success-color);
      border-right-color: var(--chevron-success-color);
      right: 100%;
    }

    ol.progress.list-group.left li.list-group-item-success:after,
    ol.progress.list-group.right li.list-group-item-success:after {
      left: 100%;
    }

    ol.progress.list-group.left li.active,
    ol.progress.list-group.right li.active {
      margin-top: 0;
      background: var(--chevron-primary-color);
    }

    ol.progress.list-group.left li.active:before,
    ol.progress.list-group.right li.active:before {
      border-top-color: var(--chevron-primary-color);
      border-bottom-color: var(--chevron-primary-color);
      border-right-color: var(--chevron-primary-color);
      right: 100%;
    }

    ol.progress.list-group.left li.active:after,
    ol.progress.list-group.right li.active:after {
      border-left-color: var(--chevron-primary-color);
      left: 100%;
    }
  }

  /* datepickers */

  .bootstrap-datetimepicker-widget {
    background-color: var(--card-bg-color);
    border-radius: var(--control-border-radius);
    border: none;
    box-shadow: var(--card-box-shadow);
  }

  .bootstrap-datetimepicker-widget th,
  .bootstrap-datetimepicker-widget td {
    padding: 4px 4px !important;
    background-color: transparent;
  }

  .bootstrap-datetimepicker-widget td button {
    background-color: transparent;
  }

  .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
    border-bottom-color: var(--card-bg-color);
  }

  .datetimepicker .input-group-addon.btn {
    height: 37.6px;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .datetimepicker .input-group-addon.btn .fa {
    padding: 0;
  }

  .datetimepicker table {
    border-spacing: 2px;
    border-collapse: separate;
  }

  .datetimepicker .day {
    width: 36px;
    height: 24px;
  }

  .datetimepicker .day.today {
    outline: 1px solid var(--primary-color);
    outline-offset: -1px;
  }

  .datetimepicker .day.today:before {
    display: none;
  }

  .datetimepicker .day.active,
  .datetimepicker .month.active,
  .datetimepicker .year.active,
  .datetimepicker .decade.active {
    background-color: var(--primary-color);
  }

  .datetimepicker .day.active button,
  .datetimepicker .month.active button,
  .datetimepicker .year.active button,
  .datetimepicker .decade.active button {
    color: white !important;
  }

  .datetimepicker .day button {
    position: relative;
    bottom: 0.5px;
    right: 0.5px;
  }

  .datetimepicker .month button,
  .datetimepicker .year button,
  .datetimepicker .decade button {
    position: relative;
    bottom: 3px;
  }

  .datetimepicker .day,
  .datetimepicker .prev,
  .datetimepicker .next,
  .datetimepicker .picker-switch,
  .datetimepicker .month,
  .datetimepicker .year,
  .datetimepicker .decade {
    border-radius: var(--control-border-radius);
  }

  .datetimepicker .day:hover,
  .datetimepicker .prev:hover,
  .datetimepicker .next:hover,
  .datetimepicker .picker-switch:hover,
  .datetimepicker .month:hover,
  .datetimepicker .year:hover,
  .datetimepicker .decade:hover {
    background-color: color-mix(in srgb, var(--primary-color), transparent 50%);
  }

  .datetimepicker .disabled,
  .datetimepicker .disabled button {
    cursor: not-allowed;
    color: var(--disabled-color) !important;
  }

  .datetimepicker .disabled:hover {
    background-color: transparent;
  }

  /* Custom checkboxes */

  .checkbox-cell {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    padding-bottom: 0;
    flex-wrap: wrap;
  }

  .checkbox-cell > div:first-of-type {
    /* width : checkbox width - left padding on element */
    width: calc(100% - 21px - 20px);
  }

  span[role="checkbox"],
  input[type="checkbox"] {
    --active: color-mix(in srgb, var(--primary-color), white 20%);
    --active-inner: #fff;
    --focus: 2px var(--primary-color);
    --border: #949494;
    --border-hover: var(--primary-color);
    --background: var(--control-background-color);
    --disabled: var(--disabled-color);
    --disabled-inner: #e1e6f9;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    height: 21px;
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: 1px solid var(--bc, var(--border));
    background: var(--b, var(--background));
    transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
  }

  span[role="checkbox"]:after,
  input[type="checkbox"]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
    transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
  }

  span[role="checkbox"][aria-checked="true"],
  input[type="checkbox"]:checked {
    --b: var(--active);
    --bc: var(--active);
    --d-o: 0.3s;
    --d-t: 0.6s;
    --d-t-e: cubic-bezier(0.2, 0.85, 0.32, 1.2);
  }

  span[role="checkbox"]:disabled,
  input[type="checkbox"]:disabled {
    --b: var(--disabled);
    cursor: not-allowed;
    opacity: 0.9;
  }

  span[role="checkbox"][aria-checked="true"]:disabled,
  input[type="checkbox"]:disabled:checked {
    --b: var(--disabled-inner);
    --bc: var(--border);
  }

  span[role="checkbox"]:disabled + label,
  input[type="checkbox"]:disabled + label {
    cursor: not-allowed;
  }

  span[role="checkbox"]:hover:not([aria-checked="true"]):not(:disabled),
  .control .checkbox input[type="checkbox"]:hover:not(:checked):not(:disabled) {
    --bc: var(--border-hover);
  }

  span[role="checkbox"]:focus,
  input[type="checkbox"]:focus {
    box-shadow: 0 0 0 var(--focus);
  }

  span[role="checkbox"]:not(.switch),
  input[type="checkbox"]:not(.switch) {
    width: 21px;
  }

  span[role="checkbox"]:not(.switch):after,
  input[type="checkbox"]:not(.switch):after {
    opacity: var(--o, 0);
  }

  span[role="checkbox"]:not(.switch):checked,
  input[type="checkbox"]:not(.switch):checked {
    --o: 1;
  }

  span[role="checkbox"] + label,
  input[type="checkbox"] + label {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    margin-left: 4px;
  }

  span[role="checkbox"]:not(.switch),
  input[type="checkbox"]:not(.switch) {
    border-radius: 4px;
  }

  span[role="checkbox"]:not(.switch):after,
  input[type="checkbox"]:not(.switch):after {
    width: 5px;
    height: 9px;
    border: 2px solid var(--active-inner);
    border-top: 0;
    border-left: 0;
    left: 7.5px;
    top: 4px;
    transform: rotate(var(--r, 20deg));
  }

  span[role="checkbox"][aria-label="true"]:not(.switch),
  input[type="checkbox"]:not(.switch):checked {
    --r: 43deg;
  }

  span[role="checkbox"] *,
  input[type="checkbox"] * {
    box-sizing: inherit;
  }

  input[type="checkbox"] *:before,
  span[role="checkbox"] *:after,
  input[type="checkbox"] *:after {
    box-sizing: inherit;
  }

  span[role="checkbox"]:not([aria-label="true"]):has("is-valid"),
  input[type="checkbox"]:not(:checked):has("is-valid") {
    border-color: var(--success-color) !important;
  }

  span[role="checkbox"][aria-label="true"]:not(:checked):has("is-invalid"),
  input[type="checkbox"]:not(:checked):has("is-invalid") {
    border-color: var(--error-color) !important;
  }

  /* radio buttons */

  .control .boolean-radio {
    display: flex;
    height: 37.6px;
    align-items: center;
  }

  .control .boolean-radio input:first-of-type {
    margin-left: 0;
  }

  .control input[type="radio"] {
    --size: 1em;
    --color: var(--primary-color);

    height: var(--size);
    aspect-ratio: 1;
    border: 1px solid #ccc;
    padding: calc(var(--size) / 7);
    background: radial-gradient(farthest-side, var(--color) 90%, #0000) 50%/0 0 no-repeat content-box;
    border-radius: 50%;
    outline-offset: calc(var(--size) / 10);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
    font-size: inherit;
    transition: 0.2s;
    margin: 2px 10px 2px 20px;
  }

  .control input[type="radio"]:checked {
    border-color: var(--color);
    background-size: 100% 100%;
  }

  .control input[type="radio"]:disabled {
    background: linear-gradient(#939393 0 0) 50%/100% 20% no-repeat content-box;
    opacity: 0.5;
    cursor: not-allowed;
  }

  .control input[type="radio"]:disabled:checked {
    background: linear-gradient(var(--color) 0 0) 50%/100% 20% no-repeat content-box;
    opacity: 1;
    cursor: not-allowed;
  }

  /* TODO: make the radio buttons align to the centre (requires javascript) */

  .tooltip-inner {
    color: white !important;
  }

  /* Alerts */
  .alert-warning {
    background-color: color-mix(in srgb, #fdd274, transparent 40%);
    border: none;
  }

  .alert-danger {
    background-color: color-mix(in srgb, var(--error-color), transparent 40%);
    border: var(--card-border);
    border-radius: var(--control-border-radius);
    box-shadow: var(--card-box-shadow);
  }

  /* Modals */

  .modal-lg {
    max-width: 900px !important;
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Views/Subgrids */
  .entity-grid *:not([role="button"], [role="checkbox"], input, .alert) {
    border-bottom-color: light-dark(#eee, #333);
  }

  .view-toolbar.grid-actions {
    display: flex;
    flex-wrap: wrap;
    border-bottom: none;
    justify-content: space-between;
    flex-direction: row;
    align-content: center;
    column-gap: 10px;
  }

  .view-toolbar.grid-actions a {
    min-width: fit-content;
    flex-grow: 1;
  }

  .view-toolbar.grid-actions > * {
    margin-bottom: 6px;
  }

  .view-toolbar.grid-actions .toolbar-actions {
    flex-grow: 999;
    margin-right: -10px;
  }

  .view-toolbar.grid-actions .entitylist-search {
    display: flex !important;
    width: 100%;
    justify-content: space-around;
    align-items: center;
  }

  .view-toolbar.grid-actions .entitylist-search > * {
    display: unset !important;
    width: unset !important;
  }

  .view-toolbar.grid-actions a[role="button"] {
    /* margin-right: 10px; */
    height: 31px;
    /* box-sizing: border-box; */
  }

  .view-grid {
    background-color: var(--control-background-color);
    border-radius: var(--card-border-radius);
    padding: var(--form-padding);
  }

  /* hide loading symbol and subgrid header when no records found */
  /* .subgrid .view-grid.table-responsive:has(~ .view-empty.message[style*="display: block"]),
  .subgrid .view-empty.message[style*="display: block"] ~ .view-loading.message {
    display: none !important;
  } */

  .modal table {
    /* overflow: scroll */
    table-layout: auto;
  }

  .modal-lg table th,
  .modal-lg table td {
    width: auto !important;
    text-wrap: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 30px;
  }

  .modal-lg table th:first-of-type,
  .modal-lg table td:first-of-type {
    width: 30px !important;
  }

  @media (min-width: 991px) and (max-width: 1200px) {
    .modal-lg table td:nth-child(n + 5),
    .modal-lg table th:nth-child(n + 5) {
      display: none;
    }
  }

  @media (min-width: 574px) and (max-width: 991px) {
    .modal-lg table td:nth-child(n + 4),
    .modal-lg table th:nth-child(n + 4) {
      display: none;
    }
  }

  @media (max-width: 574px) {
    .modal-lg table td:nth-child(n + 3),
    .modal-lg table th:nth-child(n + 3) {
      display: none;
    }
  }

  .view-grid table tr:hover {
    background-color: light-dark(
      color-mix(in srgb, transparent, black 10%),
      color-mix(in srgb, transparent, white 10%)
    );
  }

  .selected-view.dropdown-toggle {
    outline: none;
    border: none;
    border-radius: var(--control-border-radius);
    background-color: transparent;
    transition: background-color 0.15s ease-in-out;
  }

  .selected-view.dropdown-toggle:after {
    vertical-align: 3px;
  }

  .selected-view.dropdown-toggle span.fa,
  .view-toolbar.grid-actions.clearfix span.fa {
    padding-right: 3px;
  }

  .selected-view.dropdown-toggle:hover,
  .selected-view.dropdown-toggle:focus {
    background-color: light-dark(
      color-mix(in srgb, transparent, black 10%),
      color-mix(in srgb, transparent, white 10%)
    );
  }

  .selected-view.dropdown-toggle:hover a,
  .selected-view.dropdown-toggle:focus a {
    text-decoration: none !important;
    text-decoration-line: none !important;
  }

  /* Subgrid pagination */
  .pagination {
    margin-top: 5px !important;
  }

  .page-link {
    border: 2px solid var(--control-background-color) !important;
    border-radius: var(--card-border-radius) !important;
    margin-right: 5px !important;
  }

  .page-item > .page-link:hover,
  .page-item > .page-link:focus {
    background-color: color-mix(in srgb, transparent, black 10%) !important;
    border-color: color-mix(in srgb, var(--card-bg-color), black 10%) !important;
  }

  .page-item.active > .page-link {
    background-color: #e60000 !important;
    border-color: #e60000 !important;
    color: white !important;
  }

  /* Custom lookup dropdowns */
  .lookup-options {
    font-family: var(--bs-body-font-family);
    display: flex;
    flex-direction: column;
  }

  .lookup-options > span:not(:first-of-type) {
    font-size: 11px;
    color: var(--disabled-color);
  }

  .lookup .select2-container {
    border: var(--control-border);
    border-radius: var(--control-border-radius);
  }

  .select2-container,
  .select2-selection {
    min-height: 36px;
    width: 100% !important;
  }

  .select2-selection__placeholder {
    color: var(--disabled-color) !important;
  }

  .select2-selection {
    border-radius: var(--control-border-radius);
    background-color: var(--control-background-color);
    border: var(--control-border-color);
    color: var(--control-foreground-color);
    line-height: 1.5em;
    padding: 6px 12px;
    outline: none !important;
  }

  .select2-selection__rendered {
    padding: 0;
    line-height: 1.5em;
  }

  .select2-selection__arrow {
    display: none;
  }

  .select2-search__field {
    border-radius: var(--control-border-radius);
    background-color: var(--control-background-color);
    border: var(--control-border);
    color: var(--control-foreground-color);
    line-height: 1.5em;
    padding: 6px 12px;
    outline: none !important;
  }

  .select2-search--dropdown {
    border-bottom: 1px solid var(--disabled-color);
  }

  .select2-results__option {
    margin: 5px;
    transition: background-color 50ms ease-in-out;
  }

  .select2-results__option--highlighted {
    background-color: var(--control-background-color);
    border-radius: var(--control-border-radius);
    margin: 5px;
  }

  body:has(.select2-dropdown) {
    overflow-x: hidden;
  }

  .select2-dropdown {
    border-radius: var(--card-border-radius);
    background-color: var(--card-bg-color);
    border: none;
    box-shadow: var(--card-box-shadow);
    /* width: 100%; */
  }

  .select2-dropdown--below {
    margin-top: 4px;
  }

  .select2-dropdown--above {
    margin-top: -4px;
  }

  .input-group:has(.select2-container) .launchentitylookup {
    position: absolute;
    right: 0;
    height: 100%;
  }

  .input-group:has(.select2-container) .clearlookupfield {
    position: absolute;
    right: 3.5em;
    height: 100%;
  }

  /* Toast Notifications */
  .toast {
    --bs-toast-border-radius: var(--card-border-radius);
    --bs-toast-bg: light-dark(
      color-mix(in srgb, var(--card-bg-color), transparent 80%),
      color-mix(in srgb, var(--card-bg-color), transparent 20%)
    );
    --bs-toast-padding-y: 4px;
    --bs-toast-header-bg: transparent;
    --bs-toast-header-border-color: none;
    --bs-toast-max-width: 300px;
    --bs-bg-opacity: 0.7;
    backdrop-filter: blur(10px);
    padding: 10px 10px;
  }

  .toast .d-flex {
    align-items: center;
  }

  .toast-content {
    display: grid;
    grid-template-columns: 15px auto;
    align-items: center;
  }

  .toast-content .toast-header {
    grid-column: 2;
    grid-row: 1;
  }

  .toast-content .toast-body {
    grid-column: 2;
    grid-row: 2;
  }

  .toast-content .toast-icon {
    grid-column: 1;
    grid-row: 1;
    padding: 3px;
  }

  .toast .btn.fa-close,
  .banner-notification .btn.fa-close {
    border: none;
    padding-right: 0;
  }

  .toast .btn.fa-close:hover:before,
  .banner-notification .btn.fa-close:hover:before {
    color: color-mix(in srgb, var(--control-foreground-color), transparent 30%) !important;
  }

  .toast span.fa:before {
    justify-content: center;
  }

  .toast.text-bg-success span.fa:before {
    content: "\f058";
  }

  .toast.text-bg-info span.fa:before {
    content: "\f05a";
  }

  .toast.text-bg-warning span.fa:before {
    content: "\f071";
  }

  .toast.text-bg-danger span.fa:before {
    content: "\f06a";
  }

  .toast.success span.fa:before,
  .banner-notification.text-bg-success span.fa:before {
    content: "\f058";
    color: var(--success-color) !important;
  }

  .toast.info span.fa:before,
  .banner-notification.text-bg-info span.fa:before {
    content: "\f05a";
    color: var(--primary-color) !important;
  }

  .toast.warning span.fa:before,
  .banner-notification.text-bg-warning span.fa:before {
    content: "\f071";
    color: var(--warning-color) !important;
  }

  .toast.danger span.fa:before,
  .banner-notification.text-bg-danger span.fa:before {
    content: "\f06a";
    color: var(--error-color) !important;
  }

  /* Banner notifications */
  .banner-container {
    position: sticky;
    top: 10px;
    height: 0;
    z-index: 999;
  }

  .banner-notification {
    height: 40px;
    margin: 10px;
    backdrop-filter: blur(5px);
    display: flex;
    align-items: center;
    padding: 10px;
    --bs-bg-opacity: 0.7;
    border-radius: var(--control-border-radius);
  }

  .banner-notification .banner-text {
    flex-grow: 1;
    display: flex;
    align-items: center;
  }

  .banner-notification .banner-text span.fa {
    padding-right: 5px;
  }

  /* Light mode toggle */
  .light-mode-toggle {
    position: relative;
    display: inline-block;
    display: block;
    cursor: pointer;
    outline: none;
    border: none;
    font-size: 17px;
    width: 60px;
    height: 30px;
    min-width: 60px;
  }

  .moon svg path {
    color: #6b7280 !important;
  }

  .moon svg {
    width: 20px;
    height: 20px;
    border: none;
    position: absolute;
    top: 5px;
    left: 35px;
    z-index: 1;
  }

  .sun svg path {
    color: white !important;
  }

  .sun svg {
    width: 19px;
    height: 19px;
    border: none;
    position: absolute;
    top: 6px;
    right: 35px;
    z-index: 1;
  }

  .light-mode-toggle input {
    position: absolute;
    transform: translateX(-1000px);
    outline: none;
    border: none;
    display: none;
  }

  .light-mode-toggle-container {
    position: fixed;
    left: 20px;
    bottom: 20px;
    z-index: 1;
    display: flex;
    overflow: hidden;
    width: auto;
    max-width: 60px;
    outline: 0px solid;
    outline-width: 0px;
    border-radius: 300px;
    background-color: #0005;
    outline-color: #0005;
    box-sizing: content-box;
    box-shadow: rgba(0, 0, 0, 0.17) 0px 2px 8px, rgba(0, 0, 0, 0.2) 0px 3px 10px;
    backdrop-filter: blur(10px);
    transition: background-color 0.4s, outline-color 0.4s, max-width 150ms ease-in-out, outline-width 150ms;
  }

  .light-mode-toggle-container:hover {
    max-width: 200px;
    outline-width: 3px;
  }

  .light-mode-toggle-container:has(input:checked) {
    background-color: #fff5;
    outline-color: #fffc;
  }

  .light-mode-toggle-container .text {
    font-size: 14px;
    padding: 2px 10px 2px 10px;
    text-wrap-mode: nowrap;
    display: inline-flex;
    align-items: center;
  }

  .light-mode-toggle-container:has(input:checked) .text {
    color: black !important;
  }

  .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #3a3a3a;
    transition: 0.4s;
    border-radius: 300px;
    border: none;
  }

  .slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    border-radius: 20px;
    left: 3px;
    bottom: 3px;
    z-index: 2;
    background-color: #212121;
    transition: 0.4s;
  }

  .light-mode-toggle input:focus + .slider {
    box-shadow: 0 0 1px #cecece;
  }

  .light-mode-toggle input:checked + .slider {
    background-color: #cecece;
  }

  .light-mode-toggle input:checked + .slider:before {
    transform: translate(29px);
    background: #eee;
  }

  /* Quick view */
  /* .control iframe {
    height: auto !important;
  } */

  .crmquickform-cell {
    border: 0;
  }

  .crmquickform-cell .table-info {
    display: none;
  }

  .crmquickform-cell .control {
    overflow: hidden;
    border-radius: var(--control-border-radius);
  }

  .container.quickform {
    max-width: 100%;
  }

  body:has(.container.quickform) {
    background: transparent;
  }

  body:has(.container.quickform .subgrid) {
    background: var(--background);
  }

  body:has(.container.quickform) fieldset {
    box-shadow: none;
  }

  .container.quickform .subgrid.sharepoint-grid {
    padding: 0;
  }

  .container.quickform .subgrid.sharepoint-grid *:not(.fa) {
    font-family: var(--bs-body-font-family) !important;
  }

  .fa.fa-file-o:before {
    content: "\f016";
  }

  .sharepoint-custom-header {
    font-weight: 500;
    font-size: 16px;
  }

  .container.quickform .subgrid.sharepoint-grid abbr {
    margin: 5px 5px 5px 5px;
    float: left;
    min-width: 13px;
    padding: 3px 7px;
    border-radius: 10px;
    font-size: 13px;
    text-decoration: none;
    background-color: var(--primary-color);
    color: white !important;
  }

  .container.quickform .subgrid.sharepoint-grid .fa {
    padding: 0px 10px;
  }

  .container.quickform .subgrid.sharepoint-grid th {
    padding-left: 20px;
    padding-top: 15px;
  }

  .container.quickform .sharepoint-data {
    height: 0;
  }

  .container.quickform .sharepoint-data .view-grid {
    padding: 0;
  }

  .container.quickform fieldset {
    margin: 0;
    padding: 0;
  }

  .container.quickform fieldset td {
    margin: 0;
    padding: 0;
  }

  .container.quickform fieldset .sharepoint-documents .view-toolbar.grid-actions {
    display: none;
  }

  .sharepoint-loading.message.text-center {
    top: 85px;
    position: relative;
  }

  label[for="ExternalDocuments_SG"] {
    display: none;
  }

  /* Spinner options */
  .modal-spinner {
    --size: 48px;
    --color: color-mix(in srgb, var(--primary-color), transparent 20%);
    pointer-events: none;
  }

  /* Align spinner to center */
  .modal-spinner .modal-content {
    align-items: center;
    background: transparent;
    box-shadow: none;
  }

  .loader {
    width: var(--size);
    height: var(--size);
    display: inline-block;
    position: relative;
    transform: rotate(45deg);
  }

  .loader::before {
    content: "";
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    position: absolute;
    left: 0;
    top: -24px;
    animation: animloader 4s ease infinite;
  }

  .loader::after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    left: 0;
    top: 0;
    width: 24px;
    height: 24px;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
    animation: animloader2 2s ease infinite;
  }

  .pva-floating-style {
    display: none;
  }

  .grid-actions .add-folder,
  #Subgrid_pcc_documents_review .view-toolbar.grid-actions.clearfix,
  #Subgrid_logocred_documents_review .view-toolbar.grid-actions.clearfix {
    display: none;
  }
}

@keyframes animloader {
  0% {
    box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0),
      0px 48px rgba(255, 255, 255, 0);
  }

  12% {
    box-shadow: 0 24px var(--color), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0),
      0px 48px rgba(255, 255, 255, 0);
  }

  25% {
    box-shadow: 0 24px var(--color), 24px 24px var(--color), 24px 48px rgba(255, 255, 255, 0),
      0px 48px rgba(255, 255, 255, 0);
  }

  37% {
    box-shadow: 0 24px var(--color), 24px 24px var(--color), 24px 48px var(--color), 0px 48px rgba(255, 255, 255, 0);
  }

  50% {
    box-shadow: 0 24px var(--color), 24px 24px var(--color), 24px 48px var(--color), 0px 48px var(--color);
  }

  62% {
    box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px var(--color), 24px 48px var(--color), 0px 48px var(--color);
  }

  75% {
    box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px var(--color),
      0px 48px var(--color);
  }

  87% {
    box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0),
      0px 48px var(--color);
  }

  100% {
    box-shadow: 0 24px rgba(255, 255, 255, 0), 24px 24px rgba(255, 255, 255, 0), 24px 48px rgba(255, 255, 255, 0),
      0px 48px rgba(255, 255, 255, 0);
  }
}

@keyframes animloader2 {
  0% {
    transform: translate(0, 0) rotateX(0) rotateY(0);
  }

  25% {
    transform: translate(100%, 0) rotateX(0) rotateY(180deg);
  }

  50% {
    transform: translate(100%, 100%) rotateX(-180deg) rotateY(180deg);
  }

  75% {
    transform: translate(0, 100%) rotateX(-180deg) rotateY(360deg);
  }

  100% {
    transform: translate(0, 0) rotateX(0) rotateY(360deg);
  }
}

/* Custom Drupal Portal css */

/* Below is custom css used to match the styling of the existing drupal portal
https://portal.engineersaustralia.org.au/
This code will be removed and refactored in future :state */

/* drupal portal variables */
:root {
  /* Font variables */
  --font-family-body: "Lato", "Segoe UI", "San Francisco", "Roboto";

  /* Color variables */
  --color-primary-red: #e60000;
  --color-primary-night-sky: #001f30;
  --color-primary-steel: #f3f3f3;

  --color-secondary-marine: #bbe5dc;
  --color-secondary-earth: #952114;
  --color-secondary-solar: #ff8543;

  --color-font-white: #ffffff;
  --color-font-black: #000000;

  --transparent: rgba(255, 255, 255, 0);
}

.navbar-upper {
  height: 115px !important;
  padding: 0 150px;
}
.navbar-upper .navbar-upper-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.navbar-upper .navbar-upper-container > .navbar-upper-container-left,
.navbar-upper .navbar-upper-container > .navbar-upper-container-middle,
.navbar-upper .navbar-upper-container > .navbar-upper-container-right {
  display: flex;
  align-items: center;
}
.navbar-upper .navbar-upper-container > .navbar-upper-container-middle {
  flex: 1;
  justify-content: center;
}
.navbar-upper .navbar-upper-container > .navbar-upper-container-right {
  justify-content: flex-end;
}
.navbar-upper .navbar-upper-container .navbar-brand img {
  height: 92px !important;
}
.navbar-upper .navbar-upper-container .primary-nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
}
.navbar-upper .navbar-upper-container .primary-nav li {
  display: flex;
  align-items: center;
}
.navbar-upper .navbar-upper-container .primary-nav li .nav-link:hover {
  color: inherit !important;
}

.navbar-lower {
  background-color: #262626 !important;
  height: 50px !important;
}

.navbar-lower-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
.navbar-lower-container .navbar-lower-link {
  color: #fff !important;
  font-family: "Lato", "Segoe UI", "San Francisco", "Roboto";
  font-size: 16px;
}
.navbar-lower-container .navbar-lower-link .fa-home:before {
  color: #ffffff !important;
}
.navbar-lower-container .navbar-lower-link-item {
  color: #fff !important;
}

.light-mode-toggle-container {
  display: none !important;
}

.footer {
  font-family: "Lato", "Segoe UI", "San Francisco", "Roboto";
  font-size: 14px;
  padding: 0;
}
.footer #footer-top {
  width: 100%;
  color: #262626 !important;
  background-color: #e5e5e5 !important;
}
.footer #footer-top .footer-container {
  padding: 1.5rem 150px;
}
.footer #footer-top .footer-container .footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.footer #footer-top .footer-container .footer-content .content-position {
  flex: 1 1 30%;
  max-width: 30%;
  min-width: 250px;
  box-sizing: border-box;
}
.footer #footer-top .footer-container .footer-content .content-position .content-wrapper {
  flex-direction: column;
  min-height: 170px;
  background-color: #fff;
  padding: 1rem;
  margin: 0.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.footer #footer-top .footer-container .footer-content .content-position .content-wrapper .content-title {
  font-weight: 700;
}
.footer #footer-top .footer-container .footer-content .content-position .content-wrapper .content-title a {
  color: red;
  font-weight: 700;
}
.footer #footer-bottom {
  flex: 1;
  width: 100%;
  padding: 1.5rem 150px;
  color: #fff !important;
  background-color: #262626 !important;
}
.footer #footer-bottom .footer-container .footer-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.footer #footer-bottom .footer-container .footer-content #copyright {
  flex: 1 1 50%;
  text-align: left;
}
.footer #footer-bottom .footer-container .footer-content #copyright p {
  color: #fff !important;
  margin: 0;
}
.footer #footer-bottom .footer-container .footer-content .footer-links {
  flex: 1 1 50%;
  text-align: right;
}
.footer #footer-bottom .footer-container .footer-content .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  justify-content: flex-end;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.footer #footer-bottom .footer-container .footer-content .footer-links a {
  color: #fff !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

.birthdate-text-invalid {
  position: absolute;
  font-size: 10px;
  font-style: italic;
  font-family: Lato;
}
.birthdate-text-invalid a {
  font-size: 10px;
  font-weight: 700;
  color: #e60000 !important;
}

#cancelButton:hover,
.return-home-button:hover,
.submit-another-button:hover {
  background-color: #e60000 !important;
  border-color: #e60000 !important;
  color: #ffffff !important;
}
#cancelButton:active,
.return-home-button:active,
.submit-another-button:active {
  background-color: #f3f3f3 !important;
  border-color: #f3f3f3 !important;
  color: #e60000 !important;
}

.submit-another-button {
  margin-right: 20px !important;
}

/* Have to redefine custom hover here as primary-btn is being overridden */
.submit-another-button:hover {
  background-color: color-mix(in srgb, var(--primary-color), black 10%) !important;
  border-color: color-mix(in srgb, var(--primary-color), black 10%) !important;
}

/* Font sizing for portal notification body */
.toast-body p {
  font-size: 14px;
}

/* Page - My Contact Details */

td:has(> .control > input#address1_latitude),
td:has(> .control > input#address2_latitude),
td:has(> .control > input#address1_longitude),
td:has(> .control > input#address2_longitude) {
  display: none !important;
}

/* Page - PCC Submission */
.pcc-submission-buttons {
  margin: 0 66px 20px !important;
  width: 100% !important;
}

div[data-bs-target*='"LogicalName":"ea_professionalconductcomplaint"'] .checkbox,
div[data-bs-target*='"LogicalName":"incident"'] .checkbox {
  display: none !important;
}

.btn-default.active,
.btn-default:active {
  color: #222 !important;
  background-color: var(--disabled-color) !important;
  border: none;
  border-color: inherit !important;
}

.triage-eamember-blocked {
  display: none;
}

/* comment out to find missing buttons
.modal-content .modal-footer .remove-value {
  display: none !important;
} */

/* PCC Form - hide specific fields by default */
#ea_ProfessionalConductComplaint_EAPCCPortalSubmissionForm_submit[value="Next: Who is your complaint about?"],
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_gettingstarted_gettingstarted"] #createdon_datepicker_description,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_gettingstarted_gettingstarted"] #createdon_label,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] #createdon_label,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] .control:has(> #createdon),
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] #modifiedon_label,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] .control:has(> #modifiedon) {
  display: none;
}

/* PCC Getting Started metadata */
.pcc-triage-hidden {
  display: none;
}

.pcc-triage-text {
  font-size: 16px !important;
  margin-bottom: 0;
}

.pcc-triage-link {
  color: var(--primary-color) !important;
  text-decoration: underline !important;
}

.pcc-triage-text.pcc-triage-heading {
  margin-top: 10px;
}

.pcc-triage-button-container {
  padding: 10px 0 !important;
}

.pcc-triage-button {
  margin-right: 10px !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

.pcc-triage-learnmore {
  border: 2px solid #d1d1d1;
  max-width: 33%;
  padding: 10px;
  text-align: center;
  border-radius: 6px;
  margin: 30px 0;
}

.pcc-triage-step01 p {
  margin-top: 20px !important;
}

/* PCC Complaint Details PCC metadata */
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] td:has(#createdon),
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_pcc_details"] td:has(#modifiedon),
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_logocred_details"] td:has(#createdon),
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_unpermittedlogo_details"] td:has(#createdon) {
  padding: 0 !important;
}

/* PCC Complaint Details false credentials */
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_logocred_details"] #createdon_label,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_logocred_details"] .control:has(> #createdon) {
  display: none;
}

/* PCC Complaint Details unpermitted use logo */
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_unpermittedlogo_details"] #createdon_label,
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_complaintdetails_unpermittedlogo_details"] .control:has(> #createdon) {
  display: none;
}

/* PCC Review & Submit metadata */
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_reviewsubmit_pcc_consent"] td:has(#createdon),
#WebFormControl_d77e8ae9f835f0118c4c000d3acaeab6 table[data-name="tab_reviewsubmit_pcc_consent"] td:has(#modifiedon) {
  margin: 10px 0 !important;
}


/* File upload allowed types error message */
#filetype_errormessage{
  padding-top: 15px;
}

#filetype_errormessage > span {
  color: var(--error-color) !important;
}

.filetype-error-header {
  font-weight: 600;
}

/* EA Privacy Policy link */
#ea_privacypolicyconsent_label > a,
.description > a {
  font-weight: inherit;
  font-size: inherit;
  font-family: inherit;
  color: var(--primary-color) !important;
  text-decoration: underline;
}
