html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: fixed;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

p, span {
  margin: 0;
  padding: 0;
  font-size: 14px;
  text-align: left;
}

/* Button styles */
.btn-light:hover,
.btn-light:focus,
.btn-light:active,
.btn-light.active {
  background-color: #343a40;   /* Light black (Bootstrap dark) */
  border-color: #fff;       /* Even darker border for contrast */
  color: #fff;                 /* White text for contrast */
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.btn-outline-success:hover {
  color: white;
  background-color: #212529;
  border-color: #212529;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3546cc;
  border-color: #dc3546cc;
}

.btn:active,
.btn:focus,
.btn.active,
.btn:active:focus {
  background-image: none;
  outline: 0;
  box-shadow: none;
}

/* Contest card styles */
.contest {
  display: flex;
  justify-content: space-between;
  margin-right: 10px;
}

.left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.logo {
  width: 4rem;
}

.right {
  display: flex;
  align-items: center;
}

.paytm {
  max-width: 14rem;
  max-height: 14rem;
}

.modal-body {
  display: flex;
  justify-content: center;
}

/* Header/contact icons */
#contact {
  display: flex;
  justify-self: flex-end;
  
}

#coffee, #github, #linkedin, #emaila {
  color: #dcdcdc;
  font-size: 2rem;
  transition: all 0.2s;
}

#coffeeb {
  margin-right: 20px;
  padding: 0;
}
#emaila:hover > #emaila, 
#coffeeb:hover > #coffee,
#githuba:hover > #github,
#linkedina:hover > #linkedin {
  color: #fff;
  font-size: 2.3rem;
}

#githuba {
  margin-right: 20px;
  padding: 0;
}

#linkedin {
  padding: 0;
  margin-right: 20px;
}

#emaila {
  padding: 0;
  margin-right: 20px;
}

/* Loading and empty states */
#load, #load1, #load2, #load3 {
  color: white;
  margin-left: auto;
  margin-right: auto;
  font-size: 2rem;
}
#load { margin-top: 25%; font-size: 3rem; }
#load1 { margin-top: 15%; font-size: 3rem; }
#load2 { margin-top: 5%; font-size: 2rem; }
#load3 { margin-top: 1%; font-size: 2rem; }

/* Contest list scrollable area */
#tableContent {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top:0px;
  overflow-y: auto;
  margin-bottom: 10px;
  min-height: 400px;
  flex-grow: 1;
  height: 80vh;
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #212529;
}
::-webkit-scrollbar-thumb {
  background: #fff;
  border-radius: 20px;
}


/* Add or update this block for custom checkbox color */
.form-check-input:checked {
  background-color:#212529  !important;
  border-color: #fff !important;
}

@media (max-width: 991.98px) {
  #top {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }
  #contact {
    justify-content: flex-start;
    margin-top: 1rem;
  }
}

@media (max-width: 767.98px) {
  .container, .container-fluid {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  #tableContent {
    font-size: 1rem;
  }
}

footer,
.navbar-footer,
.navbar.bg-dark.mt-auto {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100vw;
  z-index: 1030; /* above main content */
}


