/* :root (Light Mode - Your Originals) */
:root {
  --p3-black: #000;
  --p3-orange: #f80;                 /* BRAND ACCENT - Keep for key elements */
  --p3-light-orange: #fff2e3;        /* Lightest backgrounds, table hover */
  --p3-mid-orange: #fdd6aa;          /* Table headers, section backgrounds */
  --p3-dark-blue: #2e2c2c;           /* Top header bar, already dark */
  --p3-red: #ff0e26;
  --p3-dark-red: #801608;
  --p3-amber: #e09600;
  --p3-dark-grey: #43464b;
  --p3-darker-grey: #2e2c2c;         /* (Same as dark-blue) */
  --p3-mid-grey: #767b86;
  --p3-light-grey: #afb1b3;
  --p3-extra-light-grey: #e5eaee;    /* Panel backgrounds (e.g., Financial Overview box) */
  --p3-super-light-grey: #e5eaee66;
  --p3-green: #199b14;
  --p3-light-green: #199b1450;
  --p3-white: #fff;                 /* Main page background, table cell background */
}

/* Dark Mode Revisions */
body.dark-mode {
  --p3-white: #1c1f22;
  --p3-black: #cdd9e5;
  --p3-orange: #995a11;
  --p3-light-orange: #000;
  --p3-mid-orange: #675037;
  --p3-dark-blue: #1c2128;
  --p3-darker-grey: #1c2128;
  --p3-dark-grey: #cf7f23;
  --p3-mid-grey: #767b86;
  --p3-light-grey: #545d68;
  --p3-extra-light-grey: #2d333b;
  --p3-super-light-grey: #40485266;
  --p3-red: #ff7b80;
  --p3-dark-red: #d85c56;
  --p3-amber: #f0b72f;
  --p3-green: #3fb950;
  --p3-light-green: #3fb95070;
}


/** General **/

body {
  font-family: sans-serif;
  font-size: 85%;
  margin: 0;
  color: var(--p3-black);
  background-color: var(--p3-white)!important;
}

.logo {
  padding: 10px 10px 0 0;
  width: 75px;
}

main {
  margin: 0 1vw 1vw;
  min-height: calc(100vh - 158px);
}

.messages {
  margin: 8px!important;
}

.no-border {
  border: none;
}

.ui-widget-content {
  color: var(--p3-black)!important;
}

a,
.ui-widget-content a {
  color: var(--p3-black)!important;
  text-decoration: underline!important;
}
a:hover,
.ui-widget-content a:hover {
  color: var(--p3-orange);
  text-decoration: underline!important;
}
h1 {
  font-family: sans-serif;
  font-weight: bold;
  text-transform: capitalize;
}
h4 {
  margin: 0.5rem 0 0.25rem;
}

#block-p3-page-title {
  background: var(--p3-dark-grey);
  color: var(--p3-white);
  padding: 0.5em 1vw;
  margin: 0 -1vw 0.5em;
}
#block-p3-page-title h1 {
  margin: 0;
}
.h2 {
  font-size: 1.5em;
  text-transform: capitalize;
}
.view-faqs .h2 {
  text-transform: unset;
}
h3 {
  margin: 0.2em 0;
}
details {
  margin-top: 0.5em!important;
  margin-bottom: 0.5em!important;
}
details.wide {
  width: 100%;
}
details details .h2 {
  font-size: 1.2em;
}
p {
  margin: 0 0 1em;
}

img {
  max-width: 100%;
}

.editlink img {
  width: 30px;
  height: auto;
}
.dark-mode .editlink img {
  filter: invert(1);
}

hr {
  border-top-color: transparent;
  border-bottom-color: var(--p3-dark-grey);
  border-left-color: transparent;
  border-right-color: transparent;
  margin: 20px 0;
}
.underline { 
  text-decoration: underline!important;
}
.layout-container {
  margin: 0;
}
li {
  margin-bottom: 0.3em;
}
.flex {
  display: flex;
  flex-wrap: wrap;
}
.flexsa {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.flexsb {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flexsb100 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.flexnowrap {
  display: flex;
}
.flexleft {
  margin: 0 -10px;
}
.flexspace {
  justify-content: space-between;
  margin: 0 -10px 1em;
}
.flexpad {
  padding: 0 10px;
  flex-grow: 1;
}
.flexpadnogrow {
  padding: 0 10px;
}
.flexend {
  align-self: flex-end;
}
.flexgap {
  gap: 2em;
}
.flex1 {
  flex: 1;
  min-width: 240px;
}
.flex2 {
  flex: 2;
  padding: 0 10px;
}
.flexcell {
  display: flex;
  padding: 10px;
  justify-content: space-between;
  align-items: center;
}
.flexspace details + details {
  margin-top: 20px;
}
.flexdate {
  align-items: flex-end;
}
.flexcentre {
  display: inline-flex;
  align-items: center;
}
.flexcentre.right {
  margin-left: auto;
}
.flex-direction-column {
  flex-direction: column;
}
.form-wide {
  width: 100%;
}
.clear-both {
  clear: both;
}
.center {
  align-items: center;
  text-align: center;
}
.sidemargins {
  margin: 0 1vw;
  position: relative;
}

.margintop {
  margin-top: 20px;
}
.datetime-wrapper .description {
  margin-top: -12px;
  margin-bottom: 12px;
}

.datetime-wrapper [id^="edit-field"] {
  display: flex;
  align-items: flex-end;
}
.flexdate input,
:not(.ief-form) .datetime-wrapper [id^="edit-field"] input {
  height: 36px;
}
.node-form .datetime-wrapper [id^="edit-field"] input {
  height: initial;
}

.flexdate .datetime-wrapper + .datetime-wrapper,
.datetime-wrapper [id^="edit-field"] > .form-item + .form-item {
  margin-left: 10px; 
}

.flexview .view-content {
  display: flex;
  flex-wrap: wrap;
}

form:not(.views-exposed-form) fieldset .form-item.form-type-date {
  margin-top: 1em!important;
}
.form-item.form-type-date {
  margin-top: 0;
}
.views-field-views-bulk-operations-bulk-form .form-item {
  margin: 0;
}

.right > .nomargin {
  margin: 0!important;
}
.right {
  float: right;
}
a.right {
  float: right;
}
.right + .right, 
.right + .ajax-progress + .right {
  margin: 0!important;
}
.text-right {
  text-align: right;
}
.left {
  float: left;
}
a[href*="/masquerade?"],
a[href*="/unmasquerade?"] {
  background: var(--p3-red);
  color: var(--p3-white);
  font-weight: bold;
  padding: 5px 10px;
  display: inline-block;
}

:focus:not(.select2-search__field):not(.ui-dialog):not(.cookiesjsr-btn):not(.cookiesjsr-service-group--tab):not(summary),
.js .dropbutton li:focus,
.js .dropbutton a:focus,
.dropbutton-toggle button:focus,
.swal2-popup .swal2-styled:focus,
.ui-dialog .select2 .selection:focus-within,
.layout-container .select2-container--lift8 .selection:focus-within {
  outline: 2px solid var(--p3-red)!important;
  outline-offset: 2px!important;
  box-shadow: none!important;
}
.select2-container--default .select2-selection--single,
.select2-dropdown {
  background-color: var(--p3-white);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--p3-black);
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: var(--p3-mid-orange);
  color: var(--p3-black);
}
.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: var(--p3-white);
  color: var(--p3-black);
}
.select2-container--default .select2-results__option[aria-selected="true"] {
  background-color: var(--p3-light-grey);
  color: var(--p3-black);
}

summary {
  margin-bottom: 10px;
  cursor: pointer;
  padding-bottom: 5px;
}
summary.no-marker::-webkit-details-marker {
  display: none;
}
summary.no-marker {
  list-style: none;
}
summary h3 {
  display: inline-block;
}
summary .button {
  margin: 0 0 0.5em 1em;
}
.finance-section {
  margin-bottom: -1px;
}
.finance-section details {
  padding: 1em;
  border: 1px solid var(--p3-light-grey);
  box-sizing: border-box;
  margin: 0!important;
}
.finance-section details summary {
  border: none;
}
.reminders-section {
  padding: 1em;
  border: 1px solid var(--p3-light-grey);
  box-sizing: border-box;
  margin: 1em 0 !important;
}

label[for*="edit-field-comment"] {
  display: none;
}
.comment {
  margin: 0 10px;
  white-space: pre-line;
  font-size: 0.9em;
}
.red {
  color: red;
}
.red-text {
  color: var(--p3-red);
}
.green-text {
  color: #4cae4c;
}
.amber-text {
  color: #e09600;
}
.alert {
  padding: 15px;
  margin-bottom: 15px;
}
.red.alert {
  border-left: 5px solid #EC0016;
  background: #fcf4f2;
}
.amber.alert {
  border-left: 5px solid #e09600;
  background: #fdf8ed;
}
.green.alert {
  border-left: 5px solid #77b259;
  background: #f3faef;
}
.blue.alert {
  border-left: 5px solid #4bc4fa;
  background: #d5f2ff;
}
.alert summary {
  border-bottom: 3px solid var(--p3-white);
}

.summary td {
  font-weight: bold;
  border-bottom: 2px solid;
}

.sticky {
  position: relative;
}
.sticky th {
  position: sticky;
  top: 0;
  z-index: 100000;
}


.click-to-copy {
  cursor: pointer;
}
.copied-text {
  position: absolute;
  background-color: var(--p3-green);
  color: #fff;
  text-decoration: none;
  padding: 2px 5px;
  border-radius: 3px;
  margin-left: 5px;
}
.click-to-copy.button .copied-text {
  position: relative;
}

