html {
  height: 100%;
}

body {
  background-color: #fff;
  color: #2c3e50;
  font-family: "Lato";
  min-height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #2c3e50;
  font-family: "Montserrat";
  font-weight: 700;
}

section {
  padding: 6rem 1rem 0 1rem;
}

section h2 {
  font-size: 2.25rem;
  line-height: 2rem;
}

.table.table-bordered {
  background-color: #fff !important;
  color: #2c3e50 !important;
}

.table.table-bordered tbody {
  background-color: #fff !important;
  color: #2c3e50 !important;
}

.table.table-bordered td,
.table.table-bordered th {
  border: 1px solid #dee2e6 !important;
  background-color: #fff !important;
  color: #2c3e50 !important;
}

.table.table-bordered thead th {
  border-bottom: 2px solid #dee2e6 !important;
  background-color: #f8f9fa !important;
  color: #2c3e50 !important;
}

.table.table-bordered tbody td {
  vertical-align: middle;
}

.table.table-striped tbody tr:nth-of-type(odd) {
  background-color: #f2f2f2 !important;
}

.table.table-hover tbody tr:hover {
  background-color: #e9ecef !important;
}

#alert-container .toast {
  color: #fff !important; /* Ensure text is visible on colored backgrounds */
}

@media (min-width: 992px) {
  section {
    padding: 6rem 3rem 0 3rem;
  }
  section h2 {
    font-size: 3rem;
    line-height: 2.5rem;
  }
}

.form-control {
  background-color: #fff;
  border: 1px solid #ced4da;
  color: #495057;
}

#mainNav {
  background-color: #fff;
  font-family: "Montserrat";
  font-weight: 700;
}

#mainNav .navbar-brand {
  color: #fff;
}

#mainNav .navbar-nav {
  letter-spacing: 0.0625rem;
  margin-top: 1rem;
}

#mainNav .navbar-nav li.nav-item a.nav-link {
  color: #fff;
}

#mainNav .navbar-nav li.nav-item a.nav-link:hover {
  background-color: #fff;
  color: #dc4444;
}

#mainNav .navbar-nav li.nav-item a.nav-link:active,
#mainNav .navbar-nav li.nav-item a.nav-link:focus {
  color: #fff;
}

#mainNav .navbar-nav li.nav-item a.nav-link.active {
  color: #dc4444;
}

#mainNav .navbar-toggler {
  font-size: 80%;
  padding: 0.8rem;
}

@media (min-width: 992px) {
  #mainNav {
    -webkit-transition:
      padding-top 0.3s,
      padding-bottom 0.3s;
    -moz-transition:
      padding-top 0.3s,
      padding-bottom 0.3s;
    transition:
      padding-top 0.3s,
      padding-bottom 0.3s;
  }
  #mainNav .navbar-brand {
    font-size: 2em;
    -webkit-transition: font-size 0.3s;
    -moz-transition: font-size 0.3s;
    transition: font-size 0.3s;
  }
  #mainNav .navbar-nav {
    margin-top: 0;
  }
  #mainNav .navbar-nav > li.nav-item > a.nav-link.active {
    background: #dc4444;
    color: #fff;
    padding-bottom: 0.8rem;
    padding-top: 0.8rem;
  }
  #mainNav .navbar-nav > li.nav-item > a.nav-link.active:active,
  #mainNav .navbar-nav li.nav-item a.nav-link.active:focus,
  #mainNav .navbar-nav li.nav-item a.nav-link.active:hover {
    background: #dc4444;
    color: #fff;
  }
}

a {
  color: #dc4444;
}

a:focus,
a:hover,
a:active {
  color: #c82525;
}

.btn {
  border-width: 2px;
}

.bg-primary {
  background-color: #dc4444 !important;
}

.bg-secondary {
  background-color: #2c3e50 !important;
}

.btn-primary {
  background-color: #dc4444;
  border-color: #dc4444;
}

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

.btn-secondary {
  background-color: #2c3e50;
  border-color: #2c3e50;
}

.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active {
  background-color: #1a252f;
  border-color: #1a252f;
  color: #fff;
}