* {
  margin: 0;
  padding: 0;
  font-family: "Poppins", sans-serif;
  box-sizing: border-box;
  font-size: 20px;
}

.wrapper {
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 100%;
}

.container-top {
  display: flex;
  flex-direction: row;
  width: 100%;
  padding: 20px 40px;
  align-items: center;
  background-color: #393e46;
}

.container-round {
  border-radius: 100%;
  overflow: hidden;
}

.logo {
  width: 60px;
  height: 60px;
}


.sticky-col-header {
  position: sticky;
  left: 0;
  z-index: 2;
}

.sticky-col {
  position: sticky;
  left: 0;
  z-index: 2;
}


.no-wrap {
  display: flex;
  flex-wrap: nowrap;
}

a {
  text-decoration: none;
  color: inherit;
  padding: 0;
  margin: 0;
}

.login-link {
  transition: transform 0.3s ease, color 0.3s ease;
}

.login-link:hover {
  transform: scale(1.1);
}





/* ------------------------------------------------------------------------------ */
/* -----------------------------------FONT--------------------------------------- */
/* ------------------------------------------------------------------------------ */

.font-white {
  color: white;
}

.title-26px {
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 2px;
  color: black !important;
}


.font-14px {
  font-size: 14px !important;
}


.font-size-28-title {
  font-size: 28px;
  font-weight: bold;
}

.font-size-24-title {
  font-size: 24px;
  font-weight: bold;
}

.font-size-20 {
  font-size: 20px;
}

.font-size-16 {
  font-size: 16px;
}

.font-size-14 {
  font-size: 14px;
}

.font-size-12 {
  font-size: 12px;
}

.font-size-10 {
  font-size: 10px;
}




/* ------------------------------------------------------------------------------ */
/* ----------------------------------PROFILE------------------------------------- */
/* ------------------------------------------------------------------------------ */

.profile {
  width: 50px;
  height: 50px;
}

.container-profile {
  border: 1px solid transparent;
  padding: 10px 20px;
}

.container-profile:hover {
  border: 1px solid #cccc;
  cursor: pointer;
  padding: 10px 20px;
}

.profile-image {
  height: 250px;
  border: 1px solid #ccc;
  border-radius: 10px;
}

.container-content {
  display: flex;
  flex-direction: row;
  width: 100%;
  height: 100%;
  overflow: hidden;
}




/* ------------------------------------------------------------------------------ */
/* --------------------------------------ROW------------------------------------- */
/* ------------------------------------------------------------------------------ */

.row {
  display: flex;
  flex-direction: row;
  gap: 10px;
  width: 100%;
}

.row-auto {
  display: flex;
  flex-direction: row;
  gap: 10px;
  width: auto;
}

.row-table {
  display: flex;
  flex-direction: row;
  gap: 10px;
  width: 100%;
  overflow-y: hidden;
  overflow-x: scroll;
  cursor: grab;
  user-select: none;
  -webkit-user-drag: none;

  scrollbar-width: thin;
  scrollbar-color: #888 #222;
  scroll-behavior: smooth;
}

.row-table:actived {
  cursor: grabbing;
}

.row-center {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.row-center2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.row-center-no-width {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.row-padding-20px {
  display: flex;
  flex-direction: row;
  padding: 20px;
  gap: 20px;
  width: 100%;
}

.row-auto {
  display: flex;
  flex-direction: row;
  width: auto;
  height: auto;
  gap: 10px;
  align-items: center;
}

.row-between {
  align-items: center;
  justify-content: space-between;
}

.row-around {
  align-items: center;
  justify-content: space-around;
}

.row-right {
  align-items: center;
  justify-content: right;
}

.row-filter {
  display: flex;
  flex-direction: row;
  gap: 10px;
}




/* ------------------------------------------------------------------------------ */
/* ------------------------------------COLUMN------------------------------------ */
/* ------------------------------------------------------------------------------ */

.column {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.column-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}






/* ------------------------------------------------------------------------------ */
/* ------------------------------------SIDEBAR----------------------------------- */
/* ------------------------------------------------------------------------------ */

.sidebar {
  display: flex;
  flex-direction: column;
  padding: 15px;
  gap: 10px;
  width: 20%;
  background-color: black;
  overflow-y: scroll;

  scrollbar-width: thin;
  scrollbar-color: #888 #222;
  scroll-behavior: smooth;
}


.sidebar-mini {
  display: flex;
  flex-direction: column;
  padding: 15px;
  gap: 10px;
  min-width: fit-content;
  background-color: black;
  overflow-y: scroll;

  scrollbar-width: thin;
  scrollbar-color: #888 #222;
  scroll-behavior: smooth;
}

.sidebar-image {
  width: 30px;
  height: 30px;
}

.sidebar-image img {
  transition: transform 0.3s ease-in-out;
}

.sidebar-dropdown-image {
  width: 20px;
  height: 20px;
}

.sidebar-dropdown-image img {
  transition: transform 0.3s ease-in-out;
}

.sidebar-items {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-content: center;
  width: 100%;
  padding: 10px;
  gap: 10px;
  color: white;
  transition: background-color 0.3s ease, color 0.3s ease,
    border-radius 0.3s ease;
}

.sidebar-items-bottom {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  padding: 10px;
  gap: 10px;
  color: white;
  transition: background-color 0.3s ease, color 0.3s ease,
    border-radius 0.3s ease;
  margin-top: auto;
}

.sidebar-items:hover {
  background-color: #dfd7bf;
  color: black;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
}

.sidebar-items-bottom:hover {
  background-color: #9b1003;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
}

.sidebar-items:hover #sidebar-dashboard-image {
  content: url(../images/dashboard-black.png);
}

.sidebar-items:hover #sidebar-transaction-image {
  content: url(../images/transaction-black.png);
}