.dropbutton-arrow {
  overflow: visible;
}

.js .dropbutton li,
.js .dropbutton a {
  text-align: right;
  padding-right: 10px;
  font-weight: bold;
}

table tr td:last-child a {
  font-weight: bold;
}
table.no-bold-last-child-a tr td:last-child a,
.no-bold-last-child-a table tr td:last-child a {
  font-weight: initial;
}

table tbody tr {
  background-color: var(--p3-white);
  transition: background-color 0.2s linear;
}
table tbody tr:nth-child(even) {
  background-color: var(--p3-super-light-grey);
}
table tbody tr.colours1 td:first-child {
  border-left: 5px solid var(--p3-dark-grey);
}
table tbody tr.colours2 td:first-child {
  border-left: 5px solid var(--p3-mid-grey);
}
table tbody tr.new-group td {
  border-bottom: 1px solid #000;
}
table tbody tr.rightclicked {
  background-color: var(--p3-mid-orange)!important;
  transition: background-color 0.2s linear;
}
table tbody tr:hover, table tbody tr.hover {
  background-color: var(--p3-light-orange);
  transition: background-color 0.2s linear;
}
table tbody table {
  border-spacing: 0;
}

table.scroll,
.scroll table {
  display: block;
  width: 100%;
  overflow-x: auto;
}

.cell-edit-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* input[data-drupal-selector='edit-submit']:focus, */
a[data-drupal-selector='edit-cancel']:focus{
  outline: none;
}
.ui-button-icon-only {
  font-size: 0!important;
}

.bigger {
  font-size: 120%;
}

.vbo-multipage-selector summary {
  border-bottom: none;
  font-size: 1.2rem;
}
.node {
  clear: both;
}
.ajax-progress-throbber {
  position: absolute;
  z-index: 1000;
}

footer {
  background-color: var(--p3-dark-grey);
  padding: 0 1vw;
  margin-top: 4em;
  clear: both;
}
footer .button {
  margin-top: 10px;
  margin-bottom: 10px;
}

/** Forms **/

form input,
select {
  padding: 5px;
  font-size: 0.8rem;
  color: var(--p3-black);
  background: var(--p3-white);
  border: 1px solid #999;
  margin: 5px 0 3px;
  max-width: 100%;
  font-family: sans-serif;
  border-radius: 5px;
}
form input[type=text],
form input[type=tel],
form input[type=email] {
  width: 50%;
  min-width: 300px;
  box-sizing: border-box;
  margin: 5px 0 3px;
  height: 28px;
}
form input[type=text].form-time {
  min-width: 90px;
  max-width: 90px;
  text-align: left;
  background: url(/themes/p3/images/icons/clock.svg) no-repeat 65px center;
  background-size: 17px;
  background-color: var(--p3-white);
  font-size: 1em;
}
form.views-exposed-form input[type=text],
form.views-exposed-form input[type=tel],
form.views-exposed-form input[type=email] {
  min-width: 250px;
  max-width: 250px;
}
.views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  /* background: var(--p3-light-grey);
  padding: 10px 10px 0;
  margin-top: -13px;
  border: 2px solid var(--p3-white); */
}
.views-exposed-form > div {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
}

form.views-exposed-form .label {
  font-size: 0.8rem;
}
form.views-exposed-form select {
  padding: 5px;
  font-size: 0.8rem;
  border: 1px solid #999;
  margin: 5px 0 3px;
  max-width: 100%;
  font-family: sans-serif;
  background: var(--p3-white);
  color: var(--p3-black);
  box-sizing: border-box;
}

form.views-exposed-form input[type=text].form-time {
  position: relative;
  top: 0;
}
[id^="edit-date-min-date"] {
  margin-right: 5px;
}

.ui-timepicker-standard {
  z-index: 10000!important;
}
.ui-timepicker-standard a {
  margin-right: 20px;
}
/* form:not(.views-exposed-form) .datetime-wrapper + .datetime-wrapper {
  margin-top: -1em;
} */
/* form.views-exposed-form .datetime-wrapper input {
  height: 37px;
  margin-top: 4px;
} */

form.views-exposed-form .datetime-wrapper > div {
  display: flex;
}
form.views-exposed-form input.timepicker {
  margin-left: 5px;
}

form.views-exposed-form .fieldset-legend {
  display: none;
}
form.views-exposed-form .fieldset-wrapper {
  display: flex;
}
form.views-exposed-form .fieldset-wrapper .form-item {
  margin: 0 1em 0 0;
}
form.views-exposed-form fieldset {
  border: 0;
  padding: 0;
}
form.views-exposed-form fieldset .date-filter-arrow {
  position: relative;
  top: 16%;
  font-size: 1.5em;
  left: -2px;
  color: #999;
}
form.views-exposed-form div[id^="edit-actions"] {
  padding-top: 0;
  margin: 0 0 0.5rem;
}
form.views-exposed-form div[id^="edit-actions"] input {
  background-color: var(--p3-light-grey)!important;
  border: 0;
  color: var(--p3-white)!important;
}
form.views-exposed-form div[id^="edit-actions"] input.changed {
  background-color: var(--p3-dark-grey)!important;
}

.saved-filters {
  float: right;
  margin-top: 0.5rem;
}
.view-filter-sets .button {
  margin-right: 1em!important;
  font-size: 0.8rem;
  background: var(--p3-extra-light-grey)!important;
  color: var(--p3-black)!important;
  font-weight: normal;
}
.view-filter-sets .button:hover {
  background: var(--p3-dark-grey)!important;
  color: var(--p3-white)!important;
}

.form-disabled {
  opacity: 0.4;
}

textarea {
  padding: 7px;
  font-size: 100%;
  font-family: sans-serif;
  width: 50%;
  min-width: 320px;
  box-sizing: border-box;
  margin-top: 5px;
}

