html, body {
  height: 100%;
  overflow: hidden;
}

body {
  margin-bottom: 60px;
}

.init {
  animation: scaleAnimation 0.2s ease-out forwards;
}

.initLarge {
  animation: scaleAnimationLarge 0.8s ease forwards;
}

.shake {
  animation: shake 0.3s;
  animation-timing-function: ease-in-out;
}

@keyframes scaleAnimation {
  0% {
    transform: translateY(-50px);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes scaleAnimationLarge {
  0% {
    transform: translateY(-5vh);
  }
  20% {
    transform: translateY(-10vh);
  }
  100% {
    transform: translateY(0);
  }
}

@keyframes shake {
  0% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-10px);
  }
  50% {
    transform: translateX(10px);
  }
  75% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}

th[role="button"]:hover {
  background-color: var(--bs-light-bg-subtle);
}

.hover-light:not([data-current="1"]):hover {
  background-color: var(--bs-light-bg-subtle) !important;
}

:root {
  --blue: red;
  --income-bg: #2bab20;
  --expense-bg: #2674bd;
  --current-month-bg: rgb(255,193,7);
  --dashboard-add-flow-bg: #acacac;
  --dashboard-add-flow-color: #fff;
  --border-year-gap-color: #dbdbdb;
}

[data-bs-theme="dark"] {
  --income-bg: #497246;
  --expense-bg: #2f608e;
  --current-month-bg: #472a43;
  --dashboard-add-flow-bg: #acacac;
  --dashboard-add-flow-color: #000;
  --border-year-gap-color: #a2a13f;
}

.bg-current-month {
  background-color: var(--current-month-bg);
}

.bg-dashboard-add-flow {
  background-color: var(--dashboard-add-flow-bg);
  color: var(--dashboard-add-flow-color) !important;
}

.border-year-gap {
  --bs-border-color: var(--border-year-gap-color);
}

.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-menu2 {
  position: absolute;
  right: 0px;
  z-index: 100;
}

.dropdown-menu2 li > a, .dropdown-menu2 li > button {
  display: block;
  white-space: nowrap;
  padding: 0.5rem 1rem;
}

summary::-webkit-details-marker {
  display: none;
}

summary::marker {
  content: '';
}

details[open] > summary::before {
  content: ' ';
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 99;
  display: block;
  cursor: default;
  background: transparent;
}

.field-validation-error {
  font-size: 0.8em;
}

.document h1 {
  font-size: 24px;
  font-weight: 600;
  margin: 20px 0;
}

.document h2 {
  font-size: 20px;
  margin: 20px 0;
}

.document ul {
  margin: 20px 0;
  margin-left: 40px;
  list-style: disc;
}

.document li {
  margin: 10px 0;
}

.document p {
  margin: 20px 0;
}

.spinner {
  display: none !important;
}

.hydro-request .spinner {
  display: inline-block !important;
}

.hydro-request .hide-on-request {
  display: none;
}
