html {
  font-size: 14px;
  overflow-x: hidden;
}

footer {
  width: 100vw;
  background-color: var(--theme-primary-color);
  color: var(--theme-text-color);
}

footer a {
  color: var(--theme-text-color);
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem var(--theme-text-color), 0 0 0 0.25rem #575e94;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  background-color: var(--theme-primary-color);
}

main {
  background-color: var(--bs-body-bg);
  min-height: 90vh;
  padding: 5px;
}

#maincontainer {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.navbar {
  background-color: var(--theme-primary-color) !important;
}

.navbar a {
  color: var(--theme-text-color) !important;
}

.dropdown-menu {
  background-color: var(--theme-primary-color);
}

a.dropdown-item:hover {
  background-color: #6c757d;
}

.bg-primary {
  background-color: var(--theme-primary-color) !important;
}

.btn-primary {
  background-color: var(--theme-primary-color);
  border-color: var(--theme-primary-color);
}

.btn-primary:hover {
  background-color: var(--theme-secondary-color);
}

.btn-icon {
  width:150px;
  margin: 8px;
  border-radius: 15px;
  border:2px solid white;
  background-color: var(--theme-primary-color);
  color: white;
  text-decoration:none;
}

.btn-icon:hover {
  background-color: var(--theme-secondary-color);
}

.nav-pills .nav-link.active,
.nav-pills .show>.nav-link {
  color: #fff;
  background-color: var(--theme-primary-color);
}

.nav-link {
  color: var(--theme-primary-color);
}

table {
  border-collapse: separate;
  border-radius: 5px;
  border: 1px solid #ced4da;
  overflow-x: auto;
  width: 100%;
}

td,
th {
  padding: 0.5rem !important;
}

th {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  font-weight: 300 !important;
}

th {
  font-weight: bolder;
  border: none !important;
}

td:first-child,
th:first-child {
  border-left: none;
}

.selected {
  background-color: #0033a121;
  border: 2px solid #0f2f4b8e !important;
}

small {
  font-size: 0.6rem;
}

@media screen and (max-width: 768px) {
  h2 {
    font-size: 1.5rem !important;
  }
}

.checkbox-lg {
  transform: scale(2);
}

[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
  display: none !important;
}

.brand_logo_container {
  position: absolute;
  /* top: -75px; */
  border-radius: 50%;
  background: var(--theme-primary-color);
  padding: 10px;
  text-align: center;
}

.brand_logo_container.danger {
  background: #dc3545 !important;
}

.brand_logo {
  height: 150px;
  width: 150px;
  border-radius: 50%;
  border: 2px solid var(--theme-text-color);
}

.dropdown-divider {
  border-top: 1px solid var(--theme-text-color) !important;
}

.rainbow-box {
  width: 100vw;
  border-radius: 5px;
  background: linear-gradient(
      90deg,
      rgba(255, 0, 0, 1) 0%,
      rgba(255, 154, 0, 1) 10%,
      rgba(208, 222, 33, 1) 20%,
      rgba(79, 220, 74, 1) 30%,
      rgba(63, 218, 216, 1) 40%,
      rgba(47, 201, 226, 1) 50%,
      rgba(28, 127, 238, 1) 60%,
      rgba(95, 21, 242, 1) 70%,
      rgba(186, 12, 248, 1) 80%,
      rgba(251, 7, 217, 1) 90%,
      rgba(255, 0, 0, 1) 100%
  );
}

.payment-option {
      cursor: pointer;
      background-color: white;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0px;
      border: 1px solid #c3c1c1;
      border-radius: 5px;
      transition: background-color 0.3s;
      margin-bottom: 10px;
  }

  .selected {
    background-color: rgb(216, 243, 189);
    border: 1px solid green;
  }

  .check-icon {
      display: none;
      color:green;
      margin-top: 2px !important;
  }

  .payment-option.selected .check-icon {
      display: block;
  }

  .alert ul { margin-bottom: 0; padding-left: 0; }
  .alert li  { list-style: none; }      

  .flash {
    animation: flash 3s linear infinite;
  }

  @keyframes flash {
      0%, 100% { opacity: 1; }
      50% { opacity: 0; }
  }

  /* The container for the camera viewfinder */
  #reader {
      width: 100%;
      max-width: 400px;
      border: 1px solid #ccc;
      border-radius: 8px;
      overflow: hidden;
  }

  #reader button {
      /* Overwrite default browser button styles */
      background-color: var(--theme-primary-color); /* A nice primary blue */
      color: white;
      border: none;
      padding: 12px 24px;
      font-size: 16px;
      font-weight: 400;
      border-radius: 8px;
      cursor: pointer;
      transition: background-color 0.2s ease, transform 0.1s ease;
      box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
      
      /* Center the button horizontally if the library doesn't */
      display: block;
      margin: 10px; 
  }

 