form label {
  display: block;
  font-weight: bold;
  font-size: 0.8rem;
}
.view-filters {
  flex-wrap: nowrap;
  gap: 1em;
}
form.views-exposed-form {
  margin-top: 1em;
}
form:not(.vbo-view-form) .form-item {
  margin-bottom: 0.5em;
}
form.views-exposed-form .form-item {
  margin-right: 0.75em!important;
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
form.views-exposed-form fieldset.form-item {
  margin-right: 0;
  margin-left: 0;
}
form.views-exposed-form fieldset.form-item .form-item {
  margin-right: 1em;
  margin-left: 0;
}
form.views-exposed-form fieldset.form-item .form-item:last-child {
  margin-right: 0!important;
  margin-left: 0;
}

form .description {
  font-size: 0.8rem;
  clear: both;
}

input.form-submit,
.button,
.dt-buttons button,
.ui-dialog .ui-dialog-buttonpane button {
  font-size: 0.85rem;
  font-weight: bold;
  padding: 5px 10px;
  background: var(--p3-white) !important;
  color: var(--p3-dark-grey) !important;
  text-shadow: none !important;
  border: 0;
  transition: background 0.1s linear;
  cursor: pointer;
  text-decoration: none!important;
  margin: 3px 5px;
  display: inline-flex;
  align-items: center;
  border-radius: 3px;
  -webkit-appearance: none;
  -moz-appearance:    none;
  appearance:         none;
  border: 1px solid var(--p3-dark-grey);
}
.right .button {
  margin: 3px 5px!important;
}
input.form-submit:hover,
.button:hover,
.ui-dialog .ui-dialog-buttonpane button:hover {
  transition: background 0.1s linear;
  background: var(--p3-dark-grey) !important;
  text-decoration: none!important;
  color: var(--p3-white) !important;
}
.ui-dialog .ui-dialog-buttonpane button + button {
  margin-left: 10px;
}
.button.small,
.vbo-view-form .form-actions .button {
  font-size: 1em;
  padding: 5px 10px;
}
.addbutton {
  float: right;
  margin: 0 0 0 0!important;
  clear: both;
}
.button svg .st0,
.addbutton svg .st0,
.smalladdbutton svg .st0 {
  fill: var(--p3-orange)!important;
}
.smalladdbutton {
  font-size: 0.85em;
  padding: 5px 10px;
  float: right;
}

.small-link {
  font-weight: normal!important;
  font-size: 0.8rem;
  text-decoration: underline!important;
}
.small-link:hover {
  text-decoration: none!important;
}
.sms-header {
  font-size: 0.8em;
  padding-top: 0.5rem;
}
.sms-content {
  padding: 0.5em 0;
}
.block-p3-inbound-sms summary {
  position: relative;
}
.counter {
  position: absolute;
  top: 1px;
  right: 0;
  background: red;
  color: #fff;
  border-radius: 100px;
  padding: 2px 5px;
  font-weight: bold;
  font-size: 0.6rem;
}

.spinner {
  background: url('/themes/p3/images/icons/spinner.svg');
  background-repeat: repeat;
  background-size: auto;
  background-size: 40px;
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  padding-left: 5px;
  display: inline-block;
  position: relative;
  top: 15px;
  margin-top: -15px;;
}
.spinner + .spinner {
  display: none;
}

/** Tables **/

table {
  width: 100%;
  margin: 5px 0;
  background: var(--p3-white);
}
table.small {
  width: inherit;
}
table tr th {
  padding: 7px 5px;
  text-align: left;
  color: var(--p3-dark-grey);
  background: var(--p3-white);
  border-bottom: 2px solid;
}
table tr td {
  padding: 1px 5px;
  text-align: left;
}
table tr th, table tr th a, table tr th a:hover {
  font-weight: bold;
  background-color: var(--p3-light-orange);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-decoration: none!important;
  text-align: center!important;
  color: var(--p3-dark-grey);
  font-size: 0.95em;
}
table tr th a {
  width: 100%;
  display: inline-block;
}
table tr th a .tablesort {
  float: right;
}
table tr th.views-align-right a .tablesort {
  float: left!important;
}
table tr td {
  border-bottom: #E1E6EB 1px solid;
}
table td.is-active {
  background-color: var(--p3-super-light-grey);
}
table tr table tr th {
  border-bottom: 1px solid;
}
table tr table td {
  border-bottom: #E1E6EB 0px solid;
}

table th[class^="sorting"] {
  cursor: pointer;
}
table th.sorting:hover {
  background: var(--p3-mid-orange);
  color: var(--p3-black);
}
table th.sorting_asc, table th.sorting_desc {
  background: var(--p3-mid-orange);
}
table td.sorting_1 {
  background: var(--p3-super-light-grey);
}

table td.no-padding {
  padding: 0;
}
table td.no-padding table {
  margin: 0;
  border-spacing: 0;
}
table td.no-padding table td {
  border-bottom: 2px solid var(--p3-white);
}
table td.no-padding table td:not(:first-child) {
  border-left: 2px solid var(--p3-white); 
}
table tfoot tr {
  background: none!important;
  font-weight: bold;
}
table tfoot tr td {
  background: var(--p3-mid-orange);
  font-weight: bold;
  padding: 5px 5px 3px;
}
.sumcols table tfoot tr td {
  text-align: right;
}
table tfoot tr.sum-footer td {
  bottom: -1px!important;
}
.date-shortcuts {
  float: right;
  margin: 1em 0;
}

.fixedfirstcol table th:first-child,
.fixedfirstcol table td:first-child {
  width: 100px;
  min-width: 100px;
}
.fixedfirstcolwide table th:first-child,
.fixedfirstcolwide table td:first-child {
  width: 250px;
  min-width: 250px;
}
.fixedlastcol table th:last-child,
.fixedlastcol table td:last-child {
  width: 75px;
  min-width: 75px;
}
.fixedlastcolmed table th:last-child,
.fixedlastcolmed table td:last-child {
  width: 150px;
  min-width: 150px;
}
.fixedlastcolwide table th:last-child,
.fixedlastcolwide table td:last-child {
  width: 250px;
  min-width: 250px;
}
.lastcolright table th:last-child,
.lastcolright table td:last-child,
table.lastcolright th:last-child,
table.lastcolright td:last-child {
  text-align: right;
}

.nowrap table th,
.nowrap table td {
  white-space: nowrap;
}
td.no-wrap-text {
  text-wrap: nowrap;
}

table th.views-field-views-bulk-operations-bulk-form {
  width: 20px;
}
table th.views-field-field-staff {
  width: 30px;
}
table th.views-field-edit-invoice {
  width: 40px;
}
table th.views-field-field-claim-id {
  width: 45px;
}
table th.views-field-field-amount,
table th.views-field-field-charge,
table th.views-field-field-sell-ex-vat,
table th.views-field-field-cost-ex-vat,
table th.views-field-field-cost-inc-vat,
table th.views-field-field-profit,
table th.views-field-field-date,
#timesheet th.views-field-field-times {
  width: 90px;
}
.vat-return-expenses th.views-field-nothing,
.vat-return-expenses th.views-field-nothing-2,
.vat-return-expenses th.views-field-field-cost-ex-vat,
.vat-return-expenses th.views-field-field-cost-inc-vat,
.vat-return-invoices th.views-field-field-total-vat,
.vat-return-invoices th.views-field-field-total-inc-vat,
.vat-return-invoices th.views-field-field-total-ex-vat {
  width: 120px;
}
.quote-items th.views-field-field-cost-ex-vat,
.quote-items th.views-field-field-cost-inc-vat,
.quote-items th.views-field-field-sell-ex-vat {
  width: initial;
}
table th.views-field-field-total-ex-vat,
table th.views-field-field-total-inc-vat,
.view-timesheet th.views-field-field-staff,
.view-client-timesheet th.views-field-field-staff,
#timesheet th.views-field-field-staff {
  width: 130px;
}
table th.views-field-field-category {
  width: 135px;
}
.draggable a.tabledrag-handle {
  height: inherit;
}
.tabledrag-toggle-weight-wrapper {
  display: none;
}
table.invoice-totals {
  margin-bottom: 1rem;
}

.glossary {
  margin-bottom: 2em;
}
.glossary summary {
  margin-bottom: 0;
  border-bottom: none;
}
.glossary .glossary-text {
  border: none;
  background-color: var(--p3-light-grey);
  border-radius: 5px;
  padding: 1em 2vw 1em;
  margin-bottom: 2em;
}

.webform-progress-tracker .progress-marker::before {
  box-sizing: border-box;
  font-weight: bold;
  padding-bottom: 1px;
}

.webform-progress-tracker .progress-step .progress-marker {
  font-size: 1.5rem;
}
.webform-progress-tracker .progress-step .progress-marker {
  color: var(--p3-mid-grey);
}
.webform-progress-tracker .progress-step:not(.is-active) .progress-marker::before {
  background-color: var(--p3-white);
}
.webform-progress-tracker .progress-step.is-complete .progress-marker {
  color: var(--p3-dark-blue);
}
.webform-progress-tracker .progress-step.is-complete .progress-marker::before,
.webform-progress-tracker .progress-step.is-complete:hover .progress-marker::before {
  background-color: var(--p3-white);
}
.webform-progress-tracker .progress-step.is-complete .progress-marker::after {
  background-color: var(--p3-dark-blue);
}
.webform-progress-tracker .progress-step.is-active .progress-marker::before,
.webform-progress-tracker .progress-step.is-complete:hover .progress-marker::before {
  background-color: var(--p3-white);
  color: var(--p3-dark-blue);
}
.webform-progress-tracker .progress-step .progress-marker::after {
  background-color: var(--p3-mid-grey);
}

form .field-group {
  border: none;
  background-color: var(--p3-light-grey);
  border-radius: 5px;
  padding: 0 2vw 1em;
  margin-bottom: 2em;
}
form .field-group > .field-group-label {
  padding: 5px 10px;
  font-size: 1.2em;
  font-weight: bold;
  color: var(--p3-white);
  background: var(--p3-dark-blue);
}
form .field-group > .field-group-label {
  display: inline-block;
  margin-top: -0.75em;
  margin-bottom: 1em;
}
form .field-group .field-group > .field-group-label {
  padding: 0px;
  color: var(--p3-black);
  background: transparent;
}

.form-composite.webform-fieldset--title-inline .fieldset-wrapper, .form-composite.webform-fieldset--title-inline .fieldset-wrapper > div {
  display: inline-block;
  break-inside: avoid;
}

.webform-element--title-inline.form-type-checkbox {
  display: flex;
  align-items: baseline;
}
.webform-element--title-inline.form-type-checkbox label {
  margin-left: 5px;
}

.form-type-webform-signature label {
  margin-bottom: 5px;
}
.form-type-webform-signature .description {
  margin-top: 5px;
}
.form-type-webform-signature .button {
  font-size: 0.85rem;
  margin: 5px!important;
  padding: 3px 8px;
}
.webform-signature-pad {
  background-color: var(--p3-white);
  border: 1px solid var(--p3-mid-grey);
  border-radius: 5px;
}

body.env-local:not(.role-anonymous) .layout-container:not(.front) > header:after,
body.env-dev:not(.role-anonymous) .layout-container:not(.front) > header:after,
body.env-staging:not(.role-anonymous) .layout-container:not(.front) > header:after,
body.env-prod:not(.role-anonymous) .layout-container:not(.front) > header:after {
  content: "";
  display: block;
  width: 200px;
  height: 50px;
  font-size: 2rem;
  padding: 8px 40px;
  box-sizing: border-box;
  text-align: center;
  font-weight: bold;
  color: var(--p3-extra-light-grey);
  margin: 0;
  position: absolute;
  z-index: 0;
  top: 0px;
  left: 4vw;
}
body.env-local:not(.role-anonymous) .layout-container:not(.front) > header:after {
  content: "LOCAL";
}
body.env-dev:not(.role-anonymous) .layout-container:not(.front) > header:after {
  content: "DEV";
}
body.env-staging:not(.role-anonymous) .layout-container:not(.front) > header:after {
  content: "STAGING";
}

.icon img {
  width: 18px;
  max-width: initial;
}
.dark-mode .icon img {
  filter: invert(1);
}

[type="checkbox"], [type="radio"] {
  transform: scale(1.3);
}

/** Dialog popup **/

.ui-widget-overlay {
  background: rgba(22, 125, 134, 0.85);
  opacity: 1;
}

.ui-dialog {
  margin-top: 100px;
  border: 0!important;
  border-radius: 5px!important;
  width: auto!important;
  max-width: 85vw;
  min-width: 320px;
  position: relative;
  margin: 100px auto 0!important;
  z-index: 1000;
  background-color: var(--p3-white);
}

#drupal-modal {
  overflow-x: hidden;
}
#drupal-modal .no-modal {
  display: none;
}
.modal-only {
  display: none;
}

#drupal-modal .modal-only {
  display: inherit;   
}
form #messages {
  display: none;
}
#drupal-modal form #messages {
  display: inherit;
}
#drupal-modal h1 {
  display: none;
}
#drupal-off-canvas-wrapper {
  background-color: var(--p3-dark-blue)!important;
}
.dark-mode #drupal-off-canvas-wrapper {
  background-color: var(--p3-mid-grey)!important;
}
.ui-dialog {
  background-color: var(--p3-white)!important;
}

