:root {
  --primary-color: #1f559a;
}

body {
  background-color: hsl(0, 0%, 97%);
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

footer {
  margin-top: auto;
  padding-top: 1rem;
}

main {
  padding-top: 60px;
}

.top-nav-logo { 
  width: 220px;
  height: 50px;
  background-image: url('/assets/admin/images/logo.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.login-logo {
  width: 350px;
  height: 60px;
  background-image: url('/assets/admin/images/logo.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.dark-theme .top-nav-logo,
.dark-theme .login-logo {
  filter: invert(100%);
}

.validate-form {
  display: grid;
  gap: .5rem;
}

.validate-form .input-group {
  margin-bottom: 1.8rem;
}

.validate-form .form-outline {
  margin-bottom: 1.5rem;
}

.validate-form .select-wrapper .invalid-feedback  {
  margin-top: -1.25rem!important;
}

.validate-form .datetimepicker .invalid-feedback,
.validate-form .datetime-picker .invalid-feedback {
  margin-top: 0.25rem!important;
}

.validate-form .form-switch {
  margin-bottom: 1.0rem!important;
}

.validate-form .form-outline .invalid-feedback {
  margin-top: 0.5rem;
}

.validate-form .input-group .invalid-feedback {
  margin-top: 2.5rem;
}

.validate-form .input-group .invalid-feedback:nth-of-type(2) {
  margin-left: 51%;
}

.validate-form .input-group .form-control[type="file"]:nth-last-child(2),
.validate-form .input-group .form-control[type="text"]:nth-last-child(2) {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem;
}

@media print {
	table.dataTable td:last-child.actions {display:none}
	table.dataTable th:last-child.actions {display:none}
  #main-sidenav {display:none}
}

table.dataTable th:last-child.actions {
  min-width: 80px;
}

table.dataTable {
  margin: 0 !important;
}

table.dataTable.reorder tbody td:first-child {
	cursor: move;
}

table.dataTable.group > tbody > tr > td:first-child:not(.dataTables_empty) {
  padding-left: 2.5em;
}

table.dataTable.group > tbody > tr > td:first-child:not(.dataTables_empty)::before {
  content: "↳";
}

.datatable-header .dataTables_filter {
  flex-grow: 1;
}

.datatable-header div.dt-buttons {
  width: auto;
}

.datatable-header div.dt-buttons .dropdown-menu a.dropdown-item:first-child {
  border-top-left-radius: .5rem;
  border-top-right-radius: .5rem;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.datatable-header div.dt-buttons .dropdown-menu a.dropdown-item:last-child {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border-bottom-left-radius: .5rem;
  border-bottom-right-radius: .5rem;
}

.datatable-header .dataTables_length select {
  font-size: 0.82rem;
}

.datatable-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0.5rem 1.5rem;
}

.datatable-footer .select-info {
  margin-left: .5em;
}

@media (min-width: 768px) {
  .datatable-footer {
      justify-content: space-between;
  }
}

.datatable-footer .dataTables_info {
  line-height: 2rem;
  font-size: .9rem;
}

.dataTables_paginate .pagination {
  margin-bottom: 0;
}

.dataTables_paginate .page-item .page-link, .dataTables_paginate .page-item.active .page-link {
  transition: none;
}

.top-table-scroll {
  overflow-x: auto;
}

.top-table-scroll div {
  height: 15px;
}

.light-theme .page-link, .light-theme .page-link:hover {
  color: #4f4f4f;
}

.light-theme .page-item.active .page-link {
  color: #ffffff;
}

.loading-spinner {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.3);
	z-index: 10000;
}

.loading-spinner > .spinner-border {
	width: 5rem;
  height: 5rem;
}

.bootbox .bootbox-close-button {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  background: transparent url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3E%3C/svg%3E") 50%/1em auto no-repeat;
  border: 0;
  opacity: .5;
  padding: 0.5rem;
  margin: -0.5rem -0.5rem -0.5rem auto;
  float: right;
  color: transparent;
}

.dark-theme .bootbox .bootbox-close-button {
  filter: invert(100%);
}

.dev-banner {
  position: absolute;
  top: 0;
  font-size: 9px;
  width: 100%;
  font-weight: bold;
  background-color: rgba(255, 0, 0, 0.6);
  color: white;
  text-align: center;
}

@media print {
  .hidden-print {
    display: none !important;
  }
  tr.hidden-print {
    display: none !important;
  }
  th.hidden-print,
  td.hidden-print {
    display: none !important;
  }
  .btn-group.hidden-print,
  .btn-group-vertical.hidden-print,
  .btn.hidden-print,
  span.hidden-print,
  i.hidden-print {
    display: none !important;
  }
}

.validate-form .input-group .input-group-text i {
  width: 20px;
  height: 20px;
}

.validate-form .input-group-icon {
  padding: .60rem .75rem;
}

.validate-form .input-group .form-helper {
  right: 10px;
  top: 5px;
  pointer-events: none;
}

.scroll-to-target {
  scroll-margin-top: 70px;
}

.validate-form em.small {
  color: #90a4ae;
}

.timepicker-container {
  overflow-y: hidden;
}

.fixed-button {
  position: fixed;
  bottom: 10px;
  right: 40px;  
}

.report-grid-container {
  display: grid;
  column-gap: 20px;
  row-gap: 20px;
  justify-items: stretch;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .report-grid-container {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1400px) {
  .report-grid-container {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .table > :not(caption) > * > * {
    padding: 0.8rem 0.5rem;
  }
}

/** Timepicker Styles */
.timepicker-ui-clock-hand,
.timepicker-ui-circle-hand,
.timepicker-ui-dot
{
  background-color: var(--primary-color) !important;
}

.timepicker-ui-cancel-btn, .timepicker-ui-ok-btn, .timepicker-ui-cancel-btn.mobile, .timepicker-ui-ok.btn-mobile
{
  color: var(--primary-color) !important;
}

.timepicker-ui-hour:hover, .timepicker-ui-hour.active, .timepicker-ui-minutes:hover, .timepicker-ui-minutes.active, .timepicker-ui-hour.mobile:hover, .timepicker-ui-hour.mobile.active, .timepicker-ui-minutes.mobile:hover, .timepicker-ui-minutes.mobile.active,
.timepicker-ui-am:hover, .timepicker-ui-am.active, .timepicker-ui-pm:hover, .timepicker-ui-pm.active, .timepicker-ui-am.mobile:hover, .timepicker-ui-am.mobile.active, .timepicker-ui-pm.mobile:hover, .timepicker-ui-pm.mobile.active 
{
  color: var(--primary-color) !important;
  background-color: #d6e3f4 !important;
}

.timepicker-ui-wrapper-btn, .timepicker-ui-wrapper-btn.mobile {
  bottom: 0 !important;
}

.count-out-table .green {
  background-color: #d9f6b8;
}

.count-out-table .yellow {
  background-color: #fef1b1;
}

.count-out-table .red {
  background-color: #ffd7d8;
}

.count-out-table .total-red, .count-out-totals .total-red {
  color: #ff4d4f;
}

.count-out-table .total-green {
  color: #52c41a;
}

.sortable-item-dragging {
  z-index: 1055;
}

.sortable-item {
  cursor: grab;
}

.light-theme .list-group .active .form-check-input[type="checkbox"]:checked::after {
  border-color: var(--primary-color)
}

.light-theme .list-group .active .form-check-input[type="checkbox"]:checked:focus {
  background-color: white;
}

.light-theme .list-group .active .form-check-input {
  background-color: white;
  border-color: white;
}

#js-product-variations input[type="text"] {
  min-width: 70px;
}

.seating-sub-type-container {
  margin-left: 2.7rem !important;
}

.fancytree-node span.fancytree-expander { 
  margin-top: 3px;
}

.fancytree-node span.fancytree-checkbox {
  margin-top: 3px;
}