.sidebar-items:hover #sidebar-condition-image {
  content: url(../images/condition-black.png);
}

.sidebar-items:hover #sidebar-books-image {
  content: url(../images/book-black.png);
}

.sidebar-items:hover #sidebar-patrons-image {
  content: url(../images/patrons-black.png);
}

.sidebar-items:hover #sidebar-guarantors-image {
  content: url(../images/guarantors-black.png);
}

.sidebar-items:hover #sidebar-application-image {
  content: url(../images/application-black.png);
}

.sidebar-items:hover #sidebar-logs-image {
  content: url(../images/logs-black.png);
}

.sidebar-items:hover #sidebar-id-image {
  content: url(../images/id-black.png);
}

.sidebar-items:hover #sidebar-content-image {
  content: url(../images/content-black.png);
}

.sidebar-items:hover #sidebar-delinquent-image {
  content: url(../images/ban-black.png);
}

.sidebar-items:hover #sidebar-librarian-image {
  content: url(../images/librarian-black.png);
}

.sidebar-items:hover #sidebar-reports-image {
  content: url(../images/reports-black.png);
}

.sidebar-items:hover #sidebar-expand-arrow-transaction,
.sidebar-items:hover #sidebar-expand-arrow-condition,
.sidebar-items:hover #sidebar-expand-arrow-books,
.sidebar-items:hover #sidebar-expand-arrow-logs,
.sidebar-items:hover #sidebar-expand-arrow-content,
.sidebar-items:hover #sidebar-expand-arrow-application,
.sidebar-items:hover #sidebar-expand-arrow-patrons,
.sidebar-items:hover #sidebar-expand-arrow-reports {
  content: url(../images/expand-arrow-black.png);
}

.sidebar-items:after #sidebar-expand-arrow-transaction,
.sidebar-items:after #sidebar-expand-arrow-condition,
.sidebar-items:after #sidebar-expand-arrow-books,
.sidebar-items:after #sidebar-expand-arrow-logs,
.sidebar-items:after #sidebar-expand-arrow-content,
.sidebar-items:after #sidebar-expand-arrow-application,
.sidebar-items:after #sidebar-expand-arrow-patrons,
.sidebar-items:after #sidebar-expand-arrow-reports {
  content: url(../images/collapse-arrow-black.png);
}

.sidebar-items:hover #sidebar-collapse-arrow-transaction,
.sidebar-items:hover #sidebar-collapse-arrow-condition,
.sidebar-items:hover #sidebar-collapse-arrow-books,
.sidebar-items:hover #sidebar-collapse-arrow-logs,
.sidebar-items:hover #sidebar-collapse-arrow-content,
.sidebar-items:hover #sidebar-collapse-arrow-application,
.sidebar-items:hover #sidebar-collapse-arrow-patrons,
.sidebar-items:after #sidebar-expand-arrow-reports {
  content: url(../images/collapse-arrow-black.png);
}

.sidebar-dropdown-content {
  display: none;
  background-color: #393e46;
  transition: opacity 0.3s ease;
  opacity: 0;
}

.sidebar-dropdown-content a {
  color: white;
  padding: 12px 30%;
  font-size: 16px;
  text-decoration: none;
  display: block;
}

.sidebar-dropdown-content a:hover {
  background-color: #ddd;
  color: black;
}





/* ------------------------------------------------------------------------------ */
/* ------------------------------------IMAGE----------------------------------- */
/* ------------------------------------------------------------------------------ */

.image {
  width: 100%;
  height: 100%;
}

.image-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.image-contain {
  width: 100%;
  height: 100%;
  object-fit: contain;
}




/* ------------------------------------------------------------------------------ */
/* --------------------------------------BODY------------------------------------ */
/* ------------------------------------------------------------------------------ */


.body {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
  width: 100%;
  background-color: #dfd7bf;
  overflow-y: scroll;

  scrollbar-width: thin;
  scrollbar-color: #888 #222;
  scroll-behavior: smooth;
}

.body2 {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
  width: 100%;
  background-color: #dfd7bf;
  align-items: center;
}

.body3 {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
  width: 100%;
  background-color: #dfd7bf;
  align-items: center;
  justify-content: center;
}

.body4 {
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
  width: 100%;
  background-color: #dfd7bf;
  overflow-y: scroll;

  scrollbar-width: thin;
  scrollbar-color: #888 #222;
  scroll-behavior: smooth;
}




/* ------------------------------------------------------------------------------ */
/* --------------------------------DASHBOARD STATUS------------------------------ */
/* ------------------------------------------------------------------------------ */