.ui-dialog-titlebar {
  padding: 50px 1em 0!important;
  border: 0!important;
  background: url(/themes/p3/images/qdos-digital-logo.svg) 15px 15px no-repeat var(--p3-white)!important;
  background-size: 65px!important;
  border-radius: 5px!important;
}
.ui-dialog .ui-dialog-title {
  width: 100%;
  text-align: center;
  font-size: 1.2rem;
  margin: 0 0 5px;
  background-color: var(--p3-white)!important;
  color: var(--p3-black);
}
.ui-dialog-titlebar-close {
  background: url(/themes/p3/images/icons/close-button.jpg) no-repeat!important;
  background-size: 20px!important;
  width: 20px;
  height: 20px;
  top: 15px!important;
  right: 15px!important;
  border: 0!important;
  margin: 0!important;
}
.ui-dialog-titlebar-close span {
  display: none;
}
.ui-dialog-titlebar-close:hover,
.ui-dialog-titlebar-close:focus {
  background: url(/themes/p3/images/icons/close-button.jpg) no-repeat!important;
  background-size: 20px!important;
}
.ui-dialog .ui-dialog-buttonpane {
  background-color: var(--p3-white)!important;
}
.ui-dialog .entity-meta {
  padding: 15px;
  box-sizing: border-box;
}
.ui-dialog .form-item {
  margin-bottom: 10px;
}
.ui-dialog input {
  padding: 5px;
  box-sizing: border-box;
}
.ui-dialog .select2 {
  margin-top: 5px;
  margin-bottom: 150px;
}
.ui-widget-header {
  color: var(--p3-white)!important;
}

.select2-container{
  z-index: 1000;
}
#drupal-modal .select2-results {
  max-height: 112px;
  overflow-x: hidden;
  overflow-y: scroll;
}
.select2-container--default .select2-selection--single {
  border: 1px solid #999;
}

.ui-dialog .description {
  font-size: 0.8rem;
  margin-top: 3px;
  max-width: 400px;
}
.ui-dialog label {
  width: 100%;
  display: block;
  font-weight: bold;
}
.ui-dialog .field--type-boolean label {
  display: inline-block;
  font-weight: normal;
  width: inherit;
}
.ui-widget textarea {
  width: 100%;
  box-sizing: border-box;
  margin-top: 5px;
}
.ui-widget .js-form-type-vertical-tabs {
  order: 998;
}
.ui-widget form {
  display: flex;
  flex-direction: column;
}
.ui-widget .entity-content-form-footer {
  order: 999;
}
.ui-dialog input.form-submit {
  border: 0;
}
#drupal-modal form div[data-drupal-selector="edit-actions"] {
  display: none;
}

.toolbar-bar a {
  color: #fff!important;
}
.toolbar-bar a.is-active {
  color: #000!important;
}
.toolbar-tray,
.toolbar-menu,
.toolbar-menu li,
.toolbar-lining {
  background-color: var(--p3-white)!important;
}
.toolbar-menu li a {
  color: var(--p3-black)!important;
}


.ck-source-editing-area textarea {
  overflow: auto!important;
}
.ck-toolbar,
.ck-content,
.ck-source-editing-area textarea,
.ck-dropdown__panel,
.ck-list,
.ck-list__item,
.ck-button {
  background-color: var(--p3-white)!important;
}
.ck-button,
.ck-source-editing-area textarea {
  color: var(--p3-black)!important;
}
.ck-button:hover {
  background-color: var(--p3-mid-grey)!important;
}
.csv-feed .feed-icon {
  background-image: url(/themes/p3/images/icons/csv.png);
  width: 100px;
  display: block;
  margin-top: 1em;
  margin-bottom: 1em;
  height: 40px;
}
.dark-mode .csv-feed .feed-icon {
  filter: invert(1);
}

.table-right td {
  text-align: right;
}

table td .icon.left img,
table td .icon.right img {
  display: block;
}

table td .icon.left,
table td .icon.right {
  visibility: hidden;
  margin-left: 5px;
}
table td:hover .icon.left,
table td:hover .icon.right {
  visibility: visible;
}

/** Off-Canvas **/

#drupal-off-canvas-wrapper,
#drupal-off-canvas-wrapper input,
#drupal-off-canvas-wrapper textarea {
  font-family: sans-serif!important;
  font-size: 0.85rem;
}
#drupal-off-canvas-wrapper textarea {
  resize: vertical;
}
#drupal-off-canvas-wrapper .ui-widget-content,
#drupal-off-canvas-wrapper .ui-widget-content a {
  color: var(--p3-white)!important;
}
#drupal-off-canvas-wrapper label,
#drupal-off-canvas-wrapper h4.label,
#drupal-off-canvas-wrapper fieldset .fieldset-legend {
  margin: 5px 0;
  font-size: 0.8rem;
  font-weight: bold;
}
#drupal-off-canvas-wrapper .form-item {
  padding: 0!important;
  max-width: 320px;
}
#drupal-off-canvas-wrapper .form-item.form-type-checkbox {
  display: flex;
  align-items: center;
}
#drupal-off-canvas-wrapper input,
#drupal-off-canvas-wrapper [class^="select2-selection"] {
  height: 28px;
  border: 0!important;
  border-radius: 3px!important;
  color: var(--p3-black);
}
#drupal-off-canvas-wrapper .select2-selection__choice__remove {
  margin-top: 2px;
}
#drupal-off-canvas-wrapper .select2-search.select2-search--inline:focus {
  outline: transparent !important;
}
#drupal-off-canvas-wrapper [id^="edit-field-date"].form-date {
  padding: 0px 5px;
}
#drupal-off-canvas-wrapper [id^="edit-field-cost-ex-vat-wrapper"],
#drupal-off-canvas-wrapper [id^="edit-field-cost-inc-vat-wrapper"] {
  float: left;
  margin-right: 1em;
}
#drupal-off-canvas-wrapper [id^="edit-field-sell-ex-vat-wrapper"],
#drupal-off-canvas-wrapper [id^="edit-field-sell-wrapper"] {
  padding-top: 0.5em;
  clear: both;
}
#drupal-off-canvas-wrapper [id^="edit-field-cost-ex-vat-wrapper"] input,
#drupal-off-canvas-wrapper [id^="edit-field-cost-inc-vat-wrapper"] input,
#drupal-off-canvas-wrapper [id^="edit-field-sell-ex-vat-wrapper"] input,
#drupal-off-canvas-wrapper [id^="edit-field-sell-wrapper"] input {
  width: 110px;
}
#drupal-off-canvas-wrapper [id^="edit-field-cost-ex-vat-wrapper"] .field-prefix,
#drupal-off-canvas-wrapper [id^="edit-field-cost-inc-vat-wrapper"] .field-prefix,
#drupal-off-canvas-wrapper [id^="edit-field-sell-ex-vat-wrapper"] .field-prefix,
#drupal-off-canvas-wrapper [id^="edit-field-sell-wrapper"] .field-prefix {
  font-weight: bold;
}

#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] {
  margin-top: 0;
}

#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] .fieldset-wrapper > div,
#drupal-off-canvas-wrapper td > div > div[id^="edit-field-rates-form-inline-entity-form-entities"].form-wrapper {
  display: flex;
  gap: 1em;
  align-items: end;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates"].field--type-datetime {
  width: 140px!important;
  display: inline-block;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates"].field--type-datetime .form-item {
  margin: 0!important;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates"] .form-type-number {
  width: 118px!important;
  display: inline-block;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates"].form-number {
  width: 100px!important;
  display: inline-block;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates"] .form-type-number .field-prefix {
  float: left;
  margin-right: 5px;
  font-weight: bold;
  margin-top: 5px;
}
#drupal-off-canvas-wrapper div[id^="edit-field-rates-form"] > [id*="actions"] {
  width: 100px;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] {
  min-width: 650px;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] td {
  width: 160px;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] th.ief-tabledrag-header,
#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] td.ief-tabledrag-handle {
  max-width: 10px;
  visibility: hidden;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-rates"] td:first-child {
  display: table-cell;
}
#drupal-off-canvas-wrapper textarea {
  height: 70px;
  border: 0!important;
  border-radius: 3px!important;
  font-family: sans-serif !important;
  font-size: 0.85rem !important;
}

#drupal-off-canvas-wrapper select {
  height: 28px!important;
  padding: 0px 30px 1px 8px!important;
  border: none;
  margin-bottom: 5px;
  font-family: sans-serif !important;
  font-size: 0.85rem !important;
}

#drupal-off-canvas-wrapper [id^="edit-submit"],
#drupal-off-canvas-wrapper [id^="edit-delete"] {
  height: 28px!important;
  font-weight: bold!important;
  text-decoration: none!important;
  display: flex!important;
  align-items: center;
  justify-content: center;
}
#drupal-off-canvas-wrapper [id^="edit-submit"] {
  margin-top: 2rem!important;
  clear: both;
  width: 100%;
}
#drupal-off-canvas-wrapper .button--primary:hover,
#drupal-off-canvas-wrapper .button--primary:focus,
#drupal-off-canvas-wrapper .button--primary:active {
  background-color: var(--p3-green)!important;
}
#drupal-off-canvas-wrapper .button--danger:hover,
#drupal-off-canvas-wrapper .button--danger:focus,
#drupal-off-canvas-wrapper .button--danger:active {
  background-color: var(--p3-red)!important;
}
#drupal-off-canvas-wrapper :focus {
  outline-color: var(--p3-red)!important;
}
#drupal-off-canvas-wrapper .form-required::after {
  content: "*";
  color: var(--p3-red);
  margin-left: 3px;
}
#drupal-off-canvas-wrapper fieldset {
  border: 0!important;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-times"] .fieldset-wrapper {
  display: flex;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-times"] .fieldset-wrapper > div {
  width: 90px;
  margin-right: 1em;
}
#drupal-off-canvas-wrapper fieldset[id^="edit-field-times"] .fieldset-wrapper input {
  width: 90px;
}
#drupal-off-canvas-wrapper .tabledrag-toggle-weight-wrapper {
  display: none!important;
}
#drupal-off-canvas-wrapper .field--name-field-invoice-address textarea,
#drupal-off-canvas-wrapper .field--name-field-account-manager .select2-selection {
  width: 280px;
}

