/* BS Layout Overrides */
@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: var(--ipa-xl-container-width) !important;
    }
}

@media (min-width: 1400px) {
      .row.sectionBlockLayout > .container, .row.sectionBlockLayout > .container-lg, .row.sectionBlockLayout > .container-md, .row.sectionBlockLayout > .container-sm, .row.sectionBlockLayout > .container-xl, .row.sectionBlockLayout > .container-xxl {
        max-width: var(--ipa-xl-container-width);
    }
}

.page-copy .colour-heading {
  color: var(--ipa-color-headings) !important;
}

.page-copy .btn.btn-primary {
  background-color: var(--ipa-color-headings);
  color: var(--ipa-color-white);
}

body .ipa-ivds-accent {
  color: var(--ipa-color-accent--pbr-l);
}

body .ipa-ivds-page-h1 {
  align-self: center;
}

body .page-copy .ipa-ivds-title-area .content {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: center;
  Line-height: 27px;
}

body .page-copy .ipa-ivds-title-area .content * {
  color: var(--ipa-color-headings) !important;
}

body .page-copy .ipa-ivds-title-area {
  max-width: 851px;
  display: flex;
  gap: 24px;
  padding-block: 32px 24px;
}

/* My applications */

body .ipa-ivds-list-table .entitylist {
  border: none;
}

body .ipa-ivds-list-table .view-grid.table-responsive {
  border-radius: var(--ipa-border-radius);
  border: 1px solid var(--ipa-neutral-400); 
}

body .ipa-ivds-list-table .grid-actions {
  border-bottom: 2px solid var(--ipa-neutral-400);
  margin-bottom: 1rem;
  padding-bottom: 1rem;
}

body .ipa-ivds-list-table td[aria-label^="Pending"] {
  text-align: center;
  color: var(--ipa-warning-dark) !important;
}

body .ipa-ivds-list-table td[aria-label$="ubmitted"] {
  text-align: center;
  color: var(--ipa-success) !important;
}

body .ipa-ivds-list-table .view-grid.table-responsive table {
  margin-bottom: 0;
}

body .ipa-ivds-ms-form .view-grid.table-responsive table thead,
body .ipa-ivds-list-table .view-grid.table-responsive table thead {
  background-color: var(--ipa-neutral-100);
}

body .ipa-ivds-ms-form .view-grid.table-responsive table thead th a,
body .ipa-ivds-list-table .view-grid.table-responsive table thead th a {
  font-weight: var(--ipa-font-weight-medium);
  color: var(--ipa-color-headings);
  display: inline-flex;
  align-items: baseline;
  gap: .25rem;
}

body .ipa-ivds-list-table .view-grid.table-responsive table thead th a {
  white-space: nowrap;
}

body .view-grid.table-responsive table thead th a .fa-arrow-up,
body .view-grid.table-responsive table thead th a .fa-arrow-down {
  transform: scale(0.8);
}

body .view-grid.table-responsive table thead th a .fa-arrow-up::before {
  content: "\f077" !important;
}

body .view-grid.table-responsive table thead th a .fa-arrow-down::before {
  content: "\f078" !important;
}

body .ipa-ivds-ms-form .table-striped > tbody > tr:nth-of-type(odd) > *,
body .ipa-ivds-list-table .table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-accent-bg: white;
  color: var(--ipa-color-body);
}

body .ipa-ivds-ms-form .table-striped > tbody > tr:nth-of-type(even) > *,
body .ipa-ivds-list-table .table-striped > tbody > tr:nth-of-type(even) > * {
  --bs-table-accent-bg: var(--ipa-neutral-50);
}

body .view-search * {
  border-color: var(--ipa-form-field);
}

body .view-search input {
  font-size: var(--ipa-size-body) !important;
}

body .view-search input::placeholder {
  color: var(--ipa-color-body) !important;
}

body .lookup .view-search button.btn {
  font-size: var(--ipa-size-body) !important;
}

body .lookup .clearlookupfield,
body .lookup .launchentitylookup {
  border-width: 1px;
  padding-bottom: 5px;
  border-left: none;
}

