@font-face {
  font-family: "Arista Pro";
  src: local("Arista Pro Trial Bold"), local("AristaProTrial-Bold"), url("./fonts/subset-AristaProTrial-Bold.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
.logo {
  font-family: "Arista Pro";
  font-weight: bold;
  font-style: normal;
  font-size: 2.25rem;
  line-height: 1;
  color: #3b81a5;
}

.text-bg-beige {
  background-color: #EAE8D0;
}

.quote-bg {
  position: absolute;
  top: 2%;
  left: 14%;
  width: 8rem;
  height: 8rem;
  color: white;
  opacity: 0.8;
  pointer-events: none;
}

.accordion-button {
  font-size: 1.25rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.skew {
  border-bottom: 10vw solid #fff;
  border-left: 100vw solid rgba(0, 0, 0, 0);
  position: absolute;
  inset: 0%;
  overflow: hidden;
  z-index: 1;
  bottom: -1px;
  pointer-events: none;
}

.bg-body-blue, .table-blue, .table-blue th {
  background-color: #3b81a5;
}

.table-blue, .table-blue th {
  color: white;
}

@font-face {
  font-family: "DM Serif Text";
  src: url("DMSerifText-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
.dropdown-item.link-danger:active, .dropdown-item.link-danger.active {
  color: #EAE8D0 !important;
}

form .error {
  display: none;
}

.was-validated :invalid ~ .error, .is-invalid ~ .error {
  display: block;
}

.was-validated .form-control:valid ~ .error {
  display: none;
}

:is(h1, h2, h3, h4, h5, h6, [class^=is-h]) {
  font-family: "DM Serif Text", serif;
}

[class^=is-h] {
  line-height: 1.2;
  font-weight: 500;
}

.is-h3 {
  font-size: 1.75rem;
}

.is-h4 {
  font-size: 1.5rem;
}

.is-h5 {
  font-size: 1.25rem;
}

.is-h6 {
  font-size: 1rem;
  color: #3b81a5;
}

.fit {
  width: fit-content;
}

.container-fluid h1 {
  text-wrap: balance;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 2px solid #eee;
}

.modal .modal-header h1 {
  text-wrap: unset;
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

h1 i {
  background-color: #EAE8D0;
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.hero-banner {
  padding-top: 3rem;
}
.hero-banner h1 {
  background: linear-gradient(45deg, rgb(255, 255, 255), #f1ebb0, rgb(255, 255, 255)) text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(2rem, -0.875rem + 8.333333vw, 3.5rem);
  text-wrap: auto;
}
.hero-pattern {
  position: absolute;
  bottom: -9px;
  left: -1%;
  transform: rotateZ(182deg);
  mix-blend-mode: screen;
  opacity: 0.6;
}

.card {
  --bs-card-spacer-x: 12px;
  box-shadow: 0 0 8px rgba(1, 41, 112, 0.1);
  text-decoration: none;
  overflow: hidden;
}
.card.wave {
  background: url("./img/wave.svg");
  background-repeat: no-repeat;
  background-position: bottom;
  background-size: 122%;
}
.card-footer:not(.visible) {
  display: none;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 400ms ease-in-out;
}
.card:hover .card-footer, .card:focus .card-footer {
  visibility: visible;
  pointer-events: visible;
  opacity: 0.8;
  background-color: #fff;
}
.card-date {
  font-size: 0.875rem;
}
.card-number {
  bottom: 3px;
}

.nowrap {
  white-space: nowrap;
}

.info {
  padding: 1.5rem 1rem;
  border-radius: 6px;
  color: #333;
  line-height: 1.4;
}
.info-grey {
  background: #eee;
}

.search-label + .bi-search {
  position: absolute;
  top: 2px;
  opacity: 0.6;
  padding: 9px;
  display: flex;
  align-items: center;
  pointer-events: none;
}
.search-label + .bi-search + input {
  padding-left: 1.75rem;
}

.login-page {
  max-height: 100%;
}
.login-page__wrapper {
  margin-top: 2rem;
}
.login-page__wrapper h1.logo-login {
  margin-top: calc(1rem + 6vw);
  font-family: "Arista Pro" !important;
  font-size: 2.875rem;
  line-height: 1;
  color: #3b81a5;
  border-bottom: 0;
}
.login-page__side-picture {
  position: relative;
  max-height: 25vh;
  overflow: hidden;
}
.login-page__side-picture img {
  object-fit: cover;
  width: -webkit-fill-available;
  background-color: #3b81a5;
  border-radius: 25px;
  min-height: 14rem;
}
.login-page__side-picture::after {
  content: "";
  background-color: rgba(121, 235, 255, 0.7);
  position: absolute;
  inset: 0;
  z-index: 1;
  mix-blend-mode: soft-light;
}
.login-page .logo {
  max-width: 100%;
  width: clamp(10rem, 21vw, 16rem);
  margin-bottom: 3rem;
  margin-top: 6rem;
}
@media (min-width: 768px) {
  .login-page__wrapper {
    margin-top: 3rem;
    padding-left: 0;
    padding-right: 0;
    border: 4px #fff solid;
    border-radius: 25px;
    height: calc(100vh - 6rem);
    width: calc(100% - 6rem);
    overflow: hidden;
    box-shadow: 0 0 27px 7px #e0e0e0;
  }
  .login-page__wrapper h1.logo-login {
    margin-top: 7rem;
    font-size: clamp(3rem, 7vw, 7rem);
  }
  .login-page__side-picture {
    max-height: none;
    overflow: auto;
  }
  .login-page__side-picture img {
    height: 100vh;
    min-height: none;
  }
}

.navbar-rf {
  background: rgba(var(--bs-tertiary-bg-rgb));
}
.navbar-rf .navbar-brand {
  width: 100%;
  margin: auto;
  text-align: center;
}

.navbar-toggler {
  border: 0;
  background-color: #EAE8D0;
}

.main {
  margin-block-start: 108px;
  min-height: calc(100vh - 120px);
}
.main .navbar {
  padding: 0 1rem 10px;
  top: 58px;
}
.main .container-fluid {
  border: 2px #eee solid;
  padding: 2rem 1.5rem;
  border-radius: 5px;
}
.main .container-fluid img {
  object-fit: cover;
  min-height: 9rem;
}
.main .container-fluid .long-img img {
  width: 100%;
  height: 32vh;
  height: calc(30vh + 4vw);
  filter: grayscale(0);
  background-color: #EAE8D0;
  min-height: 8rem;
  transition: all 300ms ease-in-out;
  transform: scale3d(1.1, 1.1, 1.1);
  opacity: 0.3;
  animation: heroBanner 2000ms cubic-bezier(0.7, 0, 0.3, 1) 500ms forwards;
}
.main .container-fluid .long-img button.btn {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding: 0;
}
.main .container-fluid .long-img button.btn:hover img, .main .container-fluid .long-img button.btn:focus img {
  filter: grayscale(0.5);
}
.main .flatpickr-day {
  color: rgb(15, 119, 15);
}
.main .flatpickr-day.flatpickr-disabled, .main .flatpickr-day.flatpickr-disabled:hover {
  background-color: #ff7575;
  color: white;
}

@keyframes heroBanner {
  to {
    transform: scale3d(1, 1, 1);
    opacity: 1;
  }
}
.aside-rf {
  position: fixed;
  background: rgba(var(--bs-tertiary-bg-rgb));
  transition: all 350ms ease-in-out;
}
.aside-rf .navbar-nav--bottom {
  padding: 1rem;
}
.aside-rf .nav-item {
  margin-bottom: 9px;
  position: relative;
}
.aside-rf .nav-content {
  padding: 0;
  margin: 9px 0 0;
  list-style: none;
}
.aside-rf .nav-content a:focus, .aside-rf .nav-content a:hover {
  text-decoration: underline;
}
.aside-rf .nav-link {
  display: flex;
  align-items: center;
  color: currentColor;
  font-size: 1.125rem;
  border-radius: 5px;
  padding-left: 0.5rem;
}
.aside-rf .nav-link i {
  margin-right: 0.5rem;
  transition: transform 0.2s ease-in-out;
}
.aside-rf .nav-link i.bi-chevron-down {
  font-size: 14px;
  transform-origin: 7px 12px;
}
.aside-rf .nav-link span {
  margin-right: 0.5rem;
  margin-left: 0.25rem;
  transition: all 500ms ease-in-out;
  overflow: hidden;
}
.aside-rf .nav-link:not(.collapsed) .bi-chevron-down {
  transform: rotate(180deg);
  transform-origin: 7px 12px;
  display: inline-block;
}
.aside-rf .nav-link.active {
  color: currentColor;
}
.aside-rf .nav-link[aria-expanded=true] {
  background-color: #468fb5;
}
.aside-rf .nav-link-parent {
  position: relative;
}
.aside-rf .nav-link-new {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 4px;
  top: 50%;
  transform: translateY(-50%);
  padding: 0 0 2px 0;
  background-color: #EAE8D0;
  color: #3b81a5;
  font-size: 1rem;
  border-radius: 100%;
  width: 22px;
  height: 22px;
  text-decoration: none;
  z-index: 1;
  transition: all 300ms ease-in-out;
}
.aside-rf .nav-link-new:hover, .aside-rf .nav-link-new:focus {
  opacity: 0.8;
  outline: 2px solid white;
}
.aside-rf .nav-link-new:hover ~ .nav-link-parent, .aside-rf .nav-link-new:focus ~ .nav-link-parent {
  background-color: #468fb5;
}
.aside-rf .nav-link ~ ul .nav-link {
  font-size: 15px;
  padding-left: 1.25rem;
  width: calc(100% - 1rem);
  margin-inline-start: auto;
}
.aside-rf .nav-link ~ ul .nav-link ~ .nav-content {
  margin-left: 29px;
}
.aside-rf .nav-link ~ ul .nav-link:not(.collapsed) .bi-chevron-down {
  transform-origin: 7px 10px;
}
.aside-rf .offcanvas-body {
  background-color: #3b81a5;
  color: white;
}

.content {
  padding: 1rem;
  transition: all 400ms ease-in-out;
}

.footer-rf {
  font-size: 14px;
}

.toshow {
  height: 0;
  opacity: 0;
  pointer-events: none;
  transition: height 400ms ease-in-out, height 0.4s ease allow-discrete;
}

.input-toshow {
  cursor: pointer;
}
.input-toshow:checked {
  color: #3b81a5;
}
.input-toshow:checked ~ .toshow {
  height: 153px;
  opacity: 1;
  margin-left: -2.5em;
  pointer-events: all;
}
@starting-style {
  .input-toshow:checked ~ .toshow {
    height: 0;
  }
}

.f-table__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: space-between;
  font-size: 1.25rem;
  padding: 1rem 1.5rem;
  margin-bottom: 0.75rem;
  outline: 1px #529dc6 solid;
  border-radius: 6px;
  position: relative;
}
.f-table__body div {
  position: relative;
  white-space: nowrap;
}
.f-table__body div:not(:empty):not(.no-spacer):not(.pos-abs-1) {
  padding-right: 1rem;
}
.f-table__body div:not(:empty):not(.no-spacer):not(.pos-abs-1):not(.f-table__action):after {
  content: " | ";
  color: #468fb5;
  position: absolute;
  padding: 0 0.5rem;
  top: -1px;
  width: 2px;
  font-weight: normal;
  opacity: 0.5;
}
.f-table__body div.pos-abs-1 {
  display: flex;
  align-items: center;
  font-size: 1rem;
  z-index: 1;
}
.f-table__body div.pos-abs-1 div:only-child {
  padding-right: 0 !important;
}
.f-table__body div.pos-abs-1 div:only-child:after {
  content: "" !important;
}
.f-table__body:hover, .f-table__body:focus {
  outline-color: #529dc6;
}
.f-table__action {
  flex-basis: max-content;
  min-width: -webkit-fill-available;
  margin: 1rem auto 0;
}
.f-table.grid-small {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  gap: 1rem;
}
.f-table.grid-small .f-table__body {
  padding: 0.75rem;
  margin: 0;
  width: calc(50% - 1rem);
  font-size: 1.125rem;
}
.f-table.grid-small .f-table__body .pos-abs-1 > div:first-child {
  padding-right: 0;
  height: 25px;
}
.f-table.grid-small .f-table__body .pos-abs-1 > div:first-child:after {
  content: "";
}

[data-bs-theme=dark] .logo {
  color: white;
}
[data-bs-theme=dark] label i, [data-bs-theme=dark] i[class^=bi]:not(h1 *) {
  color: white !important;
}
[data-bs-theme=dark] label i.text-success, [data-bs-theme=dark] i[class^=bi]:not(h1 *).text-success {
  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] label i.text-danger, [data-bs-theme=dark] i[class^=bi]:not(h1 *).text-danger {
  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
}
[data-bs-theme=dark] .aside-rf .offcanvas-header {
  background-color: black;
}
[data-bs-theme=dark] .navbar-rf {
  background-color: var(--bs-body-bg);
}
[data-bs-theme=dark] .navbar-rf .toggle-aside-btn:hover i, [data-bs-theme=dark] .navbar-rf .toggle-aside-btn:focus i {
  color: var(--bs-body-bg) !important;
}
[data-bs-theme=dark] .navbar-toggler {
  background-color: #3e7693;
}
[data-bs-theme=dark] .main .aside-rf {
  background-color: unset;
  border-bottom: 2px solid white;
}
[data-bs-theme=dark] .main .aside-rf .offcanvas-body {
  background-color: initial;
}
[data-bs-theme=dark].small-aside .toggle-aside-btn i {
  color: var(--bs-body-bg) !important;
}
[data-bs-theme=dark] .btn-outline-dark {
  border-color: var(--bs-btn-hover-color);
  color: var(--bs-btn-hover-color);
}
[data-bs-theme=dark] .btn-outline-dark:hover, [data-bs-theme=dark] .btn-outline-dark:focus {
  border-color: var(--bs-btn-border-color);
}
[data-bs-theme=dark] .card:hover .card-footer, [data-bs-theme=dark] .card-link:focus .card-footer {
  background-color: #333;
}
[data-bs-theme=dark] .card:hover .card-link, [data-bs-theme=dark] .card-link:focus .card-link {
  color: #fff;
}
[data-bs-theme=dark] .card-number.bg-white {
  background: #333 !important;
}

@media screen and (min-width: 992px) {
  .toast {
    width: fit-content !important;
  }
  .pagination {
    flex-wrap: wrap;
  }
  .navbar-rf {
    background: white;
    backdrop-filter: blur(7px);
    border-bottom: 1px solid #eee;
    z-index: 1031;
  }
  .navbar-rf .navbar-brand {
    position: relative;
    width: auto;
    margin: 0;
    margin-right: 2rem;
  }
  .navbar-rf .navbar-nav {
    align-items: center;
  }
  .navbar-rf .toggle-aside-btn:hover, .navbar-rf .toggle-aside-btn:focus {
    background-color: #EAE8D0;
  }
  .navbar-rf.navbar-blur {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(7px);
  }
  .main {
    display: flex;
    flex-flow: row;
    align-items: stretch;
    margin-block-start: 63px;
  }
  .main .aside-rf {
    background-color: #3b81a5;
    right: auto;
    height: calc(100% - 115px);
    margin-block-start: 5px;
    display: block;
    padding: 2rem 1.75rem;
    width: 223px;
    overflow: hidden;
  }
  .main .aside-rf .nav-item {
    margin-bottom: 1rem;
  }
  .main .aside-rf .nav-link {
    display: flex;
    align-items: center;
    font-size: 1.0625rem;
    line-height: 1.25;
    color: #eee;
    padding-top: 8px;
    padding-bottom: 8px;
    border-radius: 5px;
  }
  .main .aside-rf .nav-link.active, .main .aside-rf .nav-link:focus {
    color: white;
    position: relative;
    background-color: #468fb5;
  }
  .main .aside-rf .nav-link.active:before, .main .aside-rf .nav-link:focus:before {
    content: "";
    position: absolute;
    left: 1px;
    top: 30%;
    bottom: 30%;
    right: auto;
    width: 1px;
    height: 40%;
    background-color: #eee;
  }
  .main .aside-rf .nav-link:hover, .main .aside-rf .nav-link:focus {
    background-color: #468fb5;
  }
  .main .aside-rf .nav-link:hover ~ .nav-link-new, .main .aside-rf .nav-link:focus ~ .nav-link-new {
    background-color: #EAE8D0;
    color: #3b81a5;
  }
  .main .aside-rf .nav-link > i {
    margin-right: 4px;
  }
  .main .aside-rf .nav-link:not(.collapsed) .bi-chevron-down {
    transform-origin: 7px 10px;
  }
  .main .aside-rf .nav-link:not(.collapsed):not(:only-child) {
    background-color: #529dc6;
  }
  .main .aside-rf .nav-link ~ ul .nav-link {
    display: flex;
    background-color: #468fb5;
    padding-left: 10px;
  }
  .main .aside-rf .nav-link ~ ul .nav-link .bi-chevron-down {
    transform-origin: 9px 8px;
    font-size: 1rem;
  }
  .main .aside-rf .nav-link-new {
    right: 8px;
    background-color: transparent;
    color: white;
  }
  .main .aside-rf .nav-link-new:hover, .main .aside-rf .nav-link-new:focus {
    background-color: #EAE8D0;
    color: #3b81a5;
  }
  .main .aside-rf .navbar-nav--bottom {
    padding: 1rem 1.75rem;
  }
  .main .content {
    flex-grow: 1;
    padding: 2rem 1rem;
    margin-inline-start: 223px;
  }
  .main .container-fluid {
    padding: 2rem 1rem;
  }
  .main .card-footer:not(.visible) {
    display: block;
  }
  .main .card-number {
    bottom: 2.75rem;
  }
  .footer-rf {
    z-index: 1031;
  }
  .small-aside .toggle-aside-btn {
    background-color: #EAE8D0;
  }
  .small-aside .aside-rf {
    width: 5rem;
    padding: 2rem 0.5rem;
  }
  .small-aside .aside-rf .nav-link {
    justify-content: center;
  }
  .small-aside .aside-rf .nav-link span {
    width: 0;
    opacity: 0;
    margin: 0;
  }
  .small-aside .aside-rf .nav-link i {
    margin: 0 auto;
  }
  .small-aside .aside-rf .nav-link-new {
    transform: scale(0);
    width: 0;
    pointer-events: none;
    opacity: 0;
  }
  .small-aside .aside-rf .navbar-nav--bottom {
    padding: 1rem 0.5rem;
    display: flex;
    justify-content: center;
  }
  .small-aside .aside-rf .navbar-nav--bottom span {
    display: inline-block;
    width: 0;
    opacity: 0;
    margin: 0;
  }
  .small-aside .aside-rf .navbar-nav--bottom:after {
    display: none;
  }
  .small-aside main .content {
    margin-inline-start: 5rem;
  }
  .navbar-lp {
    max-width: 1724px;
    margin: auto;
  }
  .hero-banner {
    max-width: 1700px;
    overflow: hidden;
    padding-top: 3rem;
  }
  .hero-banner h1 {
    font-size: 4rem;
  }
  .search-input {
    max-width: 25rem;
  }
  .features {
    padding-bottom: 4rem;
  }
  .f-table__body {
    cursor: pointer;
    transition: all 300ms ease-in-out;
  }
  .f-table__body:not(.grid-small) div.pos-abs-1 {
    position: absolute;
    right: 1.25rem;
    bottom: 1rem;
  }
  .f-table__body:hover, .f-table__body:focus {
    background-color: #fcfcfc;
  }
  .f-table__action {
    margin-top: 0.5rem;
  }
  .f-table.grid-small .f-table__body {
    width: calc(33.33333% - 1rem);
  }
  .btn-grid.active {
    background-color: var(--bs-btn-hover-bg);
    border-color: var(--bs-btn-hover-border-color);
  }
}
@media screen and (min-width: 1400px) {
  #pie_js {
    max-height: 500px !important;
  }
}