/* Fix left alignment for Grav modular text */
.modular-wrapper.modular-text{
  padding-left: 24px;
  padding-right: 24px;
}

/* Prevent wide overflow from long words */
table { width: 100%; border-collapse: collapse; }
th, td { white-space: normal; overflow-wrap: normal; word-break: normal; }

/* Desktop: experience table (Dates column should NOT wrap) */
@media (min-width: 601px) {
  table { table-layout: fixed; }

    .resume-table--experience th:nth-child(1),
    .resume-table--experience td:nth-child(1) {
        white-space: nowrap !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;width: 19%;
    }
    .resume-table--experience th:nth-child(2),
    .resume-table--experience td:nth-child(2) { width: 36%; }
    
    .resume-table--experience th:nth-child(3),
    .resume-table--experience td:nth-child(3) { width: 45%; }
}


/* mobile experience */
@media (max-width: 600px) {
  thead { display: none; }

  table, tbody, tr, td { display: block; width: 100%; }
  tr { margin-bottom: 1rem; }

  td {
    border: 0;
    padding: 0.35rem 0;
  }

  /* Label each cell using the column header text */
  td::before {
    content: attr(data-label);
    display: block;
    font-weight: 600;
    margin-bottom: 0.15rem;
  }
}

/* Desktop: certs table (let Certification wrap, and set widths) */
@media (min-width: 601px) {
  .resume-table--certs {
    table-layout: fixed;
  }

  .resume-table--certs th:nth-child(1),
  .resume-table--certs td:nth-child(1) { width: 48%; }

  .resume-table--certs th:nth-child(2),
  .resume-table--certs td:nth-child(2) { width: 24%; }

  .resume-table--certs th:nth-child(3),
  .resume-table--certs td:nth-child(3) { width: 28%; }

  .resume-table--certs th:nth-child(1),
  .resume-table--certs td:nth-child(1) {
    white-space: normal !important;
    overflow-wrap: break-word; /* or normal */
    word-break: break-word;
    hyphens: none;
  }
}