body .view-search button.btn {
  border: none;
  border-top: 1px solid var(--ipa-form-field);
  border-right: 1px solid var(--ipa-form-field);
  border-bottom: 1px solid var(--ipa-form-field);
  border-top-right-radius: var(--ipa-border-radius) !important;
  border-bottom-right-radius: var(--ipa-border-radius) !important;
}

body .lookup input.text {
  border-color: var(--ipa-form-field);
}

body .lookup button.btn {
  font-size: var(--ipa-size-small) !important;
}

/* Regular checkbox */

.checkbox-cell {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}

.checkbox-cell div.table-info {
  padding-left: 12px !important;
}

.checkbox-cell .checkbox input[type="checkbox"] {
  margin-left: 2px !important;
  transform: scale(1.5);
  accent-color: var(--ipa-form-field);
}

/* Radio buttons */
.boolean-radio input[type="radio"] {
  appearance: none;
  background-color: var(--ipa-color-white);
  margin: 0;
  color: var(--ipa-form-field);
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid var(--ipa-form-field);
  border-radius: 50%;
  place-content: center;
  position: relative;
}

.boolean-radio input[type="radio"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--ipa-form-field);
}

.boolean-radio input[type="radio"]:checked::before {
  transform: scale(1);
  position: absolute;
  top: 1.5px;
  left: 1.75px;
}

/* Disabled state */
.boolean-radio input[type="radio"]:disabled {
  color: var(--ipa-color-body);
  border: 0.15em solid var(--ipa-color-body);
}

.boolean-radio input[type="radio"]:disabled::before {
  box-shadow: inset 1em 1em var(--ipa-color-body);
}

.boolean-radio input[type="radio"]:disabled:checked::before {
  top: 2px;
  left: 1.75px;
}


/* TG checkbox hack */
.modal-lookup tbody td .fa.fa-fw {
  appearance: none;
  background-color: var(--ipa-color-white);
  margin: 0;
  margin-top: 4px;
  color: var(--ipa-form-field);
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid var(--ipa-form-field);
  border-radius: 50%;
  place-content: center;
  position: relative;
}

.modal-lookup tbody td .fa.fa-fw::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border-radius: 50%;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em var(--ipa-form-field);
}

.modal-lookup tbody td .fa.fa-check::before {
  transform: scale(1);
  position: absolute;
  top: 1.5px;
  left: 1.5px;
}

/* Paginaton */

ul.pagination > li.page-item {
  display: flex;
  align-items: center;  
  margin-bottom: 0;
}

ul.pagination > li.page-item.disabled a.entity-pager-prev-link,
ul.pagination > li.page-item.disabled a.entity-pager-next-link {
  opacity: 0.5;
}

ul.pagination > li.page-item > a {
  font-weight: var(--ipa-font-weight-normal);
  font-size: var(--ipa-size-small);
  color: var(--ipa-color-headings);
}

ul.pagination > li.page-item.active > a {
  border-radius: var(--ipa-border-radius);
  background-color: var(--ipa-color-headings) !important;
  color: var(--ipa-color-white);
}

ul.pagination > li.page-item > a.entity-pager-prev-link {
  display: inline-block;
  width: 7px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.75 0.75L5.514 5.51444C5.57653 5.57689 5.61167 5.66163 5.61167 5.75C5.61167 5.83837 5.57653 5.92311 5.514 5.98556L0.75 10.75' stroke='%231D252C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: transparent;
  margin-top: -2px;
  transform: rotate(180deg);
}

ul.pagination > li.page-item > a.entity-pager-next-link {
  display: inline-block;
  width: 7px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.75 0.75L5.514 5.51444C5.57653 5.57689 5.61167 5.66163 5.61167 5.75C5.61167 5.83837 5.57653 5.92311 5.514 5.98556L0.75 10.75' stroke='%231D252C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: transparent;
  margin-top: -2px;
}


/* Dropdown action menu behaviour... */
/* Everyone hates the way MS did it so we are going to */
/* do something about this when there are 2 or less actions */

