:root {
  --brown-200: #F9E0BB;
  --brown-400: #FFC26F;
  --brown-600: #C38154;
  --brown-800: #884A39;
  --brown-900: #8E3200;
  --bs-body-color: var(--brown-800);
  --bs-link-color: var(--brown-800);
  --bs-link-hover-color: var(--brown-900);
}

.bg-brown-200 {
  background-color: var(--brown-200);
}

.bg-brown-400 {
  background-color: var(--brown-400);
}

.bg-brown-600 {
  background-color: var(--brown-600);
}

.bg-brown-800 {
  background-color: var(--brown-800);
}

.bg-brown-900 {
  background-color: var(--brown-900);
}

.text-brown-200 {
  color: var(--brown-200);
}

.text-brown-400 {
  color: var(--brown-400);
}

.text-brown-600 {
  color: var(--brown-600);
}

.text-brown-800 {
  color: var(--brown-800);
}

.text-brown-900 {
  color: var(--brown-900);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brown-800);
  --bs-btn-border-color: var(--brown-800);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brown-900);
  --bs-btn-hover-border-color: var(--brown-900);
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brown-900);
  --bs-btn-active-border-color: var(--brown-900);
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: var(--brown-600);
  --bs-btn-disabled-border-color: var(--brown-600);
}

.btn-link {
  --bs-btn-font-weight: 400;
  --bs-btn-color: var(--bs-link-color);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: transparent;
  --bs-btn-hover-color: var(--bs-link-hover-color);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-color: var(--bs-link-hover-color);
  --bs-btn-active-border-color: transparent;
  --bs-btn-disabled-color: #6c757d;
  --bs-btn-disabled-border-color: transparent;
  --bs-btn-box-shadow: 0 0 0 #000;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  text-decoration: underline;
}

body {
  color: var(--brown-800);
  background-color: var(--brown-200);
}

label.required {
  position: relative;
}

label.required::after {
  content: "*";
  color: var(--bs-danger);
  position: absolute;
  top: 0;
  right: -12px;
}

.hidden {
  display: none !important;
}

.main-nav {
  --main-nav-h: 56px;
  width: 100%;
  height: var(--main-nav-h);
  background-color: var(--brown-800);
  display: flex;
  align-items: center;
  padding: 0 1rem;
}

.main-nav .nav-logo {
  border-radius: 100%;
  width: 42px;
  height: 42px;
  object-fit: cover;
}

.main-nav .btn-toggle-menu {
  width: var(--main-nav-h);
  height: var(--main-nav-h);
  background: transparent;
  border: none;
  color: white;
  margin-left: 0.2rem;
}

.main-nav .btn-toggle-menu:active {
  background-color: var(--brown-600);
}

.main-nav .btn-profile-menu {
  width: var(--main-nav-h);
  height: var(--main-nav-h);
  background: transparent;
  border: none;
  color: white;
  margin-left: 0.2rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
}

.main-nav .btn-profile-menu:active,
.main-nav .btn-profile-menu.show {
  background-color: var(--brown-600);
}

#offcanvasMenu {
  width: 300px !important;
}

#loadingComponent {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
}

#toastContainer {
  z-index: 9998;
}

.btn-add-bill {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 42px;
  height: 42px;
  border-radius: 100%;
  background-color: var(--brown-800);
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  box-shadow: 0 0 3px 3px var(--brown-200);
}

.bill-item {
  border-bottom: 1px dashed #ccc;
  margin-bottom: 1rem;
}

.bill-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.bill-sumary {
  width: calc(100% + 32px);
  margin-left: -16px;
  padding: 1rem;
}

.custom-collapse-panel {
  padding: .6rem 1rem;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.offcanvas {
  z-index: 2000;
}

.offcanvas-backdrop {
  z-index: 1990;
}

.drowpdown-no-caret::after {
  display: none !important;
}

.cbo-bill-services {
  padding-right: 1.8rem;
}

.btn-clear-service-name {
  position: absolute;
  top: 0;
  right: 2px;
  color: #dc3545;
  font-size: .9rem;
  display: flex;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
}

#adsPanel {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100vw;
  height: 100vh;
  background-color: #FFC26F;
}

#adsPanel .ads-image img {
  width: 100%;
  height: 100%;
  object-fit: scale-down;
}

#checkInPanel {
  position: fixed;
  top: 56px;
  left: 0;
  width: 100vw;
  height: calc(100vh - 56px);
  z-index: 2;
  background-color: #F9E0BB;
}

.shake {
  animation: shake 2s ease infinite;
}

@keyframes shake {

  0%,
  100% {
    transform: translateX(0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translateX(-10px);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translateX(10px);
  }
}