.container-status {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
  border-radius: 20px 0;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.bg-books {
  background-color: #393e46;
}

.bg-patrons {
  background-color: #6a737e;
}

.bg-borrowed {
  background-color: #463b39;
}

.bg-returned {
  background-color: #1a1d21;
}

.status-count {
  display: flex;
  flex-direction: column;
  width: 100%;
  color: white;
  padding: 20px;
}

.count-number {
  font-weight: bold;
  font-size: 30px;
}

.count-description {
  font-size: 18px;
}

.status-image {
  width: 100%;
  padding: 20px;
}

.container-status-more {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 10px;
  background-color: black;
  color: white;
  padding: 5px;
  font-size: 16px;
}




/* ------------------------------------------------------------------------------ */
/* -------------------------------------GRAPH------------------------------------ */
/* ------------------------------------------------------------------------------ */

.container-bar {
  background-color: #393e46;
  border-radius: 20px;
  width: 65%;
  padding: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.container-bar-month {
  background-color: #393e46;
  border-radius: 20px;
  width: 100%;
  padding: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

canvas {
  width: 100%;
  min-height: 300px;
}

.container-bar.full-width {
  background-color: #393e46;
  border-radius: 20px;
  width: 100%;
  padding: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.container-pie {
  background-color: #6a737e;
  border-radius: 20px;
  width: 35%;
  padding: 20px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.chart-title {
  padding: 0 0 30px;
  color: white;
  font-size: 16px;
}

.chart-select {
  font-size: 16px;
  border-radius: 10px;
  padding: 5px;
}

.chart-select:focus {
  outline: none;
  border-color: #6a737e;
}

.chart-select:hover {
  cursor: pointer;
}

.chart-select option {
  padding: 5px;
  font-size: 16px;
}

.chart-select option:hover {
  padding: 5px;
  font-size: 16px;
  background-color: #5f656f;
  cursor: pointer;
}




/* ------------------------------------------------------------------------------ */
/* --------------------------------CONTAINER-WHITE------------------------------- */
/* ------------------------------------------------------------------------------ */

.container-white {
  width: auto;
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
  gap: 20px;
}

.container-white2 {
  width: 40%;
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
  gap: 20px;
}

.container-white3 {
  height: 300px;
  width: 25%;
  display: flex;
  flex-direction: column;
  background-color: white;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 10px;
  gap: 20px;
  transition: transform 0.2s;
}

.container-white4 {
  width: 50%;
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
  gap: 20px;
}

.container-white5 {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  background-color: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
  gap: 20px;
}

.container-white3:hover {
  cursor: pointer;
  transform: scale(1.1);
}




/* ------------------------------------------------------------------------------ */
/* -------------------------------------TABLE------------------------------------ */
/* ------------------------------------------------------------------------------ */

table {
  width: 100%;
  border-collapse: collapse;
}

td {
  border: 1px solid #393e46;
  padding: 8px;
  text-align: left;
  font-size: 16px;
}

.td-center {
  display: flex;
  justify-content: center;
  text-align: center;
}

.td-around {
  display: flex;
  justify-content: space-around;
}

th {
  background-color: #5f656f;
  color: white;
  border: 1px solid #393e46;
  padding: 8px;
  text-align: left;
}

th:hover {
  cursor: pointer;
}

tbody tr:nth-child(even) {
  background-color: #f9f9f9;
}

tbody tr:hover {
  background-color: #f1f1f1;
}

.column-title {
  font-size: 18px;
}

.entry-info {
  font-size: 16px;
}

.pagination button {
  padding: 5px 10px;
  margin: 0 5px;
  border: 1px solid #ddd;
  background-color: #f2f2f2;
  cursor: pointer;
}

.pagination button.active {
  background-color: #393e46;
  color: white;
}

.pagination button:hover:not(.active) {
  background-color: #ddd;
}

button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.sort {
  width: 16px;
  height: 16px;
}

.container-search {
  border-radius: 10px;
  border: 1px solid;
  display: flex;
  flex-direction: row;
  width: auto;
  height: 100%;
  overflow: hidden;
  gap: 5px;
  margin: 0 5px;
}

.container-image-clear {
  width: 40px;
  height: 40px;
  cursor: pointer;
  display: none;
}

.container-search-icon {
  padding: 10px;
  align-items: center;
  justify-content: center;
  background-color: #5f656f;
  border-radius: 10px;
  border: solid 1px black;
  transition: transform 0.2s;
}

.container-search-icon:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.container-image-search {
  width: 20px;
  height: 20px;
}

.table-search {
  width: 300px;
}

.table-search-100 {
  width: 100%;
}

.table-search,
.table-search-100,
.table-select {
  border-radius: 10px;
  padding: 5px;
  font-size: 16px;
  border: 1px solid;
}

.table-search-none,
.table-select-none {
  padding: 5px 20px;
  font-size: 16px;
  border: none;
}

.table-select-none option {
  font-size: 16px; /* Set the font size of the dropdown */
}

.dropdown-options li:hover {
  background: #f0f0f0;
}

.vertical-line {
  width: 1px; /* Thickness of the line */
  height: auto; /* Height of the line */
  background-color: #000; /* Color of the line */
}

.table-search-none:focus,
.table-select-none:focus {
  outline: none; /* Removes the focus outline */
}

.table-search:hover,
.table-search-100:hover,
.table-select:hover {
  border: 1px solid #5f656f;
}

.table-select:hover {
  cursor: pointer;
}

.table-select option {
  padding: 5px;
  font-size: 16px;
}

.table-select option:hover {
  padding: 5px;
  font-size: 16px;
  background-color: #5f656f;
  cursor: pointer;
}




/* ------------------------------------------------------------------------------ */
/* ------------------------------------STATUS------------------------------------ */
/* ------------------------------------------------------------------------------ */

.status {
  padding: 5px 10px;
  border-radius: 10px;
  font-size: 10px;
  color: white;
  width: fit-content;
}

.borrowed,
.delinquent,
.invalid,
.notapproved,
.expired,
.unavailable,
.condemned {
  background-color: #8b0000;
}

.returned,
.responsible,
.valid,
.active,
.available,
.done {
  background-color: #006400;
}

.approved {
  background-color: #228b22;
}

.pending {
  background-color: #b8860b;
}

.renewal {
  background-color: #8b6508;
}

.missing {
  background-color: #ff5722;
}

.lost,
.damage,
.overdue {
  background-color: #5c0000;
}

.no-result {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 20px;
}

.no-result-image {
  width: 300px;
  height: 300px;
  margin: 10px;
}



/* ------------------------------------------------------------------------------ */
/* ------------------------------------BUTTONS----------------------------------- */
/* ------------------------------------------------------------------------------ */

button {
  padding: 10px;
  border-radius: 10px;
  font-size: 16px;
  border: none;
}

.button-borrow {
  background-color: black;
  color: white;
  transition: transform 0.2s;
}

.button-borrow:hover {
  background-color: #5f656f;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-save {
  background-color: #008000;
  color: white;
  transition: transform 0.2s;
  padding: 5px 20px;
  border: none;
  border-radius: 10px;
  font-size: 14px;
}

.button-save:hover {
  background-color: #006600;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-delete-officials {
  background-color: #dc3545;
  color: white;
  transition: transform 0.2s;
  padding: 5px 20px;
  border: none;
  border-radius: 10px;
  font-size: 14px;
}

.button-delete-officials:hover {
  background-color: #c82333;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-add {
  background-color: black;
  color: white;
  transition: transform 0.2s;
}

.button-add:hover {
  background-color: #5f656f;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-submit {
  background-color: #008000;
  color: white;
  transition: transform 0.2s;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
}

.button-submit:hover {
  background-color: #006600;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-delete-big {
  background-color: #dc3545;
  color: white;
  transition: transform 0.2s;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
}

.button-delete-big:hover {
  background-color: #c82333;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-cancel {
  background-color: #5f656f;
  color: white;
  min-width: 50px;
  transition: transform 0.2s;
}

.button-cancel:hover {
  background-color: #4a4e56;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-edit {
  width: 40px;
  height: 40px;
  background-color: #007bff;
  padding: 5px;
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.2s;
}

.button-edit:hover {
  background-color: #0069d9;
  cursor: pointer;
  transform: scale(1.1);
}

.button-delete {
  background-color: #dc3545;
  width: 40px;
  height: 40px;
  padding: 5px;
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.2s;
}

.button-delete:hover {
  background-color: #c82333;
  cursor: pointer;
  transform: scale(1.1);
}

.button-view {
  width: 40px;
  height: 40px;
  background-color: #b8860b;
  padding: 5px;
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.2s;
}

.button-view:hover {
  background-color: #8b6508;
  cursor: pointer;
  transform: scale(1.1);
}

.button-missing {
  width: 40px;
  height: 40px;
  background-color: #ff5722;
  padding: 5px;
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.2s;
}

.button-missing:hover {
  background-color: #ff5722;
  cursor: pointer;
  transform: scale(1.1);
}

.button-borrow-book {
  width: 40px;
  height: 40px;
  background-color: black;
  padding: 5px;
  margin: 5px;
  border-radius: 5px;
  transition: transform 0.2s;
}

.button-borrow-book:hover {
  background-color: #5f656f;
  cursor: pointer;
  transform: scale(1.1);
}

.button-black {
  width: auto;
  height: auto;
  background-color: black;
  padding: 5px;
  border-radius: 10px;
  transition: transform 0.2s;
  color: white;
}

.button-black:hover {
  background-color: #5f656f;
  cursor: pointer;
  transform: scale(1.1);
}

.button-black-2 {
  width: 100%;
  height: auto;
  background-color: black;
  padding: 10px;
  border-radius: 5px;
  color: white;
  cursor: pointer;
}

.button-print {
  background-color: #6c757d;
  color: white;
  transition: transform 0.2s;
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
}

.button-print:hover {
  background-color: #5a6268;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-print-icon,
.button-obsolete-icon,
.button-add-icon,
.button-back-icon,
.button-general-icon {
  background-color: #393e46;
  color: white;
  transition: transform 0.2s;
  height: 45px;
  width: auto;
  padding: 10px 20px;
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 5px;
}

.button-print-icon:hover,
.button-obsolete-icon:hover,
.button-add-icon:hover,
.button-back-icon:hover,
.button-general-icon:hover {
  background-color: #5f656f;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}


.button-submit-icon {
  background-color: #008000;
  color: white;
  transition: transform 0.2s;
  height: 45px;
  width: auto;
  padding: 10px 20px;
  border-radius: 10px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  align-content: center;
  gap: 5px;
}

.button-submit-icon:hover {
  background-color: #006600;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}
.button-icon {
  width: 30px;
  height: 30px;
}

.button-icon-45 {
  width: 45px;
  height: 45px;
}

.button-filter {
  transition: transform 0.2s;
}

.button-filter:hover {
  background-color: black;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}

.button-filter.selected-filter {
  background-color: black;
  color: white;
}

.button-filter.active {
  background-color: black;
  color: white;
}

.button-exit {
  display: flex;
  flex-direction: row;
  justify-content: center;
  gap: 5px;
  background-color: black;
  color: white;
  height: auto;
  transition: transform 0.2s;
}

.button-exit:hover {
  background-color: #5f656f;
  color: white;
  cursor: pointer;
  transform: scale(1.1);
}




/* ------------------------------------------------------------------------------ */
/* ------------------------------------TOOLTIPS---------------------------------- */
/* ------------------------------------------------------------------------------ */
.tooltipss {
  position: relative;
  display: inline-block;
}

.tooltipss .tooltiptexts {
  visibility: hidden;
  min-width: 150px;
  background-color: #f9f9f9;
  color: #000;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  font-size: 14px;
  margin: 5px;
  position: absolute;
  z-index: 1000;
  right: 100%;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.7);
}

.tooltipss:hover .tooltiptexts {
  visibility: visible;
}




/* ------------------------------------------------------------------------------ */
/* ---------------------------Appplication Form---------------------------------- */
/* ------------------------------------------------------------------------------ */

.container-form-white {
  margin: 40px;
  border-radius: 10px;
  box-shadow: 0px 0px 8px 4px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  padding: 25px;
  gap: 15px;
  background-color: white;
}

.login-title {
  font-size: 22px;
  padding: 10px 0;
}

.form-header {
  display: flex;
  flex-direction: row;
  padding: 10px 30px;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}

.form-logo {
  width: 10%;
  height: auto;
}

.header-title {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.form-body {
  padding: 10px;
}

.form-salutation {
  font-size: 16px;
  padding: 10px 0;
  font-weight: bold;
}

.form-paragraph {
  text-indent: 70px;
  font-size: 16px;
  text-align: justify;
  padding: 20px 0;
  font-weight: bold;
}

.underline-name {
  display: inline-block;
  width: 300px;
  border-bottom: 1px solid black;

  vertical-align: middle;
  height: 14px;
}

.underline-age {
  display: inline-block;
  width: 30px;
  border-bottom: 1px solid black;
  margin: 0 5px;
  vertical-align: middle;
  height: 14px;
}

.form-closing {
  font-size: 16px;
  padding: 0 0 15px;
  font-weight: bold;
}

.form-row-between {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.form-guarantor-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 40%;
}

.guarantor-box {
  border: 1px solid black;
  text-align: center;
  padding: 0 20px;
}

.guarantor-box {
  text-align: center;
  padding: 0 20px;
}

.form-patrons-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 40%;
}

.form-input-box {
  width: 95%;
  padding: 5px;
  border-bottom: 1px solid black;
  font-size: 14px;
  text-align: center;
}

.form-label {
  text-align: center;
  width: 95%;
  font-size: 16px;
  font-weight: bold;
}

.input-container {
  width: 95%;
  display: flex;
  flex-direction: row;
}

.form-label-14 {
  font-size: 14px;
  font-weight: bold;
  padding: 3px;
}

.form-label-18 {
  font-size: 18px;
  font-weight: bold;
}

.form-label-20 {
  font-size: 20px;
  font-weight: bold;
}

.form-label-20-line {
  font-size: 20px;
  font-weight: bold;
  border-bottom: 1px solid black;
}

.form-input-box-small {
  flex-grow: 1;
  font-size: 14px;
  text-align: center;
  border-bottom: 1px solid black;
  padding: 3px;
}

.form-label-italic {
  padding: 5px;
  font-size: 12px;
  font-style: italic;
  font-weight: bold;
  text-align: center;
}

.form-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.form-container-sign {
  height: 50px;
}




/* ------------------------------------------------------------------------------ */
/* -------------------------------------MODAL------------------------------------ */
/* ------------------------------------------------------------------------------ */

.modal {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #00000099;
  overflow: hidden;
  align-items: center;
  justify-content: center;
  height: 100%;
  z-index: 2;
}

.modal-content {
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  width: 30%;
  max-height: 70%;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: left;
  border-radius: 20px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.5s ease;
}

.modal-content-medium {
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  width: 50%;
  max-height: 70%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: left;
  border-radius: 20px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.5s ease;
  gap: 10px;
}

.modal-content-big {
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  width: 70%;
  max-height: 70%;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: left;
  border-radius: 20px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.5s ease;
}

.modal-content-id {
  background-color: #fefefe;
  padding: 20px;
  border: 1px solid #888;
  width: 50vw;
  max-width: 900px;
  max-height: 70%;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: left;
  border-radius: 20px;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.5s ease;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.modal.show {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.modal.show .modal-content {
  animation: unfold 0.5s forwards;
}

.modal.show .modal-content-medium {
  animation: unfold 0.5s forwards;
}

.modal.show .modal-content-big {
  animation: unfold 0.5s forwards;
}

.modal.show .modal-content-id {
  animation: unfold 0.5s forwards;
}

.modal-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  transition: transform 0.2s;
}

.modal-close:hover,
.modal-close:focus {
  color: #e74c3c;
  text-decoration: none;
  cursor: pointer;
  transform: scale(1.1);
}

.modal-content-left {
  width: 60%;
  min-width: 60%;
}

.modal-content-right {
  width: 40%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 0 0 0;
}

@keyframes unfold {
  0% {
    transform: scale(0);
  }

  100% {
    transform: scale(1);
  }
}




/* ------------------------------------------------------------------------------ */
/* ------------------------------------FORMS------------------------------------- */
/* ------------------------------------------------------------------------------ */


.container-form {
  display: flex;
  flex-direction: column;
  padding: 5px 25px;
  gap: 15px;
}

.container-form-official {
  display: flex;
  flex-direction: column;
  padding: 5px 25px;
  gap: 15px;
  align-items: center;
  width: 100%;
}

label {
  font-size: 16px;
}

.container-asterisk {
  width: 10px;
  height: 10px;
  position: relative;
}

.container-asterisk img {
  position: absolute;
  top: 0;
  right: 0;
}

.container-input {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 5px;
  padding: 20px 0;
}

.container-form-profile {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.form-profile {
  width: 200px;
  height: 200px;
  border: solid 1px #ccc;
  border-radius: 10px;
  overflow: hidden;
}

.container-input-file-profile {
  width: 200px;
  margin: 0 0 10px 0;
}

.container-form-book {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.form-book {
  width: 100%;
  height: 200px;
  border: solid 1px #ccc;
  border-radius: 10px;
  overflow: hidden;
}

.container-input-file-book {
  width: 100%;
  margin: 0 0 10px 0;
}

.container-form-patron {
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

.form-patrons {
  width: 100%;
  height: 200px;
  border: solid 1px #ccc;
  border-radius: 10px;
  overflow: hidden;
}

.form-patron {
  width: 200px;
  height: 200px;
  border: solid 1px #ccc;
  border-radius: 10px;
  overflow: hidden;
}

.container-input-file-patron {
  width: 200px;
  margin: 0 0 10px 0;
}

.container-input-100 {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 99%;
  padding: 5px 0;
  margin: 5px 0;
}

.container-input-49 {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 49%;
  padding: 5px 0;
  margin: 5px 0;
}

.container-input-80 {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 80%;
  padding: 5px 0;
  margin: 5px 0;
}

.container-input-20 {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: 20%;
  padding: 5px 0;
  margin: 5px 0;
}

.textarea-about {
  text-align: justify;
  width: 100%;
  height: 300px;
  padding: 15px;

  scrollbar-width: thin;
  scrollbar-color: #dfd7bf black;
  scroll-behavior: smooth;
}

.textarea-reason {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  height: 200px;
}

.textarea-reason:focus {
  outline: none;
  border-color: #5f656f;
  box-shadow: 0 0 5px rgba(95, 101, 111, 0.5);
}

.textarea-category {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  height: auto;
  min-height: 200px;
}

.textarea-category:focus {
  outline: none;
  border-color: #5f656f;
  box-shadow: 0 0 5px rgba(95, 101, 111, 0.5);
}

.textarea-data {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  height: auto;
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.textarea-data:focus {
  outline: none;
  border-color: #5f656f;
  box-shadow: 0 0 5px rgba(95, 101, 111, 0.5);
}

.textarea-history {
  text-align: justify;
  width: 98%;
  height: 500px;
  background-color: #f5df93;
  border: none;
  padding-right: 20px;
  scrollbar-width: thin;
  scrollbar-color: #dfd7bf black;
  scroll-behavior: smooth;
}

.textarea-news {
  text-align: justify;
  width: 100%;
  height: 300px;
  padding: 10px;
  font-size: 16px;
  border-radius: 10px;
  border: 1px solid #ccc;
  scrollbar-width: thin;
  scrollbar-color: #dfd7bf;
  scroll-behavior: smooth;
}

.textarea-contact {
  text-align: justify;
  width: 100%;
  height: 100px;
  padding: 10px;
  font-size: 16px;
  border-radius: 10px;
  border: 1px solid #ccc;
  scrollbar-width: thin;
  scrollbar-color: #dfd7bf;
  scroll-behavior: smooth;
}

.input-text,
.file,
.select-text {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
  min-height: 45px;
}

.input-text:focus,
.file:focus,
.select-text:focus {
  outline: none;
  border-color: #5f656f;
  box-shadow: 0 0 5px rgba(95, 101, 111, 0.5);
}

.input-text-auto {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  width: max-content;
  box-sizing: border-box;
  min-height: 45px;
}

.input-text-auto:focus {
  outline: none;
  border-color: #5f656f;
  box-shadow: 0 0 5px rgba(95, 101, 111, 0.5);
}

.select-text option {
  font-size: 16px; /* Set the font size of the dropdown */
}

input[readonly] {
  background-color: #f2f2f2;
  color: #999;
  cursor: not-allowed;
}

.select-text option {
  padding: 5px;
  font-size: 16px;
}

.select-text option:hover {
  padding: 5px;
  font-size: 16px;
  background-color: #f2f2f2;
  cursor: pointer;
}

.italic-data {
  font-style: italic;
  font-size: 14px;
}



/* ------------------------------------------------------------------------------ */
/* -------------------------------------LOGIN------------------------------------ */
/* ------------------------------------------------------------------------------ */

.container-body-login {
  width: 100%;
  background-image: url("../images/city-hall.jpg");
  background-size: cover;
  height: 100%;
}

.transparent {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  padding: 100px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.container-white-login {
  background-color: white;
  width: 40%;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  gap: 10px;
}

.login {
  width: 100px;
  height: 100px;
}


.container-password-requirements {
  font-size: 18px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}





/* ------------------------------------------------------------------------------ */
/* ------------------------------------MESSAGE----------------------------------- */
/* ------------------------------------------------------------------------------ */



.container-success {
  display: flex;
  padding: 15px;
  border-radius: 5px;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background-color: #d4edda;
  color: #155724;
  border-color: #c3e6cb;
}

.container-condemned-message {
  display: flex;
  padding: 15px;
  border-radius: 5px;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background-color: #e3e3e3;
  color: black;
  border-color: #c3e6cb;
}

.container-success-description {
  font-size: 16px;
}

.button-success-close {
  color: grey;
  font-size: 25px;
  background-color: transparent;
  border: none;
  transition: transform 0.2s;
}

.button-success-close:hover {
  color: red;
  font-size: 25px;
  transform: scale(1.1);
  cursor: pointer;
}

.container-error {
  display: flex;
  padding: 15px;
  border-radius: 5px;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  background-color: #f8d7da;
  color: #721c24;
  border-color: #f5c6cb;
}

.container-error-description {
  font-size: 16px;
}

.button-error-close {
  color: grey;
  font-size: 25px;
  background-color: transparent;
  border: none;
  transition: transform 0.2s;
}

.button-error-close:hover {
  color: red;
  font-size: 25px;
  transform: scale(1.1);
  cursor: pointer;
}




/* ------------------------------------------------------------------------------ */
/* ----------------------------------LIBRARY ID---------------------------------- */
/* ------------------------------------------------------------------------------ */


.container-library-id {
  background-color: #e6c200;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 15px;
  margin: 10px;
  border: 2px solid black;
}

.container-library-id-2 {
  background-color: #e6c200;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 15px;
  margin: 10px;
  border: 2px solid black;
}

.id-logo-image {
  width: 70px;
  height: 70px;
}

.id-picture-image {
  width: 100%;
  height: 150px;
}

.container-id-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.container-left-id {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 70%;
}

.container-right-id {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 30%;
}

.table-id {
  border-collapse: collapse;
  width: 100%;
  border: none;
}

.td-id-none {
  padding: 1px;
  border: none;
  white-space: nowrap;
  font-size: 14px;
}

.td-id-bottom {
  padding: 1px;
  border: none;
  border-bottom: 1px solid #000;
  width: 100%;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

.tr-id {
  background-color: transparent !important;
}

.tr-id:hover {
  background-color: transparent !important;
}

.table-id tbody .tr:nth-child(even) {
  background-color: transparent !important;
}

.table-id tbody .tr:hover {
  background-color: transparent !important;
}

.id-librarian-name {
  font-size: 19px;
  font-weight: bold;
  margin-top: 25px;
}

.id-librarian-title {
  font-size: 14px;
  text-align: center;
}

.id-borrower-sign {
  font-size: 19px;
  border-bottom: 1px solid black;
  margin-top: 25px;
  color: transparent;
}

.id-borrower-sign-report {
  font-size: 19px;
  border-bottom: 1px solid black;
  margin-top: 25px;
}

.id-borrower-label {
  font-size: 14px;
  margin: 0 5px;
}

.id-bottom-row {
  display: flex;
  flex-direction: row;
  gap: 10px;
}





/* ------------------------------------------------------------------------------ */
/* -----------------------------CONTENT MANAGEMENT------------------------------- */
/* ------------------------------------------------------------------------------ */

.about-title-white {
  font-size: 40px;
  margin: 30px 50px;
  color: white;
}

.about-subtitle-white {
  font-size: 18px;
  margin: 0 50px;
  color: white;
}

.row-body-info {
  display: flex;
  position: relative;
  justify-content: center;
}

.about-80vh {
  min-height: 80vh !important;
}

.about-100vh {
  min-height: 100vh !important;
}

.about-mv-contents {
  display: flex;
  flex-direction: column;
  width: 40%;
  padding: 20px;
  text-align: justify;
}

.about-title {
  font-size: 26px;
  padding: 10px;
}

.about-description {
  font-size: 18px;
  padding: 10px;
}

.about-mv-image-1 {
  width: 50%;
  height: 350px;
  background-color: #5f656f;
  border: 1px solid black;
  margin-top: 50px;
  transition: transform 0.2s;
}

.about-mv-image-2 {
  width: 80%;
  height: 170px;
  background-color: #222;
  border: 1px solid black;
  transition: transform 0.2s;
}

.about-mv-image-3 {
  width: 90%;
  height: 170px;
  background-color: #393e46;
  border: 1px solid black;
  margin-top: 10px;
  transition: transform 0.2s;
}

.about-mv-image-1:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.about-mv-image-2:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.about-mv-image-3:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.about-mv-column {
  width: 40%;
  display: flex;
  flex-direction: column;
}

.container-white-about {
  width: auto;
  display: flex;
  flex-direction: column;
  background-color: #f0f0f0;
  padding: 20px;
  border-radius: 10px;
  height: auto;
  margin-top: 20px;
  gap: 10px;
}

.about-history-contents {
  width: 100%;
  height: 100%;
  margin: 20px 0;
}

.about-history-image {
  width: 100%;
  height: 400px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.history-image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.container-scroll {
  position: absolute;
  top: 100px;
  width: 80%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: auto;
}

.container-scroll-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  height: auto;
  margin-bottom: 100px;
}

.history-title {
  font-size: 30px;
  padding: 30px 0;
  text-align: center;
}

.history-description {
  font-size: 18px;
  text-align: justify;
  text-indent: 30px;
  padding: 20px 0;
}

.container-history-description {
  width: 80%;
  background-color: #f5df93;
  padding: 20px;
}

.container-scroll-left {
  width: 50px;
  background-image: url("../images/background-scroll-left.png");
  background-repeat: repeat-y;
}

.container-scroll-right {
  width: 50px;
  background-image: url("../images/background-scroll-right.png");
  background-repeat: repeat-y;
}

.row-contents-center {
  display: flex;
  flex-direction: row;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}

.about-officials-contents {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* background-color: #DFD7BF; */
  background-color: #f0f0f0;
  padding: 50px;
}

.container-officials {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 300px;
  margin: 5px 20px;
  position: relative;
}

.container-officials-image {
  width: 150px;
  height: 150px;
  border-radius: 100px;
  overflow: hidden;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 70px;
  left: 50%;
  transform: translate(-50%);
  transition: transform 0.3s ease, color 0.3s ease, scale 0.3s ease;
  z-index: 1;
}

.container-officials-image:hover {
  transform: translate(-50%) scale(1.1);
  cursor: pointer;
}

.container-officials-image-modal {
  width: 100%;
  height: 200px;
  border: 1px solid #ccc;
  overflow: hidden;
}

.container-officials-description {
  margin-top: 130px;
  width: 100%;
  height: 280px;
  border-radius: 10px;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  background: white;
  position: relative;
  box-sizing: border-box;
  padding-top: 100px;
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
  gap: 10px;
}

.officials-name {
  font-size: 24px;
  margin-top: 10px;
}

.officials-title {
  font-size: 18px;
  font-weight: bold;
}

.nav-page {
  display: flex;
  flex-direction: row;
  gap: 20px;
}

.nav-button {
  cursor: pointer;
  transition: transform 0.3s ease, color 0.3s ease;
}

.nav-button:hover {
  transform: scale(1.1);
}

.nav-button.active {
  background-color: black;
  color: white;
}

.news-contents {
  width: 100%;
  background-color: #f0f0f0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 40px;
  padding: 30px;
  justify-content: center;
  padding-bottom: 200px;
  margin-top: 20px;
  border-radius: 10px;
}

.news-box-container {
  background-color: white;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 30%;
  border-radius: 20px;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.7);
  overflow: hidden;
  padding: 20px;
  transition: transform 0.3s ease, color 0.3s ease;
  position: relative;
}

.container-news-image-modal {
  width: 100%;
  height: 400px;
  border: 1px solid #ccc;
  overflow: hidden;
}

.news-box-container:hover {
  cursor: pointer;
  transform: scale(1.1);
}

.news-image {
  width: 100%;
  height: 200px;
  border-radius: 10px;
  overflow: hidden;
}

.news-title {
  font-size: 24px;
}

.news-date {
  font-size: 18px;
}

.news-description {
  font-size: 16px;
  text-align: justify;
  max-height: 50px;
  overflow: hidden;
  position: relative;
}

.news-description.fade::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 30px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 1) 100%
  );
}

.contact-white-container {
  min-width: 40%;
  border-radius: 10px;
  box-shadow: 2px 4px 8px rgba(0, 0, 0, 0.7);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: white;
  box-sizing: border-box;
  padding: 50px;
  text-align: center;
  margin: 10px;
  transition: transform 0.3s ease, color 0.3s ease;
  gap: 30px;
}

.contact-title {
  font-size: 24px;
  margin-top: 10px;
}

.contact-icons {
  width: 50px;
  height: 50px;
}

.contact-description {
  font-size: 16px;
  max-width: 300px;
}

.contact-info {
  font-size: 18px;
  font-weight: bold;
}

.contact-white-container:hover {
  cursor: pointer;
  transform: scale(1.1);
}





.p-justify {
  text-align: justify;
}

.report-summary p {
  text-indent: 2em;
  line-height: 1.6;
}




/* ------------------------------------------------------------------------------ */
/* ------------------------------------SCANNER----------------------------------- */
/* ------------------------------------------------------------------------------ */

.scan-overlay {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  /* Center the overlay horizontally */
  width: 40%;
  /* Set the width of the square */
  height: 60%;
  /* Make the height equal to the width for a square */
  border: 3px solid white;
  /* Green square border */
  box-sizing: border-box;
  pointer-events: none;
  /* Prevent overlay from blocking the scanner */
  z-index: 10;
  /* Ensure it's above the video */
  background: rgba(0, 0, 0, 0.3);
  /* Dim surrounding area */
}

.qr-image-box {
  outline: 8px solid red;
  outline-offset: 4px;
  background-color: transparent;
  padding: 5px;
}

.id-box {
  outline: 8px solid red;
  /* Creates a red box around the text */
  outline-offset: 4px;
  /* Adds space between the text and the outline */
  background-color: transparent;
  /* Ensures no background color is added */
  font-size: 16px;
}






/* Loading overlay styling */
#loading-overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  z-index: 9999;
}

/* Spinner styling */
.spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top-color: #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Spinner animation */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