body .ipa-ivds-ms-form .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) button.btn,
body .ipa-ivds-list-table .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) button.btn {
   display: none;
}

body .ipa-ivds-ms-form .dropdown.action .dropdown-menu,
body .ipa-ivds-list-table .dropdown.action .dropdown-menu {
  gap: 0;
}

body .ipa-ivds-ms-form .dropdown.action .dropdown-menu a.dropdown-item,
body .ipa-ivds-list-table .dropdown.action .dropdown-menu a.dropdown-item {
  padding: 0;
}

body .ipa-ivds-ms-form .dropdown.action .dropdown-menu a.dropdown-item:hover,
body .ipa-ivds-list-table .dropdown.action .dropdown-menu a.dropdown-item:hover {
  background: none;
}

body .ipa-ivds-ms-form .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) .dropdown-menu,
body .ipa-ivds-list-table .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) .dropdown-menu {
   display: flex !important;
   position: static !important;
   transform: none !important;
   float: none !important;
   min-width: auto !important;
   padding: 0;
   margin: 0;
   border: 0;
   background: transparent;
   box-shadow: none;
   gap: 0.5rem;
}

body .ipa-ivds-download-table thead th {
  font-weight: 500;
  box-shadow: none;
}

body .ipa-ivds-download-table tbody td a {
  color: var(--ipa-color-headings) !important;
  text-decoration: underline;
}

body .ipa-ivds-download-table tbody td a:hover,
body .ipa-ivds-download-table tbody td a:focus {
  text-decoration: none !important;
}

body .ipa-ivds-ms-form .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) .dropdown-menu li,
body .ipa-ivds-list-table .dropdown.action:has(.dropdown-menu > li:nth-child(-n+2)):not(:has(.dropdown-menu > li:nth-child(3))) .dropdown-menu li {
   display: inline-block;
}

body .ipa-ivds-ms-form a.dropdown-item,
body .ipa-ivds-list-table a.dropdown-item {
  color: var(--ipa-color-headings);
}

body {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  color: #64696a;
}
body h1,
body h2,
body h3,
body h4 {
  color: #040c13;
}
body p, body li {
  color: #64696a;
}
body p a, body li a {
  color: #64696a;
  font-weight: 600;
}

body footer.footer {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
}

body .form-control {
  border-radius: var(--ipa-border-radius);
}

/* Multi-step forms */

.ipa-ivds-ms-form .form-action-container-left button.btn {
  white-space: nowrap;
}

.ipa-ivds-ms-form .crmEntityFormView {
  border: none;
}

.ipa-ivds-ms-form .crmEntityFormView label.field-label {
  color: var(--ipa-color-headings);
  font-weight: var(--ipa-font-weight-medium);
}

.ipa-ivds-ms-form input.btn-primary {
  color: var(--ipa-color-white);
}

.ipa-ivds-ms-form input.btn-primary:hover {
  background-color: var(--ipa-neutral-200);
  color: var(--ipa-color-headings);
}

.form-control-cell .required .field-label::after {
  content: "(Required)" !important;
  color: var(--ipa-warning-dark) !important;
  padding-left: .5rem;
}

/* Modal window */
.crmEntityFormView {
  border: none !important;
}

.crmEntityFormView .cell {
  padding-left: 0;
  padding-right: 0;
}

.crmEntityFormView label {
  color: var(--ipa-color-headings) !important;
  font-weight: var(--ipa-font-weight-medium) !important;
}

/* Form step indicators */
@media (min-width: 992px) {
  .ipa-ivds-ms-form .crmEntityFormView {
    width: 58.33333333% !important;
  }
}

.ipa-ivds-ms-form .div-right ol.progress.right {
  margin-top: 0;
  background: none;
}

.ipa-ivds-ms-form .div-right ol.progress.right li.list-group-item {
  background: none;
  border: none;
  border-left: 3px solid var(--ipa-neutral-400);
  padding-top: .8rem;
  padding-bottom: .8rem;
  border-bottom: 1px solid var(--ipa-neutral-400);
  font-size: var(--ipa-size-small);
}

