table {
  white-space: nowrap !important;
  width: auto;
  margin-left: auto;
  margin-right: auto;
}

.table-responsive {
  width: auto !important;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  padding-top: 50px;
  margin-bottom: 80px;
  overflow-y: scroll;
  font-family: 'Roboto', sans-serif;
}

p {
  margin-bottom: 15px;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
}

h4 {
  margin-top: 20px;
  margin-bottom: 10px;
}

hr {
  margin: 20px 0;
}

.form-group, .mb-3 {
  margin-bottom: 15px;
}

.table td, .table th {
  padding: 10px 8px;
}

/* Custom green navbar styling for Bootstrap 5 */
.navbar {
  background-color: #087f23 !important;
}

.navbar .navbar-brand {
  color: rgba(255, 255, 255, 0.9) !important;
}

.navbar .nav-link {
  color: rgba(255, 255, 255, 0.9) !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
}

.navbar .navbar-brand:hover,
.navbar .nav-link:hover {
  color: #fff !important;
}

.navbar .nav-link.active {
  background-color: rgba(0, 0, 0, 0.2);
  color: #fff !important;
}

.rapidoc {
  padding-top: 10px;
  padding-bottom: 10px;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  min-height: 60px;
  background-color: #ECF0F1;
  padding: 15px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer p {
  margin: 0;
  line-height: 1.5;
}

/* Table header styling - needs higher specificity for DataTables BS5 */
table thead th,
table.dataTable thead th,
.table thead th {
  background-color: #6c757d !important;
  color: white !important;
}

td {
  vertical-align: middle!important;
  font-size: 15px;
}

/* Green primary buttons to match color palette */
.btn-primary {
  background-color: #087f23;
  border-color: #087f23;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #065a19;
  border-color: #065a19;
}

.btn-secondary {
  background-color: #6c757d;
  border-color: #6c757d;
}

/* Status column - override DataTables dt-type-numeric right alignment */
th.status-col,
td.up,
td.down {
  text-align: left !important;
}

td.up {
  background-color: #98ee99!important;
}

td.down {
  background-color: #ff867c!important;
}

td.rejected {
  background-color: #ffcccb!important;
}

.initially-hidden {
  visibility: hidden;
}

.fixed-top {
  font-size: 17px;
}

.right {
  text-align: right;
}

/* Bootstrap 3 style pre element */
pre {
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 10px;
}
