﻿/*
    Note: I love .scss

    Actual Note: in KeyWhere, css classes that are prefixed with 'js-' are only to
    be used for js manipulation, not for styling. Css classes without the 'js-'
    prefix should not be used for js manipulation. 

    MEDIA QUERIES

    Current Media Query Sizes:
     'p'  - Phone: 576px and up
     't'  - Tablet: 768px and up
     'd'  - Desktop: 992px and up
     'ld' - Large Desktop: 1200px and up

      @media only screen and (min-width: 576px) {
      }

      @media only screen and (min-width: 768px) {F
      }

      @media only screen and (min-width: 992px) {
      }

      @media only screen and (min-width: 1200px) {
      }

    Z-INDEXES

    Leaving gaps here on purpose in case we add more elements that have special positioningF

    0 - 25: Page/Form elements (stuff in the main content)
    50 - 75: Navigation/Menus/Sidebars
    100 - 125: Popups

    MUCH CSS. Index below (ctrl-f these headings to jump to a section):
        RESPONSIVE GRID LAYOUT 
        GENERAL ELEMENTS 
        TEXTBOXES/VALIDATION 
        HEADING/TEXT STYLES 
        PAGE/FORM LAYOUT 
        SEARCH AND SELECT 
        DROPDOWNS 
        CLOSE BUTTON 
        SNACKBAR 
        NAVIGATION 
        CHECKBOXES, RADIO BUTTONS, TOGGLES 
        BUTTONS & LINKS 
        JQUERY DATEPICKER STYLING 
        FILE UPLOADER 
        PAGE FRAMING ELEMENTS 
        SCROLL BARS 
        PILLS/DOTS BLINKING 
        CARDS 
        BLAND DATA TABLES 
        LIST PAGES/VIEW 
        TAB SYSTEM 
        POPUPS/LOADING SCREENS 
        KEY PANEL 
        DASHBOARD
        TOOLTIPS
*/
/* VARIABLE DEFINITION */
:root {
  --vh: 0px;
}

[class*=col-] {
  float: left;
}

.col-p-1 {
  width: 8.33%;
}

.col-p-2 {
  width: 16.66%;
}

.col-p-3 {
  width: 25%;
}

.col-p-4 {
  width: 33.33%;
}

.col-p-5 {
  width: 41.66%;
}

.col-p-6 {
  width: calc(50% - 2px);
}

.col-p-7 {
  width: 58.33%;
}

.col-p-8 {
  width: 66.66%;
}

.col-p-9 {
  width: 75%;
}

.col-p-10 {
  width: 83.33%;
}

.col-p-11 {
  width: 91.66%;
}

.col-p-12 {
  width: 100%;
}

/* RESPONSIVE GRID LAYOUT */
@media only screen and (min-width: 576px) {
  [class*=col-] {
    float: left;
  }
  .col-p-1 {
    width: 8.33%;
  }
  .col-p-2 {
    width: 16.66%;
  }
  .col-p-3 {
    width: 25%;
  }
  .col-p-4 {
    width: 33.33%;
  }
  .col-p-5 {
    width: 41.66%;
  }
  .col-p-6 {
    width: calc(50% - 2px);
  }
  .col-p-7 {
    width: 58.33%;
  }
  .col-p-8 {
    width: 66.66%;
  }
  .col-p-9 {
    width: 75%;
  }
  .col-p-10 {
    width: 83.33%;
  }
  .col-p-11 {
    width: 91.66%;
  }
  .col-p-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  [class*=col-] {
    float: left;
  }
  .col-t-1 {
    width: 8.33%;
  }
  .col-t-2 {
    width: 16.66%;
  }
  .col-t-3 {
    width: 25%;
  }
  .col-t-4 {
    width: 33.33%;
  }
  .col-t-5 {
    width: 41.66%;
  }
  .col-t-6 {
    width: 50%;
  }
  .col-t-7 {
    width: 58.33%;
  }
  .col-t-8 {
    width: 66.66%;
  }
  .col-t-9 {
    width: 75%;
  }
  .col-t-10 {
    width: 83.33%;
  }
  .col-t-11 {
    width: 91.66%;
  }
  .col-t-12 {
    width: 100%;
  }
}
@media (min-width: 992px) {
  [class*=col-] {
    float: left;
  }
  .col-d-1 {
    width: 8.33%;
  }
  .col-d-2 {
    width: 16.66%;
  }
  .col-d-3 {
    width: 25%;
  }
  .col-d-4 {
    width: 33.33%;
  }
  .col-d-5 {
    width: 41.66%;
  }
  .col-d-6 {
    width: 50%;
  }
  .col-d-7 {
    width: 58.33%;
  }
  .col-d-8 {
    width: 66.66%;
  }
  .col-d-9 {
    width: 75%;
  }
  .col-d-10 {
    width: 83.33%;
  }
  .col-d-11 {
    width: 91.66%;
  }
  .col-d-12 {
    width: 100%;
  }
}
@media only screen and (min-width: 1200px) {
  [class*=col-] {
    float: left;
  }
  .col-ld-1 {
    width: 8.33%;
  }
  .col-ld-2 {
    width: 16.66%;
  }
  .col-ld-3 {
    width: 25%;
  }
  .col-ld-4 {
    width: 33.33%;
  }
  .col-ld-5 {
    width: 41.66%;
  }
  .col-ld-6 {
    width: 50%;
  }
  .col-ld-7 {
    width: 58.33%;
  }
  .col-ld-8 {
    width: 66.66%;
  }
  .col-ld-9 {
    width: 75%;
  }
  .col-ld-10 {
    width: 83.33%;
  }
  .col-ld-11 {
    width: 91.66%;
  }
  .col-ld-12 {
    width: 100%;
  }
}
.row {
  width: 100%;
  padding: 0 16px;
}
@media (min-width: 992px) {
  .row {
    padding: 0px 20px;
  }
}
.row textarea {
  height: 80px;
}
@media (max-width: 575px) {
  .row {
    padding: 5px 16px;
  }
}

.row::after {
  content: "";
  clear: both;
  display: table;
}

.container {
  width: 100%;
  padding: 0px 15px;
}

.container-fluid {
  width: 100%;
  padding: 0;
  margin: 0;
}

