:root {
  --custom-table-navy: #102062;
  --custom-table-text: #333333;
  --custom-table-white: #ffffff;
  --custom-table-highlight: #d4efee4d;
  --custom-table-font: "Figtree", "Geologica", Arial, sans-serif;
  --custom-table-radius: 10px;
  --custom-table-width: 828px;
  --custom-table-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

table {
  border: 1px solid var(--custom-table-navy);
  border-spacing: 0;
  border-collapse: separate;
  box-shadow: var(--custom-table-shadow);
  background-color: var(--custom-table-white);
  color: var(--custom-table-text);
  width: 100%;
  max-width: var(--custom-table-width);
  display: table;
  table-layout: fixed;
  overflow: hidden;
  margin: 0 auto 2px;

  @media (max-width: 960px) {
    border: 1px solid var(--custom-table-navy);
    box-shadow: none;
    max-width: 100%;
    margin-bottom: 2px;
  }

  thead {
    background-color: var(--custom-table-navy);
    color: var(--custom-table-white);
  }

  tr {
    min-height: 48px;

    &:last-child {
      td {
        border-bottom: 0;
      }

      td:first-child {
        border-bottom-left-radius: var(--custom-table-radius);
      }

      td:last-child {
        border-bottom-right-radius: var(--custom-table-radius);
      }
    }
  }

  tbody tr td,
  thead tr th {
    text-align: center;
    padding: 16px 8px;
    color: var(--custom-table-text);
    line-height: 16px;
    font-size: 14px;
    font-weight: 400;
    border-bottom: 1px solid var(--custom-table-navy);
    white-space: normal;
    vertical-align: middle;
    word-break: normal;
    overflow-wrap: anywhere;

    @media (max-width: 960px) {
      padding: 16px 6px !important;
    }

    span,
    strong,
    em,
    sup {
      line-height: inherit;
    }

    strong {
      font-weight: 700;
    }

    em {
      font-style: italic;
    }

    sup {
      font-size: 65%;
      line-height: 0;
      vertical-align: super;
    }
  }

  tbody tr td:first-child,
  thead tr th:first-child {
    text-align: left;

    @media (min-width: 961px) {
      padding-left: 48px;
    }

    @media (max-width: 960px) {
      padding: 16px 6px;
    }
  }

  &:has(tbody tr td:first-child > b) {
    tbody tr td:first-child:not(:has(> b)) {
      @media (min-width: 961px) {
        padding-left: 58px;
      }

      @media (max-width: 960px) {
        padding-left: 17px !important;
      }
    }

    tbody tr td:first-child:has(> b) {
      @media (max-width: 960px) {
        padding-left: 12px !important;
      }
    }
  }

  tbody tr td:last-child,
  thead tr th:last-child {
    @media (min-width: 961px) {
      padding-right: 48px;
    }
  }

  tbody tr td:nth-child(2) {
    background-color: var(--custom-table-highlight);
  }

  thead tr th {
    background-color: var(--custom-table-navy);
    color: var(--custom-table-white);
    font-weight: 700;
    line-height: 16px;
    letter-spacing: -0.3px;
    padding-top: 20px;
    padding-bottom: 20px;

    &:first-child {
      @media (max-width: 960px) {
        padding-top: 18px;
        padding-bottom: 18px;
      }
    }
  }

  &:has(thead tr th:nth-child(3):last-child) {
    thead tr th,
    tbody tr td {
      width: 33.333%;
    }
  }

  &:has(thead tr th:nth-child(4):last-child) {
    thead tr th,
    tbody tr td {
      width: 25%;
      word-break: normal;
      overflow-wrap: normal;
    }

    tbody tr td,
    thead tr th {
      @media (max-width: 960px) {
        padding-right: 5px;
        padding-left: 5px;
      }
    }
  }
}

@media (min-width: 1920px) {
  :root {
    --custom-table-width: 828px;
  }
}
