/***** VARS *****/
:root {
  --primary: #043d10;
  --primarydark: #021806;
  --primarylight: #5ec8b4;
  --secondary: #C19A23;
  --secondarydark: #97781c;
  --red: #dc3545;
}

/***** FONTS *****/
@font-face {
  font-family: 'HelveticaNeue';
  src: url('../fonts/HelveticaNeue-Roman.woff2') format('woff2'),
      url('../fonts/HelveticaNeue-Roman.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeue';
  src: url('../fonts/HelveticaNeue-Italic.woff2') format('woff2'),
      url('../fonts/HelveticaNeue-Italic.woff') format('woff');
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: 'HelveticaNeue';
  src: url('../fonts/HelveticaNeue-Bold.woff2') format('woff2'),
      url('../fonts/HelveticaNeue-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'HelveticaNeue';
  src: url('fonts/HelveticaNeue-BoldItalic.woff2') format('woff2'),
      url('fonts/HelveticaNeue-BoldItalic.woff') format('woff');
  font-weight: 700;
  font-style: italic;
}

@font-face {
  font-family: 'HelveticaCondensedBold';
  src: url('../fonts/helveticaneue-condensedbold-webfont.woff2') format('woff2'),
       url('../fonts/helveticaneue-condensedbold-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

/***** BOOTSTRAP EXTENSION *****/
.measure { background: pink; display: block; width: 100%; height: 30px; } .measure:after {  content: 'XS'; }
@media (min-width: 576px) { .measure { background: red; } .measure:after {  content: 'SM'; } }
@media (min-width: 768px) { .measure { background: yellow; } .measure:after {  content: 'MD'; } }
@media (min-width: 992px) { .measure { background: orange; } .measure:after {  content: 'LG'; } }
@media (min-width: 1200px) { .measure { background: green; } .measure:after {  content: 'XL'; } }
@media (min-width: 1400px) { .measure { background: blue; } .measure:after {  content: 'XXL'; } }

.row-cols-10 > * {
  flex: 0 0 auto;
  width: 10%;
}

@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
}

@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .row-cols-xl-8 > * {
    flex: 0 0 auto;
    width: 12.5%;
  }
}

@media (min-width: 1400px) {
  .row-cols-xxl-10 > * {
    flex: 0 0 auto;
    width: 10%;
  }
}

/***** BUTTONS *****/
.btn-primary {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important; 
}

.btn-primary.disabled, .btn-primary:disabled {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important; 
}

.btn-primary:focus {
  -webkit-box-shadow: 0 0 0 0.2rem var(--primarylight);
  box-shadow: 0 0 0 0.2rem var(--primarylight); 
}

.btn-primary:hover {
  background-color: var(--primarydark) !important;
  border-color: var(--primarydark) !important; 
}

.btn-secondary {
  background-color: var(--secondary) !important;
  border-color: var(--secondary) !important; 
}

.btn-secondary.disabled, .btn-secondary:disabled {
  background-color: var(--secondary) !important;
  border-color: var(--secondary) !important; 
}

.btn-secondary:focus {
  -webkit-box-shadow: 0 0 0 0.2rem #e8d7c8;
  box-shadow: 0 0 0 0.2rem #e8d7c8; 
}

.btn-secondary:hover {
  background-color: var(--secondarydark) !important;
  border-color: var(--secondarydark) !important; 
}

.btn-pale {
  background-color: #E9F0EE !important;
  border: none !important;
  color: var(--primary);
}

.btn-pale:focus, .btn-pale:hover {
    background-color: #c2d6d0!important;
    color: #000; 
}
            
.bi {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin-top: -8px;
}

.btn .bi {
  margin-right: 10px;
}

/***** CARDS *****/

.card {
  border-radius: 0;
  margin-bottom: 20px;
}

.card .card-header {
  padding: 10px 30px;
  font-weight: bold;
  border-radius: 0;
}

.card .card-header.coloured {
  background: var(--primary);
  color: white;
}

.card:not(.padless) .card-body {
  padding: 30px;
}

.card-table .card-body {
  padding: 0px;
}

.card-table .table thead, .card-table .table th  {
  background-color: #F8F8F8;
  border: none;
}

.card-table .table {
  margin-top: 0px;
}

.card-table .table th:first-child, .card-table .table td:first-child {
  padding-left: 30px;
}

.card-table .table th:last-child, .card-table .table td:last-child {
  padding-right: 30px;
}

.card.faded {
    border-style: dashed;
    opacity: 0.5;
    color: grey;
}

.card.faded .card-header {
  border-bottom-style: dashed;
  background: #FEFEFE;
}     

/***** DATATABLES *****/

.table {
  margin-top: 20px;
}

thead {
  background: #E9F0EE;
  border: 1px solid grey;
}

.page-link {
  border-color: var(--primary);
  font-weight: normal;
  color: var(--primary);
}

.active .page-link, .active .page-link:hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: white;
}

td form {
  display: inline-block;
}

table.dataTable th.dt-type-numeric, table.dataTable td.dt-type-numeric,
table.dataTable th.dt-type-date, table.dataTable td.dt-type-date {
  text-align: left;
}

.table-bordered thead tr {
  border: none;
}

.table-bordered th {
  border-right: 1px solid lightgrey !important;
}

.table-bordered td.fill {
  background: #f8d7da;
}

.table-bordered td.fillalt {
  background: #fff3cd;
}

.page-link.ellipsis {
  display: none;
}

.page-link:hover {
  border-color: var(--primary);
  background: #ecf8f6;
  color: var(--primary);  
  border-right-width: 1px !important;
}

.page-item:first-child .page-link, .page-item:last-child .page-link {
    color: var(--bs-pagination-disabled-color);
    background-color: var(--bs-pagination-disabled-bg);
    border-color: var(--bs-pagination-disabled-border-color);
}

.page-item:nth-last-child(2) .page-link {
  border-right-width: 2px;
}

.table .btn {
  margin-bottom: 5px;
}

/***** HEADER *****/

.navbar {
  background: var(--primary);
}

.navbar-brand {
  padding-top: .75rem;
  padding-bottom: .75rem;
  background-color: rgba(0, 0, 0, .25);
  box-shadow: none;
}

.navbar-brand img {
  max-height: 50px;
}

.navbar .form-control {
  padding: .75rem 1rem;
}

.navbar-nav {
  justify-content: flex-end;
  align-items: center;
}

.nav i {
  margin-right: 10px;
}

#searchbox {
  margin-right: auto;
}

