/* Job details rows (careers single): 32px uppercase heading over six columns, body copy in columns 7–10,
   28px under a line and 40px under the copy. Lines sit above the first row and wherever the content has
   a Separator block. */
.tc-w-jobsec {
  padding-bottom: 80px;
}

.tc-w-jobsec__row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--tc-gutter, 24px);
  row-gap: 16px;
  align-items: start;
  padding: 28px 0 40px;
}

.tc-w-jobsec__row.has-line {
  border-top: var(--tc-jobsec-line-size, 1px) solid var(--tc-jobsec-line, rgba(38, 38, 38, 0.3));
}

.tc-w-jobsec__head {
  grid-column: 1 / span 6;
  margin: 0;
}

.tc-w-jobsec__body {
  grid-column: 7 / span 4;
  min-width: 0;
}

.tc-w-jobsec__body :is(p, ul, ol, h3, h4, h5, h6, blockquote, figure, table) {
  margin: 0 0 var(--tc-jobsec-space, 12px);
}

.tc-w-jobsec__body > :last-child {
  margin-bottom: 0;
}

.tc-w-jobsec__body :is(h3, h4, h5, h6) {
  font: inherit;
  text-transform: uppercase;
}

.tc-w-jobsec__body :is(ul, ol) {
  padding: 0;
  list-style: none;
}

.tc-w-jobsec__body li {
  margin: 0 0 var(--tc-jobsec-space, 12px);
}

.tc-w-jobsec__body li:last-child {
  margin-bottom: 0;
}

.tc-w-jobsec__body ul > li::before {
  content: var(--tc-jobsec-marker, "•");
  margin-right: 0.35em;
}

.tc-w-jobsec__body ol {
  counter-reset: tc-jobsec;
}

.tc-w-jobsec__body ol > li {
  counter-increment: tc-jobsec;
}

.tc-w-jobsec__body ol > li::before {
  content: counter(tc-jobsec) ".";
  margin-right: 0.35em;
}

.tc-w-jobsec__body a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: color 180ms;
}

.tc-w-jobsec__body a:is(:hover, :focus-visible) {
  color: #f44349;
}

.tc-w-jobsec__body img {
  max-width: 100%;
  height: auto;
}

.tc-w-jobsec__empty {
  margin: 0;
  padding: 40px 0;
}

/* Tablet and mobile layouts for this widget. */
@media (max-width: 900px) {
  .tc-w-jobsec { padding-bottom: 56px; }

  .tc-w-jobsec__row { padding: 24px 0 32px; }

  .tc-w-jobsec__head { grid-column: 1 / span 5; }

  .tc-w-jobsec__body { grid-column: 6 / span 7; }
}

@media (max-width: 600px) {
  .tc-w-jobsec__row { row-gap: 12px; padding: 20px 0 28px; }

  .tc-w-jobsec__head,
  .tc-w-jobsec__body { grid-column: 1 / -1; }
}