#drupal-off-canvas-wrapper {
  border-radius: 0 !important;
}

#drupal-off-canvas-wrapper input:where(:not([type="submit"], [type="checkbox"], [type="radio"], [type="file"])) {
  max-width: 280px!important;
  font-family: sans-serif !important;
  font-size: 0.85rem !important;
}

#drupal-off-canvas-wrapper .ui-dialog-titlebar::before {
  display: none!important;
}

#drupal-off-canvas-wrapper .ui-dialog-title {
  color: var(--p3-black);
}
#drupal-off-canvas-wrapper input,
#drupal-off-canvas-wrapper select,
#drupal-off-canvas-wrapper textarea,
#drupal-off-canvas-wrapper .form-actions a {
  background-color: var(--p3-white)!important;
  color: var(--p3-black)!important;
}
#drupal-off-canvas-wrapper .ui-dialog-titlebar {
  border-radius: 0!important;
  padding-bottom: 1em !important;
}

#drupal-off-canvas-wrapper .ui-dialog-titlebar-close::before,
#drupal-off-canvas-wrapper .ui-dialog-titlebar-close::after {
  display: none;
}

#drupal-off-canvas-wrapper .ui-dialog-titlebar-close {
  top: 50%!important;
  width: 20px!important;
  height: 20px!important;
}
#drupal-off-canvas-wrapper .button {
  border-radius: 3px!important;
}

#drupal-off-canvas-wrapper [value="Remove"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Cancel"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Create rate"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Update rate"],
#drupal-off-canvas-wrapper [value="Edit"] {
  all: unset;
  background: url(/themes/p3/images/icons/white-delete.svg) !important;
  background-repeat: no-repeat!important;
  background-size: 20px !important;
  color: transparent !important;
  width: 20px!important;
  padding: 3px 0!important;
  cursor: pointer;
  float: left;
  margin: 5px 0 5px 10px!important;
}
#drupal-off-canvas-wrapper [value="Remove"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Cancel"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Create rate"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Update rate"],
#drupal-off-canvas-wrapper [value="Edit"] {
  fill: var(--p3-orange)!important;
}
#drupal-off-canvas-wrapper [value="Edit"] {
  background: url(/themes/p3/images/icons/white-edit.svg)!important;
  background-repeat: no-repeat!important;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Cancel"] {
  background: url(/themes/p3/images/icons/white-cancel.svg)!important;
  background-repeat: no-repeat!important;
  background-size: 18px!important;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [id^="edit-field-rates-form-entities"] [value="Cancel"] {
  margin: 3px 0 5px 10px !important;
  background-size: 18px!important;
}
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Create rate"],
#drupal-off-canvas-wrapper [id^="edit-field-rates-wrapper"] [value="Update rate"] {
  background: url(/themes/p3/images/icons/white-save.svg)!important;
  background-repeat: no-repeat!important;
  height: 20px!important;
}

#drupal-off-canvas-wrapper [id*="add-more-wrapper"] .clearfix {
  clear: both;
}
#drupal-off-canvas-wrapper [id*="add-more-wrapper"] .form-item .form-item {
  float: left;
}
#drupal-off-canvas-wrapper .ief-entity-table {
  margin: 0 1em 0 -1em;
}
#drupal-off-canvas-wrapper .ief-entity-table [value="Remove"],
#drupal-off-canvas-wrapper .ief-entity-table [value="Edit"] {
  margin: 0 0 0 10px!important;
}
#drupal-off-canvas-wrapper .ui-autocomplete {
  background-color: var(--p3-white)!important;
}
#drupal-off-canvas-wrapper .ui-autocomplete a {
  color: var(--p3-black)!important;
  text-decoration: none!important;
}
#drupal-off-canvas-wrapper .ui-autocomplete a:hover,
#drupal-off-canvas-wrapper .ui-autocomplete a.ui-state-active {
  border: none!important;
  outline: none!important;
  background-color: var(--p3-mid-orange)!important;
}
.dark-mode #drupal-off-canvas-wrapper .ui-autocomplete a:hover,
.dark-mode #drupal-off-canvas-wrapper .ui-autocomplete a.ui-state-active {
  background-color: var(--p3-dark-grey)!important;
}
.dark-mode .ui-dialog-titlebar-close {
  filter: invert(0.9)!important;
}
.button.theme-switch {
  margin: 1em 0;
}

/** General classes **/

.notice {
  padding: 1em 10px;
  background: var(--p3-light-orange);
  border-left: 5px solid var(--p3-dark-grey);
  margin-bottom: 1em;
  margin-top: 1em;
  display: flex;
  flex-wrap: wrap;
}
.notice-nobg {
  padding: 1em 10px;
  border-left: 5px solid var(--p3-dark-grey);
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap;
}

.notice a {
  color: var(--p3-dark-grey);
}
.notice.notes {
  display: block;
}

.infopane.notice {
  padding: 0;
  font-size: 0.9rem;
}
.infopane.notice > div {
  padding: 1em;
  border-right: 3px solid var(--p3-white);
  max-width: 350px;
}
.infopane.notice > div:last-child {
  border-right: none;
}
.infopane h3,
.notes h3 {
  margin: 2px 0;
  text-transform: uppercase;
  font-size: 0.75rem;
  font-family: sans-serif;
}
.tariff.notes h3 {
  font-size: 1rem;
}

.infopane .form-item {
  margin-bottom: 0;
}

#links {
  display: block;
  border-bottom: 1px solid var(--p3-dark-grey);
}
#links {
  display: flex;
  flex-wrap: wrap;
}
#links .linkicon,
.settings-menu .linkicon {
  color: var(--p3-dark-grey);
  padding: 7px;
  margin-right: 10px;
  font-weight: bold;
  font-size: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#links a.linkicon:hover,
.settings-menu a.linkicon:hover {
  background: rgba(22,125,134,0.08);
  text-decoration: none!important;
}
#links .linkicon.active {
  border-bottom: 5px solid var(--p3-dark-grey);
  margin-bottom: -5px;
}
#links .linkicon.right {
  margin-right: 0;
  margin-left: auto;
}
.linkicon img,
.linkicon svg {
  height: 15px;
  width: 15px;
  padding-right: 5px;
}
.linkicon.print svg {
  height: 25px;
  width: 28px;
  padding: 6px 5px 0;
}
.linkicon.delete svg {
  height: 35px;
  width: 40px;
  padding: 6px 5px 0;
}

.settings-details svg .st0 {
  fill: var(--p3-dark-grey);
}
.settings-details svg .st1 {
  fill: var(--p3-white);
}

.infopane .linkicon svg,
.infopane .linkicon img {
  position: relative;
  top: 7px;
}

.ui-widget-overlay {
  background: var(--p3-black)!important;
  opacity: 0.5!important;
}


.announcement p:last-child {
  margin: 0;
}

.announcement {
  display: block;
  text-align: center;
  padding: 1em;
  color: white;
  font-size: 1.2em;
  font-weight: bold;
}

.red-announcement {
  background: var(--p3-dark-red);
}

.amber-announcement {
  background: var(--p3-amber);
}

.green-announcement {
  background: var(--p3-green);
}

/** Tabs **/

.tabcontent {
  background: var(--p3-white);
}
button.tablink,
span.tablink,
a.tablink {
  background: var(--p3-white);
  padding: 7px 10px;
  color: var(--p3-black);
  border: 1px solid var(--p3-dark-grey);
  border-radius: 3px;
  cursor: pointer;
  margin: 0.5em 0.2em 0.5em 0;
  display: inline-block;
}
button.tablink.right,
a.tablink.right {
  margin-left: 0.2em;
}

a.tablink {
  text-decoration: none!important;
}
span.tablink.active,
button.tablink.active {
  background: var(--p3-dark-grey);
  pointer-events: none;
  color: var(--p3-white);
  font-weight: bold;
}
span.tablink.active,
a.tablink.active {
  pointer-events: none;
}
button.tablink:hover,
a.tablink:hover {
  background: rgba(22,125,134,0.08);
  transition: background 0.2s linear;
}

/** Settings form **/

#settings-settings-edit-form .description {
  clear: none;
}

/** Menus **/

