/* Employment Opportunities / Job Postings dynamic source. */
.jobs-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 40px;
}

.jobs-title-h {
	margin: 0 0 16px;
	font-family: var(--brand-head, inherit);
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	color: var(--brand-ink, #000);
}

.jobs-intro {
	margin: 1.5rem 0 0;
	color: var(--brand-body, #5a5a5a);
	font-size: 1.05rem;
	line-height: 1.6;
}

.jobs-table-wrap {
	overflow-x: auto;
}

.jobs-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.jobs-table .jobs-th {
	background: var(--brand, #1b938f);
	color: #fff;
	text-align: left;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	font-size: 0.85rem;
	padding: 16px 20px;
}

.jobs-table .jobs-cell {
	padding: 20px;
	vertical-align: middle;
	color: var(--brand-body, #5a5a5a);
    max-width: 20rem;
}

.jobs-row:nth-child(even) {
	background: color-mix(in srgb, var(--brand) 6%, #fff);
}

.jobs-company {
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--brand-ink, #000);
	white-space: nowrap;
}

.jobs-title {
	color: var(--brand-ink, #1a1a1a);
}

.jobs-vacancies {
	text-align: left;
}

.jobs-apply {
	color: var(--brand-ink, #000);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	font-size: 0.85rem;
	word-break: break-word;
}

.jobs-apply-email {
	text-decoration: none;
}

.jobs-apply-email:hover {
	color: var(--brand, #1b938f);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jobs-apply-url {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.jobs-apply-url:hover {
	color: var(--brand, #1b938f);
}

.jobs-apply-empty {
	color: var(--brand-line, #c3c4c7);
}

.jobs-empty {
	color: var(--brand-body, #5a5a5a);
}

@media (max-width: 720px) {
	.jobs-table,
	.jobs-table thead,
	.jobs-table tbody,
	.jobs-table tr,
	.jobs-table td {
		display: block;
		width: 100%;
	}

	.jobs-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.jobs-row {
		border: 1px solid var(--brand-line, #d9e2e0);
		border-radius: var(--brand-radius, 6px);
		margin-bottom: 16px;
		padding: 4px 0;
	}

	.jobs-row:nth-child(even) {
		background: color-mix(in srgb, var(--brand) 6%, #fff);
	}

	.jobs-table .jobs-cell {
		display: flex;
		justify-content: space-between;
		gap: 16px;
		padding: 10px 16px;
		text-align: right;
	}

	.jobs-table .jobs-cell::before {
		content: attr(data-label);
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.03em;
		font-size: 0.78rem;
		color: var(--brand, #1b938f);
		text-align: left;
	}

	.jobs-company {
		white-space: normal;
	}
}
