button,
a {
  cursor: pointer;
}
.PNTD {
  background-color: red;
  margin-bottom: 3rem;
  background-color: rgba(255, 255, 255, 0.8);
  .title {
    color: rgb(13, 106, 191);
    margin-bottom: 3rem;
  }

  .text {
    color: rgb(29, 132, 158);
    font-weight: 800;
    font-size: large;
  }
  .sub-title {
    margin-bottom: 3rem;
    font-weight: 800;
    color: rgb(13, 106, 191);
  }

  .featurette-divider {
    border-top: 2px solid rgb(29, 132, 158);
    margin: 0px;
  }

  #pntd-toggle-text {
    cursor: pointer;
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    .glyphicon-chevron-up {
      color: rgb(13, 106, 191);
      font-size: large;
      transition: transform 0.3s ease;
    }
    &.collapsed {
      .glyphicon-chevron-up {
        transform: rotate(180deg);
      }
    }
  }

  .container-charts {
    position: relative;
    border: 1px solid rgb(29, 132, 158);
    border-radius: 5px;

    h2 {
      color: rgb(29, 132, 158);
      margin: 0px;
      font-size: xx-large;
      font-weight: 800;
      margin-bottom: 15px;
    }
    #specialty1,
    #specialty2,
    #specialty3 {
      padding: 10px;
    }

    .date-update {
      position: absolute;
      top: 10px;
      right: 10px;
      color: gray;
      font-weight: 600;
      display: flex;
      align-items: center;
      justify-content: baseline;
      gap: 2px;
    }

    .row.gutter-15 {
      margin-left: -7.5px;
      margin-right: -7.5px;
    }
    .row.gutter-15 > [class^="col-"] {
      padding-left: 7.5px;
      padding-right: 7.5px;
    }
    table {
      tbody {
        tr {
          height: 30px;
          td {
            padding: 4px 10px;
          }
        }
      }
    }
    .tbody tr {
      height: 30px;
    }
  }

  .specialty-card {
    display: flex;
    width: 100%;
    height: 130px !important;
    align-items: center;
    /* background-color: #ececec; */
    flex-direction: column;
    justify-content: space-between;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    color: #0d6abf;
    position: relative;
    padding: 10px;
    cursor: pointer;
    transition: transform 0.3s ease;
    margin-bottom: 10px;
    span.specialty-card__icon {
      font-size: 7rem;
    }
    .specialty-card__title {
      /* position: absolute;
      bottom: 8px; */
    }
    &:hover {
      transform: scale(1.04);
    }
    &.active {
      background-color: rgba(160, 209, 255, 0.66);
      border: 1px solid rgb(160, 209, 255);
    }
  }
  .stats-card {
    margin-bottom: 10px;
    display: flex;
    width: 100%;
    height: 130px !important;
    align-items: center;
    text-align: center;
    flex-direction: column;
    justify-content: center;
    border: 1px solid rgb(160, 209, 255);
    border-radius: 5px;
    background-color: rgba(160, 209, 255, 0.66);
    gap: 5px;
    .stats-card__value {
      font-weight: 600;
      font-size: x-large;
    }
    .stats-card__label {
      color: rgb(108, 105, 102);
      font-size: small;
      font-weight: 400;
    }
  }

  .container-separation {
    height: 257px;
    .separation {
      background-color: #e8661e;
      width: 2px;
      height: 180px;
      margin-top: 60px;
    }
  }
  .odd {
    background-color: #dae9f7 !important;
  }
  .rounded {
    border-radius: 5px;
  }
  .p-1 {
    padding: 10px;
  }
  .p-3 {
    padding: 30px;
  }

  .container-chart-item {
    width: 100%;
    float: left;
    position: relative;

    max-width: 800px;
    padding: 10px;
    border-radius: 5px;
    height: 100%;
    background-color: rgb(160 209 255 / 65%);
  }
  .dataTables_wrapper {
    min-height: 300px;
  }

  .mb-15 {
    margin-bottom: 15px;
  }

  .h-full {
    height: 100%;
  }
  .w-full {
    width: 100%;
  }

  .bg-blue {
    background-color: rgb(160 209 255 / 65%);
  }

  .text-xs {
    font-size: 0.75rem; /* 12px */
  }

  .text-sm {
    font-size: 0.875rem; /* 14px */
  }

  .text-md {
    font-size: 1rem; /* 16px */
  }

  .text-lg {
    font-size: 1.125rem; /* 18px */
  }

  .text-xl {
    font-size: 1.25rem; /* 20px */
  }

  .text-2xl {
    font-size: 1.5rem; /* 24px */
  }

  .text-3xl {
    font-size: 1.875rem; /* 30px */
  }

  .text-4xl {
    font-size: 2.25rem; /* 36px */
  }

  .font-thin {
    font-weight: 100;
  }

  .font-light {
    font-weight: 300;
  }

  .font-normal {
    font-weight: 400;
  }

  .font-medium {
    font-weight: 500;
  }

  .font-semibold {
    font-weight: 600;
  }

  .font-bold {
    font-weight: 700;
  }

  .font-extrabold {
    font-weight: 800;
  }

  .font-black {
    font-weight: 900;
  }

  .d-flex {
    display: flex;
  }
  .flex-direction-column {
    flex-direction: column;
  }
  .align-items-center {
    align-items: center;
  }
  .justify-content-center {
    justify-content: center;
  }
  .justify-content-around {
    justify-content: space-around;
  }
  .justify-content-between {
    justify-content: space-between;
  }
  /* Direção linha (padrão) */
  .flex-direction-row {
    flex-direction: row;
  }

  /* Alinhamento no eixo cruzado */
  .align-items-start {
    align-items: flex-start;
  }
  .align-items-end {
    align-items: flex-end;
  }
  .align-items-stretch {
    align-items: stretch;
  }
  .align-items-baseline {
    align-items: baseline;
  }
  .ml-1 {
    margin-left: 8px;
  }

  /* Alinhamento no eixo principal */
  .justify-content-start {
    justify-content: flex-start;
  }
  .justify-content-end {
    justify-content: flex-end;
  }

  /* Alinhamento individual (por item) */
  .align-self-start {
    align-self: flex-start;
  }
  .align-self-center {
    align-self: center;
  }
  .align-self-end {
    align-self: flex-end;
  }

  .form-check-label {
    cursor: pointer;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .flex-nowrap {
    flex-wrap: nowrap;
  }

  .flex-grow-1 {
    flex-grow: 1;
  }

  .gap-1 {
    gap: 0.25rem;
  }
  tr .gap-2 {
    gap: 0.5rem;
  }
  &.modal {
    padding: 10px;
    h2 {
      color: rgb(29, 132, 158);
      margin: 0px;
      font-size: xx-large;
      font-weight: 800;
    }

    .label {
      font-weight: 700;
      margin-bottom: 0px;
      padding: 0px;
      color: rgb(29, 132, 158);
      font-size: 16px;
      line-height: 28px;
    }

    .container-select {
      border: 1px solid gray;
      border-radius: 5px;
      height: 100px;
      overflow: auto;
      padding-bottom: 4px;
    }
  }

  @media only screen and (max-width: 992px) {
    .container-separation {
      height: 100%;
      .separation {
        width: 100%;
        height: 2px;
        margin-top: 10px;
      }
    }
  }

  .container-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
  }

  .chip {
    border-radius: 5px;
    background-color: rgb(160 209 255 / 65%);
    padding: 2px 5px;
    color: #000;
    font-weight: 600;
    font-size: small;
    button {
      border-radius: 25px !important;
      background-color: #4a90e2;
      border: none;
      color: white;
      width: 25px;
      height: 25px;
      margin-left: 5px;
    }
  }
}

.loader {
  border: 5px solid #f3f3f3; /* Cor do fundo do círculo */
  border-top: 5px solid #3498db; /* Cor da animação */
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: spinner 1s linear infinite;
}

.loader-small {
  border: 2px solid #f3f3f3; /* Cor do fundo do círculo */
  border-top: 2px solid #3498db; /* Cor da animação */
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: spinner 1s linear infinite;
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