.p3-user-menu svg {
  width: 30px;
  height: 27px;
}
.p3-user-menu summary {
  display: inline-block;
  border-bottom: none;
  margin-bottom: 0;
  position: relative;
}
#p3-user-menu {
  float: right;
  margin: 0.6rem 0;
  position: relative;
  z-index: 99;
}
#p3-user-menu .button {
  margin: 0 0 0 0.2em;
  border: 0;
  font-size: 0.85rem;
  border-radius: 3px;
}
#p3-user-menu .button:hover {
  background: var(--p3-orange)!important;
  color: var(--p3-black)!important;
}
#p3-settings-menu {
  position: relative;
}
.p3-user-menu summary {
  padding: 0.2em 0.3em;
}
.sms-menu {
  position: absolute;
  right: 0;
  margin-top: 6px;
  background: var(--p3-white);
  padding: 0 10px 10px 10px;
  display: flex;
  flex-direction: column;
  z-index: 100;
  min-width: 300px;
  box-shadow: -2px 5px 5px 0px #0006;
}
.settings-menu {
  position: absolute;
  right: 0;
  margin-top: 6px;
  background: var(--p3-white);
  padding: 0 0 10px 10px;
  display: flex;
  flex-direction: column;
  z-index: 100;
  min-width: 250px;
  box-shadow: -2px 5px 5px 0px #0006;
}
.settings-menu .linkicon img {
  width: 25px;
  height: 25px;
}
.settings-menu .linkicon {
  color: var(--p3-dark-grey);
  padding: 7px;
  margin-right: 10px;
  font-weight: bold;
  font-size: 0.9rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.settings-menu a {
  text-decoration: none!important;
}
.settings-menu .linkicon img {
  padding-right: 10px;
}
.dark-mode .settings-menu .linkicon img {
   filter: invert(0.5);
}
.settings-menu a.linkicon:hover {
  background: var(--p3-extra-light-grey);
  text-decoration: none!important;
}
.menu--account h2 {
  display: none;
}
.menu--account .menu {
  margin: 0.5em;
}

/** Custom right click menu **/

.context-menu {
  display: none;
  position: absolute;
  z-index: 10;
  background-color: var(--p3-orange);
  color: var(--p3-black);
  padding: 0.5em 0;
  box-shadow: 0 3px 5px 0px #999;
}
.context-menu.block {
  display: block;
}
.context-menu div {
  padding: .5em 1em;
}
.context-menu div:hover {
  background-color: var(--p3-dark-grey);
  color: var(--p3-white);
  cursor: pointer;
}
.context-menu .hidden {
  display: none;
}

/** Timesheet **/

.view-timesheet .new-entry,
.view-client-timesheet .new-entry {
  background-color: #88e98573!important;
}
.block-p3-timesheet-hours-summary-block {
  clear: both;
}
table.hours-summary {
  width: inherit;
}
table.hours-summary th:not(:first-child),
table.hours-summary td:not(:first-child) {
  width: 35px;
  text-align: right;
}
table.hours-summary th:last-child,
table.hours-summary td:last-child {
  width: 60px;
  min-width: 50px;
}
.hours-summary-page table.hours-summary {
  width: 100%;
  float: none;
}
.hours-summary-page  table.hours-summary th:not(:first-child),
.hours-summary-page  table.hours-summary td:not(:first-child),
.hours-summary-page table.hours-summary th:last-child,
.hours-summary-page table.hours-summary td:last-child {
  width: revert;
}
.add-timesheet-top-buttons .button:first-child {
  margin-right: 0.5em!important;
}
.timesheet-hours-chargeable-summary {
  margin-top: 1em;
}
.timesheet-hours-chargeable-summary .timesheet-hours-label {
  color: var(--p3-dark-grey);
  font-weight: bold;
  margin-right: 0.3em;
}
.timesheet-hours-chargeable-summary .timesheet-hours-value {
  font-weight: bold;
  color: var(--p3-mid-grey);
  margin-right: 0.3em;
}
.timesheet-hours-chargeable-summary-wrapper .block-p3-timesheet-hours-summary-block {
  clear: none;
}


.view-timesheet-blocks.view-display-id-block_10 caption,
.view-timesheet-blocks.view-display-id-block_11 caption {
  text-align: left;
}

/** Expenses **/

.view-expenses [id^="edit-field-attachment-wrapper"],
.view-expenses [id^="editablefields-form-expenses-entry"],
.view-expenses-blocks [id^="edit-field-attachment-wrapper"],
.view-expenses-blocks [id^="editablefields-form-expenses-entry"],
.view-client-expenses [id^="edit-field-attachment-wrapper"],
.view-client-expenses [id^="editablefields-form-expenses-entry"],
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"],
.view-vat-return-expenses [id^="editablefields-form-expenses-entry"] {
  width: 20px;
  height: 20px;
  overflow: hidden;
}
.view-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"],
.view-expenses-blocks [id^="edit-field-attachment-wrapper"] [class*="file--"],
.view-client-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"],
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"] {
  height: 20px;
  background-size: 18px;
  background-position: 2px 0px;
}
.view-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"] a,
.view-expenses-blocks [id^="edit-field-attachment-wrapper"] [class*="file--"] a,
.view-client-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"] a,
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"] [class*="file--"] a {
  display: inline-block;
  margin-left: -20px;
  color: transparent!important;
  height: 20px;
  width: 20px;
}

.view-expenses [id^="edit-field-attachment-wrapper"] .js-form-item,
.view-expenses-blocks [id^="edit-field-attachment-wrapper"] .js-form-item,
.view-client-expenses [id^="edit-field-attachment-wrapper"] .js-form-item,
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"] .js-form-item {
  margin: 0!important;
}
.view-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input,
.view-expenses-blocks [id^="edit-field-attachment-wrapper"] .js-form-item input,
.view-client-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input,
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input {
  all: unset;
  width: 23px;
  height: 23px;
  margin: 0;
  padding: 0;
  border: none;
  background: url(/themes/p3/images/icons/clip.svg)!important;
  border-radius: 0;
  color: transparent!important;
  background-size: 21px!important;
  background-position: 0px -2px!important;
  cursor: pointer;
}
.view-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input::file-selector-button,
.view-expenses-blocks [id^="edit-field-attachment-wrapper"] .js-form-item input::file-selector-button,
.view-client-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input::file-selector-button,
.view-vat-return-expenses [id^="edit-field-attachment-wrapper"] .js-form-item input::file-selector-button {
  display: none;
}
.view-expenses th[class*="views-field-field-attachment"],
.view-expenses td[class*="views-field-field-attachment"],
.view-expenses-blocks th[class*="views-field-field-attachment"],
.view-expenses-blocks td[class*="views-field-field-attachment"],
.view-client-expenses th[class*="views-field-field-attachment"],
.view-client-expenses td[class*="views-field-field-attachment"],
.view-vat-return-expenses th[class*="views-field-field-attachment"],
.view-vat-return-expenses td[class*="views-field-field-attachment"] {
  width: 20px;
}
.view-expenses:not(.view-display-id-page_4):not(.view-display-id-page_5):not(.view-display-id-page_6) th[class*="views-field-field-attachment"],
.view-expenses-blocks th[class*="views-field-field-attachment"],
.view-client-expenses th[class*="views-field-field-attachment"],
.view-vat-return-expenses th[class*="views-field-field-attachment"] {
  background-image: url(/themes/p3/images/icons/clip.svg)!important;
  background-repeat: no-repeat;
  background-size: 21px!important;
  background-position: center!important;
}
#drupal-off-canvas-wrapper .field--name-field-rates {
  min-width: 650px;
}


#drupal-off-canvas-wrapper #expenses-entry-form  input[id^="edit-field-attachment"][value="Upload"],
#drupal-off-canvas-wrapper #expenses-entry-form  [id^="edit-field-attachment"].description {
  display: none;
}
#drupal-off-canvas-wrapper #expenses-entry-form  [id^="edit-field-attachment"] {
  display: flex;
  align-items: baseline;
}

form[id^="editablefields-form-expenses"] label,
form[id^="editablefields-form-expenses"] .description,
form[id^="editablefields-form-expenses"] [id^="edit-submit"] {
  display: none;
}

.view-expenses .new-entry,
.view-expenses-blocks .new-entry,
.view-client-expenses .new-entry {
  background-color: #88e98573!important;
}
.view-expenses .on-target,
.view-expenses-blocks .on-target,
.view-client-expenses .on-target {
  background-color: var(--p3-green)!important;
}
.view-expenses [id^="edit-field-attachment-0--"],
.view-expenses-blocks [id^="edit-field-attachment-0--"],
.view-client-expenses [id^="edit-field-attachment-0--"],
.view-vat-return-expenses [id^="edit-field-attachment-0--"] {
  height: 20px;
}

.views-field-field-approved .form-item {
  margin: 0!important;
}
.views-field-field-approved .form-item .toggle.btn {
  min-width: 0;
  min-height: 0;
}

.expenses-claims table th.views-field-field-staff {
  width: inherit;
}