#searchbox .input-group-text, #searchbox .form-control, #searchbox .form-control:focus {
  background: transparent;
  border: none;
  color: white;
  outline: none;
  box-shadow: none;
}

#searchbox .form-control::placeholder {
  color: lightgray;
}

header .btn .bi {
  margin-top: -4px;
  margin-right: 10px;
}

header .nav-link .bi {
  font-size: 1.5rem;
  margin-top: -4px;
}

header .nav-link:hover .bi {
  color:var(--secondary);
}

header .bi.outstanding {
  color: red;
}

/***** SIDEBAR *****/

@media (min-width: 768px) {
  .sidebar .offcanvas-lg {
    position: -webkit-sticky;
    position: sticky;
    top: 48px;
  }
}

.sidebar {
  min-height: calc(100vh - 54px);
  background-color: #E9F0EE !important;
}

#sidebarMenu {
  background-color: #E9F0EE !important;
}

.sidebar .nav-link {
  font-weight: 500;
  color: var(--primary);
  margin-bottom: 5px;
  padding-left: 1.25rem;
}

.sidebar .nav-link.active, .sidebar .nav-link:hover {
  color: #ffffff;
  background-color: var(--primary);
}

/***** MAIN CONTENT *****/

body {
  background: #f5f7fb !important;
  font-family: "HelveticaNeue", sans-serif;
  font-size: 15px;
}