.full-width {
  width: 100%;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

@media only screen and (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
  .d-sm-block {
    display: block !important;
  }
  .d-sm-inline {
    display: inline !important;
  }
  .d-sm-inline-block {
    display: inline-block !important;
  }
  .d-sm-flex {
    display: flex !important;
  }
}
@media only screen and (min-width: 768px) {
  .d-md-none {
    display: none !important;
  }
  .d-md-block {
    display: block !important;
  }
  .d-md-inline {
    display: inline !important;
  }
  .d-md-inline-block {
    display: inline-block !important;
  }
  .d-md-flex {
    display: flex !important;
  }
}
@media only screen and (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
  .d-lg-block {
    display: block !important;
  }
  .d-lg-inline {
    display: inline !important;
  }
  .d-lg-inline-block {
    display: inline-block !important;
  }
  .d-lg-flex {
    display: flex !important;
  }
}
@media only screen and (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
  .d-xl-block {
    display: block !important;
  }
  .d-xl-inline {
    display: inline !important;
  }
  .d-xl-inline-block {
    display: inline-block !important;
  }
  .d-xl-flex {
    display: flex !important;
  }
}
@media only screen and (min-width: 1450px) {
  .d-xxl-none {
    display: none !important;
  }
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-inline {
    display: inline !important;
  }
  .d-xxl-inline-block {
    display: inline-block !important;
  }
  .d-xxl-flex {
    display: flex !important;
  }
}
.key-missing-row {
  color: var(--error);
}

/* GENERAL ELEMENTS */
*:focus {
  outline: none;
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
}

body {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  color: var(--dark);
  margin: 0;
  height: 100%;
  position: relative;
  background-color: var(--paper);
}
@media (max-width: 575px) {
  body {
    font-size: 1.1rem;
  }
}

input::placeholder {
  overflow: visible;
}

hr {
  border: none;
  background-color: var(--paper);
  margin: 0;
}

hr.divider {
  border-top: 1px solid var(--primary-passive);
}

/* UTILITIES*/
/* marging */
/*
    1 -  .25rem   (4px if font-size is 16px)
    2 -  .5rem    (8px if font-size is 16px)
    3 -   1rem    (16px if font-size is 16px)
    4 -   1.5rem  (24px if font-size is 16px)
    5 -   3rem    (48px if font-size is 16px)
*/
.m-1 {
  margin: 0.25rem;
}

.m-2 {
  margin: 0.5rem;
}

.m-3 {
  margin: 1rem;
}

.m-4 {
  margin: 1.5rem;
}

.m-5 {
  margin: 3rem;
}

.ml-1 {
  margin-left: 0.25rem;
}

.ml-2 {
  margin-left: 0.5rem;
}

.ml-3 {
  margin-left: 1rem;
}

.ml-4 {
  margin-left: 1.5rem;
}

.ml-5 {
  margin-left: 3rem;
}

.mr-1 {
  margin-right: 0.25rem;
}

.mr-2 {
  margin-right: 0.5rem;
}

.mr-3 {
  margin-right: 1rem;
}

.mr-4 {
  margin-right: 1.5rem;
}

.mr-5 {
  margin-right: 3rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-3 {
  margin-top: 1rem;
}

.mt-4 {
  margin-top: 1.5rem;
}

.mt-5 {
  margin-top: 3rem;
}

.mb-1 {
  margin-bottom: 0.25rem;
}

.mb-2 {
  margin-bottom: 0.5rem;
}

.mb-3 {
  margin-bottom: 1rem;
}

.mb-4 {
  margin-bottom: 1.5rem;
}

.mb-5 {
  margin-bottom: 3rem;
}

/* Padding (same as padding) */
.p-1 {
  padding: 0.25rem;
}

.p-2 {
  padding: 0.5rem;
}

.p-3 {
  padding: 1rem;
}

.p-4 {
  padding: 1.5rem;
}

.p-5 {
  padding: 3rem;
}

.pl-0 {
  padding-left: 0 !important;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-3 {
  padding-left: 1rem;
}

.pl-4 {
  padding-left: 1.5rem;
}

.pl-5 {
  padding-left: 3rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-3 {
  padding-right: 1rem;
}

.pr-4 {
  padding-right: 1.5rem;
}

.pr-5 {
  padding-right: 3rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-3 {
  padding-top: 1rem;
}

.pt-4 {
  padding-top: 1.5rem;
}

.pt-5 {
  padding-top: 3rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-3 {
  padding-bottom: 1rem;
}

.pb-4 {
  padding-bottom: 1.5rem;
}

.pb-5 {
  padding-bottom: 3rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

/* Font color */
.ire-orange {
  color: var(--ire-orange);
}

.text-error {
  color: var(--error);
}

.text-medium {
  color: var(--medium);
}

.text-primary {
  color: var(--primary);
}

.text-overdue {
  color: var(--overdue);
}

.text-in {
  color: var(--in);
}

.text-missing {
  color: var(--missing);
}

.collapse-minus {
  color: var(--primary);
  font-size: 26px;
}

/* Element Alignment */
.left {
  float: left;
}

.right {
  float: right;
}

.inline-block {
  display: inline-block;
}

.text-center {
  text-align: center;
}

/* Vertical allign */
.middle > * {
  vertical-align: middle;
}

.top > * {
  vertical-align: top;
}

.bottom > * {
  vertical-align: bottom;
}

.border {
  border: 1px dashed red;
}

/*CURSOR*/
.pointer {
  cursor: pointer;
}

/* OAuth Consent Screen */
.scope-list-item {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0px;
}

.scope-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: flex-start;
}
.scope-container .card {
  height: calc(100% - 16px);
  min-width: 220px;
}
.scope-container .card .card-header {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}

/* TEXTBOXES/VALIDATION */
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: var(--light);
}

::-moz-placeholder { /* Firefox 19+ */
  color: var(--light);
}

:-ms-input-placeholder { /* IE 10+ */
  color: var(--light);
}

:-moz-placeholder { /* Firefox 18- */
  color: var(--light);
}

textarea {
  resize: none;
  padding: 10px;
}

input[type=number],
input[type=text],
input[type=password],
input[type=email],
input[type=search],
input[type=datetime-local],
input[type=time-local],
input[type=tel],
input[type=datetime],
input[type=time],
textarea, select {
  font-family: var(--font-body);
  height: 40px;
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
  background-color: var(--paper2);
  /* 8px is to correct for margin*/
  width: calc(100% - 8px);
  padding: 12px;
  margin: 4px;
  display: block;
  color: var(--dark);
  font-size: var(--font-size-body);
  line-height: 12px;
}
@media (max-width: 575px) {
  input[type=number],
  input[type=text],
  input[type=password],
  input[type=email],
  input[type=search],
  input[type=datetime-local],
  input[type=time-local],
  input[type=tel],
  input[type=datetime],
  input[type=time],
  textarea, select {
    font-size: 1.1rem;
  }
}

textarea {
  height: inherit !important;
  line-height: inherit !important;
}

input[type=number]:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=datetime-local]:focus,
input[type=time-local]:focus,
input[type=tel]:focus,
input[type=datetime]:focus,
input[type=time]:focus,
textarea:focus, select:focus {
  border: solid 1px var(--primary);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

input[type=number]:disabled,
input[type=text]:disabled,
input[type=password]:disabled,
input[type=email]:disabled,
input[type=search]:disabled,
input[type=datetime-local]:disabled,
input[type=time-local]:disabled,
input[type=tel]:disabled,
input[type=datetime]:disabled,
input[type=time]:disabled,
textarea:disabled, select:disabled {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

input[type=number]:read-only,
input[type=text]:read-only,
input[type=password]:read-only,
input[type=email]:read-only,
input[type=search]:read-only,
input[type=datetime-local]:read-only,
input[type=time-local]:read-only,
input[type=tel]:read-only,
input[type=datetime]:read-only,
input[type=time]:read-only,
textarea:read-only, select:read-only {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

input[type=number].no-arrows::-webkit-outer-spin-button,
input[type=number].no-arrows::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number].no-arrows {
  -moz-appearance: textfield;
}

@media (max-width: 575px) {
  small {
    font-size: 1rem;
  }
}

.input-error {
  border: solid 1px var(--error) !important;
  background-color: var(--error-transparent) !important;
}

.text-danger {
  color: var(--error);
}

.text-success {
  color: var(--success);
}

.text-info {
  color: var(--dark);
}

.text-info-lg {
  color: var(--dark);
  font-size: 24px;
}

.text-note {
  color: var(--primary);
  font-size: 14px;
  line-height: normal;
}

.text-white {
  color: white;
}

.field-validation-error {
  font-size: 12px;
  padding-left: 4px;
  display: inline-block;
}

.validation-summary-errors {
  font-size: 12px;
}
.validation-summary-errors ul {
  list-style-type: disc;
  padding: 12px 20px;
}
.validation-summary-errors ul li {
  padding: 4px 0;
}

/* This exists to allow for form reset, hidden fields are not reset when 
    we call $('form').reset(); so we display-none a regular input */
.hidden-field {
  display: none !important;
}

.popup .sms-container {
  height: 120px;
}

.tab-system-tab .sms-container {
  height: 120px;
}

.password_requirement {
  margin-left: 5px;
  font-size: 13px;
}

.invalid.password_requirement {
  color: var(--primary);
}

.valid.password_requirement {
  color: var(--success);
}

/* HEADING/TEXT STYLES */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  margin-bottom: 0px;
  margin-top: 0px;
  display: inline-block;
  font-weight: normal;
  line-height: normal;
}

h1 {
  font-size: 32px;
  color: var(--dark);
}
@media (max-width: 575px) {
  h1 {
    font-size: 2.1rem;
  }
}

h2 {
  font-size: 24px;
  color: var(--medium);
}
@media (max-width: 575px) {
  h2 {
    font-size: 1.8rem;
  }
}

h3 {
  font-size: 20px;
  color: var(--dark);
}
@media (max-width: 575px) {
  h3 {
    font-size: 1.6rem;
  }
}

h4 {
  font-size: 16px;
  color: var(--dark);
}
@media (max-width: 575px) {
  h4 {
    font-size: 1.2rem;
  }
}

h5 {
  font-size: 14px;
  color: var(--light);
}
@media (max-width: 575px) {
  h5 {
    font-size: 1.1rem;
  }
}

h6 {
  font-size: 12px;
  color: var(--medium);
}
@media (max-width: 575px) {
  h6 {
    font-size: 1rem;
  }
}

.row h4 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.row h5 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.row h3 {
  margin-top: 8px;
  margin-bottom: 6px;
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-body);
  margin-bottom: 0px;
  margin-top: 0px;
  font-weight: normal;
  line-height: normal;
}

.input-caption {
  font-family: var(--font-heading);
  font-size: 14px;
  color: var(--light);
  display: inline-block;
  line-height: 1.21;
}
@media (max-width: 575px) {
  .input-caption {
    font-size: 1.1rem;
  }
}

.help-message {
  font-size: 12px;
  color: var(--primary);
}

.indent-help-message {
  font-size: 12px;
  color: var(--primary);
  padding-left: 24px;
}

.note-message {
  font-size: 12px;
  color: var(--dark);
}

.sub-heading {
  font-size: 12px;
  color: var(--light);
  font-family: var(--font-body);
  display: block;
}
@media (max-width: 575px) {
  .sub-heading {
    font-size: 0.85rem;
  }
}

.note-text {
  margin-left: 4px;
  display: inline-block;
  font-size: 12px;
  color: var(--light);
  font-family: var(--font-body);
}

.panel-location {
  line-height: 45px;
  vertical-align: middle;
}

.body-data {
  padding-bottom: 12px;
  word-break: break-word;
  word-wrap: break-word;
}

.label-text .label-dark .label-medium .label-success, label-error, label-overdue {
  font-family: var(--font-body);
  line-height: normal;
  font-size: 16px;
}
@media (max-width: 575px) {
  .label-text .label-dark .label-medium .label-success, label-error, label-overdue {
    font-size: 14px;
  }
}

.label-text {
  color: var(--light);
}

.label-dark {
  color: var(--dark);
}

.label-medium {
  color: var(--medium);
}

.label-success {
  color: var(--success);
}

.label-error {
  color: var(--error);
}

.label-overdue {
  color: var(--overdue);
}

.text-hint {
  font-family: var(--font-body);
  line-height: normal;
  font-size: 12px;
  color: var(--light);
}
@media (max-width: 575px) {
  .text-hint {
    font-size: 1rem;
  }
}

/* PAGE/FORM LAYOUT */
.page {
  margin: auto;
  position: relative;
  background-color: var(--paper);
  height: 100%;
  width: 100%;
}
.page .page-footer.btn-footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.panel-page {
  height: unset !important;
}

.form-page {
  width: 100%;
  height: calc(100% - 64px);
  background-color: var(--paper);
  overflow-y: auto;
  overflow-x: hidden;
}
@media (max-width: 575px) {
  .form-page {
    height: calc(100% - 56px) !important;
  }
}
.form-page .page-footer.btn-footer {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}

.heading-container {
  padding: 16px 16px 0px 16px;
}
.heading-container .page-heading {
  padding: 0;
  height: auto;
  background-color: unset;
}
@media (min-width: 992px) {
  .heading-container {
    padding: 16px 20px;
  }
}

.page-heading {
  padding: 12px 0;
  padding-left: 2px;
  background-color: var(--white);
  border-left: 1px solid var(--paper);
}
@media (max-width: 575px) {
  .page-heading .d-block.d-xl-none.ml-3 {
    width: calc(100% - 60px) !important;
  }
}

.heading-btn-container {
  position: absolute;
  top: 6px;
  right: 20px;
}

.form-container {
  height: calc(100% - 40px);
  overflow-y: hidden;
  padding: 0 20px;
}
.form-container form {
  height: 100%;
}
.form-container > .list-heading-row {
  padding: 0;
}
.form-container > .list-container {
  height: calc(100% - 30px);
}
@media (max-width: 575px) {
  .form-container {
    height: calc(100% - 55px);
    padding: 0px;
  }
}

@media (max-width: 575px) {
  .custom-form-container {
    padding: 0px 10px !important;
  }
}

.form-container .btn-container {
  position: absolute;
  top: 10px;
  right: 8px;
}
@media (max-width: 575px) {
  .form-container .btn-container {
    top: 0px;
    right: 0px;
  }
}
.form-container .btn-container .btn {
  margin: 0px;
}

.form-container-large {
  height: 100%;
  overflow-y: hidden;
}

.content-container {
  height: calc(100% - 64px);
  overflow-y: auto;
}
.content-container form {
  height: unset;
}

.email-container {
  width: 100%;
  overflow-x: auto;
}

.page-content {
  height: 100%;
}
@media (max-width: 575px) {
  .page-content {
    height: calc(100% - 52px) !important;
  }
}

@media (max-width: 1200px) {
  .page-content {
    height: calc(100% - 47px);
  }
}
.page-content-container {
  height: calc(100% - 60px);
  overflow-y: auto;
}

.page-heading .btn-container {
  position: absolute;
  top: 10px;
  right: 8px;
}
@media (max-width: 575px) {
  .page-heading .btn-container .btn {
    font-size: 1rem !important;
  }
}

.page-heading .link {
  font-size: 20px;
}

.heading-container a {
  padding-top: 5px;
  padding-bottom: 5px;
}

.page-footer.btn-footer {
  bottom: 0;
  position: absolute;
  padding: 8px 10px;
}
@media (max-width: 575px) {
  .page-footer.btn-footer {
    padding: 4px 5px;
  }
}
@media (min-width: 768px) {
  .page-footer.btn-footer .footer-option {
    margin-right: 20%;
  }
  .page-footer.btn-footer .btn-container {
    float: right;
  }
}
@media (min-width: 1200px) {
  .page-footer.btn-footer .footer-option {
    margin-right: 35%;
  }
  .page-footer.btn-footer .btn-container {
    float: right;
  }
}

.page-footer {
  height: auto;
  background-color: white;
}

.btn-footer {
  box-shadow: 0 -1px 6px 0 var(--primary-passive);
  width: 100%;
  background-color: var(--paper2);
  text-align: center;
}

@media only screen and (min-width: 576px) {
  .footer-option {
    display: block !important;
    float: right;
  }
}
.landing-content {
  width: 100%;
  height: 100%;
  background-color: var(--paper);
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 220px;
}

@media only screen and (max-width: 1200px) {
  .landing-content {
    padding-right: 80px;
  }
}
@media only screen and (max-width: 768px) {
  .landing-content {
    padding-right: 0px;
  }
}
.industry-selector-container {
  margin-top: 100px;
  text-align: center;
}

.industry-options-container {
  width: 700px;
  margin: auto;
}

@media only screen and (max-width: 992px) {
  .industry-options-container {
    width: 100%;
  }
}
.industry-options-container h1 {
  display: block;
  margin-bottom: 20px;
}

.industry-selector {
  width: 200px;
  height: 200px;
  display: inline-block;
  border-radius: 4px;
  cursor: pointer;
  position: relative;
  margin-bottom: 10px;
}

.industry-selector:hover {
  background-color: var(--paper);
}

.industry-selector img {
  width: 150px;
  height: 150px;
  margin-top: 15px;
}

.industry-selector h2 {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.rule-header {
  width: 100%;
  text-align: center;
  border-bottom: 1px solid var(--primary-transparent);
  line-height: 0.1em;
  margin-top: 20px;
  margin-bottom: 20px;
}

.rule-header-text {
  background: var(--paper);
  padding: 0 10px;
  color: var(--primary);
  font-size: 20px;
}

.rule-header-minor {
  padding: 0px 20px;
  margin: auto;
}

.rule-header-text-minor {
  color: var(--primary-transparent);
  font-size: 16px;
}

.external.btn-container {
  text-align: center;
}

@media only screen and (min-width: 768px) {
  .external.btn-container {
    text-align: left;
  }
}
.external-order-page {
  padding: 3% 2%;
  margin: auto;
  width: 60%;
  max-width: 1000px;
}

.external-order-container {
  margin: auto;
  background-color: white;
  margin-bottom: 2%;
  border: 2px solid black;
  padding: 20px;
  border-radius: 5px;
}

.external-order-container img {
  width: 80%;
  margin: auto 10%;
}

@media only screen and (max-width: 768px) {
  .external-order-page {
    width: 100%;
    padding: 0;
  }
  .external-order-container {
    padding: 5px;
    border: none;
  }
  .external-order-container img {
    width: 90%;
    display: block;
    margin: auto;
  }
}
/* SEARCH AND SELECT */
.search-and-select {
  height: 100%;
  position: relative;
}

.search-and-select-container {
  position: relative;
  height: 100%;
}

.tab-system-tab {
  height: calc(100% - 109px);
}

@media only screen and (max-width: 576px) {
  .tab-system-tab {
    height: calc(100% - 119px);
  }
}
@media only screen and (min-width: 1200px) {
  .tab-system-tab {
    height: calc(100% - 115px);
  }
}
.tab-system-tab .search-and-select-heading {
  display: none;
}

.search-and-select-message {
  font-size: 12px;
  color: var(--medium);
  margin: auto;
  height: 30px;
  text-align: center;
}

.search-and-select-message .small-loader {
  margin: auto;
}

.search-and-select-heading {
  padding: 16px 20px;
  padding-bottom: 0;
  font-weight: var(--fw-semibold);
  font-size: var(--fs-lg);
}

.search-and-select-search {
  margin: 16px 16px 0px 16px;
  height: 48px;
}

.search-and-select input {
  background-image: url(../images/search.png);
  background-position-y: center;
  background-position-x: calc(100% - 8px);
  background-repeat: no-repeat;
  right: 8px;
}

.search-and-select-list {
  border-radius: 4px;
  margin: 0px 22px 0px 22px;
  height: calc(100% - 220px);
  overflow-y: auto;
  box-shadow: 0 2px 14px 0 var(--primary-transparent-dark);
  padding-top: 8px;
}
@media (max-width: 575px) {
  .search-and-select-list {
    height: calc(100% - 215px);
    margin: 0 12px;
  }
}

.select-item-heading {
  width: 100%;
}

.search-and-select .select-item {
  position: relative;
  min-height: 60px;
}

.select-item-click-area {
  padding: 12px 12px 8px 24px;
  width: 100%;
}

.search-and-select .select-item > div {
  display: inline-block;
}
.search-and-select .select-item > div > div {
  max-width: calc(100% - 40px);
}

.search-and-select .select-item:hover {
  background-color: var(--paper);
  cursor: pointer;
}

.select-item.selected {
  background-color: var(--paper);
}

.search-and-select-buttons.btn-footer {
  height: 64px;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 575px) {
  .search-and-select-buttons.btn-footer {
    height: 56px;
    padding: 4px 5px;
  }
}

.search-and-select-buttons.btn-footer .footer-option {
  position: absolute;
  left: 12px;
  bottom: 8px;
}

.search-and-select-buttons.btn-footer .btn-container {
  position: absolute;
  right: 12px;
  bottom: 8px;
}
@media (max-width: 575px) {
  .search-and-select-buttons.btn-footer .btn-container {
    position: unset;
  }
}

.search-and-select-prompt {
  height: 52px;
  color: var(--primary);
  text-align: center;
  font-family: var(--font-heading);
  border: 2px dashed var(--primary-passive);
  border-radius: 4px;
  padding-top: 12px;
  background-color: var(--paper2);
  margin-bottom: 10px;
}

.search-and-select-prompt:hover {
  cursor: pointer;
  border: 2px dashed var(--primary);
}

.select-item-selector {
  width: 30px;
  position: absolute;
  right: 16px;
  top: 0px;
  padding-top: 12px;
}

/* SEARCH AND DROPDOWN */
.search-and-dropdown {
  position: relative;
}

.dropdown-content.dropdown-search-items {
  display: none;
  position: absolute;
  color: var(--medium);
  width: 98%;
  position: absolute;
  background-color: var(--paper2);
  z-index: 1;
  padding: 12px 0;
  border: 1px solid var(--primary-transparent);
  box-sizing: border-box;
  border-radius: 4px;
  margin-top: 7px;
  margin-left: 4px;
  height: 180px;
  overflow-y: auto;
  overflow-x: hidden;
}

.search-and-dropdown input {
  background-image: url(../images/search.png);
  background-position-y: center;
  background-position-x: calc(100% - 8px);
  background-repeat: no-repeat;
  left: 8px;
}

.search-bar input {
  background-image: url(../images/search.png);
  background-position-y: center;
  background-position-x: calc(100% - 8px);
  background-repeat: no-repeat;
  left: 8px;
}

.search-bar {
  width: 35%;
}
@media (max-width: 575px) {
  .search-bar {
    width: 100%;
  }
}

.user-select-all {
  user-select: all;
}

/* DROPDOWNS */
.staff-dropdown {
  width: 180px;
}
@media (max-width: 575px) {
  .staff-dropdown {
    width: 150px;
  }
}

.panel-status-dropdown {
  width: 180px;
  text-align: left;
}

.client-type-dropdown {
  width: 180px;
}

/*custom selectize*/
.selectize-control.custom-selectize.single .selectize-input,
.selectize-control.custom-selectize-search.single .selectize-input,
.selectize-control.custom-selectize-mobile-search.single .selectize-input,
.selectize-control.custom-selectize-notSorted.single .selectize-input,
.selectize-control.custom-selectize-notSorted-search.single .selectize-input {
  height: 40px;
  color: var(--dark);
  background: white;
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
  box-shadow: none;
  font-size: 16px;
  margin: 4px;
}
@media (max-width: 575px) {
  .selectize-control.custom-selectize.single .selectize-input,
  .selectize-control.custom-selectize-search.single .selectize-input,
  .selectize-control.custom-selectize-mobile-search.single .selectize-input,
  .selectize-control.custom-selectize-notSorted.single .selectize-input,
  .selectize-control.custom-selectize-notSorted-search.single .selectize-input {
    font-size: 1.1rem;
  }
}
.selectize-control.custom-selectize.single .selectize-input input,
.selectize-control.custom-selectize-search.single .selectize-input input,
.selectize-control.custom-selectize-mobile-search.single .selectize-input input,
.selectize-control.custom-selectize-notSorted.single .selectize-input input,
.selectize-control.custom-selectize-notSorted-search.single .selectize-input input {
  font-size: 16px;
  height: auto;
}
@media (max-width: 575px) {
  .selectize-control.custom-selectize.single .selectize-input input,
  .selectize-control.custom-selectize-search.single .selectize-input input,
  .selectize-control.custom-selectize-mobile-search.single .selectize-input input,
  .selectize-control.custom-selectize-notSorted.single .selectize-input input,
  .selectize-control.custom-selectize-notSorted-search.single .selectize-input input {
    font-size: 0.8rem;
    width: 100% !important;
  }
}

.selectize-control.custom-selectize.single .selectize-input,
.selectize-control.custom-selectize-mobile-search.single .selectize-input,
.selectize-control.custom-selectize-notSorted.single .selectize-input {
  width: 95%;
}

.selectize-control.custom-selectize.single .selectize-input.input-active,
.selectize-control.custom-selectize-search.single .selectize-input.input-active,
.selectize-control.custom-selectize-mobile-search.single .selectize-input.input-active,
.selectize-control.custom-selectize-notSorted.single .selectize-input.input-active,
.selectize-control.custom-selectize-notSorted-search.single .selectize-input.input-active {
  border: solid 1px var(--primary);
}

.selectize-control.custom-selectize-search.single .selectize-input {
  display: flex !important;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
}
.selectize-control.custom-selectize-search.single .selectize-input i {
  font-size: 20px;
  color: var(--primary-transparent-dark);
  cursor: pointer;
}

.selectize-control.custom-selectize-search.single .selectize-input:after {
  display: none;
}

.selectize-control.custom-selectize.single .selectize-input:after,
.selectize-control.custom-selectize-mobile-search.single .selectize-input::after {
  content: "";
  display: block;
  position: absolute;
  top: 16px;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: var(--light);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.selectize-control.custom-selectize.single .selectize-input.dropdown-active:after,
.selectize-control.custom-selectize-mobile-search.single .selectize-input.dropdown-active::after,
.selectize-control.custom-selectize-notSorted.single .selectize-input.dropdown-active:after {
  margin-top: -3px;
  top: 18px;
  border-width: 2px 0 0 2px;
  border-color: var(--primary-transparent-dark);
}

.selectize-dropdown.single.custom-selectize,
.selectize-dropdown.single.custom-selectize-search,
.selectize-dropdown.single.custom-selectize-mobile-search,
.selectize-dropdown.single.custom-selectize-notSorted,
.selectize-dropdown.single.custom-selectize-notSorted-search {
  font-size: 16px;
  color: var(--dark);
  background: var(--paper2);
  border: none;
  border-radius: var(--corner-lg);
  box-shadow: 0px 4px 16px 0px var(--dark-transparent);
  font-size: 16px;
  margin: 4px;
  padding: 8px;
  /*.option.selected {
      background-color: var(--neutral_050);
      color: $primary;
  }*/
}
@media (max-width: 575px) {
  .selectize-dropdown.single.custom-selectize,
  .selectize-dropdown.single.custom-selectize-search,
  .selectize-dropdown.single.custom-selectize-mobile-search,
  .selectize-dropdown.single.custom-selectize-notSorted,
  .selectize-dropdown.single.custom-selectize-notSorted-search {
    font-size: 1.1rem;
  }
}
.selectize-dropdown.single.custom-selectize .option,
.selectize-dropdown.single.custom-selectize-search .option,
.selectize-dropdown.single.custom-selectize-mobile-search .option,
.selectize-dropdown.single.custom-selectize-notSorted .option,
.selectize-dropdown.single.custom-selectize-notSorted-search .option {
  padding: 12px;
  user-select: none;
  width: 100%;
  justify-content: left;
  border-radius: var(--corner-lg);
}
.selectize-dropdown.single.custom-selectize .option:hover,
.selectize-dropdown.single.custom-selectize-search .option:hover,
.selectize-dropdown.single.custom-selectize-mobile-search .option:hover,
.selectize-dropdown.single.custom-selectize-notSorted .option:hover,
.selectize-dropdown.single.custom-selectize-notSorted-search .option:hover {
  background-color: var(--neutral_100);
}
.selectize-dropdown.single.custom-selectize .optgroup-header,
.selectize-dropdown.single.custom-selectize-search .optgroup-header,
.selectize-dropdown.single.custom-selectize-mobile-search .optgroup-header,
.selectize-dropdown.single.custom-selectize-notSorted .optgroup-header,
.selectize-dropdown.single.custom-selectize-notSorted-search .optgroup-header {
  color: var(--primary);
  font-weight: bold;
  border-top: 1px solid var(--primary-passive);
}

.selectize-dropdown.single.custom-selectize-search,
.selectize-dropdown.single.custom-selectize-notSorted-search {
  border: solid 1px var(--primary);
  border-top: none;
  margin-top: 0;
  margin-left: 4px;
  display: none !important;
}

.custom-select,
.custom-selectize-mobile-search {
  position: relative;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
}
@media (max-width: 575px) {
  .custom-select,
  .custom-selectize-mobile-search {
    font-size: 1.1rem;
  }
}

/*hide original SELECT element:*/
.custom-select select {
  display: none;
}

.selectize-control.custom-selectize-notSorted-search.single .selectize-input:after {
  content: url(../images/search.png);
  display: block;
  position: absolute;
  top: 10px;
  right: 25px;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: none;
  border-width: 5px 5px 0 5px;
  border-color: var(--light) transparent transparent transparent;
}

.selectize-control.custom-selectize-notSorted.single .selectize-input:after {
  content: "";
  display: block;
  position: absolute;
  top: 16px;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-style: solid;
  border-width: 0 2px 2px 0;
  border-color: var(--primary-transparent-dark);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.custom-selectize-notSorted {
  position: relative;
  font-family: var(--font-body);
  font-size: var(--font-size-body);
}
@media (max-width: 575px) {
  .custom-selectize-notSorted {
    font-size: 1.1rem;
  }
}

/*hide original SELECT element:*/
.custom-selectize-notSorted select {
  display: none;
}

/*End custom-selectize-notSorted*/
.select-selected {
  height: 40px;
  color: var(--black-text);
  background: white;
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
  padding: 0px 20px 0px 12px;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin: 4px;
  display: block;
  /* Prevent text highlighting on cursor double click or drag */
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */
  -ms-user-select: none; /* IE 10+ */
  user-select: none; /* Standard syntax */
  display: flex;
  align-items: center;
}

.select-selected:focus {
  border: solid 1px var(--primary);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/*style the arrow inside the select element:*/
.tag-assigner-select .select-selected:after {
  top: 18px !important;
}

.select-selected:after {
  right: 16px;
  top: 15px;
  width: 6px;
  height: 6px;
  border: solid var(--light);
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  content: "";
}

/*focus input when the select box is open (active):*/
.select-selected.select-arrow-active {
  border: solid 1px var(--primary);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/*style items (options):*/
.select-items {
  color: var(--black-text);
  position: absolute;
  background-color: var(--paper2);
  border: none;
  border-radius: var(--corner-lg);
  box-shadow: 0px 4px 16px 0px var(--dark-transparent);
  top: calc(100% + 8px);
  left: 4px;
  right: 4px;
  z-index: 3;
  max-height: 188px;
  overflow-y: auto;
  padding: 8px;
}
.select-items div {
  padding: 12px;
  cursor: pointer;
  user-select: none;
  width: 100%;
  justify-content: left;
  border-radius: var(--corner-lg);
}
.select-items div:hover {
  background-color: var(--neutral_100);
}

/*hide the items when the select box is closed:*/
.select-hide {
  display: none;
}

.same-as-selected {
  background-color: var(--paper);
}

/*DROPDOWN*/
/* The dropdown container */
.list-dropdown {
  position: absolute;
  top: 12px;
  right: 16px;
}
.list-dropdown .dropdown-menu {
  z-index: 100 !important;
  border-radius: 4px !important;
  background-color: var(--primary) !important;
  border: none !important;
}
.list-dropdown .dropdown-menu .btn {
  min-width: 160px !important;
  padding: 2px 0 2px 0;
}
.list-dropdown .icon-primary-transparent-dark {
  color: var(--primary) !important;
}

.list-dropdown-right {
  position: relative;
  right: 3px;
  top: -2px;
  float: right;
}
.list-dropdown-right .dropdown-menu {
  z-index: 100 !important;
  border-radius: 4px !important;
  background-color: var(--primary) !important;
  border: none !important;
}
.list-dropdown-right .dropdown-menu .btn {
  min-width: 160px !important;
  padding: 2px 0 2px 0;
}
.list-dropdown-right .icon-primary-transparent-dark {
  color: var(--primary) !important;
}

.list-dropdown-absolute {
  position: absolute;
  right: 16px;
  top: 16px;
}
.list-dropdown-absolute .dropdown-menu {
  z-index: 100 !important;
  border-radius: 4px !important;
  background-color: var(--primary) !important;
  border: none !important;
}
.list-dropdown-absolute .dropdown-menu .btn {
  min-width: 160px !important;
  padding: 2px 0 2px 0;
}
.list-dropdown-absolute .icon-primary-transparent-dark {
  color: var(--primary) !important;
}

.dropdown-menu {
  border: none;
  box-sizing: border-box;
  box-shadow: 0px 4px 16px 0px var(--dark-transparent);
  border-radius: var(--corner-lg);
  background-color: var(--paper2);
  margin-top: 4px;
  display: none;
  z-index: 10;
  padding: 8px;
}
.dropdown-menu .link {
  color: var(--dark);
}

/* Dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  color: var(--medium);
  width: 200px;
  position: absolute;
  background-color: var(--paper2);
  z-index: 1;
  padding: 8px 0;
  border: 1px solid var(--primary-transparent);
  box-sizing: border-box;
  border-radius: 4px;
  margin-top: 0;
}

.dropdown-item {
  text-decoration: none;
  color: var(--dark);
  display: block;
  padding: 12px;
  border-radius: var(--corner-lg);
}

.dropdown-item.icon {
  width: 100%;
  line-height: 40px;
}

.user-profile .dropdown-item {
  width: 200px;
}

.dropdown-item:hover {
  background-color: var(--neutral_100);
  cursor: pointer;
}

/* Add a background color to navbar links on hover */
.navbar a:hover {
  background-color: var(--paper);
}

/* Dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  color: var(--medium);
  width: 200px;
  position: absolute;
  background-color: var(--paper2);
  z-index: 1;
  padding: 8px 0;
  border: 1px solid var(--primary-transparent);
  box-sizing: border-box;
  border-radius: 4px;
  margin-top: 0;
}

@media (max-width: 575px) {
  .user-profile .dropdown-content {
    right: 1px;
  }
}

/* Links inside the dropdown */
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px 12px 32px;
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Add a background color to dropdown links on hover */
.dropdown-content a:hover {
  background-color: var(--paper);
  color: var(--primary);
}

/* Datalist */
.datalist-container {
  position: relative;
}

datalist {
  font-size: 16px;
  z-index: 100;
  border: solid 2px var(--primary-passive);
  border-top: none;
  box-shadow: 0 1px 3px var(--medium-transparent);
  border-radius: 4px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-color: var(--paper2);
  margin-left: 4px;
  display: none;
  width: calc(100% - 8px);
  color: var(--medium);
  padding: 0 1px;
  margin-top: 2px;
  margin-left: 4px;
  position: absolute;
  overflow-y: scroll;
  max-height: 182px;
}
datalist option {
  font-family: var(--font-body);
  font-size: 16px;
  text-decoration: none;
  display: block;
  line-height: 18px;
  padding: 4px 10px;
}
datalist option:hover, datalist .active {
  background-color: var(--paper);
}

.show {
  display: block;
}

.hide {
  display: none !important;
}

.show-data {
  display: flex !important;
  flex-direction: column !important;
}

.user-profile {
  user-select: none;
}
.user-profile .drop-toggle {
  cursor: pointer;
}

.user-full {
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
  min-width: 200px;
  padding: 2px 16px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}
.user-full i {
  color: var(--light);
}

.user-circle {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.user-circle span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: white;
  margin-right: 5px;
}

.help-circle {
  text-decoration: none;
}

.logged-in-as {
  height: 64px;
  color: var(--light);
  display: none;
  align-items: center;
}

.logged-in-as-small {
  line-height: normal;
  min-height: 40px;
  color: var(--light);
  display: flex;
  align-items: center;
}

.nav-brand {
  padding: 14px !important;
}

.dot {
  height: 30px;
  width: 30px;
  background-color: var(--primary);
  border-radius: 50%;
  display: inline-block;
}

/* SNACKBAR */
.snackbar {
  font-family: var(--font-heading);
  box-shadow: 0px 2px 4px var(--primary-transparent);
  min-height: 35px;
  color: white;
  padding: 5px;
  width: 320px;
  position: absolute;
  top: 16px;
  left: calc(50% - 160px);
  z-index: 100;
  border-radius: 4px;
  text-align: center;
}

.snackbar-good {
  background-color: var(--success);
}

.snackbar-danger {
  background-color: var(--error);
}

/* CHECKBOXES, RADIO BUTTONS, TOGGLES */
.input-container {
  display: inline-block;
  position: relative;
  padding-left: 34px;
  padding-right: 20px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  line-height: 1.7;
  margin: 8px 4px 8px 4px;
}

.cb-product {
  width: 180px;
}

.no-label {
  padding-left: 0px !important;
  padding-right: 0px !important;
}

.input-container input {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}

/* Checkboxes */
/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 24px;
  width: 24px;
  background-color: var(--paper2);
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
}
@media (max-width: 575px) {
  .checkmark {
    top: 2px;
  }
}

/* On mouse-over, add the focus border */
.input-container:hover input ~ .checkmark {
  border: solid 1px var(--primary) !important;
}

/* When the checkbox is checked, add a green background */
.input-container input:checked ~ .checkmark {
  background-color: var(--primary);
  border: solid 1px var(--primary);
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.input-container input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark */
.input-container .checkmark:after {
  left: 7px;
  top: 4px;
  width: 4px;
  height: 9px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Disabled styling when checked */
.input-container input:checked:disabled ~ .checkmark {
  background-color: var(--disabled-background-colour);
  opacity: var(--disabled-opacity);
}

/* Disabled styling when not checked */
.input-container input:disabled ~ .checkmark {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

/*Radio buttons */
/* Create a custom radio button */
.circle {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  border-radius: 50%;
  background-color: var(--paper);
  border: 1px solid var(--neutral_150);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* On mouse-over, add the focus border */
.input-container:hover input ~ .circle {
  border: solid 1px var(--primary);
}

/* When the checkbox is checked, add a green background */
.input-container input:checked ~ .circle {
  /*background-color: $success;
  border: none;*/
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.circle:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the indicator (dot/circle) when checked */
.input-container input:checked ~ .circle:after {
  display: block;
}

/* Style the indicator (dot/circle) */
.input-container .circle:after {
  top: 5px;
  left: 5px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--primary);
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

/* Disabled styling when not checked */
.input-container input:disabled ~ .circle {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

/* Disabled styling when checked */
.input-container input:checked:disabled ~ .circle:after {
  opacity: var(--disabled-opacity);
}

.input-container input:checked:disabled ~ .circle {
  background-color: var(--paper);
}

.key-permission-edit [type=radio] {
  margin: 3px;
}

/*Toggles/Switches*/
.toggle-container {
  position: relative;
  display: inline-block;
  padding-top: 2px;
  padding-left: 60px;
  padding-right: 12px;
}

.toggle-container input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toggle {
  position: absolute;
  cursor: pointer;
  width: 48px;
  height: 24px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--light);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
}

.toggle:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  top: 2px;
  left: 2px;
  background-color: white;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .toggle {
  background-color: var(--primary);
}

input:checked + .toggle:before {
  -webkit-transform: translateX(24px);
  -ms-transform: translateX(24px);
  transform: translateX(24px);
}

/* Disabled styling when checked */
.toggle-container input:checked:disabled ~ .toggle {
  opacity: var(--disabled-opacity);
  cursor: default !important;
}

/* Disabled styling when not checked */
.toggle-container input:disabled ~ .toggle {
  opacity: var(--disabled-opacity);
  cursor: default !important;
}

/* BUTTONS & LINKS */
.btn,
.link.wide-link {
  font-family: var(--font-heading);
  font-size: 16px;
  height: 40px;
  min-width: 150px;
  border-radius: 4px;
  border: none;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 4px;
  text-decoration: none;
  /* Prevent text highlighting on cursor double click or drag */
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */
  -ms-user-select: none; /* IE 10+ */
  user-select: none; /* Standard syntax */
  padding-left: 15px;
  padding-right: 15px;
}
@media (max-width: 575px) {
  .btn,
  .link.wide-link {
    font-size: 1.1rem;
    height: 40px;
    min-width: 120px;
    padding: 0px 10px;
  }
}

.btn-small {
  font-size: 14px;
  height: 32px;
  min-width: 120px;
  border-radius: 4px;
  border: none;
}

.btn-small-square {
  font-family: var(--font-heading);
  font-size: 16px;
  height: 40px;
  min-width: 40px;
  border-radius: 4px;
  border: none;
  padding-left: 15px;
  padding-right: 12px;
  /* for <a> elements that have been styled as buttons */
  text-align: center;
  padding-top: 6px;
  display: inline-block;
  margin: 4px;
  text-decoration: none;
  /* Prevent text highlighting on cursor double click or drag */
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */
  -ms-user-select: none; /* IE 10+ */
  user-select: none; /* Standard syntax */
}
@media (max-width: 575px) {
  .btn-small-square {
    font-size: 14px;
    height: 32px;
    min-width: 120px;
    padding-top: 4px;
  }
}

.btn:hover {
  cursor: pointer;
  background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0);
}

.btn-minor:hover,
.link.wide-link:hover {
  background-image: none;
  color: var(--dark);
  border-color: var(--medium);
}

.btn:disabled {
  opacity: var(--disabled-opacity);
}

.btn:disabled:hover {
  cursor: default !important;
  box-shadow: none !important;
  opacity: var(--disabled-opacity) !important;
}

.btn-major {
  background-color: var(--primary);
  color: var(--paper2);
  border: solid 1px var(--primary);
}

.btn-success {
  background-color: var(--success);
  color: var(--paper2);
  border: solid 1px var(--success);
}

.btn-success-disabled {
  background-color: var(--success);
  opacity: var(--disabled-opacity);
  color: var(--paper2);
  border: solid 1px var(--success);
  cursor: default !important;
}

.btn-minor,
.link.wide-link {
  background-color: var(--white);
  color: var(--medium);
  border: 1px solid var(--neutral_100);
}

.btn-error {
  background-color: var(--error);
  color: var(--paper2);
  border: solid 1px var(--error);
}

.btn-error-disabled {
  background-color: var(--error);
  opacity: var(--disabled-opacity);
  color: var(--paper2);
  border: solid 1px var(--error);
  cursor: default !important;
}

.btn-complete-container {
  text-align: center;
}

[class*=btn-plus-] {
  display: none;
}
@media (max-width: 1200px) {
  [class*=btn-plus-] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    width: 50px;
    border-radius: 50%;
    color: white;
    text-decoration: none;
  }
}

.btn-plus-expand {
  position: absolute;
  right: 10px;
  background-color: var(--primary);
}

.btn-plus-search {
  /*right: 75px;*/
  background-color: var(--primary);
}

.btn-drop-down-container {
  height: 40px;
}
.btn-drop-down-container .select-selected {
  margin: 0px;
}
.btn-drop-down-container .btn {
  padding-left: 0;
  padding-right: 0;
}

.btn-drop-down-container > div {
  height: 40px;
  background-color: var(--menu-dropdown-bg);
  color: white;
  position: relative;
  width: 176px;
  margin: auto;
  border-radius: 4px;
}
@media (max-width: 575px) {
  .btn-drop-down-container > div {
    background-color: revert;
    width: 32px;
    position: absolute;
    top: 0px;
    right: 0px;
  }
  .btn-drop-down-container > div .icon {
    color: var(--primary);
    position: absolute;
    top: 12px;
    right: 16px;
  }
  .btn-drop-down-container > div .select-items {
    width: 178px;
    transform: translate(-150px, -15px);
  }
}

.btn-drop-down {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 40px;
  background-color: var(--primary);
  color: white;
  margin: 0px;
  width: 138px;
  min-width: inherit;
  z-index: 5;
}
.btn-drop-down > div {
  border-right: 1px solid var(--purple_300);
  width: 100%;
  padding-top: 4px;
  padding-bottom: 4px;
}

.btn-dropdown-arrow {
  width: 40px;
  border-left: 1px solid var(--dark-transparent);
  height: 40px;
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 12px;
}

.btn-drop-down-container .select-selected {
  opacity: 0;
}

.btn-drop-down-container .select-items {
  top: calc(100% + 8px);
  left: 0px;
  right: 0px;
}

.btn-back {
  display: inline;
}

.btn-link {
  background: none;
  min-width: unset;
  height: unset;
  margin: 0;
  padding: 0;
}

.btn-link:hover {
  box-shadow: unset;
  transition: unset;
}

.menu-drop-down-container {
  margin-bottom: 15px;
}
.menu-drop-down-container .select-selected {
  margin: 0px;
  opacity: 0;
  height: 36px;
}

.menu-drop-down-container > div {
  background-color: var(--menu-dropdown-bg);
  color: white;
  position: relative;
  width: 176px;
  margin: auto;
  border-radius: 4px;
}

.menu-drop-down-btn {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 36px;
  background-color: var(--menu-dropdown-bg);
  color: white;
  margin: 0px;
  width: 136px;
  min-width: inherit;
  z-index: 5;
  font-size: var(--fs-sm);
  padding-left: 0;
  padding-right: 0;
}
.menu-drop-down-btn > div {
  border-right: 1px solid var(--purple_300);
  width: 100%;
  padding-top: 4px;
  padding-bottom: 4px;
}

.menu-dropdown-arrow {
  width: 36px;
  height: 36px;
  position: absolute;
  top: 0px;
  right: 0px;
  padding: 10px;
}

.menu-drop-down-container .select-items {
  top: calc(100% + 8px);
  left: 0px;
  right: 0px;
}

.link {
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--primary);
  text-decoration: none;
}
@media (max-width: 575px) {
  .link {
    font-size: 1.1rem;
  }
}

.disable {
  opacity: var(--disabled-opacity);
}

.disable:hover {
  opacity: var(--disabled-opacity) !important;
  cursor: default !important;
}

.link.small-link {
  font-size: 12px;
  /*margin: 0px !important;*/
}
@media (max-width: 575px) {
  .link.small-link {
    font-size: 1rem;
  }
}

.link.medium-link {
  font-size: 14px;
}
@media (max-width: 575px) {
  .link.medium-link {
    min-width: 60px;
    font-size: 1.1rem;
  }
}

.wide-link {
  min-width: 100px;
  display: inline-block;
  text-align: center;
}
@media (max-width: 575px) {
  .wide-link {
    min-width: 60px;
  }
}

.text-link {
  font-family: var(--font-body);
  text-decoration-line: underline;
  color: var(--primary);
}

.link:hover {
  cursor: pointer;
}

.link:disabled {
  opacity: var(--disabled-opacity);
}

.link:active {
  opacity: var(--disabled-opacity) !important;
}

/* FIND EXISTING */
.search-for-existing {
  color: var(--primary);
}

.search-for-existing div {
  display: inline-block;
  margin: 4px;
}

.search-for-existing span {
  padding-left: 8px;
}

.search-for-existing .loader {
  display: inline-block;
  padding-left: 8px;
  margin-top: 9px;
}

/* NAVIGATION */
@media only screen and (max-width: 767px) {
  .main-content {
    width: 100% !important;
  }
}
@media only screen and (min-width: 768px) {
  .main-content {
    width: calc(100% - 60px);
  }
}
@media only screen and (min-width: 992px) {
  .products-dropdown {
    display: block !important;
  }
}
@media only screen and (min-width: 1200px) {
  .main-content {
    width: calc(100% - 220px);
  }
}
.reconcile-action-sidebar .action-sidebar {
  width: 30% !important;
}
@media (max-width: 575px) {
  .reconcile-action-sidebar .action-sidebar {
    width: 100% !important;
    height: 320px !important;
    bottom: 0 !important;
    top: unset !important;
    max-width: 100% !important;
    position: fixed !important;
    z-index: 100;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-info {
    padding: 14px;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-info h2 {
    font-size: 1.2rem;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-form-background {
    padding: 0px;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-form-background .btn {
    min-width: 132px;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-form-background td {
    position: relative;
    padding-right: 10px;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-form-background td h5 {
    display: inline-block;
  }
  .reconcile-action-sidebar .action-sidebar .action-sidebar-form-background .icon-sm {
    position: absolute;
    top: 5px;
    left: 100%;
    margin-left: -5px; /* Adjust the spacing between the span and the icon as needed */
  }
  .reconcile-action-sidebar .action-sidebar .close {
    font-size: 24px;
    top: 12px;
  }
}

@media (max-width: 575px) {
  .KeyCabinet {
    width: 100% !important;
    padding-bottom: 45px;
  }
}
@media (max-width: 575px) {
  .KeyCabinet td {
    min-width: 45px !important;
  }
}

@media (max-width: 575px) {
  .KeyCabinetShow {
    padding-bottom: 345px;
  }
}

.top-nav-container {
  height: 64px;
  width: 100%;
  /*box-shadow: $shadow-bottom;*/
  border-bottom: 1px solid var(--paper);
  z-index: 2;
  position: fixed;
  background-color: var(--paper2);
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  align-items: flex-start;
}

.top-nav-container img {
  padding: 16px 8px 16px 24px;
}

.top-nav-container-landing {
  width: 100%;
  z-index: 2;
  position: fixed;
  background-color: var(--paper2);
}

.top-nav-container-landing img {
  padding-top: 25px;
  display: block;
  margin: auto;
  height: 100px;
}

@media only screen and (max-width: 1200px) {
  .top-nav-container-landing img {
    height: 100px;
  }
}
@media only screen and (max-width: 992px) {
  .top-nav-container-landing img {
    height: 90px;
  }
}
@media only screen and (max-width: 768px) {
  .top-nav-container-landing img {
    height: 80px;
  }
}
@media only screen and (max-width: 576px) {
  .top-nav-container-landing img {
    height: 64px;
  }
}
.nav-container-left {
  display: flex;
  align-items: center;
  flex: 1;
  height: 64px;
}

.nav-container-right {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: flex-end;
  height: 64px;
}

.expanded-menu-container {
  height: calc(100vh - 64px - var(--vh));
  position: absolute;
  top: 64px;
  left: 0;
  z-index: 1;
  width: 100%;
}
.expanded-menu-container .main-menu {
  width: 100%;
}
.expanded-menu-container .menu-item {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}
.expanded-menu-container .menu-item:hover {
  background-color: inh;
}
.expanded-menu-container .menu-item-tab-a-active {
  border-left: 0px;
  background-color: var(--paper);
}
.expanded-menu-container .menu-item-tab-a-active i {
  margin-left: 0;
}
.expanded-menu-container i {
  padding-top: 0 !important;
}

.collapsed-main-menu {
  display: block;
}

#ExpandedMenuCover {
  background-color: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
  display: none;
}

/* JQUERY DATEPICKER STYLING */
.ui-datepicker.ui-widget {
  font-family: var(--font-heading);
  border: solid 1px var(--primary-passive);
  box-shadow: 0 2px 8px 0 var(--primary-passive);
}

.ui-datepicker-next > span,
.ui-datepicker-prev > span {
  background-position: center;
  background-size: 40px;
}

.ui-datepicker-next {
  position: absolute;
  right: 18px;
  top: 20px;
}

.ui-datepicker-prev {
  position: absolute;
  right: 50px;
  top: 20px;
}

.ui-datepicker-next > span {
  background-image: url(../images/dp-next.png) !important;
}

.ui-datepicker-prev > span {
  background-image: url(../images/dp-prev.png) !important;
}

.ui-datepicker-next .ui-icon,
.ui-datepicker-prev .ui-icon {
  height: 24px;
  width: 24px;
}

.ui-datepicker {
  width: 19em;
}
.ui-datepicker .ui-widget-header {
  font-size: var(--fs-sm);
  color: var(--dark);
  border: none;
  background: white;
  position: relative;
  padding: 12px 24px 4px 24px;
  font-weight: normal;
}
.ui-datepicker .ui-widget-header .ui-state-hover {
  border: none !important;
  background: white !important;
}
.ui-datepicker .ui-widget-header .ui-datepicker-title {
  line-height: 1;
}
.ui-datepicker .ui-widget-header .ui-datepicker-next {
  right: 2px;
}
.ui-datepicker .ui-widget-header .ui-datepicker-prev {
  left: 2px;
}
.ui-datepicker .ui-widget-header .ui-datepicker-next-hover,
.ui-datepicker .ui-widget-header .ui-datepicker-prev-hover {
  top: 2px;
}
.ui-datepicker .ui-widget-header .ui-datepicker-next:hover,
.ui-datepicker .ui-widget-header .ui-datepicker-prev:hover {
  opacity: unset;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-calendar {
  padding: 12px;
}
.ui-datepicker .ui-datepicker-calendar .ui-state-default {
  border: none;
  background: white;
  color: var(--dark);
  text-decoration: none;
}
.ui-datepicker .ui-datepicker-calendar .ui-priority-secondary {
  color: var(--light);
}
.ui-datepicker .ui-datepicker-calendar .ui-state-active {
  color: var(--white);
  background-color: var(--primary);
}
.ui-datepicker td a {
  text-align: center;
  border-radius: var(--corner-3xl);
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ui-datepicker th {
  color: var(--light);
  font-weight: normal;
}
.ui-datepicker .ui-datepicker-buttonpane button {
  font-family: var(--font-body);
  font-size: 14px;
  opacity: unset !important;
  font-weight: normal;
}
.ui-datepicker .ui-datepicker-buttonpane button:hover {
  cursor: pointer;
  background-image: linear-gradient(rgba(0, 0, 0, 0.1) 0 0);
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-primary {
  background-color: var(--primary);
  color: var(--paper2);
  border: solid 1px var(--primary);
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-priority-secondary {
  background-color: var(--white);
  color: var(--medium);
  border: 1px solid var(--neutral_100);
}

input.js-datepicker {
  background-image: url(../images/calendar.png);
  background-position-y: center;
  background-position-x: calc(100% - 8px);
  right: 8px;
  background-repeat: no-repeat;
}

input:read-only.js-datepicker {
  background-image: url(../images/calendar.png);
  background-position-y: center;
  background-position-x: 15px;
  background-repeat: no-repeat;
  border: 1px solid var(--neutral_150);
  background-color: white;
  padding-left: 45px;
}

input:disabled.js-datepicker {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

input:read-only.js-datetimepicker {
  background-image: url(../images/calendar.png);
  background-position-y: center;
  background-position-x: 15px;
  right: 8px;
  background-repeat: no-repeat;
  border: 1px solid var(--neutral_150);
  border-radius: var(--corner-sm);
  background-color: white;
  padding-left: 45px;
}

input:disabled.js-datetimepicker {
  border: solid 1px var(--disabled-background-colour);
  background-color: var(--disabled-background-colour);
}

.ui_tpicker_time_label,
.ui_tpicker_hour_label,
.ui_tpicker_minute_label {
  color: var(--medium);
  font-family: var(--font-body);
  font-size: 14px;
}
@media (max-width: 575px) {
  .ui_tpicker_time_label,
  .ui_tpicker_hour_label,
  .ui_tpicker_minute_label {
    font-size: 1.1rem;
  }
}

.ui-tpicker-grid-label {
  color: var(--primary);
  font-size: 14px;
  color: var(--medium);
}

.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
  border: none;
  font-size: 14px;
  color: var(--dark);
}
@media (max-width: 575px) {
  .ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
    font-size: 1.1rem;
  }
}

.ui-timepicker-div td {
  font-size: 10px;
  color: var(--primary);
}

.ui-timepicker-div dl dd {
  margin: 0 5px 5px 40%;
}

.ui-timepicker-div dl {
  margin: 0;
}

@media (max-width: 575px) {
  .ui-timepicker-div .ui-timepicker-select {
    padding: 5px;
  }
}

/* FILE UPLOADER */
.file-uploader {
  position: relative;
}

.file-uploader .upload-area {
  height: 88px;
  width: 100%;
  border: 2px dashed var(--primary-passive);
  border-radius: 4px;
  background-color: var(--paper2);
  text-align: center;
  padding-top: 12px;
  color: var(--light);
}

.file-uploader .file-preview {
  position: relative;
  width: 100%;
  border: solid 1px var(--primary-passive);
  text-align: center;
  border-radius: 4px;
}

.file-uploader .file-preview img {
  max-width: 200px;
  max-height: 170px;
  margin-top: 6px;
}

.file-uploader .file-input {
  display: none;
}

.file-uploader .dragover {
  border: 2px dashed var(--primary);
}

.file-uploader .loader {
  margin: auto;
  margin-top: 39px;
  margin-bottom: 50px;
}

.key-image {
  max-width: 200px;
  max-height: 170px;
}

.signature-image {
  max-width: 240px;
}

/* CLOSE BUTTON*/
.close {
  position: absolute;
  top: 2px;
  font-size: 18px;
  color: var(--primary-transparent-dark);
  border-radius: 50%;
}

.close:hover {
  cursor: pointer;
  color: var(--primary);
}

.close-attach {
  position: absolute;
  right: -8px;
  top: -8px;
  font-size: 18px;
  color: var(--primary-transparent-dark);
  border-radius: 50%;
}

.close-attach:hover {
  cursor: pointer;
  color: var(--primary);
}

/* PAGE FRAMING ELEMENTS */
.main-content {
  height: calc(100vh - 64px - var(--vh));
  position: relative;
  background-color: var(--paper);
  float: left;
  top: 64px;
  z-index: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.main-content.full-width {
  width: 100% !important;
}

.main-content.collapse-width {
  width: calc(100% - 80px);
}

.main-container {
  float: left;
  height: 100%;
  width: calc(100% - 220px);
}

.side-nav-container {
  margin-top: 64px;
  float: left;
  height: calc(100vh - 64px);
  position: relative;
  z-index: 1;
}

.collapsed-main-menu-container {
  height: 40px;
  width: 100%;
}

.collapsed-main-menu {
  font-size: 0; /*prevents stupid whitespace in between inline-block elements*/
  text-align: left;
}

.collapsed-main-menu .menu-item {
  display: inline-block;
}

.main-menu {
  background-color: var(--paper2);
  color: var(--light);
  width: 220px;
  position: relative;
  z-index: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.minimize-menu {
  background-color: var(--paper2);
  color: var(--light);
  width: 60px;
  position: relative;
  z-index: 0;
  height: calc(100vh - 64px - var(--vh));
  flex-direction: column !important;
}
.minimize-menu .vertical-words-menu .menu-item {
  padding-left: 0px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-menu-top {
  width: 100%;
  /*position: absolute;
  top: 20px;
  left: 0;*/
  /*height: calc(100% - 154px);*/
  overflow-y: auto;
  padding-top: 20px;
}

.main-menu-separator {
  height: 1px;
  background-color: var(--primary-transparent);
  margin-top: auto;
}

.main-menu-bottom {
  width: 100%;
  padding-bottom: 25px;
  border-top: 1px solid var(--neutral_100);
  margin-top: auto;
}

.menu-item {
  font-family: var(--font-heading);
  font-size: var(--menu-item-font-size);
  height: 48px;
  text-decoration: none;
  color: var(--menu-item-font-color);
  padding: 6px 0;
  /* Prevent text highlighting on cursor double click or drag */
  -webkit-user-select: none; /* Safari 3.1+ */
  -moz-user-select: none; /* Firefox 2+ */
  -ms-user-select: none; /* IE 10+ */
  user-select: none; /* Standard syntax */
}
@media (max-width: 575px) {
  .menu-item {
    font-size: 1.4rem;
    height: 48px;
    padding: 4px 0;
  }
}
.menu-item .menu-item-content {
  display: flex;
  align-items: center;
}
.menu-item i {
  width: 60px;
  text-align: center;
  color: var(--menu-item-icon-font-color);
}

.menu-item:hover {
  background-color: var(--neutral_100);
  cursor: pointer;
}

.menu-item-active {
  background-color: var(--paper);
  color: var(--primary);
}

.menu-item span {
  display: inline-block;
}

.menu-item li:hover {
  background-color: var(--neutral_100);
}

.menu-item > div {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  height: 100%;
}

.hamburger-menu {
  color: var(--light);
  font-size: 18px;
}
@media (max-width: 575px) {
  .hamburger-menu {
    font-size: 16px;
  }
}

.hamburger-menu i {
  display: block;
  width: 40px;
}

.vertical-words-menu .menu-item {
  display: block;
  align-items: center;
}

.menu-item-tab-list {
  height: 0px;
  width: 0px;
  transition: height 0.4s, width 0.3s;
  position: absolute;
  margin-top: -65px; /*Offset*/
  top: 0px;
  left: 220px;
  display: inline;
  overflow: hidden;
  background-color: var(--paper2);
  color: var(--menu-item-tab-font-color);
  border-radius: var(--corner-lg);
  box-shadow: 0px 4px 16px 0px var(--dark-transparent);
  margin-right: 0px;
}
.menu-item-tab-list .menu-item-tab {
  padding: 12px;
  border-radius: var(--corner-lg);
  margin-left: 8px;
  margin-right: 8px;
}
.menu-item-tab-list > .menu-item-tab:first-child {
  margin-top: 8px;
}
.menu-item-tab-list > .menu-item-tab:last-child {
  margin-bottom: 8px;
}
.menu-item-tab-list .menu-item-tab-a-active {
  border-left: 0px;
  background-color: var(--paper);
}

.menu-item-tab {
  white-space: nowrap;
  padding-right: 0px;
}

.menu-item-tab-a {
  display: block;
}

.menu-item-tab-a-active {
  background-color: var(--menu-item-tab-active-bg);
  color: var(--primary);
  border-left: 2px solid var(--primary);
}
.menu-item-tab-a-active i {
  margin-left: -2px;
  color: var(--primary);
}

.products-dropdown {
  margin-left: 8px;
  width: 220px;
  float: left;
  display: none;
}

.products-dropdown .select-selected:after {
  margin-top: 4px;
}

.clients-dropdown {
  min-width: 150px;
}

.clients-dropdown .select-selected {
  padding-right: 25px;
}

.clients-dropdown .select-selected:after {
  margin-top: 4px;
}

.expanded-menu-dropdown-items {
  display: none;
  border-bottom: 1px solid var(--neutral_100);
  border-top: 1px solid var(--neutral_100);
}

.expanded-menu-dropdown-item {
  padding-left: 60px;
}

/* SCROLL BARS */
/* Width */
::-webkit-scrollbar {
  border-radius: 8px;
  width: 6px;
  height: 6px;
}

/* Track */
::-webkit-scrollbar-track {
  border-radius: 8px;
  background: var(--paper);
  padding-right: 10px;
}

/* Handle */
::-webkit-scrollbar-thumb {
  border-radius: 8px;
  background: var(--light);
  margin-right: 1px;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
  background: var(--medium);
}

/* KEY PANEL */
.mute-circle-btn {
  position: absolute;
  left: 16px;
}
.mute-circle-btn :hover {
  cursor: pointer;
}
.mute-circle-btn img {
  background-color: var(--error);
  border-radius: 50%;
  padding: 10px;
}

@media only screen and (max-width: 768px) {
  .panel-container .row {
    padding: 0px 0px;
  }
}
/*.mute-circle-btn.btn-container {
left: 8px !important;
right:unset;
}*/
@media only screen and (max-width: 576px) {
  #panelContent .panel-container {
    padding: 6px;
  }
  .child-panel-container {
    overflow-x: scroll;
  }
  .panel-container .key-panel {
    margin: 16px 0;
    min-width: max-content;
  }
  .panel-container .key-panel .key-panel-row:nth-child(odd) {
    margin-left: 16.5px;
  }
  .panel-container .key-panel .key-panel-row:nth-child(even) {
    margin-right: 16.5px;
  }
  .key-panel .hook-container {
    width: 28px;
    margin: 0 1px;
    padding-top: 10px;
  }
  .key-panel .hook-container .led-indicator-large {
    width: 11px;
    height: 11px;
    display: block;
    margin: auto;
  }
  .panel-name h3 {
    max-width: 183px;
  }
  .key-count {
    font-size: 13px;
  }
  .key-count h5 {
    font-size: 13px;
  }
}
.action-sidebar-form-background .card-asset {
  width: auto;
  height: auto;
}
.action-sidebar-form-background .card-key {
  height: auto;
}

@media only screen and (max-width: 768px) {
  .action-sidebar-form-background .card-key {
    width: auto;
  }
}
.panel-action:hover {
  cursor: pointer;
}
.panel-action:hover .led-indicator-large {
  color: var(--primary-transparent-dark);
}

.led-indicator-large.led-indicator-active {
  color: var(--primary-transparent-dark);
}

.panel-container {
  padding: 0 !important;
  text-align: center;
  user-select: none;
}

.page .tab-system-tab .panel-container {
  height: calc(100% - 50px);
  overflow-y: auto;
  overflow-x: hidden;
}

.page .panel-container {
  height: calc(100% - 120px);
  overflow-y: auto;
  overflow-x: hidden;
}

.key-panel {
  background: white;
  box-shadow: 0px 2px 8px var(--primary-transparent-dark);
  border-radius: 32px;
  padding: 20px 12px 20px 12px;
  display: inline-block;
  margin: 16px 20px;
  max-width: 484px;
}

.key-panel-sm .panel-name h3 {
  max-width: 150px;
}
@media (max-width: 575px) {
  .key-panel-sm .panel-name h3 {
    max-width: 100px;
  }
}

.key-panel-row:nth-child(odd) {
  margin-left: 22px;
}

.key-panel-row:nth-child(even) {
  margin-right: 22px;
}

.panel-name {
  border-top: solid 1px var(--primary-passive);
  border-width: 1px;
  margin: 16px 12px 0px 12px;
  padding-top: 12px;
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: space-between;
  max-width: 100%;
}
@media (max-width: 575px) {
  .panel-name h3 {
    font-size: 20px;
    margin-top: 1px;
  }
  .panel-name .small-pill .pill {
    font-size: 12px;
    padding: 0px 8px 0px 6px;
    height: 16px;
  }
}

.panel-summary {
  max-width: unset;
  display: table;
  margin: 0 auto;
}
.panel-summary .panel-summary-content {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
  align-items: center;
}
.panel-summary .summary-row {
  margin-left: 10px;
  margin-right: 10px;
  margin-top: 10px;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-content: center;
}
.panel-summary .summary-row > div:first-of-type {
  margin-right: 10px;
}
.panel-summary .panel-name {
  justify-content: center;
  border-top: unset;
  border-bottom: solid 2px var(--primary-transparent);
  padding-top: unset;
  margin-top: unset;
}

.btn-edit:hover {
  color: var(--primary);
  cursor: pointer;
}

.hook-container {
  display: inline-block;
  height: 44px;
  width: 32px;
  margin: 0px 4px 0px 4px;
  padding-top: 4px;
  text-align: center;
}

.led-indicator-large {
  font-size: 14px;
  display: inline-block;
}

.led-indicator-small {
  font-size: 8px;
  display: inline-block;
}

.led-indicator-highlighted {
  border: 3px solid white;
  border-radius: 50%;
  width: 25px !important;
  height: 25px !important;
  margin: -4px 0px;
  padding-top: 2px;
  animation: led-shadow-pulse 1.5s infinite;
  -moz-animation: led-shadow-pulse 1.5s infinite; /* Firefox */
  -webkit-animation: led-shadow-pulse 1.5s infinite; /* Safari and Chrome */
}
@media (max-width: 575px) {
  .led-indicator-highlighted {
    width: 16px !important;
    height: 16px !important;
    margin: -3px 6px !important;
  }
}

@keyframes led-shadow-pulse {
  0% {
    outline: var(--success) solid 2px;
    box-shadow: 0 0 3px 3px var(--success);
  }
  50% {
    outline: var(--success) solid 5px;
    box-shadow: 0 0 5px 5px var(--success);
  }
  100% {
    outline: var(--success) solid 2px;
    box-shadow: 0 0 3px 3px var(--success);
  }
}
.led-indicator-grey {
  color: var(--light);
}

.led-indicator-green {
  color: var(--in);
}

.led-indicator-greyed-out {
  color: var(--light) !important;
}

.led-indicator-greyed-out-no-anim {
  color: var(--light) !important;
  animation: none !important;
  -moz-animation: none !important; /* Firefox */
  -webkit-animation: none !important; /* Safari and Chrome */
}

.led-indicator-greenpulse {
  color: var(--in);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-greenflash {
  color: var(--in);
  animation: pulse 0.3s infinite;
  -moz-animation: pulse 0.3s infinite; /* Firefox */
  -webkit-animation: pulse 0.3s infinite; /* Safari and Chrome */
}

.led-indicator-blue {
  color: var(--out);
}

.led-indicator-bluepulse {
  color: var(--out);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-red {
  color: var(--unknown);
}

.led-indicator-redflash {
  color: var(--missing);
  animation: pulse 0.3s infinite;
  -moz-animation: pulse 0.3s infinite; /* Firefox */
  -webkit-animation: pulse 0.3s infinite; /* Safari and Chrome */
}

.led-indicator-whitepulse {
  color: var(--signal);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-aquapulse {
  color: var(--wrongpos);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-aquaflash {
  color: var(--wrongpos);
  animation: pulse 0.3s infinite;
  -moz-animation: pulse 0.3s infinite; /* Firefox */
  -webkit-animation: pulse 0.3s infinite; /* Safari and Chrome */
}

.led-indicator-orangepulse {
  color: var(--loading);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-orangeflash {
  color: var(--loading);
  animation: pulse 0.3s infinite;
  -moz-animation: pulse 0.3s infinite; /* Firefox */
  -webkit-animation: pulse 0.3s infinite; /* Safari and Chrome */
}

.led-indicator-lightorangepulse {
  color: var(--light-orange);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.led-indicator-purple {
  color: var(--overdue);
}

.led-indicator-redorangeflash {
  animation: redorange-dualflash 1s infinite;
  -moz-animation: redorange-dualflash 1s infinite; /* Firefox */
  -webkit-animation: redorange-dualflash 1s infinite; /* Safari and Chrome */
}

.led-indicator-greenorangeflash {
  animation: greenorange-dualflash 1s infinite;
  -moz-animation: greenorange-dualflash 1s infinite; /* Firefox */
  -webkit-animation: greenorange-dualflash 1s infinite; /* Safari and Chrome */
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
@-moz-keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes redorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--unknown);
    background-color: var(--unknown-transparent);
  }
}
@-moz-keyframes redorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--unknown);
    background-color: var(--unknown-transparent);
  }
}
@-webkit-keyframes redorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--unknown);
    background-color: var(--unknown-transparent);
  }
}
@keyframes greenorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--in);
    background-color: var(--in-transparent);
  }
}
@-moz-keyframes greenorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--in);
    background-color: var(--in-transparent);
  }
}
@-webkit-keyframes greenorange-dualflash {
  0%, 49.99% {
    color: var(--loading);
    background-color: var(--loading-transparent);
  }
  50%, 100% {
    color: var(--in);
    background-color: var(--in-transparent);
  }
}
/* PILLS/DOTS */
.page-heading .large-pill {
  vertical-align: top;
}

.large-pill, .normal-pill, .small-pill {
  display: inline-block;
}

.pill {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
}

.pill-empty {
  padding: 0 !important;
}

.small-pill .pill {
  font-family: var(--font-heading);
  font-size: 12px;
  padding: 0px 8px 0px 6px;
  height: 16px;
  border-radius: 8px;
  margin-top: 8px;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .small-pill .pill {
    font-size: 1rem;
    padding: 0px 12px 0px 10px;
    height: 20px;
  }
}

.normal-pill .pill {
  font-family: var(--font-heading);
  font-size: 14px;
  padding: 0px 10px 0px 8px;
  height: 20px;
  border-radius: 10px;
  margin-top: 10px;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .normal-pill .pill {
    font-size: 1.1rem;
  }
}

.large-pill .pill {
  font-family: var(--font-heading);
  font-size: 16px;
  padding: 0px 12px 0px 10px;
  height: 24px;
  border-radius: 12px;
  margin: 2px 0px;
  white-space: nowrap;
}
@media (max-width: 575px) {
  .large-pill .pill {
    font-size: 1.2rem;
  }
}

.led-indicator {
  margin-right: 4px;
}

.large-pill .led-indicator {
  font-size: 12px;
}

.normal-pill .led-indicator {
  font-size: 10px;
}

.small-pill .led-indicator {
  font-size: 8px;
}

.pill-text {
  display: inline-block;
}

.pill-grey {
  color: var(--off);
  background-color: var(--off-transparent);
}

.pill-green {
  color: var(--in);
  background-color: var(--in-transparent);
}

.pill-greenpulse {
  color: var(--in);
  background-color: var(--in-transparent);
}

.pill-greenflash {
  color: var(--in);
  background-color: var(--in-transparent);
}

.pill-blue {
  color: var(--out);
  background-color: var(--out-transparent);
}

.pill-bluepulse {
  color: var(--out);
  background-color: var(--out-transparent);
}

.pill-purple {
  color: var(--overdue);
  background-color: var(--overdue-transparent);
}

.pill-red {
  color: var(--unknown);
  background-color: var(--unknown-transparent);
}

.pill-redflash {
  color: var(--missing);
  background-color: var(--missing-transparent);
}

.pill-aquapulse {
  color: var(--wrongpos);
  background-color: var(--wrongpos-transparent);
}

.pill-orange {
  color: var(--loading);
  background-color: var(--loading-transparent);
}

.pill-orangepulse {
  color: var(--loading);
  background-color: var(--loading-transparent);
}

.pill-orangeflash {
  color: var(--loading);
  background-color: var(--loading-transparent);
}

.pill-redorangeflash {
  animation: redorange-dualflash 1s infinite;
  -moz-animation: redorange-dualflash 1s infinite; /* Firefox */
  -webkit-animation: redorange-dualflash 1s infinite; /* Safari and Chrome */
}

.pill-greenorangeflash {
  animation: greenorange-dualflash 1s infinite;
  -moz-animation: greenorange-dualflash 1s infinite; /* Firefox */
  -webkit-animation: greenorange-dualflash 1s infinite; /* Safari and Chrome */
}

/*note for above: there is no 'correct position' pill (makes no sense) */
/* CARDS */
.card {
  border: solid 1px var(--primary-passive);
  border-radius: 4px;
  background: var(--paper2);
  padding: 12px 16px;
  margin: 0px 16px 16px 0px;
  position: relative;
  user-select: none;
  line-height: 0.9;
  text-decoration: none;
}
.card h4 {
  margin: 0;
}
.card h6 {
  margin: 0;
  font-family: var(--font-body);
  color: var(--light);
}
.card :visited {
  color: unset;
}
.card .icon {
  font-size: 24px !important;
}

.card-key {
  width: 250px;
  display: inline-block;
}

.card-asset {
  width: 355px;
  min-height: 92px;
  display: inline-block;
}
@media (max-width: 575px) {
  .card-asset {
    width: 290px;
  }
}

.card-accessgroup {
  width: 355px;
  min-height: 92px;
  display: inline-block;
}
@media (max-width: 575px) {
  .card-accessgroup {
    width: 290px;
  }
}

.card-loan {
  width: 319px;
  min-height: 66px;
  display: inline-block;
}
@media (max-width: 575px) {
  .card-loan {
    width: 290px;
  }
}

.card-staff, .card-borrower, .card-owner, .card-tenant {
  width: 243px;
  min-height: 92px;
  display: inline-block;
}
.card-staff .card-details div, .card-borrower .card-details div, .card-owner .card-details div, .card-tenant .card-details div {
  font-size: 0.9rem;
}
@media (max-width: 575px) {
  .card-staff .card-details div, .card-borrower .card-details div, .card-owner .card-details div, .card-tenant .card-details div {
    font-size: 0.9rem;
  }
}

.card-file {
  width: 290px;
  min-height: 70px;
}
@media (max-width: 575px) {
  .card-file {
    width: 290px;
  }
}

.card-tracker {
  width: 250px;
  height: 100px;
  display: inline-block;
}

.card-attach {
  width: 290px;
  min-height: 70px;
}
.card-attach img {
  height: 100%;
  max-width: 200px;
  margin: auto;
}
@media (max-width: 575px) {
  .card-attach {
    width: 290px;
  }
}

.card-image {
  width: 250px;
  height: 92px;
  text-align: center;
  padding: 0;
}
.card-image img {
  height: 100%;
  max-width: 200px;
}
@media (max-width: 575px) {
  .card-image {
    width: 250px;
  }
}

.image-card {
  padding: 4px 0px;
  text-align: center;
}

.image-card img {
  max-width: 200px;
  max-height: 150px;
  vertical-align: middle;
}

.card-details {
  vertical-align: top;
  display: inline-block;
  width: 80%;
}

.card-icon {
  padding-top: 5px;
  margin-right: 8px;
  vertical-align: top;
  display: inline-block;
  width: 20px;
  font-size: 20px;
  color: var(--medium);
}

.error {
  color: var(--error);
}

.success {
  color: var(--success);
}

/* BLAND DATA TABLES */
.data-table {
  overflow-y: hidden;
  height: 100%;
}
.data-table .column-selection {
  padding: 8px 0 0 0;
}
.data-table .header-separator {
  padding: 0px;
  border: 1px var(--light) solid;
}

.data-table table {
  border-radius: 4px;
  border-spacing: 0px;
  border-collapse: collapse;
  border: 1px solid var(--primary-passive);
  margin-top: 12px;
}

.data-table td {
  background-color: var(--paper2);
  border-bottom: 1px solid var(--primary-passive);
  padding: 8px 16px 8px 16px;
}

.data-table th {
  background-color: var(--paper2);
  border-top: 1px solid var(--primary-passive);
  /*border-bottom: 2px solid $light;*/
  padding: 8px 16px 8px 16px;
  min-width: 150px;
  text-align: left;
  font-weight: normal;
}

.data-table-container {
  overflow-x: auto;
  overflow-y: hidden;
  min-height: 280px;
}

.data-table.column-matching .selectize-control.custom-selectize.single {
  width: 200px;
}

#KeyImporterStep4 {
  padding: 0 16px;
}
#KeyImporterStep4 .list-heading {
  padding: 0;
}

/* Custom Item Cells */
.asset-display-container {
  margin: -10px 0px;
  height: 40px;
  justify-content: center;
  flex-direction: column;
  cursor: text;
  width: fit-content;
  max-width: 100%;
}

/*ALERT*/
.alert-container {
  width: 35%;
  position: fixed;
  bottom: 0px;
  right: 0px;
  z-index: 100;
}

.alert-body {
  color: var(--dark);
}

.alert {
  border-width: 1px;
  border-style: solid;
  box-sizing: border-box;
  border-radius: 4px;
  padding: 6px 12px 8px 12px;
  position: relative;
}

.alert .close {
  top: 8px;
  right: 12px;
  color: var(--light);
}

.alert .close:hover {
  color: var(--medium);
}

.alert-primary {
  border-color: var(--primary);
  background: var(--primary-transparent);
}

.alert-second {
  border-color: var(--warning);
  background: var(--warning-transparent);
}

.alert-danger {
  border-color: var(--error);
  background: var(--warning-transparent);
  padding: 14px 18px;
  margin: 5px 16px;
  float: right;
  width: 100%;
}

.alert-danger .icon-warning {
  color: var(--error);
}

.key-pill-list-item {
  max-height: 20px;
}
.key-pill-list-item .key-pill-outer-container {
  height: 61px;
  margin-top: -25px;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 992px) {
  .key-pill-list-item .key-pill-outer-container {
    height: auto;
    margin-top: 0;
  }
}
.key-pill-list-item .key-pill-inner-container {
  max-height: 40px;
  overflow-y: auto;
  width: 100%;
}
.key-pill-list-item .key-pill-inner-container > div {
  display: block;
}

.tag-assigner-pos-text {
  display: inline;
  margin: 0 16px;
  width: 150px;
  max-width: 150px;
  text-align: center;
  text-overflow: ellipsis;
  overflow-x: clip;
}

/* TAB SYSTEM */
@media only screen and (max-width: 576px) {
  .tab-name-container .tab-name {
    font-size: 1rem;
    padding: 0 12px;
    padding-left: 15px;
    padding-right: 15px;
  }
  .tab-name .tab-selected-indicator {
    margin-top: 4px;
    height: 2px;
    width: 100%;
  }
}
.tablist-tab-content-body-sub .tab-name-container {
  background-color: unset;
}

.tab-name-container {
  border-bottom: 1px solid var(--neutral_100);
  padding-bottom: 12px;
  padding-top: 12px;
  padding-left: 3px;
  white-space: nowrap;
  overflow-x: visible;
  background-color: var(--white);
  border-left: 1px solid var(--paper);
}
@media (max-width: 575px) {
  .tab-name-container {
    padding-top: 0.9rem;
  }
}

.tab-selected-indicator {
  height: 2px;
  width: 100%;
  position: relative;
  top: 13px;
}

.tab-name-active .tab-selected-indicator {
  background-color: var(--primary);
}

.tab-name {
  color: var(--tab-name-color);
  font-family: var(--font-heading);
  font-weight: var(--fw-medium);
  display: inline-block;
  padding-left: 16px;
  padding-right: 16px;
}

.tab-name {
  cursor: default;
  text-decoration: none;
}

.tab-name:hover {
  cursor: pointer;
  color: var(--tab-name-active-color);
}

.tab-name-active {
  color: var(--tab-name-active-color);
}

/* POPUPS/LOADING SCREENS */
.popup-background {
  background-color: var(--primary-transparent-dark);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

.popup-container {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100;
}

.popup {
  position: fixed;
  top: 10%;
  left: 10%;
  z-index: 110;
  height: 60%;
  width: 80%;
  border-radius: 4px;
  background-color: var(--paper2);
}
@media (min-width: 576px) {
  .popup {
    width: 424px;
    height: 525px;
    left: calc(50% - 212px);
  }
}
@media (max-width: 575px) {
  .popup {
    top: 15%;
    height: 450px;
  }
}
.popup .btn-footer {
  box-shadow: none;
}

.popup-xl {
  height: 70%;
}
@media (min-width: 576px) {
  .popup-xl {
    width: 700px;
    height: 700px;
    left: calc(50% - 350px);
  }
}
.popup-xl .popup-body {
  height: 640px;
}
@media (max-width: 575px) {
  .popup-xl .popup-body {
    height: calc(100% - 110px);
  }
}

@media (min-width: 576px) {
  .popup-lg {
    width: 500px;
    height: 550px;
    left: calc(50% - 250px);
  }
}
.popup-lg .popup-body {
  min-height: 426px;
}
@media (max-width: 575px) {
  .popup-lg .popup-body {
    min-height: calc(100% - 93px);
  }
}

.popup-sm {
  top: 20%;
  height: 265px;
}

.popup-xs {
  top: 20%;
  height: 160px;
}

@media (max-width: 575px) {
  .popup-xs {
    height: 135px;
  }
}
.popup-heading {
  padding: 16px 20px;
  height: 60px;
  font-weight: var(--fw-semibold);
  font-size: var(--fs-lg);
}
@media (max-width: 575px) {
  .popup-heading {
    min-height: 45px;
    padding: 8px 0;
    display: inline-block;
    height: auto;
    width: 100%;
  }
}

.popup-body {
  color: var(--dark);
  text-align: left;
  font-size: 16px;
  height: 400px;
  overflow-x: hidden;
}
@media (max-width: 575px) {
  .popup-body {
    height: calc(100% - 93px);
    font-size: 1.1rem;
  }
}
.popup-body .page-footer.btn-footer {
  justify-content: right;
}
.popup-body .page-footer.btn-footer .btn-container {
  float: right;
}
@media (max-width: 575px) {
  .popup-body .page-footer.btn-footer .btn-container {
    float: unset;
  }
}
@media only screen and (max-width: 576px) {
  .popup-body .card {
    width: 100%;
  }
}

.popup-content {
  padding: 12px 20px;
  height: calc(100% - 60px);
  overflow-y: auto;
}
@media (max-width: 575px) {
  .popup-content {
    height: 100%;
  }
}

.popup-form .input-caption {
  font-size: 14px;
  line-height: 1;
}
.popup-form input {
  height: 32px;
  margin: 2px;
}

.popup-btn-container {
  height: 64px;
  position: absolute;
  bottom: 0;
  padding: 8px 10px;
  box-shadow: 0 -1px 6px 0 var(--primary-transparent);
  width: 100%;
  background-color: white;
  text-align: center;
}
@media (max-width: 575px) {
  .popup-btn-container {
    height: 55px;
    padding: 4px 5px;
  }
}
.popup-btn-container .btn-container {
  float: right;
}
@media (max-width: 575px) {
  .popup-btn-container .btn-container {
    float: unset;
  }
}

.popup-nav-cover {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--primary-transparent-dark);
  z-index: 100;
}

.popup-side-nav-cover {
  width: 100%;
  height: 100%;
}

.popup-top-nav-cover {
  width: 100%;
  height: 100%;
}

.action-side-nav-cover {
  width: 100%;
  height: 100%;
}

.confirm-popup-background {
  z-index: 100; /* just for clarity's sake */
}

.loading-popup-background {
  z-index: 110;
}

.confirm-popup {
  position: fixed;
  top: 20%;
  left: 10%;
  z-index: 110;
  min-height: 240px;
  width: 80%;
  border-radius: 4px;
  background-color: var(--paper2);
}
@media (min-width: 576px) {
  .confirm-popup {
    width: 424px;
    left: calc(50% - 212px);
  }
}

.release-note-popup .popup-body {
  padding: 0 10px;
}
.release-note-popup .popup-body .release-note-popup-content {
  text-align: center;
}
.release-note-popup .popup-body .release-note-popup-content > div {
  text-align: left;
}
.release-note-popup .popup-btn-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}
.release-note-popup .release-note-popup-nav-bar {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: flex-end;
  justify-content: space-between;
  align-items: center;
}
.release-note-popup .release-note-popup-nav-bar .nav-link-container {
  width: 62px;
}
.release-note-popup .release-note-popup-nav-bar .nav-link-container .link {
  display: inline-block;
}
.release-note-popup .position-indicator-container {
  position: sticky;
  bottom: 0;
  left: 0;
  background-color: white;
}
.release-note-popup .position-indicator-container .position-indicator {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: grey;
  border-radius: 50%;
  padding: 5px 0;
}
.release-note-popup .position-indicator-container > * {
  display: inline-block;
}

.loading-screen-indicator {
  height: 100px;
  width: 200px;
  border-radius: 4px;
  color: white;
  position: absolute;
  background-color: var(--primary);
  z-index: 115;
  text-align: center;
  vertical-align: top;
  padding-top: 25px;
}

.loader {
  border-radius: 50%;
  -webkit-animation: spin 1s linear infinite; /* Safari */
  animation: spin 1s linear infinite;
}

.small-loader {
  border: 3px solid var(--primary);
  border-top: 3px solid white;
  width: 15px;
  height: 15px;
}

.large-loader {
  margin: auto;
  border: 4px solid white;
  border-top: 4px solid var(--primary);
  width: 46px;
  height: 46px;
}

.large-blue-loader {
  margin: auto;
  border: 4px solid var(--primary);
  border-top: 4px solid var(--paper);
  width: 46px;
  height: 46px;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* DASHBOARD */
.dashboard-heading {
  height: 48px;
  background-color: unset;
}

.key-hung-ok {
  float: left;
}

@media only screen and (min-width: 768px) {
  .dash-columns {
    padding: 0px 3px 0px 12px !important;
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    column-gap: 4px;
    orphans: 1;
    widows: 1;
  }
}
@media only screen and (min-width: 992px) {
  .dash-columns {
    padding: 0px 10px 0px 20px !important;
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    column-gap: 4px;
    orphans: 1;
    widows: 1;
  }
}
.error-dashcard .dashcard-heading-container {
  border-bottom-color: var(--error) !important;
}
.error-dashcard .dashcard-heading {
  color: var(--error);
}
.error-dashcard .dashcard-sub2-heading {
  color: var(--error) !important;
}
.error-dashcard .dashcard-heading-circle-bg {
  background-color: var(--error) !important;
}
.error-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.error-dashcard .dashcard-heading-left-sub2 {
  color: var(--error) !important;
}

.missing-dashcard .dashcard-heading-container {
  border-bottom-color: var(--missing) !important;
}
.missing-dashcard .dashcard-heading {
  color: var(--missing);
}
.missing-dashcard .dashcard-sub2-heading {
  color: var(--missing) !important;
}
.missing-dashcard .dashcard-heading-circle-bg {
  background-color: var(--missing) !important;
}
.missing-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.missing-dashcard .dashcard-heading-left-sub2 {
  color: var(--missing) !important;
}

.unknown-dashcard .dashcard-heading-container {
  border-bottom-color: var(--unknown) !important;
}
.unknown-dashcard .dashcard-heading {
  color: var(--unknown);
}
.unknown-dashcard .dashcard-sub2-heading {
  color: var(--unknown) !important;
}
.unknown-dashcard .dashcard-heading-circle-bg {
  background-color: var(--unknown) !important;
}
.unknown-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.unknown-dashcard .dashcard-heading-left-sub2 {
  color: var(--unknown) !important;
}

.warning-dashcard .dashcard-heading-container {
  border-bottom-color: var(--warning) !important;
}
.warning-dashcard .dashcard-heading {
  color: var(--warning);
}
.warning-dashcard .dashcard-sub2-heading {
  color: var(--warning) !important;
}
.warning-dashcard .dashcard-heading-circle-bg {
  background-color: var(--warning) !important;
}
.warning-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.warning-dashcard .dashcard-heading-left-sub2 {
  color: var(--warning) !important;
}

.tracker-dashcard .dashcard-heading-container {
  border-bottom-color: var(--tracker) !important;
}
.tracker-dashcard .dashcard-heading {
  color: var(--tracker);
}
.tracker-dashcard .dashcard-heading-circle-bg {
  background-color: var(--tracker) !important;
}
.tracker-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.tracker-dashcard .dashcard-heading-left-sub2 {
  color: var(--tracker) !important;
}

.overdue-dashcard .dashcard-heading-container {
  border-bottom-color: var(--overdue) !important;
}
.overdue-dashcard .dashcard-heading {
  color: var(--overdue);
}
.overdue-dashcard .dashcard-heading-circle-bg {
  background-color: var(--overdue) !important;
}
.overdue-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.overdue-dashcard .dashcard-heading-left-sub2 {
  color: var(--overdue) !important;
}

.out-dashcard .dashcard-heading-container {
  border-bottom-color: var(--out) !important;
}
.out-dashcard .dashcard-heading {
  color: var(--out);
}
.out-dashcard .dashcard-heading-circle-bg {
  background-color: var(--out) !important;
}

.wrongpos-dashcard .dashcard-heading-container {
  border-bottom-color: var(--wrongpos) !important;
}
.wrongpos-dashcard .dashcard-heading {
  color: var(--wrongpos);
}
.wrongpos-dashcard .dashcard-heading-circle-bg {
  background-color: var(--wrongpos) !important;
}
.wrongpos-dashcard .dashcard-heading-left-sub1 {
  color: var(--dark) !important;
}
.wrongpos-dashcard .dashcard-heading-left-sub2 {
  color: var(--wrongpos) !important;
}

.done-dashcard .dashcard-heading-container {
  border-bottom: none !important;
}
.done-dashcard i {
  font-size: 30px;
  position: relative;
  top: 3px;
}

.dash-columns {
  width: 100%;
  overflow-y: auto;
  padding-left: 10px;
}

.dashcard {
  margin-bottom: 14px;
  width: calc(100% - 12px);
  background-color: var(--paper2);
  box-shadow: 0px 2px 4px var(--primary-transparent-dark);
  border-radius: var(--corner-lg);
  display: inline-block;
  vertical-align: top;
}

.dashcard .pill {
  margin-top: 4px;
}

.dashcard-heading-container {
  position: relative;
  text-align: center;
  padding: 26px 0px;
  border-bottom: 2px solid var(--medium);
}
.dashcard-heading-container .row {
  padding: 0;
}

.dashcard-heading-left {
  text-align: left;
  height: 45px;
}

.dashcard-heading-circle-bg {
  height: 45px;
  background: var(--medium);
  min-width: 45px;
  padding: 0 4px;
  border-radius: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dashcard-heading-circle {
  font-family: var(--font-heading);
  font-size: 32px;
  color: white;
}
@media (min-width: 768px) {
  .dashcard-heading-circle {
    font-size: 24px;
  }
}
@media (min-width: 1200px) {
  .dashcard-heading-circle {
    font-size: 28px;
  }
}

.dashcard-heading-left-sub1 {
  font-family: var(--font-heading);
  font-size: 16px;
  color: var(--medium);
  display: block;
}
@media (max-width: 575px) {
  .dashcard-heading-left-sub1 {
    font-size: 1.2rem;
  }
}

.dashcard-heading-left-sub2 {
  font-family: var(--font-heading);
  font-size: 14px;
  color: var(--dark);
  display: block;
}
@media (max-width: 575px) {
  .dashcard-heading-left-sub2 {
    font-size: 1.1rem;
  }
}

.dashcard-heading {
  font-family: var(--font-heading);
  font-size: 48px;
  line-height: 56px;
  color: white;
  vertical-align: middle;
}

.dashcard-sub1-heading {
  font-family: var(--font-heading);
  font-size: var(--font-size-body);
  color: var(--medium);
}

.dashcard-sub2-heading {
  font-family: var(--font-heading);
  font-size: var(--font-size-body);
  color: var(--dark);
  height: 28px;
}

.dashcard-ad-body {
  font-family: var(--font-body);
  font-size: var(--font-size-body);
  color: var(--light);
  padding: 12px 20px 20px 20px;
}
@media (max-width: 575px) {
  .dashcard-ad-body {
    font-size: 14px;
  }
}

.dashcard-ad-body .dashcard-sub1-heading {
  margin-bottom: 8px;
}

.dashcard-ad img {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.dashcard-ad-body .small-link {
  padding-top: 8px;
  display: inline-block;
}

.dashcard-data {
  padding: 0 16px 16px 16px;
  border-top: 1px solid white;
}

.dashcard-data a {
  margin: 0;
  padding-top: 8px;
}

.dashcard-footer {
  padding: 16px 0;
}

.dashcard-data-item {
  color: var(--medium);
  padding: 8px 0 4px 0;
  line-height: 1em;
  border-bottom: 1px solid var(--paper);
}

.dashcard-data-item table {
  border-spacing: 0px;
  width: 100%;
}

.dashcard-data-item td {
  padding: 1px;
}

.dashcard-data-item td:last-child {
  text-align: right;
  color: var(--medium);
}

.dashcard-data-item td:last-child i {
  color: var(--error);
}

.dashcard-actioned {
  height: 28px;
  text-align: center;
  position: absolute;
  top: 1rem;
  right: 1rem;
}

.dashcard-actioned > div {
  display: inline-block;
  vertical-align: middle;
}

.dashcard-action {
  /*margin-top: 2px;
  margin-left: 4px;
  color: $primary-transparent-dark;*/
}

.dashcard-action:hover {
  /*color: $primary;*/
  cursor: pointer;
}

.dashcard-actioned-stats {
  color: var(--light);
  font-family: var(--font-heading);
  font-size: 14px;
}

.dashcard-actioned .action-tickbox {
  margin-top: -2px;
  margin-left: 4px;
}

.dash-checkbox-tick {
  position: absolute;
  top: 7px;
  left: 13px;
  content: "";
  display: block;
  width: 7px;
  height: 15px;
  border: solid var(--paper2);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}

.dash-checkbox {
  height: 38px;
  width: 32px;
  margin: auto;
  margin-top: 10px;
  position: relative;
}

.dash-checkbox-back {
  height: 32px;
  width: 32px;
  border-radius: 50%;
  border: none;
  background-color: var(--success);
}

/* HTML EDITOR */
.readonly-htmleditor .mce-tinymce {
  border: none !important;
  box-shadow: none !important;
  margin: 0px !important;
  width: calc(100% - 12px) !important;
}

.readonly-htmleditor .mce-top-part {
  display: none !important;
}

.mce-tinymce {
  border: solid 1px var(--primary-passive) !important;
  box-shadow: none !important;
  border-radius: 4px;
  margin: 4px !important;
  width: calc(100% - 12px) !important;
}

.mce-top-part {
  border-bottom: 2px solid var(--primary-passive) !important;
}

.mce-toolbar {
  padding: 1px !important;
  background-color: var(--paper) !important;
}

.mce-edit-area {
  border-top: none !important;
}

.mce-top-part::before {
  box-shadow: none !important;
}

.mce-btn-group {
  border: 2px solid var(--primary-transparent) !important;
  margin: 1px !important;
  border-radius: 4px;
  background-color: white !important;
}

.mce-txt {
  color: var(--light) !important;
  font-family: var(--font-heading) !important;
  font-size: 14px !important;
}

.mce-btn-group .mce-btn {
  margin-left: 1px !important;
  margin-right: 1px !important;
}

.mce-widget i {
  color: var(--light) !important;
}

@media only screen and (max-width: 599px) {
  .mce-tinymce {
    width: calc(100% - 16px) !important;
  }
}
/* for the little table popup thing*/
.mce-tinymce.mce-tinymce-inline.mce-arrow.mce-container.mce-panel.mce-floatpanel.mce-arrow-up {
  width: inherit !important;
}

.mce-arrow.mce-arrow-up:before {
  border-bottom-color: var(--primary-passive) !important;
}

/* ACTION SIDEBAR */
.action-tickbox {
  height: 17px;
  width: 17px;
  margin: auto;
  /*margin-top: 10px;*/
  position: relative;
}

.action-tickbox-tick {
  position: absolute;
  top: 3px;
  left: 6px;
  content: "";
  display: block;
  width: 5px;
  height: 9px;
  border: solid var(--paper2);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.action-tickbox-back {
  height: 17px;
  width: 17px;
  border-radius: 50%;
  border: none;
}

.action-tickbox-good {
  background-color: var(--success);
}

.action-tickbox-inactive {
  background-color: var(--light);
}

.action-sidebar-container {
  position: fixed;
  top: 64px;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: var(--primary-transparent-dark);
  z-index: 50;
}

.action-sidebar {
  position: fixed;
  top: 64px;
  right: 0;
  height: calc(100vh - 64px - var(--vh));
  max-width: 90%;
  width: 620px;
  background-color: var(--paper2);
  z-index: 55;
  box-shadow: -2px 0 8px 0 var(--primary-passive);
  overflow-y: auto;
}
@media (max-width: 575px) {
  .action-sidebar {
    max-width: 95%;
  }
}

.action-sidebar .close {
  top: 18px;
  right: 12px;
  font-size: 32px;
  color: var(--primary-transparent-dark);
  background-color: var(--paper2);
  box-shadow: none;
}

.action-sidebar .close:hover {
  color: var(--primary);
  cursor: pointer;
}

.action-sidebar .card .close {
  top: 12px;
  right: 5px;
}

.action-sidebar-info {
  position: relative;
  background-color: var(--paper);
  padding: 16px;
}

.action-sidebar-info h2 {
  color: var(--dark);
}

.action-sidebar-info .pill {
  margin-top: 0px;
  vertical-align: top;
  margin-left: 4px;
}

.action-sidebar-info h4 {
  font-family: var(--font-body);
  color: var(--light);
}

.action-sidebar-info-sub {
  background-color: var(--paper);
  border-top: 1px solid var(--primary-passive);
  border-radius: 4px;
  padding: 17px 0px;
  margin-top: 16px;
}

.action-sidebar-sub-info {
  background-color: var(--paper);
  border: solid 1px var(--primary-passive);
  border-radius: 4px;
  padding: 10px;
  margin-top: 8px;
}
.action-sidebar-sub-info .h6 {
  overflow-wrap: break-word;
}

.action-sidebar-sub-info h4 {
  color: var(--dark);
  font-weight: bold;
}

.action-sidebar-form-background {
  padding: 16px;
  background-color: var(--paper2);
}
.action-sidebar-form-background .btn-container {
  background-color: var(--paper) !important;
  border-top: solid 1px var(--primary-passive);
}
@media (min-width: 576px) {
  .action-sidebar-form-background .btn-container {
    text-align: right;
  }
}
.action-sidebar-form-background h3 {
  margin-bottom: 0;
  line-height: 1em;
}
.action-sidebar-form-background h4 {
  font-family: var(--font-body);
  color: var(--dark);
  margin: 0;
}
.action-sidebar-form-background h5 {
  margin: 0 0 4px 0;
}
.action-sidebar-form-background h6 {
  font-family: var(--font-body);
  color: var(--light);
  line-height: 12px;
  margin: 0;
}
.action-sidebar-form-background .card h4 {
  font-family: var(--font-heading);
}

.action-sidebar-form {
  margin: 8px 4px 0 4px;
  border: solid 1px var(--primary-passive);
  border-radius: 4px;
  background-color: var(--paper2);
}

.action-sidebar-form-header {
  margin: 8px 10px;
}

.action-sidebar-nav {
  text-align: center;
  padding: 16px 16px 0 16px;
  background-color: var(--paper);
}
.action-sidebar-nav span {
  line-height: 24px;
  vertical-align: middle;
}

.action-sidebar-nav a {
  display: inline-block;
  height: 32px;
  width: 32px;
  padding-top: 2px;
  text-align: center;
  color: var(--primary-transparent-dark);
}

.action-sidebar .loader {
  margin: auto;
  margin-top: 40%;
}

.action-sidebar .small-loader {
  margin-top: 0;
}

.action-sidebar-action-button {
  background-color: var(--paper);
  border: solid 1px var(--primary-passive);
  border-radius: 4px;
  color: var(--primary);
  font-size: 20px;
  font-family: var(--font-heading);
  padding: 16px 24px;
  margin: 8px 4px 0 4px;
  line-height: 1em;
}
@media (max-width: 575px) {
  .action-sidebar-action-button {
    font-size: 16px;
  }
}

.action-complete-container {
  text-align: center;
  vertical-align: central;
  margin-top: 50px;
}

.action-complete-container img {
  width: 50%;
}

.action-complete-text {
  text-align: center;
  width: 50%;
  margin: auto;
  padding: 20px 0px;
}

/* LOAN PAGE */
.compound-radio-button {
  display: inline-block;
  vertical-align: top;
}

.today-date {
  margin-top: -8px;
  margin-left: 40px;
  display: block;
  line-height: 12px;
  font-size: 12px;
  color: var(--light);
  font-family: var(--font-body);
}

.later-date {
  margin-top: -8px !important;
  margin-left: 40px !important;
  width: 150px !important;
}

/* ODDBALLS */
.inline-textbox-checkbox .input-container {
  padding-right: 0px;
}

.inline-textbox-checkbox input[type=text] {
  display: inline-block;
  width: 72px;
  padding: 8px;
  height: 36px;
  text-align: center;
}

.inline-textbox-checkbox.large-input-text input[type=text] {
  width: 250px;
  text-align: left;
}

.inline-textbox-checkbox .additional-text {
  display: inline-block;
}

.key-number-info {
  display: inline-block;
  margin-top: 5px;
  margin-left: 8px;
  font-size: 12px;
  font-family: var(--font-heading);
  color: var(--light);
}

/* reverse direction of signout icon */
.fa-sign-out-alt {
  -moz-transform: scaleX(-1);
  -o-transform: scaleX(-1);
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1);
  filter: FlipH;
  -ms-filter: "FlipH";
}

.order-parts-list > .list-item-minor[data-is-spare-part=True] {
  border-top: 1px solid var(--primary);
}

.order-parts-list > .list-item-minor[data-is-spare-part=True] ~ .list-item-minor[data-is-spare-part=True] {
  border: unset;
}

/* TOOLTIPS */
/*Tippy*/
.tippy-box {
  background-color: var(--primary);
}
.tippy-box .tippy-arrow:before {
  color: var(--primary);
}
.tippy-box[data-theme=error] {
  background-color: var(--error);
}
.tippy-box[data-theme=error] .tippy-arrow:before {
  color: var(--error);
}
.tippy-box[data-theme=success] {
  background-color: var(--primary);
}
.tippy-box[data-theme=success] .tippy-arrow:before {
  color: var(--primary);
}
.tippy-box[data-theme=success] a {
  text-decoration: none;
  font-size: 20px;
  padding: 8px 16px;
  color: white;
}
.tippy-box[data-theme=none] {
  background-color: transparent;
}
.tippy-box[data-theme=none] .tippy-arrow:before {
  color: transparent;
}

.tippy-content {
  font-size: 12px;
}

/* MENU POPUP */
.menu-popup-btn :hover {
  cursor: pointer;
}

.menu-popup {
  display: inline-block;
  position: relative;
}

.menu-popup-content {
  display: none;
  position: absolute;
  color: var(--medium);
  width: 150px;
  background-color: var(--paper2);
  z-index: 1;
  padding: 8px 0;
  border: 1px solid var(--primary-transparent);
  box-sizing: border-box;
  box-shadow: red;
  border-radius: 4px;
  margin-top: 7px;
  user-select: none;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul li {
  padding: 6px 25px;
  text-align: left;
}
ul li a {
  text-decoration: none;
  color: inherit;
}
ul li:hover {
  background-color: var(--paper);
}

ul.no-hover li:hover {
  background-color: inherit !important;
}

.download-file {
  position: absolute;
  bottom: 10px;
  right: 10px;
}

/* WIZARD */
#WizardPlaceHolder .panel-name .icon-settings {
  display: none;
}

.wizard-steps-container, .wizard-steps-container-done {
  padding: 16px 20px;
  overflow-x: scroll;
  white-space: nowrap;
}

.wizard-steps-container-done:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 36%;
  transform: translateY(-50%);
  height: 3px;
  width: 100%;
  background: var(--success);
}

.wizard-steps-container > .wizard-step,
.wizard-steps-container-done > .wizard-step {
  width: 150px;
  display: inline-block;
}

.wizard-steps-container > .wizard-step:last-child,
.wizard-steps-container-done > .wizard-step:last-child {
  width: unset;
}

.wizard-step-circle {
  position: relative;
  z-index: 2;
  height: 45px;
  background: var(--light);
  width: 45px;
  padding: 0 4px;
  border-radius: 45px;
  display: inline-block;
  box-shadow: 0 0 0 10px var(--paper);
  text-align: center;
}
.wizard-step-circle span {
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: bold;
  line-height: 45px;
  color: white;
  vertical-align: middle;
}

.wizard-steps-container > .wizard-step:not(:last-child) .wizard-step-circle:after,
.wizard-steps-container-done > .wizard-step:not(:last-child) .wizard-step-circle:after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 55px;
  top: 50%;
  transform: translateY(-50%);
  height: 3px;
  width: 85px;
  background: var(--light);
}

.wizard-step-circle.active {
  background: var(--primary);
}

.wizard-step-circle.finished:after {
  background: var(--primary);
}

.wizard-step-circle.completed:after {
  background: var(--success) !important;
}

.wizard-step-circle.completed, .wizard-step-circle.finished {
  background: var(--success);
}

.wizard-step-circle-title {
  margin-top: 6px;
  color: var(--light);
  font-weight: bold;
}

.wizard-step-circle-title.active {
  color: var(--primary);
}

.wizard-step-circle-title.completed, .wizard-step-circle-title.finished {
  color: var(--success);
}

.wizard-list-container {
  max-height: 400px;
}

/* Panel Assigner*/
@media (max-width: 992px) {
  .KeyPanelAssigner {
    width: unset !important;
    height: 140vh;
  }
}
.KeyPanelAssigner .cabinet-frame {
  padding: 0 !important;
}
@media (max-width: 992px) {
  .KeyPanelAssigner .search-bar {
    width: 80%;
  }
}
.KeyPanelAssigner .action-sidebar {
  width: 560px;
}
@media (max-width: 992px) {
  .KeyPanelAssigner .action-sidebar {
    width: 100%;
    max-width: unset !important;
    height: 40vh !important;
    bottom: 0;
    right: unset;
    top: unset !important;
    overflow-x: hidden;
  }
}
@media (max-width: 768px) {
  .KeyPanelAssigner .action-sidebar {
    width: 100%;
  }
}
@media (max-width: 575px) {
  .KeyPanelAssigner .cabinet-frame {
    padding: 5px 6px !important;
  }
}
@media (max-width: 768px) {
  .KeyPanelAssigner .card-key {
    width: 80% !important;
  }
}
@media (max-width: 768px) {
  .KeyPanelAssigner .upload-area {
    width: 80% !important;
  }
}
@media (max-width: 768px) {
  .KeyPanelAssigner .btn {
    min-width: 155px !important;
  }
}

/* BARCODES */
.keylabel-row {
  height: 95px;
}

.keylabel-text {
  max-width: 157px;
  overflow: hidden;
  padding: 0px;
  text-align: center;
  font: 400 13px helvetica;
  white-space: pre;
}

/* PROGRESS BAR */
.progress-bar-container {
  background-color: var(--light);
}

.progress-bar-text {
  font-size: 0.8rem;
  padding-top: 10px;
  text-align: center;
}

.progress-bar {
  background: var(--primary);
  color: white;
  width: 0%;
}

/* NON ELECTRONIC PANELS */
.cabinet-frame {
  height: calc(100% - 49px);
}
@media (min-width: 576px) {
  .cabinet-frame {
    height: calc(100% - 74px);
  }
}

.cabinet-hook {
  min-width: 60px;
  height: 60px;
}

.cabinet-hook .link {
  color: var(--medium);
  text-decoration: underline;
}

.cabinet-legend {
  margin: auto;
}
.cabinet-legend td {
  font-size: 14px;
  padding: 0px 10px;
}

.cabinet-hook.empty, .cabinet-legend.empty {
  background: var(--paper4);
}

.cabinet-hook.all, .cabinet-legend.all {
  background: var(--in-semi-transparent);
}

.cabinet-hook.some, .cabinet-legend.some {
  background: var(--loading-semi-transparent);
}

.cabinet-hook.none, .cabinet-legend.none {
  background: var(--missing-semi-transparent);
}

.cabinet-popup img {
  max-width: 60px;
  max-height: 60px;
  margin-right: 2px;
}

.cabinet-popup .box {
  width: 100%;
  border: 1px solid var(--light);
  padding: 10px;
}

::-webkit-scrollbar-corner {
  background-color: transparent;
}

/* TRACKERS */
.tracker-map {
  position: relative;
  height: calc(100% - 90px);
}
@media (max-width: 575px) {
  .tracker-map {
    height: calc(100% - 110px);
  }
}

.tracker-pin-popup {
  width: 200px;
  height: 136px;
  padding-top: 45px;
  text-align: center;
}
.tracker-pin-popup .large-loader {
  margin-left: 85px;
}

/* NEW FEATURES */
/* apply animation */
.new-feature-animation {
  animation: new-feature-animation-color 1.5s 0s linear infinite alternate;
}

/* Stop animation on hover */
.new-feature-animation:hover {
  animation: none;
  color: var(--primary);
}

/* Make icon fade between red and light blue */
@keyframes new-feature-animation-color {
  from {
    color: var(--primary-transparent-dark);
  }
  to {
    color: red;
  }
}
/* New Feature text styling */
.new-feature-tooltip .new-feature-tooltiptext {
  visibility: hidden;
  width: 240px;
  background-color: white;
  color: black;
  text-align: center;
  padding: 5px 0;
  position: absolute;
  z-index: 2;
  right: 0;
  top: 30px;
  border-radius: 1%;
  opacity: 0;
  transition: opacity 0.3s;
  -moz-box-shadow: 0 2px 8px 0 var(--primary-passive);
  -webkit-box-shadow: 0 2px 8px 0 var(--primary-passive);
  box-shadow: 0 2px 8px 0 var(--primary-passive);
}

/* Makes tooltip visible when hovering */
.new-feature-tooltip:hover .new-feature-tooltiptext {
  visibility: visible;
  opacity: 1;
}

.new-feature-title {
  font-weight: bold;
  padding-top: 10px;
}

.new-feature-date {
  font-style: italic;
  padding-bottom: 10px;
}

.new-feature-contents {
  margin-left: 10px;
  padding-top: 10px;
  padding-left: 10px;
  margin-bottom: 15px;
}

.new-feature-heading {
  border-bottom: 2px solid var(--medium);
}

.new-feature-contents ul li:hover {
  background-color: transparent;
}

/* REAPIT IMPORT */
.reapit-import-title {
  margin-top: 50px;
}

.row h3.reapit-import-subtitle {
  margin-top: 25px;
}

.reapit-import-grid {
  max-height: 300px;
  overflow: auto;
}

.reapit-list-heading {
  padding-right: 6px;
}

/* ICONS */
.icon {
  font-size: 16px;
}
@media (max-width: 575px) {
  .icon {
    font-size: 1.2rem;
  }
}

.icon-md {
  font-size: 20px;
}
@media (max-width: 575px) {
  .icon-md {
    font-size: 1.4rem;
  }
}

.icon-xxs {
  font-size: 10px;
}
@media (max-width: 575px) {
  .icon-xxs {
    font-size: 0.9rem;
  }
}

.icon-xs {
  font-size: 12px;
}
@media (max-width: 575px) {
  .icon-xs {
    font-size: 1rem;
  }
}

.icon-sm {
  font-size: 14px;
}
@media (max-width: 575px) {
  .icon-sm {
    font-size: 1.1rem;
  }
}

.icon-lg {
  font-size: 24px;
}

.icon-xl {
  font-size: 32px;
}

.icon-header {
  color: var(--neutral_500);
}

.icon-primary {
  color: var(--primary);
}

.icon-primary.hoverable:hover {
  color: var(--primary-transparent-dark);
}

.icon-primary-transparent-dark {
  color: var(--light);
}

.icon-primary-transparent-dark:hover {
  color: var(--primary);
}

.icon-dark {
  color: var(--medium);
}

.icon-dark-transparent {
  color: var(--medium-transparent);
}

.icon-light {
  color: var(--light);
}

.icon-success {
  color: var(--success);
}

.icon-error {
  color: var(--error);
}

.icon-drop-down:hover {
  cursor: pointer;
  color: var(--primary);
}

.icon-hover:hover {
  opacity: 0.4;
}

.background-success {
  background: var(--success);
}

.external-order-group ul {
  list-style-type: unset;
  padding-left: 40px;
}
.external-order-group ul li:hover {
  background-color: inherit;
}
.external-order-group .list-container {
  height: unset;
}
.external-order-group .list-container::-webkit-scrollbar-track {
  background: unset;
}
.external-order-group .list-heading {
  background-color: unset;
}
.external-order-group .list-heading-row {
  padding: 0;
}
.external-order-group .list-heading-row .list-item-data-action {
  background-color: white;
}
.external-order-group .mobile-list-item {
  border-bottom: 1px solid var(--primary-transparent);
}
.external-order-group .list > .mobile-list-item:last-of-type {
  border-bottom: unset;
}

.list-heading-row {
  background-color: white;
}

.loan-request-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-y: unset !important;
  padding-bottom: 20px;
  height: unset !important;
}

.loanExtension-item {
  margin: 5px 10px;
  padding: 5px 0;
  border-radius: 8px;
  background-color: var(--paper2);
}

.colour-settings .pill {
  margin-left: 4px;
}

.colour-section {
  max-width: 850px;
}

.colour-picker-section {
  margin-bottom: 1rem;
  float: left;
}

.colour-picker {
  width: 205px;
  float: left;
}

.icon-picker {
  width: 65px;
  float: left;
}

.wifisetup-container {
  padding: 22px;
  margin: 10px;
  background: white;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  min-width: calc(100% - 20px);
  max-width: calc(100% - 20px);
  min-height: 120px;
}
@media (min-width: 768px) {
  .wifisetup-container {
    min-width: 481px;
  }
}

.wifisetup-panel {
  display: flex;
  align-items: center;
  justify-content: space-around;
  min-height: 76px;
  border-radius: 4px;
  background: var(--paper4);
  border: 2px solid var(--light);
  padding: 10px;
}
.wifisetup-panel .pill {
  margin-top: 0px;
}
.wifisetup-panel .pill-text {
  font-size: 12px;
}
.wifisetup-panel h4 {
  font-size: 18px;
}

.wifisetup-panel.panel-connecting {
  background: var(--loading-transparent);
  border: 2px solid var(--loading);
}

.wifisetup-panel.panel-connected {
  background: var(--in-transparent);
  border: 2px solid var(--in);
}

.wifisetup-panel.panel-error {
  background: var(--missing-transparent);
  border: 2px solid var(--missing);
}

.wifisetup-app-store-link {
  display: inline-block;
  height: 60px;
  padding: 10px;
}
.wifisetup-app-store-link img {
  height: 100%;
}
@media (min-width: 768px) {
  .wifisetup-app-store-link {
    height: 70px;
    padding: 10px;
  }
}

.wifisetup-panel.wifi-network {
  justify-content: start;
  height: fit-content;
  width: auto;
}

.wifi-network i {
  font-size: 48px;
  padding: 12px;
  width: 97px;
}

.wifi-network.panel-connecting i {
  color: var(--loading);
  animation: pulse 1.5s infinite;
  -moz-animation: pulse 1.5s infinite; /* Firefox */
  -webkit-animation: pulse 1.5s infinite; /* Safari and Chrome */
}

.wifi-network.panel-connected i {
  color: var(--in);
}

.wifi-network.panel-error i {
  color: var(--missing);
}

.wifi-list {
  width: 100%;
}
.wifi-list td:nth-child(2) {
  width: 100%;
  max-width: 100px;
}
@media (min-width: 768px) {
  .wifi-list td:nth-child(2) {
    max-width: 380px;
  }
}

[class*=icon-wifi-] {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  position: relative;
}
[class*=icon-wifi-] span {
  position: absolute;
}

.settings-sub-menu {
  background-color: var(--white);
  border-left: 1px solid var(--neutral_100);
}