.mileage-icon {
  margin-left: 0.5rem;
}
.mileage-icon svg {
  width: auto;
  height: 25px;
  margin: 3px 0 -3px;
}
.mileage-icon svg:hover .st0 {
  fill: var(--p3-darker-grey);
}
.add-timesheet-top-buttons,
.add-expenses-top-buttons {
  justify-content: end;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.filters-buttons-wrapper {
  flex-direction: column;
  align-items: end;
  gap: 1em;
}
tr.missing-client {
  background-color: rgba(222, 8, 17, 0.2);
}
tr.missing-client:hover {
  background-color: rgba(245, 0, 0, 0.3);
}

/* Clients */

.block-views-blockclients-block-1 {
  margin-top: 10px;
  width: 200px;
  background: var(--p3-white);
}
.view-clients.view-display-id-block_1 .select2-container {
  z-index: 999;
}

.client-logo.right {
  background: var(--p3-white);
  padding-left: 1em !important;
}
.client-logo .field--name-field-logo {
  height: 125px;
  display: flex;
  align-items: center;
}
.client-logo img {
  max-height: 125px;
  max-width: 200px;
  height: auto;
  width: auto;
}
.editlogo {
  margin-right: 1em;
  float: right;
}
.archived td,
.archived td a {
  color: var(--p3-light-grey)!important;
}
.client-tabs .section {
  margin-top: 1em;
}
.invoice-summaries-wrapper {
  display: inline-block;
}
.invoice-summaries-wrapper .invoice-table {
  float: left;
  margin-right: 5em;
  margin-bottom: 1em;
}
.invoice-summaries-wrapper .invoice-table th,
.invoice-summaries-wrapper .invoice-table td {
  padding: 0.5em 1em;
}
a.print {
  float: right;
  padding-left: 20px;
  background: url(/themes/p3/images/icons/print.png) no-repeat;
  background-position: left center;
  z-index: 10000;
  position: relative;
}


/* Security audits */

.sari-status-awaiting_assessment {
  color: var(--p3-dark-grey);
}
.sari-status-pass {
  color: var(--p3-green);
}
.sari-status-advisory {
  color: var(--p3-amber);
}
.sari-status-fail {
  color: var(--p3-red);
}
.prev-audit-notes {
  max-width: 300px;
  font-style: italic;
}

/* Datatables */

.p3-datatables tfoot {
  display: table-row-group;
}

.p3-datatables tr th {
  vertical-align: bottom;
}

.dataTables_length {
  float: left;
  margin-bottom: 10px;
}
.dataTables_filter {
  float: right;
  margin-bottom: 10px;
}
.dataTables_filter input {
  margin-left: 0.5em;
  padding: 5px!important;
}

form:not(.rec-transaction-form) #edit-invoiceexpenses_filter {
  margin-top: -3em;
  float: left;
}
#edit-transaction_filter {
  margin-top: -3em;
}
.dataTables_wrapper .dt-buttons {
  float: left;
}
.dataTables_info {
  float: left;
  margin: 7px 10px 0;
}
.dataTables_paginate {
  text-align: center;
}
.dataTables_paginate a,
.dataTables_paginate span {
  padding: 0 5px;
  cursor: pointer;
}

/** Bank rec **/

tr.selected.matched td {
  background: var(--p3-light-green);
}
tr.already-matched td {
  color: var(--p3-light-grey);
}
tr.partially-matched td {
  color: var(--p3-amber);
}
tr.invoiceexpenses-selected-matches td,
tr.transaction-selected-matches td {
  border: 1px solid var(--p3-dark-grey);
}
table[data-drupal-selector='edit-transaction'] th:nth-child(1) {
  height: 38px;
  box-sizing: border-box;

}
table[data-drupal-selector='edit-transaction'] td,
table[data-drupal-selector='edit-invoiceexpenses'] td {
  height: 20px;
  box-sizing: border-box;
}

table[data-drupal-selector='edit-invoiceexpenses'] th,
table[data-drupal-selector='edit-transaction'] th,
table[data-drupal-selector='edit-matches'] th {
  font-size: 0.8em;
  box-sizing: border-box;
}
table[data-drupal-selector='edit-invoiceexpenses'] td,
table[data-drupal-selector='edit-transaction'] td,
table[data-drupal-selector='edit-matches'] td {
  font-size: 85%;
  box-sizing: border-box;
}

table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(1),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(1),
table[data-drupal-selector='edit-transaction'] th:nth-child(1),
table[data-drupal-selector='edit-transaction'] td:nth-child(1),
table[data-drupal-selector='edit-matches'] th:nth-child(1),
table[data-drupal-selector='edit-matches'] td:nth-child(1) {
  width: 22px!important;
  max-width: 22px;
  min-width: 22px;
  box-sizing: border-box;
}
table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(2),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(2),
table[data-drupal-selector='edit-transaction'] th:nth-child(2),
table[data-drupal-selector='edit-transaction'] td:nth-child(2),
table[data-drupal-selector='edit-matches'] th:nth-child(2),
table[data-drupal-selector='edit-matches'] td:nth-child(2) {
  width: 80px!important;
  max-width: 80px;
  min-width: 80px;
}
table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(3),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(3),
table[data-drupal-selector='edit-matches'] th:nth-child(3),
table[data-drupal-selector='edit-matches'] td:nth-child(3) {
  width: 128px!important;
  max-width: 128px;
  min-width: 128px;
  overflow: hidden;
  text-wrap: nowrap;
}
table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(4),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(4),
table[data-drupal-selector='edit-transaction'] th:nth-child(3),
table[data-drupal-selector='edit-transaction'] td:nth-child(3),
table[data-drupal-selector='edit-matches'] th:nth-child(4),
table[data-drupal-selector='edit-matches'] td:nth-child(4) {
  width: 360px!important;
  max-width: 360px;
  min-width: 360px;
  overflow: hidden;
  text-wrap: nowrap;
}
table[data-drupal-selector='edit-potentialmatches'] th:nth-child(2),
table[data-drupal-selector='edit-potentialmatches'] td:nth-child(2),
table[data-drupal-selector='edit-potentialmatches'] th:nth-child(3),
table[data-drupal-selector='edit-potentialmatches'] td:nth-child(3),
table[data-drupal-selector='edit-potentialmatches'] th:nth-child(5),
table[data-drupal-selector='edit-potentialmatches'] td:nth-child(5),
table[data-drupal-selector='edit-potentialmatches'] th:nth-child(6),
table[data-drupal-selector='edit-potentialmatches'] td:nth-child(6),
table[data-drupal-selector='edit-potentialmatches'] th:nth-child(8),
table[data-drupal-selector='edit-potentialmatches'] td:nth-child(8) {
  width: 80px!important;
  max-width: 80px;
  min-width: 80px;
  overflow: hidden;
  text-wrap: nowrap;
}
table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(5),
table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(6),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(5),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(6),
table[data-drupal-selector='edit-transaction'] th:nth-child(4),
table[data-drupal-selector='edit-transaction'] th:nth-child(5),
table[data-drupal-selector='edit-transaction'] th:nth-child(6),
table[data-drupal-selector='edit-transaction'] td:nth-child(4),
table[data-drupal-selector='edit-transaction'] td:nth-child(5),
table[data-drupal-selector='edit-transaction'] td:nth-child(6),
table[data-drupal-selector='edit-matches'] th:nth-child(5),
table[data-drupal-selector='edit-matches'] th:nth-child(6),
table[data-drupal-selector='edit-matches'] th:nth-child(7),
table[data-drupal-selector='edit-matches'] th:nth-child(8),
table[data-drupal-selector='edit-matches'] td:nth-child(5),
table[data-drupal-selector='edit-matches'] td:nth-child(6),
table[data-drupal-selector='edit-matches'] td:nth-child(7),
table[data-drupal-selector='edit-matches'] td:nth-child(8) {
  text-align: right;
  width: 90px!important;
  max-width: 90px;
  min-width: 90px;
  overflow: hidden;
}

table[data-drupal-selector='edit-invoiceexpenses'] th:nth-child(7),
table[data-drupal-selector='edit-invoiceexpenses'] td:nth-child(7),
table[data-drupal-selector='edit-transaction'] th:nth-child(7),
table[data-drupal-selector='edit-transaction'] td:nth-child(7) {
  width: 90px!important;
  max-width: 90px;
  min-width: 90px;
}

table[data-drupal-selector='edit-invoiceexpenses'] td input.form-number,
table[data-drupal-selector='edit-transaction'] td input.form-number,
table[data-drupal-selector='edit-matches'] td input.form-number {
  -moz-appearance: textfield;
  width: 70px!important;
  max-width: 70px;
  min-width: 70px;
  text-align: right;
}
table[data-drupal-selector='edit-transaction'] th:nth-child(7),
table[data-drupal-selector='edit-transaction'] td:nth-child(7) {
  width: 50px!important;
  max-width: 50px;
  min-width: 50px;
}

table[data-drupal-selector='edit-invoiceexpenses'] td input.form-number::-webkit-outer-spin-button,
table[data-drupal-selector='edit-invoiceexpenses'] td input.form-number::-webkit-inner-spin-button,
table[data-drupal-selector='edit-transaction'] td input.form-number::-webkit-outer-spin-button,
table[data-drupal-selector='edit-transaction'] td input.form-number::-webkit-inner-spin-button,
table[data-drupal-selector='edit-matches'] td input.form-number::-webkit-outer-spin-button,
table[data-drupal-selector='edit-matches'] td input.form-number::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#auto-bank-rec-form table td {
  font-size: 85%;
}
#auto-bank-rec-form table td .form-type-checkbox {
  text-align: center;
}


.toggle-icon {
  color: var(--p3-light-grey);
  font-size: 1rem;
  font-weight: bold;
}
.toggle-icon.on {
  color: var(--p3-orange);
}
#edit-invoiceexpenses_filter input,
#edit-transaction_filter input {
  margin: 0 5px;
  width: 175px;
  box-sizing: border-box;
}

.p3-datatables-wrapper {
  margin-bottom: 3em;
}
.suggested-matches {
  margin-bottom: 1em;
  padding: 1em;
  border: 10px solid var(--p3-light-green);
}

.all-unmatched {
  clear: both;
  margin-bottom: 2em;
  padding: 1em 1em 3em 1em;
  border: 10px solid var(--p3-light-grey);
}
.all-unmatched .dataTables_filter {
  margin-top: -2em;
}


#edit-invoiceexpenses_info,
#edit-transaction_info,
#edit-matches_info {
  display: none;
}

