@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;700&display=swap');

:root {
  --mdb-font-roboto: 'Outfit', sans-serif;
  --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;
}

@media (min-width: 1400px) {
  .default main,
  .default header,
  .default footer,
  .default #main-navbar {
    padding-left: 240px;
  }
}

main {
  padding-top: 60px;
}

.top-nav-logo { 
  width: 220px;
  height: 50px;
  background-image: url('/assets/admin/images/logo.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.login-logo {
  width: 350px;
  height: 60px;
  background-image: url('/assets/admin/images/logo.svg');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.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;
}

.datatable-header .dataTables_filter {
  flex-grow: 1;
}

.datatable-header div.dt-buttons {
  width: auto;
}

.datatable-header div.dt-button-collection ul.dropdown-menu {
  border-radius: 0;
  width: 78px;
  text-align: center;
}

.datatable-header .dropdown-menu>li, .datatable-header .dropdown-menu>li:last-child {
  padding: 5px;
  border-radius: 0;
}

.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;
}

.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%;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.3);
	z-index: 100;
}

.loading-spinner > img {
	position: absolute; 
	margin: auto; 
	top: 0; 
	left: 0; 
	right: 0; 
	bottom: 0;	
}

.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%);
}

@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 .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;  
}

.multi-carousel .selected {
  border: 3px var(--mdb-success);
  border-style: solid;
}

@media (max-width: 768px) {
  .table > :not(caption) > * > * {
    padding: 0.8rem 0.5rem;
  }
}

.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;
}