h1 {
  font-family: "HelveticaCondensedBold", sans-serif;
}

.topbtns {
  text-align: right;
}

.topbtns .btn {
  margin-left: 10px;
}

#headerrow {
  border-bottom: 1px solid var(--secondary);
  align-items: center;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

#cmsnav {
  margin-bottom: 30px;
}

#cmsnav a {
  margin-right: 10px;
}

main a {
  color: var(--primary);
  font-weight: bold;
  text-decoration: none;
}

main a:hover {
  color: var(--secondary);
  text-decoration: none;
}

.data {
  padding-bottom: 10px;
}

.data h5 {
  color: grey;
  font-weight: normal;
  font-size: 1rem;
}

.field {
  padding-bottom: 20px;
}

.field label {
  display: block;
  padding-bottom: 5px;
  font-weight: bold;
}

fieldset {
  padding-right: 20px;
}

fieldset label {
  display: inline !important;
  font-weight: normal !important;
  padding-left: 5px;
}

fieldset input {
  width: auto !important;
  max-width: 100%;
}

fieldset section {
  display: inline-block;
  padding-right: 5px;
  padding-bottom: 5px;
}

.presetbtns {
  display: block;
  padding-top: 10px;
}

.presetbtns a {
  margin-bottom: 5px;
}

.field input, .field select {
  width: 90%;
  padding: 8px;
  border: 1px solid #cccccc;
  border-radius: 4px;
}

main .alert {
  margin-bottom: 40px;
}

main .field .alert {
  margin-bottom: 0px;
  font-size: 0.8rem;
}

.animate
{   
  opacity: 0;
  transition: opacity 1s;
}

.topfilter label {
  font-weight: bold;
  display: inline-block;
  margin-right: 10px;
}

.topfilter select {
  padding: 5px 10px;
}

.topfilter input {
  padding: 2px 10px;
}

.topfilter button {
  margin-top: -3px;
}

.green, .table tr.green td{
  color: var(--primary) !important;
}

.yellow {
  color: var(--secondary) !important;
}

.red, .table tr.red td {
  color: var(--red) !important;
}

.req {
  display: inline-block;
  color: var(--red);
  margin-left: 5px;
}

.alerttext {
  color: var(--red);
  padding-top: 10px;
  font-size: 0.8rem;
}

#shiftTable span {
  display: inline-block;
  padding-left: 10px;
  color:var(--primary);
  width: 50px;
}

#shiftTable td > i {
  color: var(--red);
}

#shiftTable td > i.yellow {
  color: var(--secondary);
}

.shiftmodal p label {
  font-weight: bold;
  display: inline-block;
  width: 150px;
}

.note span {
  font-size: 0.8rem;
  color: var(--primary);
}

.note b {
  display: inline-block;
  padding-right: 10px;
}

.note p {
  font-size: 0.9rem;
}

.note {
  padding-bottom: 10px;
}

.notebox {
  width: 90%;
  padding: 5px;
  border: 1px solid #cccccc;
  height: 150px;
}
.fullwidth {
  width: 100% !important;
  max-width: 100% !important;
}

.smallgap {
  margin-top: 15px;
}


.gap {
  margin-top: 30px;
}

.strikethrough {
  text-decoration: line-through;
}

.doublestrikethrough {
  text-decoration: line-through;
  text-decoration-style: double;
}

#explainbox {
  margin-top: 20px;
}

#explainbox label {
  font-weight: bold;
  display: block;
}

#explainerror {
  display: none;
  margin-top: 5px;
  color: var(--red);
}

#inboxlist b, #inboxlist span {
  display: inline-block;
  margin-right: 10px;
}

#inboxlist form {
  display: inline-block;
}