.bank-rec-filters {
  align-items: center;
  gap: 1em;
  justify-content: center;
}
.bank-rec-filters .form-item {
  display: flex;
  align-items: center;
  margin: 0!important;
}
.bank-rec-filters .form-actions {
  margin: 0;
}
.bank-rec-filters .form-item.form-type-checkbox input{
  margin: 0 5px 0 0;
}
.bank-rec-actions-wrapper {
  position: fixed;
  padding: 0.5em 3vw 1em;
  left: 0;
  bottom: 0;
  border-top: 1px solid var(--p3-light-grey);
  background: var(--p3-white);
  width: 100%;
  z-index: 50;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  align-items: center;
}
.bank-rec-actions-wrapper input,
.bank-rec-actions-wrapper .form-actions {
  margin: 0.5em 0 0;
}
.bank-rec-actions-wrapper summary {
  border: none;
  margin: 0;
}
.bank-rec-actions-wrapper .dropbutton-widget {
  border: none!important;
}

/** Dashboard **/

.dashboard-section {
  margin: 1em 0;
  padding: 1em;
  border: 1px solid var(--p3-light-grey);
  position: relative
}
.dashboard-section .text-right {
  width: 110px;
}
.homepage-filter-form {
  position: absolute;
  top: 2px;
  right: 1em;
}

.homepage-filter-form > div {
  align-items: baseline;
}
.homepage-filter-form .form-item {
  margin: 0 0 0 10px!important;
}
.homepage-filter-form .form-actions {
  margin: 0 0 0 10px;
}

.dashboard-section #active-jobs-table tr td:first-child {
  width: 18px;
}


.client-tile {
  display: flex;
  flex-direction: column;
  color: var(--p3-black);
  border: 1px solid var(--p3-light-grey);
  border-radius: 4px;
  padding: 1em;
  text-align: center;
  transition: background 0.3s ease;
  box-sizing: border-box;
  width: 250px;
  min-height: 175px;
  margin: 1em;
  text-decoration: none!important;
  align-self: stretch;
}
.client-tile:hover {
  background-color: var(--p3-extra-light-grey);
  text-decoration: none!important;
}
.client-tile .client-logo img {
  margin-left: auto;
  margin-right: auto;
}
.client-tile .client-title {
  font-size: 1.5em;
  margin-top: auto;
  margin-bottom: auto;
}

/** VAT Returns **/

.before-period td {
  background-color: var(--p3-extra-light-grey);
}
.return-summary table {
  margin-bottom: 1em;
}
.return-summary table.boxes-summary td {
  padding: 5px;
}
.return-summary table.boxes-summary td.total {
  text-align: right;
  font-weight: bold;
}
.return-summary [id^="sumcol"]:before {
  background: var(--p3-dark-grey);
  color: #fff;
  padding: 2px 5px;
  border-radius: 50px;
  margin-right: 5px;
  font-size: 0.9em;
}
.return-summary .vat-return-invoices td[id^="sumcol-"][id$="-3"]:before {
  content: 'A';
}
.return-summary .vat-return-invoices td[id^="sumcol-"][id$="-4"]:before {
  content: 'B';
}
.return-summary .vat-return-invoices td[id^="sumcol-"][id$="-5"]:before {
  content: 'C';
}
.return-summary .vat-return-expenses td[id^="sumcol-"][id$="-7"]:before {
  content: 'D';
}
.return-summary .vat-return-expenses td[id^="sumcol-"][id$="-8"]:before {
  content: 'E';
}
.return-summary .vat-return-expenses td[id^="sumcol-"][id$="-9"]:before {
  content: 'F';
}
.return-summary .vat-return-expenses td[id^="sumcol-"][id$="-10"]:before {
  content: 'G';
}
.return-summary table tr.not-in-use td {
  color: var(--p3-light-grey);
}

/** Authenticator **/

.rmm-link {
  position: relative;
}
.view-authenticator-keys-blocks .copy-link img {
  height: 28px;
  padding-top: 5px;
}
.rmm-link img {
  padding-top: 2px;
}
.authenticator-token {
  display: flex;
  gap: 0.5em;
  align-items: center;
  font-size: 1.8em;
}

/** Issues **/

.issue-comment {
  border-bottom: var(--p3-black) 1px solid;
}

/** Calendar **/

.fc-event:has(.outstanding) {
  background-color: var(--p3-red)!important;
  border-color: var(--p3-red)!important;
}
.fc-event:has(.completed) {
  background-color: var(--p3-green)!important;
  border-color: var(--p3-green)!important;
}
.fc-event:has(.cancelled) {
  background-color: var(--p3-dark-grey)!important;
  border-color: var(--p3-dark-grey)!important;
}
.view-reminder-instances tbody .fc-row {
  height: 10vh!important;
}
.view-reminder-instances .fc-row table {
  margin: 0;
}
.fc .fc-row .fc-content-skeleton td {
  background: transparent!important;
  border-color: transparent!important;
}

.fc .fc-row .fc-content-skeleton td.fc-day-top {
  border-top: 1px solid lightgray!important;
  border-right: 1px solid lightgray!important;
}
.fc .fc-row .fc-content-skeleton td.fc-event-container {
  border-left: 1px solid lightgray!important;
  border-right: 1px solid lightgray!important;
}
.fc tr:hover {
  background: unset;
}
.fc-scroller {
  height: 60vh!important;
}
.dark-mode .fc-unthemed td.fc-today {
  background: var(--p3-mid-grey)!important;
}
.fc-view-container table tbody tr {
  background-color: transparent!important;
}
.dark-mode a.fc-event {
  color: var(--p3-white)!important;
}

/** Login **/

.user-login {
  background-color: #404040;
  background-image: url('/themes/p3/images/loginBackground.png');
  background-repeat: no-repeat;
  background-size: 100%;
  min-height: 100vh;
  color: #fff;
  text-align: center;
}

.user-login .layout-content {
  padding-top: 10vw;
}

.user-login .button {
  margin: 0;
  width: 200px;
  border-radius: 5px;
  height: 30px;
  font-size: 1rem;
}
.user-login .button .ms-Icon {
  width: 18px
}
.user-login .button:hover {
  background-color: var(--p3-orange)!important;
  color: var(--p3-black)!important;
}

.user-login .button.icon img {
  margin-right: 12px;
}
.user-login .other-login {
  margin-top: 5em;
  display: block;
}
.user-login #messages {
  max-width: 50%;
  margin: auto;
}

.user-login form input[type="email"],
.user-login form input[type="text"] {
  height: 45px;
  max-width: 500px;
  font-size: 1.4em;
  text-align: center;
}
.user-login a:not(.button) {
  color: var(--p3-white)!important;
}

#gold-client-contract-review-filter-form .flex {
  align-items: baseline;
}
#gold-client-contract-review-filter-form .form-item {
  margin: 0;
}
#gold-client-contract-review-filter-form .form-actions {
  margin: 0 0 0 5px;
}
#gold-client-contract-review-filter-form input[type="text"]{
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  margin: 0 5px 1em 1px;
}
#gold-client-contract-review-filter-form .date-filter-arrow {
  position: relative;
  top: 16%;
  font-size: 1.5em;
  left: -2px;
  color: #999;
}
.path-gold-client-contract-review .chartjs-wrapper {
  margin-top: 2em;
  height: 300px;
}
.path-gold-client-contract-review .chartjs-wrapper canvas {
  margin: auto;
  width: 80vw;
}


/** Dunning **/

#trigger-dunning-form #edit-clients tr td:first-child {
  text-align: center;
  width: 30px;
  max-width: 30px;
}
#trigger-dunning-form #edit-clients tr td:nth-child(4) {
  text-align: right;
}

#trigger-dunning-form #edit-clients .recently-dunned,
#trigger-dunning-form #edit-clients .recently-dunned a {
  color: var(--p3-light-grey)!important;
}




.retired,
.retired .green-text,
.retired .red-text { 
  color: var(--p3-light-grey)!important;
}

/** Tickets **/

form.client-tickets-filter-form {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1em;
}
form.client-tickets-filter-form .form-item {
  margin-right: 0.75em !important;
  display: flex;
  flex-direction: column;
  margin-top: 0;
}
form.client-tickets-filter-form .form-actions {
  margin: 3px 
}
form.client-tickets-filter-form .date-filter-arrow {
  position: relative;
  top: 12%;
  font-size: 1.5em;
  left: -4px;
  color: #999;
}
.notice.notes.ticket {
  background: var(--p3-white);
  padding: 0 20px;
}

.addbutton.raise-ticket {
  margin-left: 10px!important;
}

/** Files **/

.client-file,
.client-folder {
  display: flex;
  align-items: center;
  gap: 0.5em;
  text-decoration: none!important;
  font-weight: normal!important;
}
.client-files-search-form .form-type-textfield {
  margin-right: 1em;
  width: min-content;
}
.client-files-search-form .form-type-textfield input {
  margin: 0;
}
.client-files-search-form .flex {
  align-items: baseline;
}
.uploading-files  {
  float: right;
  clear: both;
  display: block;
  padding: 1em;
  background: var(--p3-extra-light-grey);
  margin: 1em 0;
}
.cutting-file,
.cutting-file a {
  color: var(--p3-light-grey)!important;
}

@media screen and (max-width: 1175px) {
  .block.menu--account {
    display: none;
  }
  .view-clients.view-display-id-block_1 .select2-container {
    max-width: 200px;
  }
  .homepage-filter-form {
    position: relative;
    margin: -5px 5px 3px 5px;
  }
}

@media screen and (max-width: 900px) {
  .hello {
    display: none;
  }
  /* .view-clients.view-display-id-block_1 {
    margin: 10px 0.5em 0 1em;
  } */

  .p3-user-menu {
    margin-left: auto;
  }
  .p3-user-menu .button {
    margin-left: 0.5em;
    margin-right: 0.5em;
  }
  #p3-user-menu .button {
    margin: 5px 0 0 0.2em;
    font-size: 0.75em;
  }
  
}