.ipa-ivds-ms-form .div-right ol.progress.right li.list-group-item.active {
  background: var(--ipa-neutral-200);
  border-left-color: var(--ipa-color-accent--pbr);
  color: var(--ipa-color-headings);
  font-weight: var(--ipa-font-weight-medium);
}

select.form-control {
  border-color: #949494;
}

/* Legacy MSOS lookups */
.ipa-ivds-ms-form .msos-container {
  padding-top: .5rem !important;
  padding-bottom: .5rem !important;
  border-radius: var(--ipa-border-radius);
}

.ipa-ivds-ms-form .msos-selection-container * {
  font-size: var(--ipa-size-small);
}

.ipa-ivds-ms-form .msos-selection li.msos-option {
  margin-bottom: 0;
}

.ipa-ivds-ms-form .msos-caret-container {
  width: 2.5rem;
}

.ipa-ivds-ms-form .msos-caret-container .msos-caret-button .msos-glyph {
  display: inline-block;
  width: 6px;
  height: 10px;
  background-image: url("data:image/svg+xml,%3Csvg width='7' height='12' viewBox='0 0 7 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.75 0.75L5.514 5.51444C5.57653 5.57689 5.61167 5.66163 5.61167 5.75C5.61167 5.83837 5.57653 5.92311 5.514 5.98556L0.75 10.75' stroke='%231D252C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  color: transparent;
  transform: rotate(90deg);
}

.ipa-ivds-ms-form .msos-caret-container .msos-caret-button .msos-glyph::after {
  content: '';
}

.ipa-ivds-ms-form .msos-action-buttons {
  border-bottom: 1px solid var(--ipa-neutral-400);
  padding-bottom: .5rem;
}

.ipa-ivds-ms-form .msos-option .msos-label:hover {
  background-color: var(--ipa-neutral-200);
}

.ipa-ivds-ms-form .msos-selection .msos-label .msos-label-text {
  padding-left: 2.25rem;
}

@media (min-width: 992px) {
  .ipa-ivds-ms-form .div-right {
    margin-left: 8.33333333% !important;
    width: 33.33333333% !important;
  }
}

.static-top.navbar.navbar-dark {
  background-color: #373f46;
  padding: 1rem;
  border-bottom: 5px solid var(--ipa-color-accent--pbr);
  padding-top: 0;
  padding-bottom: 0;
}

.static-top.navbar.navbar-dark .skip-to-content a {
  background: #ffffff;
  padding: 0.5rem 1rem;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  color: #64696a;
  left: 50%;
  top: -2.5rem;
  position: absolute;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.static-top.navbar.navbar-dark .skip-to-content a:focus {
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
}
.static-top.navbar.navbar-dark .navbar-brand a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.static-top.static-top.navbar.navbar-dark .navbar-brand a img {
  width: 281px !important;
  height: 66px !important;
}

.static-top.navbar.navbar-dark nav ul.nav {
  display: flex;
  align-items: center;
  gap: 0;
  height: 80px;
}

.static-top.navbar.navbar-dark nav ul.nav li.nav-item {
  height: 100%;
}

.static-top.navbar.navbar-dark nav ul.nav li.nav-item a {
  padding: 0 1rem;
  margin: 0;
  display: flex;
  height: 100%;
  align-items: center;
  justify-content: center;
}


.static-top.navbar.navbar-dark nav ul.nav li.divider-vertical {
  display: none;
}

/* Footer */

footer .footer-bottom ul li a {
  font-size: var(--ipa-size-small) !important;
  text-decoration: underline;
}

footer .footer-bottom .navbar-dark .navbar-nav > li > a:hover, .navbar-dark .navbar-nav > li.dropdown > a {
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}

footer .footer-bottom .navbar-dark .navbar-nav > li > a:hover, .navbar-dark .navbar-nav > li.dropdown > a:hover {
  background: none;
  color: var(--ipa-neutral-400);
  text-decoration: none !important;
}