.accordion-button { background-color: #e0cbb8; color: white; }
.accordion-button:not(.collapsed) { background-color: #ba895d; color: white; }
.accordion {
    --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.infobox .card
{
  font-size: 0.8rem;
  background: #edf0f8;
  border-radius: 10px;
  border-style: dashed;
  color: grey;
  margin-bottom: 30px;
}

.infobox .card label
{
  font-weight: bold;
  display: inline-block;
  margin-right: 5px;
}

.infobox .card-body div
{
  display: inline-block;
  padding-right: 20px;
}


/***** LOADING SPINNER *****/
.loading {
  position:absolute;
  top: 50%;
  left: 0;
  background: #2a2a2a55;
  width: 100%;
  display:block;
  text-align:center;
  height: 300px;
  color: #FFF;
  transform: translateY(-50%);
  z-index: 2000;
  padding-top: 100px;
}

.loading .spinner-grow {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 20px;
}

.overlay {
  position: fixed;
	width: 100%;
	height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 1000;
}

.loading, .overlay {
  opacity: 0;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-delay: 0.5s;
  animation-iteration-count: 1;
  animation-name: fadeIn;
  animation-fill-mode: forwards;
}

@keyframes fadeIn {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

/***** CHOSEN *****/
.chosen-container {
  width: 90% !important;
}

.chosen-container-single .chosen-single, .chosen-container-active .chosen-single, .chosen-container-active.chosen-with-drop .chosen-single {
  background: white;
  box-shadow: none;
}

.chosen-container-single .chosen-single div b {
  background-position-x: 5px;
  background-position-y: 5px;
}

.chosen-container-single .chosen-single span {
  font-weight: normal;
}

.chosen-container-single .chosen-search:after {
  background: white;
}

.chosen-container-single .chosen-single span {
    color: black;
}

.chosen-container-multi .chosen-choices li.search-field input[type=text] {
  color: black;
}

.chosen-container-active .chosen-choices {
  box-shadow: none;
}

/***** REPORTS *****/
#reportfilter {
  margin-bottom: 30px
}

#reportfilter label {
  font-weight: bold;
  margin-right: 20px;
}

#reportfilter .btn {
  padding-bottom: 2px;
  margin-top: -5px;
  margin-left: 10px;
}

#reportfilter .btn .bi {
  margin-right: 0px;
}

#reportlist h4 {
  margin-bottom: 0;
}

#reportfilter section {
  display: inline;
}

#reportfilter .row {
  padding-bottom: 20px;
}

#planning .card {
  border-width: 1px;
}

#planning .sticky-top {
  border-bottom: 5px solid black;
}

#planning .card .card-body {
  padding: 0;
  font-size: 0.8rem;
}

#planning .card .card-header {
  padding: 0.5rem 1rem;
  font-size: 0.8rem;
  border-color: #F8F8F8;
}

#planning .filled {
  background: #ffffcc;
}

#planning .card p {
  padding: 0.5rem 1rem;
  margin-bottom: 0;
}

#planning .client {
  font-weight: bold;
}

#planning .client a, #planning .client a:hover {
  color: black;
}

.apexcharts-legend-series {
  margin-bottom: 10px !important;
}

.statcards h6 {
  margin-bottom: 20px;  
}

.statcards p {
  font-size: 0.8rem;
  margin-bottom: 0;
}

.statcards span {
  display: block;
  font-weight: bold;
  margin-bottom: 10px;
}

.emphasise {
  font-size: 2rem;
  font-weight: bold;
}

.pieLegends {
  padding-top: 20px;
}

.pieLegends span {
  display: block;
  padding-bottom: 10px;
  font-weight: bold;
}

/***** CMS *****/

.imgpreview {
    width: 80%;
    min-height: 100px;
    margin-bottom: 10px;
    display: block;
    border: 1px solid #dce7f1;
    border-radius: 0.25rem;
}

.imgbuttons {
    margin-top: 20px;
}

.mediapreview {
    width: 100%;
    min-height: 100px;
    margin-bottom: 10px;
    display: block;
    border: 1px solid #dce7f1;
    border-radius: 0.25rem;
}

#cmsheaderrow {
  align-items: center;
  padding-top: 20px;
  padding-bottom: 20px;
}