/*
Theme Name: Sydney Child
Theme URI: http://athemes.com/theme/sydney
Author: aThemes
Author URI: http://athemes.com
Template: sydney
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sydney
*/

/* Figtree is enqueued in functions.php (handle tps-figtree) so OMGF can host it locally. */

/* === TPS 2026 rebrand: colour + type system (added by Claude) === */
:root {
	--tps-brand-primary: #0f6e56;
	--tps-brand-primary-hover: #0b5342;
	--tps-brand-navy: #16243d;
	--tps-brand-text: #42536c;
	--tps-brand-text-muted: #52627a;
	--tps-brand-bg-tint: #eaf1fb;
	--tps-brand-bg-soft: #f7f9fc;
	--tps-brand-border: #cbd9ee;
	--tps-font: "Figtree", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
.navbar-nav,
.tps-main-menu {
	font-family: var(--tps-font);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--tps-font);
	letter-spacing: -0.02em;
	color: var(--tps-brand-navy);
}
/* === end TPS 2026 rebrand block === */

html,
body {
	max-width: 100%;
	/* clip, not hidden: overflow-x:hidden turns body into a scroll container
	   that never scrolls, which silently breaks every position:sticky element
	   (the page side boxes vanished on scroll). clip stops the sideways
	   overflow the same way without that side effect. */
	overflow-x: clip;
}

body {
	padding-top: var(--tps-sticky-header-height, 154px);
}

#page,
.site,
.page-wrap,
.content-wrapper,
.tps-header {
	max-width: 100%;
	overflow-x: clip;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

.page-wrap {
	padding-top: 30px;
}

.tps-header .btn-outline-warning {
	border-width: 2px;
}

.tps-dashboard-page {
	--dashboard-blue: #0f6e56;
	--dashboard-orange: #0f6e56;
	--dashboard-ink: #16243d;
	--dashboard-muted: #525866;
	--dashboard-border: #e4e7eb;
	background: #fff;
	color: var(--dashboard-ink);
	padding: 22px 0 72px;
}

/*body.page-template-tpl-dashboard .page-wrap,
body.page-template-tpl-dashboard .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-bookings .page-wrap,
body.page-template-tpl-dashboard-bookings .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-your-profile .page-wrap,
body.page-template-tpl-dashboard-your-profile .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-events .page-wrap,
body.page-template-tpl-dashboard-events .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-resources .page-wrap,
body.page-template-tpl-dashboard-resources .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-jobs .page-wrap,
body.page-template-tpl-dashboard-jobs .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-news .page-wrap,
body.page-template-tpl-dashboard-news .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-dashboard-membership .page-wrap,
body.page-template-tpl-dashboard-membership .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-membership-application-form .page-wrap,
body.page-template-tpl-membership-application-form .content-wrapper {
    padding-top: 0;
}

body.page-template-tpl-transport-planning-day-2025 .page-wrap,
body.page-template-tpl-transport-planning-day-2025 .content-wrapper {
    padding-top: 0;
}*/

body.page-template-tpl-transport-planning-day-2025 .breadcrumb-box .container,
.tps-transport-planning-day > .container {
	max-width: 1368px;
}

.tps-transport-planning-day {
	background: #fff;
	color: #16243d;
	padding: 46px 0 0;
}

.tps-transport-planning-day-title {
	color: #16243d;
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 0 58px;
}

.tps-transport-planning-day-image {
	border-radius: 8px;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.tps-transport-planning-day-image img {
	aspect-ratio: 1368 / 450;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.tps-transport-planning-day-content {
	padding-top: 70px;
}

.tps-transport-planning-day-copy {
	max-width: 810px;
}

.tps-transport-planning-day-copy p {
	color: #596170;
	font-size: 20px;
	line-height: 1.68;
	margin: 0 0 25px;
}

.tps-transport-planning-day-copy p:last-child {
	margin-bottom: 0;
}

.tps-transport-planning-day-copy strong {
	color: #596170;
	font-weight: 800;
}

.tps-transport-planning-day-copy a {
	color: #0f6e56;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.tps-transport-planning-day-copy a:hover,
.tps-transport-planning-day-copy a:focus {
	color: #0b5342;
}

.tps-transport-planning-day-divider {
	border: 0;
	border-top: 1px solid #e2e5e9;
	margin: 38px 0 54px;
	max-width: 810px;
	opacity: 1;
}

.tps-transport-planning-day-quote {
	border-left: 3px solid #0f6e56;
	margin: 0 0 54px;
	max-width: 810px;
	padding: 11px 0 8px 26px;
}

.tps-transport-planning-day-quote blockquote {
	color: #16243d;
	font-size: 25px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	margin: 0 0 33px;
}

.tps-transport-planning-day-quote figcaption {
	color: #596170;
	font-size: 16px;
	line-height: 1.5;
}

.tps-transport-planning-day-quote-large {
	margin-top: 66px;
	margin-bottom: 57px;
}

.tps-transport-planning-day-quote-large blockquote {
	font-size: 25px;
	line-height: 1.45;
	margin-bottom: 39px;
}

.tps-transport-planning-day-theme {
	max-width: 810px;
}

.tps-transport-planning-day-theme h2 {
	color: #16243d;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 24px;
}

.tps-transport-planning-day-explored {
	margin-top: 21px;
	max-width: 810px;
}

.tps-transport-planning-day-list {
	color: #596170;
	font-size: 18px;
	line-height: 1.7;
	margin: 72px 0 0;
	padding-left: 30px;
}

.tps-transport-planning-day-list li {
	padding-left: 4px;
}

.tps-transport-planning-day-list li::marker {
	font-size: 16px;
}

.tps-transport-planning-day-programme {
	margin-top: 66px;
	max-width: 810px;
}

.tps-transport-planning-day-programme h2 {
	color: #16243d;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 28px;
}

.tps-transport-planning-day-programme ul {
	color: #596170;
	font-size: 18px;
	line-height: 1.7;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-transport-planning-day-programme li {
	margin: 0;
}

.tps-transport-planning-day-programme strong {
	color: #596170;
	font-weight: 800;
}

.tps-transport-planning-day-speakers {
	margin-top: 76px;
	max-width: 810px;
}
.tps-standard-page-copy .tps-transport-planning-day-speakers {
	margin-top: 0px;
	max-width: 100%;
}

.tps-transport-planning-day-speakers h2 {
	color: #16243d;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 18px;
}

.tps-transport-planning-day-speaker-card {
	align-items: center;
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 14px;
	display: grid;
	gap: 54px;
	grid-template-columns: minmax(280px, 352px) 1fr;
	padding: 26px;
}

.tps-transport-planning-day-speaker-card
	+ .tps-transport-planning-day-speaker-card {
	margin-top: 36px;
}

.tps-transport-planning-day-speaker-image {
	align-self: center;
	background: #f4f5f6;
	overflow: hidden;
}

.tps-transport-planning-day-speaker-image img {
	aspect-ratio: 352 / 407;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.tps-transport-planning-day-speaker-content {
	align-self: center;
	padding-top: 0;
}

.tps-transport-planning-day-speaker-content h3 {
	color: #16243d;
	font-size: 21px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.55;
	margin: 0 0 12px;
}

.tps-transport-planning-day-speaker-content p {
	color: #596170;
	font-size: 16px;
	line-height: 1.72;
	margin-bottom: 0 !important;
}

.tps-transport-planning-day-speaker-card-featured {
	align-items: center;
	column-gap: 0;
	display: flex;
	flex-wrap: wrap;
	max-width: 810px;
	padding: 26px;
}

.tps-transport-planning-day-speaker-card-featured
	.tps-transport-planning-day-speaker-image {
	flex: 0 0 352px;
	max-width: 352px;
}

.tps-transport-planning-day-speaker-card-featured
	.tps-transport-planning-day-speaker-image
	img {
	aspect-ratio: 352 / 374;
}

.tps-transport-planning-day-speaker-card-featured
	.tps-transport-planning-day-speaker-content {
	flex: 1 1 0;
	padding-left: 54px;
	padding-top: 0;
}

.tps-transport-planning-day-speaker-card-featured
	.tps-transport-planning-day-speaker-content
	h3 {
	font-size: 21px;
	line-height: 1.6;
	margin-bottom: 12px;
}

.tps-transport-planning-day-recording {
	margin-top: 20px;
}

.tps-transport-planning-day-recording p {
	font-size: 21px;
	line-height: 1.5;
}

.tps-transport-planning-day-membership {
	background: #e9f3fb;
	border: 4px solid #0f6e56;
	border-radius: 10px;
	color: #0f6e56;
	margin-left: auto;
	max-width: 430px;
	padding: 29px 24px 41px;
}

.tps-transport-planning-day-membership h2 {
	color: #0f6e56;
	font-size: 25px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 13px;
}

.tps-transport-planning-day-membership p {
	color: #0f6e56;
	font-size: 16px;
	line-height: 1.65;
	margin: 0 0 34px;
}

.tps-transport-planning-day-membership a {
	align-items: center;
	background: #0f6e56;
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1.2;
	min-height: 54px;
	padding: 15px 22px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

.tps-transport-planning-day-membership a:hover,
.tps-transport-planning-day-membership a:focus {
	background: #0b5342;
	color: #fff;
	text-decoration: none;
}

.tps-follow-tps-linkedin-box {
	background: #fff;
	border: 1px solid #dce4ec;
	margin: 0;
	padding: 28px 25px;
}

.tps-follow-tps-linkedin-box a {
	align-items: center;
	color: #10233d;
	display: flex;
	gap: 18px;
	text-decoration: none;
}

.tps-follow-tps-linkedin-box a:hover,
.tps-follow-tps-linkedin-box a:focus {
	color: #10233d;
	text-decoration: none;
}

.tps-follow-tps-linkedin-box__icon {
	align-items: center;
	background: #0a66c2;
	border-radius: 2px;
	color: #fff;
	display: flex;
	flex: 0 0 47px;
	font-size: 24px;
	height: 47px;
	justify-content: center;
}

.tps-follow-tps-linkedin-box__content {
	display: flex;
	flex-direction: column;
}

.tps-follow-tps-linkedin-box__content strong {
	color: #10233d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 5px;
}

.tps-follow-tps-linkedin-box__content span {
	color: #5c6d80;
	font-size: 15px;
	line-height: 1.25;
}

.tps-vacancy-alerts-box {
	background: #e9f3fb;
	color: #000;
	margin: 0;
	max-width: 376px;
	padding: 26px;
}

.tps-vacancy-alerts-box h2 {
	color: #000;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 24px;
}

.tps-vacancy-alerts-box p {
	color: #000;
}

.tps-vacancy-alerts-box__intro {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
	margin: 0 0 18px;
}

.tps-vacancy-alerts-box__form {
	display: grid;
	gap: 13px;
}

.tps-vacancy-alerts-box__form input,
.tps-vacancy-alerts-box__form button {
	border-radius: 0;
	font-size: 16px;
	min-height: 51px;
	width: 100%;
}

.tps-vacancy-alerts-box__form input {
	background: #fff;
	border: 1px solid #d4d8dd;
	color: #000;
	padding: 12px 13px;
}

.tps-vacancy-alerts-box__form input::placeholder {
	color: #5c6d80;
	opacity: 1;
}

.tps-vacancy-alerts-box__form button {
	background: #0f6e56;
	border: 1px solid #0f6e56;
	color: #fff;
	cursor: pointer;
	font-weight: 700;
	padding: 12px 18px;
}

.tps-vacancy-alerts-box__form button:hover,
.tps-vacancy-alerts-box__form button:focus {
	background: #0b5342;
	border-color: #0b5342;
}

.tps-vacancy-alerts-box__message {
	font-size: 15px;
	line-height: 1.4;
	margin: 13px 0 0;
}

@media (max-width: 575.98px) {
	.tps-follow-tps-linkedin-box {
		padding: 22px 20px;
	}

	.tps-follow-tps-linkedin-box a {
		gap: 14px;
	}

	.tps-vacancy-alerts-box {
		max-width: none;
		padding: 22px 20px;
	}
}

@media (max-width: 991.98px) {
	.tps-transport-planning-day {
		padding: 38px 0 64px;
	}

	.tps-transport-planning-day-title {
		font-size: 40px;
		margin-bottom: 38px;
	}

	.tps-transport-planning-day-image img {
		aspect-ratio: 16 / 7;
	}

	.tps-transport-planning-day-content {
		padding-top: 52px;
	}

	.tps-transport-planning-day-copy,
	.tps-transport-planning-day-divider,
	.tps-transport-planning-day-quote,
	.tps-transport-planning-day-theme,
	.tps-transport-planning-day-explored,
	.tps-transport-planning-day-programme,
	.tps-transport-planning-day-speakers {
		max-width: none;
	}

	.tps-transport-planning-day-speaker-card {
		gap: 30px;
		grid-template-columns: minmax(240px, 320px) 1fr;
	}

	.tps-transport-planning-day-speaker-card-featured {
		gap: 0;
		grid-template-columns: none;
	}

	.tps-transport-planning-day-speaker-card-featured
		.tps-transport-planning-day-speaker-image {
		flex-basis: 320px;
		max-width: 320px;
	}

	.tps-transport-planning-day-speaker-card-featured
		.tps-transport-planning-day-speaker-content {
		padding-left: 30px;
	}

	.tps-transport-planning-day-membership {
		margin: 42px 0 0;
		max-width: none;
	}
}

@media (max-width: 575.98px) {
	.tps-transport-planning-day {
		padding: 30px 0 52px;
	}

	.tps-transport-planning-day-title {
		font-size: 32px;
		line-height: 1.2;
		margin-bottom: 28px;
	}

	.tps-transport-planning-day-image img {
		aspect-ratio: 4 / 3;
	}

	.tps-transport-planning-day-content {
		padding-top: 40px;
	}

	.tps-transport-planning-day-copy p {
		font-size: 17px;
	}

	.tps-transport-planning-day-divider {
		margin: 32px 0 38px;
	}

	.tps-transport-planning-day-quote {
		margin-bottom: 38px;
		padding-left: 20px;
	}

	.tps-transport-planning-day-quote blockquote {
		font-size: 22px;
		margin-bottom: 24px;
	}

	.tps-transport-planning-day-quote-large {
		margin-top: 42px;
		margin-bottom: 40px;
	}

	.tps-transport-planning-day-theme h2 {
		font-size: 28px;
		margin-bottom: 18px;
	}

	.tps-transport-planning-day-list {
		font-size: 17px;
		margin-top: 42px;
		padding-left: 24px;
	}

	.tps-transport-planning-day-programme {
		margin-top: 44px;
	}

	.tps-transport-planning-day-programme h2 {
		font-size: 28px;
		margin-bottom: 20px;
	}

	.tps-transport-planning-day-programme ul {
		font-size: 17px;
	}

	.tps-transport-planning-day-speakers {
		margin-top: 48px;
	}

	.tps-transport-planning-day-speakers h2 {
		font-size: 28px;
	}

	.tps-transport-planning-day-speaker-card {
		align-items: start;
		gap: 24px;
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.tps-transport-planning-day-speaker-card-featured {
		display: block;
		max-width: none;
	}

	.tps-transport-planning-day-speaker-card-featured
		.tps-transport-planning-day-speaker-image {
		max-width: none;
	}

	.tps-transport-planning-day-speaker-card-featured
		.tps-transport-planning-day-speaker-content {
		padding-left: 0;
		padding-top: 24px;
	}

	.tps-transport-planning-day-speaker-content {
		padding-top: 0;
	}

	.tps-transport-planning-day-speaker-content h3 {
		font-size: 20px;
	}

	.tps-transport-planning-day-membership {
		padding: 24px 20px 30px;
	}
}

.tps-dashboard-page > .container {
	max-width: 1366px;
}

.tps-dashboard-sidebar {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	box-shadow: 0 14px 28px rgba(23, 28, 41, 0.08);
	margin-left: auto;
	max-width: 406px;
	padding: 31px 30px 34px;
}

.tps-dashboard-nav {
	display: grid;
	gap: 18px;
}

.tps-dashboard-nav-link {
	align-items: center;
	border-radius: 8px;
	color: var(--dashboard-ink);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	gap: 16px;
	line-height: 1.2;
	min-height: 38px;
	text-decoration: none;
}

.tps-dashboard-nav-link i {
	align-items: center;
	color: currentColor;
	display: inline-flex;
	flex: 0 0 34px;
	font-size: 24px;
	justify-content: center;
}

.tps-dashboard-nav-link:hover,
.tps-dashboard-nav-link:focus,
.tps-dashboard-nav-link.active {
	color: var(--dashboard-blue);
	text-decoration: none;
}

.tps-dashboard-nav-link:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(0, 101, 168, 0.18);
	outline: 0;
}

.tps-dashboard-logout {
	color: #ff3b30;
	margin-top: 6px;
}

/* Regional Rep access (Sep 2026) — divider above the appended rep-only
   sidebar items, and a small callout on the dashboard intro. */
.tps-dashboard-nav-divider {
	border-top: 1px solid var(--dashboard-border);
	color: #8b95a3;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 4px;
	padding-top: 14px;
	text-transform: uppercase;
}

.tps-dashboard-regional-callout {
	background: #eaf1fb;
	border-radius: 8px;
	color: #16243d;
	font-size: 15px;
	line-height: 1.6;
	margin: -8px 0 24px;
	padding: 14px 18px;
}

.tps-dashboard-regional-callout a {
	color: var(--dashboard-blue);
	font-weight: 700;
}

.tps-dashboard-content {
	overflow: hidden;
}

.tps-dashboard-content h1 {
	color: var(--dashboard-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 35px;
}

.tps-dashboard-section-head {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 31px;
}

.tps-dashboard-section-head h2 {
	color: var(--dashboard-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-dashboard-section-head a {
	color: var(--dashboard-orange);
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.tps-dashboard-section-head a:hover,
.tps-dashboard-section-head a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-dashboard-events-slider {
	margin-right: -420px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 6px;
	position: relative;
	scrollbar-width: none;
}

.tps-dashboard-events-slider::-webkit-scrollbar {
	display: none;
}

.tps-dashboard-events-slider:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(0, 101, 168, 0.16);
	outline: 0;
}

.tps-dashboard-event-track {
	display: flex;
	gap: 24px;
	padding-right: 24px;
	scroll-snap-type: x mandatory;
}

.tps-dashboard-event-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.11);
	flex: 0 0 386px;
	min-height: 366px;
	padding: 30px 26px 27px;
	position: relative;
	scroll-snap-align: start;
}

.tps-dashboard-event-meta {
	color: var(--dashboard-muted);
	display: grid;
	font-size: 16px;
	font-weight: 500;
	gap: 8px;
	line-height: 1.3;
	margin-bottom: 17px;
	padding-right: 42px;
}

.tps-dashboard-event-meta span {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.tps-dashboard-event-meta i {
	color: #9aa1ad;
	font-size: 22px;
}

.tps-dashboard-event-card h3 {
	color: var(--dashboard-ink);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0 38px 12px 0;
}

.tps-dashboard-event-card h3 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-event-card h3 a:hover,
.tps-dashboard-event-card h3 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-heart {
	align-items: center;
	background: transparent;
	border: 0;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 14px;
	top: 13px;
	width: 34px;
}

.tps-dashboard-heart .bi-heart-fill {
	color: #f04438;
}

.tps-dashboard-heart.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.tps-dashboard-heart:hover,
.tps-dashboard-heart:focus {
	color: #f04438;
}

.tps-dashboard-empty-message {
	color: #566173;
	font-size: 18px;
	font-weight: 600;
	margin: 0;
	padding: 24px 0;
}

.tps-dashboard-open {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	position: absolute;
	right: 26px;
	text-decoration: none;
	top: 98px;
	width: 34px;
}

.tps-dashboard-open:hover,
.tps-dashboard-open:focus {
	color: var(--dashboard-blue);
	text-decoration: none;
}

.tps-dashboard-news-head {
	margin-bottom: 0;
	margin-top: 30px;
}

.tps-dashboard-news-slider {
	margin-right: -420px;
	margin-top: 31px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 6px;
	scrollbar-width: none;
}

.tps-dashboard-news-slider::-webkit-scrollbar {
	display: none;
}

.tps-dashboard-news-slider:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(0, 101, 168, 0.16);
	outline: 0;
}

.tps-dashboard-news-track {
	display: flex;
	gap: 24px;
	padding-right: 24px;
	scroll-snap-type: x mandatory;
}

.tps-dashboard-news-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.11);
	flex: 0 0 386px;
	overflow: hidden;
	scroll-snap-align: start;
}

.tps-dashboard-news-image {
	background: #edf2f6;
	display: block;
	overflow: hidden;
}

.tps-dashboard-news-image img {
	aspect-ratio: 1.72 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tps-dashboard-news-body {
	padding: 29px 26px 27px;
}

.tps-dashboard-news-date {
	color: var(--dashboard-blue);
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 16px;
}

.tps-dashboard-news-card h3 {
	align-items: flex-start;
	color: var(--dashboard-ink);
	display: flex;
	font-size: 22px;
	font-weight: 800;
	gap: 16px;
	justify-content: space-between;
	letter-spacing: 0;
	line-height: 1.5;
	margin: 0 0 13px;
}

.tps-dashboard-news-card h3 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-news-card h3 a:hover,
.tps-dashboard-news-card h3 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-news-card h3 i {
	flex: 0 0 auto;
	font-size: 24px;
	line-height: 1;
	margin-top: 5px;
}

.tps-dashboard-news-card p {
	color: var(--dashboard-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 27px;
}

.tps-dashboard-news-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.tps-dashboard-news-tag {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 6px 11px;
}

.tps-dashboard-news-tag-orange {
	background: #fff3ed;
	border: 1px solid #ffb08b;
	color: #9d3400;
}

.tps-dashboard-news-tag-blue {
	background: #eff3ff;
	border: 1px solid #b7c8ff;
	color: #2339d8;
}

.tps-dashboard-news-tag-pink {
	background: #fff0fa;
	border: 1px solid #f7b5dc;
	color: #c01879;
}

.tps-dashboard-vacancy-head {
	margin-bottom: 0;
	margin-top: 34px;
}

.tps-dashboard-vacancy-slider {
	margin-right: -420px;
	margin-top: 31px;
	overflow-x: auto;
	overflow-y: hidden;
	padding-bottom: 6px;
	scrollbar-width: none;
}

.tps-dashboard-vacancy-slider::-webkit-scrollbar {
	display: none;
}

.tps-dashboard-vacancy-slider:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(0, 101, 168, 0.16);
	outline: 0;
}

.tps-dashboard-vacancy-track {
	display: flex;
	gap: 24px;
	padding-right: 24px;
	scroll-snap-type: x mandatory;
}

.tps-dashboard-vacancy-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.11);
	flex: 0 0 386px;
	min-height: 390px;
	padding: 27px 22px 26px;
	scroll-snap-align: start;
}

.tps-dashboard-vacancy-card h3 {
	color: var(--dashboard-ink);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.55;
	margin: 0 0 13px;
}

.tps-dashboard-vacancy-card h3 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-vacancy-card h3 a:hover,
.tps-dashboard-vacancy-card h3 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-vacancy-card strong {
	color: #6f7480;
	display: block;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 13px;
}

.tps-dashboard-vacancy-top,
.tps-dashboard-vacancy-bottom {
	align-items: center;
	color: var(--dashboard-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 10px 14px;
}

.tps-dashboard-vacancy-location {
	align-items: center;
	border: 1px solid #d9dde3;
	border-radius: 6px;
	display: inline-flex;
	line-height: 1;
	padding: 4px 7px 4px 5px;
}

.tps-dashboard-vacancy-salary,
.tps-dashboard-vacancy-bottom span {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.tps-dashboard-vacancy-salary i,
.tps-dashboard-vacancy-bottom i {
	align-items: center;
	border: 2px solid #a9afb9;
	border-radius: 50%;
	color: #9ca3af;
	display: inline-flex;
	font-size: 14px;
	height: 21px;
	justify-content: center;
	width: 21px;
}

.tps-dashboard-vacancy-bottom .bi-calendar3 {
	border: 0;
	border-radius: 0;
	font-size: 19px;
	height: auto;
	width: auto;
}

.tps-dashboard-vacancy-card p {
	color: var(--dashboard-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 22px 0 34px;
}

body.post-type-archive-vacancy .page-wrap,
body.post-type-archive-vacancy .content-wrapper {
	padding-top: 0;
}

.breadcrumb-box {
	background: #fff;
	/* padding: 42px 0 0; */
	padding: 0 0 0;
}

.tps-breadcrumb {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	line-height: 1;
}

.tps-breadcrumb .breadcrumb-item {
	color: #5f6673;
	font-size: 14px;
	line-height: 1.2;
}

.tps-breadcrumb .breadcrumb-item a {
	color: #0f6e56;
	text-decoration: none;
}

.tps-breadcrumb .breadcrumb-item a:hover,
.tps-breadcrumb .breadcrumb-item a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-breadcrumb .breadcrumb-item + .breadcrumb-item {
	padding-left: 0;
}

.tps-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	color: #c8ced6;
	content: "\f285";
	float: none;
	font-family: "bootstrap-icons";
	font-size: 12px;
	line-height: 1;
	padding-right: 16px;
}

.tps-membership-application-page {
	--membership-orange: #0f6e56;
	--membership-ink: #16243d;
	--membership-muted: #5f6673;
	--membership-border: #d3d7dd;
	background: #fff;
	color: var(--membership-ink);
	padding: 47px 0 72px;
}

.tps-membership-application-header {
	max-width: 850px;
}

.tps-membership-application-header h1 {
	color: var(--membership-ink);
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0 0 29px;
}

.tps-membership-application-header p,
.tps-membership-application-content p {
	color: var(--membership-muted);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.62;
	margin: 0;
}

.tps-membership-application-divider {
	border-top: 1px solid #e2e5e9;
	margin: 27px 0 30px;
	width: 100%;
}

.tps-membership-application-content {
	max-width: 810px;
}

.tps-membership-application-content p {
	margin-bottom: 18px;
}

.tps-membership-application-content a {
	color: var(--membership-orange);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tps-membership-application-content a:hover,
.tps-membership-application-content a:focus {
	color: #0b5342;
}

.tps-membership-application-form {
	max-width: 810px;
}

.tps-membership-application-form .form-label {
	color: #343946;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 9px;
}

.tps-membership-application-form .form-label span {
	color: var(--membership-orange);
}

.tps-membership-application-form .form-control {
	background: #fff;
	border: 1px solid var(--membership-border);
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(23, 28, 41, 0.08);
	color: var(--membership-ink);
	font-size: 16px;
	height: 50px;
	padding: 12px 15px;
}

.tps-membership-application-form .form-control:focus {
	border-color: var(--membership-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.14);
}

.tps-membership-date-field {
	position: relative;
}

.tps-membership-date-field i {
	color: #6f7682;
	font-size: 22px;
	left: 17px;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.tps-membership-date-field .form-control {
	padding-left: 49px;
	padding-right: 15px;
}

.tps-membership-date-field .form-control::-webkit-calendar-picker-indicator {
	cursor: pointer;
}

.tps-membership-radio-group {
	border: 0;
	margin: 0;
	padding: 0;
}

.tps-membership-radio-group legend {
	color: #343946;
	float: none;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 13px;
	padding: 0;
	width: auto;
}

.tps-membership-radio-group legend span {
	color: var(--membership-orange);
}

.tps-membership-radio-group .form-check {
	align-items: center;
	display: flex;
	gap: 13px;
	margin-bottom: 16px;
	min-height: 24px;
	padding-left: 0;
}

.tps-membership-radio-group .form-check-input {
	border: 1px solid #cfd5dc;
	border-radius: 50%;
	box-shadow: none;
	flex: 0 0 22px;
	height: 22px;
	margin: 0;
	width: 22px;
}

.tps-membership-radio-group .form-check-input:checked {
	background-color: var(--membership-orange);
	border-color: var(--membership-orange);
}

.tps-membership-radio-group .form-check-input:focus {
	border-color: var(--membership-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.14);
}

.tps-membership-radio-group .form-check-label {
	color: #343946;
	font-size: 16px;
	line-height: 1.35;
}

.tps-membership-other-check {
	align-items: center;
	gap: 13px;
	max-width: 810px;
}

.tps-membership-other-check .form-control {
	flex: 1 1 auto;
}

.tps-membership-ice-group {
	margin-top: 4px;
}

.tps-membership-ice-group legend {
	margin-bottom: 10px;
}

.tps-membership-ice-group p {
	color: var(--membership-muted);
	font-size: 16px;
	line-height: 1.55;
	margin: 0 0 13px;
}

.tps-membership-ice-group + .mb-4 {
	margin-top: 23px;
}

.tps-membership-working-group {
	margin-top: 3px;
}

.tps-membership-application-submit {
	align-items: center;
	background: var(--membership-orange);
	border: 2px solid var(--membership-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 49px;
	min-width: 98px;
	padding: 13px 19px;
}

button,
.roll-button,
a.button,
.wp-block-button__link,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	text-transform: capitalize;
}

.tps-membership-application-submit:hover,
.tps-membership-application-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

@media (max-width: 767.98px) {
	.tps-membership-application-page {
		padding: 34px 0 56px;
	}

	.tps-membership-application-header h1 {
		font-size: 34px;
		line-height: 1.15;
		margin-bottom: 20px;
	}

	.tps-membership-application-header p,
	.tps-membership-application-content p {
		font-size: 17px;
		line-height: 1.6;
	}

	.tps-membership-application-divider {
		margin: 24px 0;
	}

	.tps-membership-other-check {
		align-items: flex-start;
	}
}

.page-title-box {
	background: #fff;
	padding: 50px 0 40px;
}

.page-title-box .page-title {
	color: #16243d;
	font-size: 40px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 34px;
}

.page-title-box .page-subtitle {
	color: #5f6673;
	font-size: 21px;
	line-height: 1.55;
	margin: 0;
	max-width: 790px;
}

.tps-dashboard-vacancy-sector {
	align-items: center;
	border: 1px solid #d9dde3;
	border-radius: 4px;
	color: var(--dashboard-muted);
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	margin-top: 15px;
	padding: 6px 9px;
}

.tps-dashboard-vacancy-sector::before {
	background: #4da3ff;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 6px;
	margin-right: 8px;
	width: 6px;
}

.tps-dashboard-bookings-page {
	padding-top: 22px;
}

.tps-dashboard-bookings-list {
	display: grid;
	gap: 24px;
}

.tps-dashboard-booking-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 14px;
	box-shadow: 0 15px 28px rgba(23, 28, 41, 0.08);
	display: grid;
	grid-template-columns: minmax(320px, 40%) 1fr;
	min-height: 184px;
	overflow: hidden;
}

.tps-dashboard-booking-image {
	align-items: center;
	background:
		radial-gradient(
			circle at 50% 92%,
			rgba(255, 255, 255, 0.78) 0 34%,
			transparent 35%
		),
		linear-gradient(135deg, rgba(61, 196, 216, 0.92), rgba(82, 204, 221, 0.84)),
		url("assets/news/transport-news.png") center / cover no-repeat;
	display: flex;
	justify-content: center;
	min-height: 182px;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.tps-dashboard-booking-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tps-dashboard-booking-image::after {
	background: rgba(88, 202, 218, 0.34);
	content: "";
	inset: 0;
	position: absolute;
}

.tps-dashboard-booking-image.has-image::after {
	content: none;
}

.tps-dashboard-booking-image span {
	color: #4bb8c9;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.05;
	max-width: 210px;
	position: relative;
	text-align: center;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
	z-index: 1;
}

.tps-dashboard-booking-body {
	padding: 27px 56px 21px 23px;
	position: relative;
}

.tps-dashboard-booking-meta {
	align-items: center;
	color: var(--dashboard-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	font-weight: 500;
	gap: 13px 18px;
	line-height: 1.25;
	margin-bottom: 14px;
}

.tps-dashboard-booking-meta span {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.tps-dashboard-booking-meta i {
	color: #9aa1ad;
	font-size: 22px;
}

.tps-dashboard-booking-card h2 {
	color: var(--dashboard-ink);
	font-size: 21px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.55;
	margin: 0 0 10px;
	max-width: 560px;
}

.tps-dashboard-booking-card h2 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-booking-card h2 a:hover,
.tps-dashboard-booking-card h2 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-booking-open {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	position: absolute;
	right: 19px;
	text-decoration: none;
	top: 62px;
	width: 34px;
}

.tps-dashboard-booking-open:hover,
.tps-dashboard-booking-open:focus {
	color: var(--dashboard-blue);
	text-decoration: none;
}

.tps-dashboard-booking-card .event-badges {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.tps-dashboard-booking-card .event-badge {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	padding: 6px 11px;
}

.tps-dashboard-booking-card .event-badge-blue {
	background: #eef7ff;
	border: 1px solid #9bd0ff;
	color: #005fe8;
}

.tps-dashboard-booking-card .event-badge-green {
	background: #eafff4;
	border: 1px solid #8be7b9;
	color: #007a46;
}

.tps-dashboard-your-profile-page {
	padding-top: 22px;
}

.tps-dashboard-your-profile-content {
	max-width: 562px;
}

.tps-dashboard-profile-form {
	color: #3e4450;
}

.tps-dashboard-profile-section {
	border: 0;
	margin: 0;
	padding: 0;
}

.tps-dashboard-profile-section legend {
	color: #343946;
	float: none;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 17px;
	padding: 0;
	width: auto;
}

.tps-dashboard-profile-section .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-dashboard-profile-section .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #596170;
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-dashboard-profile-section .form-control::placeholder {
	color: #858c97;
}

.tps-dashboard-profile-section .form-control:focus {
	border-color: var(--dashboard-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-dashboard-profile-section .mb-3 {
	margin-bottom: 15px !important;
}

.tps-dashboard-profile-section::after {
	background: #e6e8eb;
	content: "";
	display: block;
	height: 1px;
	margin: 13px 0 40px;
	width: 100%;
}

.tps-dashboard-profile-email-section legend {
	margin-bottom: 6px;
}

.tps-dashboard-profile-email-section p {
	color: #626977;
	font-size: 14px;
	line-height: 1.45;
	margin: 0 0 19px;
}

.tps-dashboard-profile-email-section::after {
	margin: 13px 0 38px;
}

.tps-dashboard-profile-submit {
	align-items: center;
	background: var(--dashboard-orange);
	border: 2px solid var(--dashboard-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	margin-top: 15px;
	min-height: 45px;
	min-width: 88px;
	padding: 12px 17px;
}

.tps-dashboard-profile-submit:hover,
.tps-dashboard-profile-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-dashboard-profile-password-section legend {
	margin-bottom: 19px;
}

.tps-dashboard-password-field {
	position: relative;
}

.tps-dashboard-password-field .form-control {
	padding-right: 48px;
}

.tps-dashboard-password-field i {
	color: #3e4450;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.tps-dashboard-profile-password-section::after {
	display: none;
}

.tps-dashboard-password-submit {
	margin-top: 14px;
	min-width: 159px;
}

.tps-dashboard-events-page {
	padding-top: 22px;
}

.tps-dashboard-events-toolbar {
	align-items: center;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(300px, 1fr) auto auto;
	margin-bottom: 22px;
}

.tps-dashboard-events-search,
.tps-dashboard-events-tool {
	align-items: center;
	background: #fff;
	border: 2px solid #d6dae0;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #343946;
	display: inline-flex;
	min-height: 46px;
}

.tps-dashboard-events-search {
	gap: 11px;
	padding: 0 14px;
}

.tps-dashboard-events-search i {
	color: #69707e;
	font-size: 22px;
}

.tps-dashboard-events-search input {
	border: 0;
	color: #343946;
	flex: 1;
	font-size: 16px;
	min-width: 0;
	outline: 0;
}

.tps-dashboard-events-search input::placeholder {
	color: #858c97;
}

.tps-dashboard-events-tool {
	font-size: 14px;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	padding: 10px 16px;
}

.tps-dashboard-events-tool i {
	font-size: 22px;
	line-height: 1;
}

.tps-dashboard-events-sort {
	height: 46px;
	min-height: 46px;
	min-width: 190px;
	padding-bottom: 0;
	padding-left: 14px;
	padding-right: 14px;
	padding-top: 0;
	position: relative;
}

.tps-dashboard-events-sort span {
	color: #69707e;
	flex: 0 0 auto;
}

.tps-dashboard-events-sort select {
	background-color: transparent;
	border: 0;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	flex: 1;
	font: inherit;
	font-weight: 800;
	height: 100%;
	min-width: 0;
	outline: 0;
	padding: 0 30px 0 0;
}

.tps-dashboard-events-sort select:focus {
	box-shadow: none;
}

.tps-dashboard-events-sort:focus-within {
	border-color: #0f6e56;
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-dashboard-events-meta-bar {
	align-items: center;
	color: #4f5663;
	display: flex;
	font-size: 15px;
	gap: 14px;
	margin-bottom: 27px;
}

.tps-dashboard-saved-toggle {
	align-items: center;
	color: #343946;
	cursor: pointer;
	display: inline-flex;
	gap: 9px;
	margin: 0;
}

.tps-dashboard-saved-toggle input {
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.tps-dashboard-saved-toggle span {
	background: #f0f1f3;
	border-radius: 999px;
	display: inline-block;
	height: 22px;
	position: relative;
	width: 40px;
}

.tps-dashboard-saved-toggle span::after {
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 1px 3px rgba(23, 28, 41, 0.16);
	content: "";
	height: 18px;
	left: 2px;
	position: absolute;
	top: 2px;
	transition: transform 0.18s ease;
	width: 18px;
}

.tps-dashboard-saved-toggle input:checked + span {
	background: var(--dashboard-blue);
}

.tps-dashboard-saved-toggle input:checked + span::after {
	transform: translateX(18px);
}

.tps-dashboard-events-list {
	display: grid;
	gap: 22px;
}

.tps-dashboard-events-list-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	min-height: 187px;
	padding: 25px 72px 22px 22px;
	position: relative;
}

.tps-dashboard-events-list-card:hover {
	border-color: #d6dbe1;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.06);
}

.tps-dashboard-events-list-meta {
	align-items: center;
	color: var(--dashboard-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
	font-weight: 500;
	gap: 12px 18px;
	line-height: 1.3;
	margin-bottom: 14px;
}

.tps-dashboard-events-list-meta span {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.tps-dashboard-events-list-meta i {
	color: #9aa1ad;
	font-size: 22px;
}

.tps-dashboard-events-list-card h2 {
	color: var(--dashboard-ink);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 14px;
}

.tps-dashboard-events-list-card h2 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-events-list-card h2 a:hover,
.tps-dashboard-events-list-card h2 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-events-open {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	position: absolute;
	right: 20px;
	text-decoration: none;
	top: 61px;
	width: 34px;
}

.tps-dashboard-events-open:hover,
.tps-dashboard-events-open:focus {
	color: var(--dashboard-blue);
	text-decoration: none;
}

.tps-dashboard-events-list-card .tps-dashboard-heart {
	right: 14px;
	top: 12px;
}

.tps-dashboard-resources-page {
	padding-top: 22px;
}

.tps-dashboard-resources-list {
	display: grid;
	gap: 24px;
}

.tps-dashboard-resource-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	display: grid;
	grid-template-columns: minmax(220px, 24%) 1fr;
	min-height: 237px;
	overflow: hidden;
}

.tps-dashboard-resource-card:hover {
	border-color: #d6dbe1;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.06);
}

.tps-dashboard-resource-file {
	align-items: center;
	background: #f4f4f5;
	display: flex;
	justify-content: center;
	min-height: 237px;
	text-decoration: none;
}

.tps-dashboard-file-icon {
	align-items: center;
	color: #cfd3d8;
	display: inline-flex;
	height: 82px;
	justify-content: center;
	position: relative;
	width: 70px;
}

.tps-dashboard-file-icon i {
	font-size: 72px;
	line-height: 1;
}

.tps-dashboard-file-icon em {
	background: #c83d00;
	border-radius: 4px;
	color: #fff;
	font-size: 18px;
	font-style: normal;
	font-weight: 800;
	left: 0;
	line-height: 1;
	padding: 7px 7px 6px;
	position: absolute;
	top: 34px;
}

.tps-dashboard-resource-body {
	padding: 31px 28px 25px;
}

.tps-dashboard-resource-date {
	align-items: center;
	color: var(--dashboard-muted);
	display: inline-flex;
	font-size: 16px;
	font-weight: 500;
	gap: 10px;
	line-height: 1.2;
	margin-bottom: 18px;
}

.tps-dashboard-resource-date i {
	color: #9aa1ad;
	font-size: 22px;
}

.tps-dashboard-resource-card h2 {
	color: var(--dashboard-ink);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.35;
	margin: 0 0 13px;
}

.tps-dashboard-resource-card h2 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-resource-card h2 a:hover,
.tps-dashboard-resource-card h2 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-resource-card p {
	color: var(--dashboard-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 27px;
}

.tps-dashboard-jobs-page {
	padding-top: 22px;
}

.tps-dashboard-jobs-toolbar .tps-dashboard-events-tool em {
	border: 1px solid #ffb08b;
	border-radius: 4px;
	color: #9d3400;
	font-size: 12px;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
	padding: 5px 7px;
}

.tps-dashboard-jobs-list {
	display: grid;
	gap: 24px;
}

.tps-dashboard-job-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	min-height: 292px;
	padding: 27px 22px;
}

.tps-dashboard-job-card:hover {
	border-color: #d6dbe1;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.06);
}

.tps-dashboard-job-card h2 {
	color: var(--dashboard-ink);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.35;
	margin: 0 0 16px;
}

.tps-dashboard-job-card h2 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-job-card h2 a:hover,
.tps-dashboard-job-card h2 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-job-card strong {
	color: #6f7480;
	display: block;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 13px;
}

.tps-dashboard-job-card p {
	color: var(--dashboard-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 24px 0 34px;
}

.tps-dashboard-jobs-pagination {
	margin-top: 24px;
}

.tps-dashboard-news-page {
	padding-top: 22px;
}

.tps-dashboard-news-list {
	display: grid;
	gap: 22px;
}

.tps-dashboard-news-list-card {
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 16px;
	display: grid;
	grid-template-columns: minmax(290px, 40%) 1fr;
	min-height: 229px;
	overflow: hidden;
}

.tps-dashboard-news-list-card:hover {
	border-color: #d6dbe1;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.06);
}

.tps-dashboard-news-list-image {
	background: #edf2f6;
	display: block;
	min-height: 229px;
	overflow: hidden;
}

.tps-dashboard-news-list-image img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tps-dashboard-news-list-body {
	padding: 27px 54px 22px 23px;
	position: relative;
}

.tps-dashboard-news-list-date {
	color: var(--dashboard-blue);
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 16px;
}

.tps-dashboard-news-list-card h2 {
	color: var(--dashboard-ink);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 15px;
}

.tps-dashboard-news-list-card h2 a {
	color: inherit;
	text-decoration: none;
}

.tps-dashboard-news-list-card h2 a:hover,
.tps-dashboard-news-list-card h2 a:focus {
	color: var(--dashboard-blue);
	text-decoration: underline;
}

.tps-dashboard-news-list-open {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	position: absolute;
	right: 18px;
	text-decoration: none;
	top: 59px;
	width: 34px;
}

.tps-dashboard-news-list-open:hover,
.tps-dashboard-news-list-open:focus {
	color: var(--dashboard-blue);
	text-decoration: none;
}

.tps-dashboard-news-list-card p {
	color: var(--dashboard-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 25px;
}

.tps-dashboard-news-pagination {
	margin-top: 24px;
}

.tps-dashboard-membership-page {
	padding-top: 22px;
}

.tps-dashboard-membership-header {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 73px;
}

.tps-dashboard-membership-header h1 {
	margin-bottom: 0;
}

.tps-dashboard-membership-status {
	align-items: center;
	color: #555b68;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	gap: 10px;
	line-height: 1.2;
	margin-top: 15px;
	white-space: nowrap;
}

.tps-dashboard-membership-status span {
	background: #19a86b;
	border-radius: 50%;
	display: inline-block;
	height: 9px;
	width: 9px;
}

.tps-dashboard-membership-panel {
	margin: 0 auto;
	max-width: 405px;
	text-align: center;
}

.tps-dashboard-membership-panel h2 {
	color: var(--dashboard-ink);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.7;
	margin: 0 auto 17px;
	max-width: 355px;
}

.tps-dashboard-membership-panel p {
	color: #555b68;
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 38px;
}

.tps-dashboard-membership-button {
	align-items: center;
	background: var(--dashboard-orange);
	border: 2px solid var(--dashboard-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	gap: 14px;
	justify-content: center;
	line-height: 1;
	min-height: 49px;
	padding: 14px 28px;
	text-decoration: none;
	width: 100%;
}

.tps-dashboard-membership-button:hover,
.tps-dashboard-membership-button:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
	text-decoration: none;
}

.tps-dashboard-membership-button i {
	font-size: 18px;
	line-height: 1;
}

@media (max-width: 1199.98px) {
	.tps-dashboard-events-slider {
		margin-right: 0;
	}

	.tps-dashboard-news-slider {
		margin-right: 0;
	}

	.tps-dashboard-vacancy-slider {
		margin-right: 0;
	}
}

@media (max-width: 991.98px) {
	.tps-dashboard-sidebar {
		margin-left: 0;
		max-width: none;
	}

	.tps-dashboard-content {
		overflow: visible;
	}

	.tps-dashboard-events-toolbar {
		grid-template-columns: 1fr 1fr;
	}

	.tps-dashboard-events-search {
		grid-column: 1 / -1;
	}

	.tps-dashboard-membership-header {
		margin-bottom: 54px;
	}
}

@media (max-width: 767.98px) {
	.tps-dashboard-event-card {
		flex-basis: min(386px, calc(100vw - 48px));
	}

	.tps-dashboard-news-card {
		flex-basis: min(386px, calc(100vw - 48px));
	}

	.tps-dashboard-vacancy-card {
		flex-basis: min(386px, calc(100vw - 48px));
	}

	.tps-dashboard-booking-card {
		grid-template-columns: 1fr;
	}

	.tps-dashboard-booking-image {
		min-height: 220px;
	}

	.tps-dashboard-events-toolbar {
		grid-template-columns: 1fr;
	}

	.tps-dashboard-events-list-card {
		padding: 24px 18px;
	}

	.tps-dashboard-events-list-card h2 {
		font-size: 20px;
		margin-right: 38px;
	}

	.tps-dashboard-events-open {
		right: 18px;
		top: 76px;
	}

	.tps-dashboard-events-list-card .tps-dashboard-heart {
		right: 12px;
		top: 10px;
	}

	.tps-dashboard-resource-card {
		grid-template-columns: 1fr;
	}

	.tps-dashboard-resource-file {
		min-height: 220px;
	}

	.tps-dashboard-news-list-card {
		grid-template-columns: 1fr;
	}

	.tps-dashboard-news-list-image {
		min-height: 220px;
	}

	.tps-dashboard-membership-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		margin-bottom: 44px;
	}

	.tps-dashboard-membership-status {
		margin-top: 0;
	}
}

@media (max-width: 575.98px) {
	.tps-dashboard-page {
		padding: 28px 0 54px;
	}

	.tps-dashboard-sidebar {
		border-radius: 12px;
		padding: 22px 20px;
	}

	.tps-dashboard-nav {
		gap: 13px;
	}

	.tps-dashboard-nav-link {
		font-size: 15px;
		gap: 12px;
	}

	.tps-dashboard-content h1 {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.tps-dashboard-section-head {
		margin-bottom: 20px;
	}

	.tps-dashboard-event-card {
		border-radius: 12px;
		min-height: 0;
		padding: 24px 18px;
	}

	.tps-dashboard-event-card h3 {
		font-size: 20px;
		margin-right: 36px;
	}

	.tps-dashboard-news-body {
		padding: 22px 18px;
	}

	.tps-dashboard-news-card h3 {
		font-size: 20px;
	}

	.tps-dashboard-vacancy-card {
		border-radius: 12px;
		min-height: 0;
		padding: 24px 18px;
	}

	.tps-dashboard-booking-card {
		border-radius: 12px;
	}

	.tps-dashboard-booking-body {
		padding: 22px 18px;
	}

	.tps-dashboard-booking-card h2 {
		font-size: 20px;
		margin-right: 36px;
	}

	.tps-dashboard-booking-open {
		right: 18px;
		top: 78px;
	}

	.tps-dashboard-resource-card {
		border-radius: 12px;
	}

	.tps-dashboard-resource-body {
		padding: 22px 18px;
	}

	.tps-dashboard-open {
		right: 18px;
	}

	.tps-dashboard-news-list-card {
		border-radius: 12px;
	}

	.tps-dashboard-news-list-body {
		padding: 22px 48px 22px 18px;
	}

	.tps-dashboard-news-list-card h2 {
		font-size: 20px;
	}

	.tps-dashboard-news-list-open {
		right: 14px;
		top: 54px;
	}

	.tps-dashboard-membership-panel {
		max-width: none;
	}

	.tps-dashboard-membership-panel h2 {
		font-size: 20px;
	}
}
.tps-header {
	border-bottom: 0;
	box-shadow: none;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9999;
}

body.admin-bar .tps-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.tps-header-top {
	padding-top: 18px;
	padding-bottom: 20px;
}

.tps-header .site-logo {
	display: inline-flex;
	align-items: center;
}

.tps-header .site-logo img {
	display: block;
	width: 350px;
	max-width: 100%;
	height: auto;
}

.tps-header .site-logo-text {
	color: #111b35;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none;
}

.tps-header .header-top-right {
	gap: 14px;
}

.tps-header .header-top-right a {
	margin: 0;
	font-weight: 700;
}

.tps-header .header-search-form {
	align-items: center;
	display: inline-flex;
	flex: 0 0 44px;
	height: 44px;
	margin: 0;
	position: relative;
	width: 44px;
	z-index: 99999 !important;
	left: 0;
	opacity: 1;
	visibility: visible;
	background: transparent;
}

.tps-header .header-search-btn {
	align-items: center;
	background: transparent;
	border: 0;
	color: #4d5563;
	cursor: pointer;
	display: inline-flex;
	font-size: 21px;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	position: relative;
	text-decoration: none;
	z-index: 2;
	width: 44px;
}

.tps-header .header-search-btn img {
	display: block;
	height: 25px;
	max-width: none;
	width: 25px;
	margin-right: 45px;
}

.tps-header .header-search-btn:hover,
.tps-header .header-search-btn:focus {
	color: #0b5342;
}

.tps-header .header-search-field {
	background: #fff;
	border: 1px solid #d7dde6;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(29, 36, 48, 0.1);
	color: #1d2430;
	font-size: 15px;
	font-weight: 600;
	max-width: 0;
	opacity: 0;
	padding: 10px 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	transition:
		max-width 0.24s ease,
		opacity 0.18s ease,
		padding 0.24s ease;
	width: 292px;
	z-index: 1;
}

.tps-header .header-search-form.is-search-open .header-search-field {
	max-width: 292px;
	opacity: 1;
	padding-left: 14px;
	padding-right: 48px;
	pointer-events: auto;
}

.tps-header .header-search-field:focus {
	border-color: #0b5342;
	box-shadow:
		0 0 0 3px rgba(242, 74, 0, 0.14),
		0 12px 28px rgba(29, 36, 48, 0.1);
	outline: 0;
}

.tps-header .header-user-summary {
	align-items: center;
	color: inherit;
	display: inline-flex;
	gap: 13px;
	min-width: 0;
	text-decoration: none;
}

.tps-header .header-user-summary:hover,
.tps-header .header-user-summary:focus {
	text-decoration: none;
}

.tps-header .header-user-summary:hover .header-user-details strong,
.tps-header .header-user-summary:focus .header-user-details strong {
	color: #0b5342;
}

.tps-header .header-user-avatar {
	border-radius: 50%;
	display: block;
	flex: 0 0 52px;
	height: 52px;
	object-fit: cover;
	width: 52px;
}

.tps-header .header-user-details {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
	min-width: 0;
	text-align: left;
}

.tps-header .header-user-details strong {
	color: #111827;
	display: block;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tps-header .header-user-details span {
	color: #667085;
	display: block;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.tps-header .header-logout-btn {
	align-items: center;
	color: #9ca3af;
	display: inline-flex;
	font-size: 24px;
	height: 40px;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	width: 40px;
}

.tps-header .header-logout-btn:hover,
.tps-header .header-logout-btn:focus {
	color: #0b5342;
	text-decoration: none;
}

.tps-header .header-login-btn,
.tps-header .header-joinus-btn {
	align-items: center;
	border: 2px solid #0b5342;
	border-radius: 8px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 49px;
	min-width: 88px;
	padding: 14px 20px;
}

.tps-header .header-login-btn {
	background-color: #fff;
	color: #0b5342;
}

.tps-header .header-login-menu {
	position: relative;
}

.tps-header .header-login-btn:hover,
.tps-header .header-login-btn:focus,
.tps-header .header-login-menu:hover .header-login-btn,
.tps-header .header-login-menu:focus-within .header-login-btn {
	background-color: #0b5342;
	color: #fff;
}

.tps-header .header-login-dropdown {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: 0 12px 26px rgba(17, 24, 39, 0.16);
	left: 50%;
	min-width: 278px;
	opacity: 0;
	padding: 8px 0;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 0px);
	transform: translateX(-50%) translateY(8px);
	transition:
		opacity 0.16s ease,
		transform 0.16s ease,
		visibility 0.16s ease;
	visibility: hidden;
	z-index: 999;
}

.tps-header .header-login-menu:hover .header-login-dropdown,
.tps-header .header-login-menu:focus-within .header-login-dropdown {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	visibility: visible;
}

.tps-header .header-login-dropdown a {
	align-items: center;
	color: #374151;
	display: flex;
	font-size: 15px;
	font-weight: 800;
	gap: 12px;
	line-height: 1.25;
	padding: 14px 18px;
	text-decoration: none;
	white-space: nowrap;
}

.tps-header .header-login-dropdown a:hover,
.tps-header .header-login-dropdown a:focus {
	background: #f9fafb;
	color: #0b5342;
}

.tps-header .header-login-dropdown i {
	color: #667085;
	font-size: 18px;
	line-height: 1;
}

.tps-header .header-login-dropdown a:hover i,
.tps-header .header-login-dropdown a:focus i {
	color: #0b5342;
}

.tps-header .header-joinus-btn {
	background-color: #0b5342;
	color: #fff;
	min-width: 96px;
}

.tps-header .header-joinus-btn:hover,
.tps-header .header-joinus-btn:focus {
	background-color: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-header .header-bottom {
	background-color: #fff;
	border-bottom: 1px solid #edf0f4;
	border-top: 1px solid #edf0f4;
}

.tps-header .tps-header-nav-wrap {
	padding: 0;
}

.tps-header .tps-main-menu {
	align-items: center;
	gap: 28px;
	justify-content: center;
	min-height: 42px;
}

.tps-header .navbar-nav > li {
	padding: 0;
	position: relative;
}

.tps-header .navbar-nav > li.tps-mega-menu-item {
	position: static;
}

.tps-header .navbar-nav > li > a {
	align-items: center;
	color: #3f4652 !important;
	display: inline-flex;
	font-size: 18px;
	font-weight: 800;
	min-height: 44px;
	padding: 0;
	text-decoration: none;
	white-space: nowrap;
}

.tps-header .navbar-nav > li > a:hover,
.tps-header .navbar-nav > li > a:focus,
.tps-header .navbar-nav > li.current-menu-item > a,
.tps-header .navbar-nav > li.current-menu-ancestor > a {
	color: #111b35 !important;
}

.tps-header .navbar-nav > li.menu-item-has-children:hover > a,
.tps-header .navbar-nav > li.menu-item-has-children:focus-within > a {
	background-color: transparent;
	border-radius: 0;
	color: #111b35 !important;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}

.tps-header .navbar-nav > li.menu-item-has-children > a::after {
	border: solid currentColor;
	border-width: 0 2px 2px 0;
	content: "";
	display: inline-block;
	height: 8px;
	margin-left: 12px;
	margin-top: -5px;
	transform: rotate(45deg);
	width: 8px;
}

.tps-header .tps-mega-menu {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	left: 50%;
	margin: 0;
	opacity: 0;
	padding: 10px 0 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	transition:
		opacity 160ms ease,
		transform 160ms ease,
		visibility 160ms ease;
	transform: translateX(-50%) translateY(8px);
	visibility: hidden;
	width: min(1200px, calc(100vw - 48px));
	z-index: 1000;
}

.tps-header .tps-mega-menu::before {
	background: rgba(0, 0, 0, 0.48);
	content: "";
	height: var(--tps-mega-mask-height, 100vh);
	left: 50%;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	z-index: 0;
}

.tps-header .tps-mega-menu::after {
	display: none;
}

.tps-header .tps-mega-menu-item:hover > .tps-mega-menu,
.tps-header .tps-mega-menu-item:focus-within > .tps-mega-menu {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	visibility: visible;
	margin-top: 0px;
}

/* === TPS 2026 rebrand: mega-menu panel, ported directly from
   SiteHeader.dc.html's MENUS-driven markup. Values (spacing, colours, type)
   are the mockup's literal inline styles, not approximations. === */
.tps-header .tps-mega-menu > .container {
	background: #ffffff;
	border: 1px solid #e3e6eb;
	border-radius: 0 0 4px 4px;
	box-shadow: 0 18px 40px rgba(15, 26, 45, 0.16);
	max-width: 1200px;
	padding-left: 0;
	padding-right: 0;
	position: relative;
	z-index: 1;
}

/* Single grid holding the group columns plus the 320px feature panel, per
   SiteHeader.dc.html. The actual `grid-template-columns` is written inline by
   tps_render_primary_mega_menu() because the group count varies per menu; the
   value below is only a fallback. Do NOT use repeat(auto-fit, minmax(0,1fr))
   here — with no intrinsic minimum it expands to many tracks and leaves the
   first one empty, which pushes the columns right and opens a gap on the left. */
.tps-header .tps-mega-menu-inner {
	align-content: start;
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(0, 1fr) 320px;
	min-height: 0;
	overflow: visible;
	padding: 36px 40px 32px;
}

.tps-header .tps-mega-menu-column {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	padding: 0;
}

.tps-header .tps-mega-menu-heading,
.tps-header .tps-mega-menu-group-label {
	color: #5b6577;
	display: block;
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 2px solid #e3e6eb;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.3;
	text-decoration: none;
}

.tps-header .tps-mega-menu-heading:hover {
	color: #0f6e56;
}

.tps-header .tps-mega-menu-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-header .tps-mega-menu-list a {
	align-items: center;
	border-radius: 4px;
	color: #16243d;
	display: block;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 -12px;
	padding: 11px 12px;
	text-decoration: none;
}

.tps-header .tps-mega-menu-list li:first-child > a {
	background-color: transparent;
}

.tps-header .tps-mega-menu-list a:hover,
.tps-header .tps-mega-menu-list a:focus,
.tps-header .tps-mega-menu-list li.current-menu-item > a {
	background-color: #f4f6f9;
	color: #0f6e56;
	text-decoration: underline;
}

.tps-header .tps-mega-menu-feature {
	background: transparent;
	border-left: 1px solid #e3e6eb;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 0 0 0 40px;
}

.tps-header .tps-mega-menu-feature-eyebrow {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0f6e56;
}

.tps-header .tps-mega-menu-image-link {
	display: block;
	margin-bottom: 0;
	max-width: none;
}

.tps-header .tps-mega-menu-feature img {
	aspect-ratio: 16 / 9;
	height: 160px;
	border-radius: 6px;
	display: block;
	object-fit: cover;
	width: 100%;
}

.tps-header .tps-mega-menu-feature h3 {
	color: #16243d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.tps-header .tps-mega-menu-feature p {
	color: #5b6577;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	margin: 0;
	max-width: none;
}

.tps-header .tps-mega-menu-view {
	align-items: center;
	align-self: flex-start;
	background: transparent;
	border: 2px solid #0f6e56;
	border-radius: 6px;
	color: #0f6e56;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	gap: 8px;
	min-height: 44px;
	margin-top: auto;
	padding: 0 18px;
	text-decoration: none;
	transition:
		background-color 0.15s ease,
		color 0.15s ease;
}

.tps-header .tps-mega-menu-view:hover,
.tps-header .tps-mega-menu-view:focus {
	background: #0f6e56;
	color: #ffffff;
}

.tps-header .tps-mega-menu-footer {
	align-items: center;
	background: #f4f6f9;
	border-top: 1px solid #e3e6eb;
	border-radius: 0 0 4px 4px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 24px;
	padding: 16px 40px;
}

.tps-header .tps-mega-menu-overview {
	align-items: center;
	color: #16243d;
	display: inline-flex;
	font-size: 16px;
	font-weight: 700;
	gap: 8px;
	min-height: 44px;
	text-decoration: none;
}

.tps-header .tps-mega-menu-overview:hover,
.tps-header .tps-mega-menu-overview:focus {
	color: #0f6e56;
	text-decoration: underline;
}

.tps-header .tps-mega-menu-helper {
	color: #5b6577;
	font-size: 14px;
}
/* === end mega-menu panel block === */

@media (max-width: 1199.98px) {
	.tps-header .tps-main-menu {
		gap: 12px;
	}

	.tps-header .navbar-nav > li > a {
		font-size: 13px;
	}

	.tps-header .navbar-nav > li.menu-item-has-children > a::after {
		margin-left: 9px;
	}
}

@media (max-width: 991.98px) {
	.tps-header-top {
		padding-top: 26px;
		padding-bottom: 20px;
	}

	.tps-header-top > .row {
		flex-wrap: nowrap;
	}

	.tps-header .tps-mobile-logo-col {
		flex: 1 1 auto;
		max-width: calc(100% - 48px);
		min-width: 0;
		padding-right: 8px;
	}

	.tps-header .tps-mobile-toggle-col {
		flex: 0 0 48px;
		max-width: 48px;
		padding-left: 0;
	}

	.tps-header .site-logo {
		max-width: 100%;
	}

	.tps-header .site-logo a {
		display: inline-flex;
		max-width: 100%;
	}

	.tps-header .site-logo img {
		max-width: 100%;
		width: 240px;
	}

	/* The header is position:fixed with no bounded height, so when the
	   mobile menu (now taller, with the login role picker) grows past the
	   viewport, the overflow used to be simply unreachable - a fixed box
	   doesn't scroll with the page. Capping the header at the viewport
	   height and letting only the nav area beneath the logo/search row
	   scroll internally keeps the toggle button reachable and lets the
	   rest of the menu (including Log in / Join us) scroll into view. */
	.tps-header {
		display: flex;
		flex-direction: column;
		max-height: 100vh;
		max-height: 100dvh;
	}

	.tps-header .header-bottom {
		-webkit-overflow-scrolling: touch;
		background: #fff;
		flex: 1 1 auto;
		min-height: 0;
		overflow-y: auto;
	}

	.tps-header .tps-header-nav-wrap {
		border-top: 0;
	}

	.tps-header .navbar-collapse.show,
	.tps-header .navbar-collapse.collapsing {
		border-top: 1px solid #edf0f4;
	}

	.tps-header .navbar {
		justify-content: stretch !important;
		padding: 0 !important;
	}

	.tps-header .navbar-collapse {
		background: #fff;
		width: 100%;
	}

	.tps-header .tps-mobile-menu-toggle {
		align-items: center;
		background: transparent;
		border: 0;
		box-shadow: none;
		display: inline-flex;
		flex: 0 0 40px;
		height: 40px;
		justify-content: center;
		min-width: 40px;
		padding: 0;
		width: 40px;
	}

	.tps-header .tps-mobile-menu-toggle:focus {
		box-shadow: none;
		outline: 2px solid rgba(17, 27, 53, 0.18);
		outline-offset: 4px;
	}

	.tps-header .tps-mobile-menu-icon,
	.tps-header .tps-mobile-menu-icon::before,
	.tps-header .tps-mobile-menu-icon::after {
		background: #414651;
		border-radius: 999px;
		content: "";
		display: block;
		height: 3px;
		width: 25px;
	}

	.tps-header .tps-mobile-menu-icon {
		position: relative;
	}

	.tps-header .tps-mobile-menu-icon::before,
	.tps-header .tps-mobile-menu-icon::after {
		left: 0;
		position: absolute;
	}

	.tps-header .tps-mobile-menu-icon::before {
		top: -8px;
	}

	.tps-header .tps-mobile-menu-icon::after {
		top: 8px;
	}

	.tps-header .tps-main-menu {
		align-items: stretch;
		gap: 0;
		min-height: 0;
		padding: 12px 20px 18px;
	}

	.tps-header .navbar-nav > li > a {
		justify-content: space-between;
		min-height: 42px;
		width: 100%;
	}

	.tps-header .navbar-nav > li.menu-item-has-children:hover > a,
	.tps-header .navbar-nav > li.menu-item-has-children:focus-within > a {
		background: transparent;
		padding-left: 0;
		padding-right: 0;
	}

	.tps-header .tps-mega-menu {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		display: none;
		left: auto !important;
		opacity: 1;
		pointer-events: auto;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		visibility: visible;
		width: 100% !important;
		margin-left: 0;
		max-width: 100%;
		padding: 0;
		position: static !important;
		z-index: auto;
	}

	.tps-header .tps-mega-menu-item:hover > .tps-mega-menu,
	.tps-header .tps-mega-menu-item:focus-within > .tps-mega-menu {
		left: auto !important;
		position: static !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	.tps-header .tps-mega-menu-item.is-mobile-mega-open > .tps-mega-menu {
		display: block;
	}

	/* Stack the panel on mobile. !important is required because
       tps_render_primary_mega_menu() sets grid-template-columns inline. */
	.tps-header .tps-mega-menu-inner {
		gap: 22px;
		grid-template-columns: minmax(0, 1fr) !important;
		padding: 4px 0 12px;
	}

	.tps-header .tps-mega-menu-feature {
		border-left: 0;
		border-top: 1px solid #e3e6eb;
		padding: 18px 0 0;
	}

	.tps-header .tps-mega-menu-item.is-mobile-mega-open > a::after {
		margin-top: 3px;
		transform: rotate(-135deg);
	}

	.tps-header .tps-mega-menu::before,
	.tps-header .tps-mega-menu::after {
		display: none;
	}

	.tps-header .tps-mega-menu > .container {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		max-width: none;
		padding: 0;
	}

	.tps-header .tps-mega-menu-inner,
	.tps-header .tps-mega-menu-columns {
		display: block;
		min-height: 0;
		padding: 0;
	}

	.tps-header .tps-mega-menu-heading {
		color: #0f6e56;
		font-size: 13px;
		font-weight: 800;
		margin: 10px 0 4px;
		padding: 8px 0;
	}

	.tps-header .tps-mega-menu-list {
		gap: 0;
	}

	.tps-header .tps-mega-menu-list a {
		border-radius: 0;
		background: transparent !important;
		color: #111827;
		font-size: 14px;
		font-weight: 800;
		min-height: 42px;
		padding: 9px 0;
	}

	.tps-header .tps-mega-menu-feature {
		background: #fff;
		border-left: 0;
		border-top: 1px solid #f1f2f4;
		display: block;
		margin: 16px -20px 0;
		padding: 22px 14px 24px;
	}

	.tps-header .tps-mega-menu-image-link {
		margin-bottom: 14px;
		max-width: 176px;
	}

	.tps-header .tps-mega-menu-feature img {
		border-radius: 4px;
	}

	.tps-header .tps-mega-menu-feature h3 {
		font-size: 13px;
		line-height: 1.35;
		margin-bottom: 8px;
	}

	.tps-header .tps-mega-menu-feature p {
		font-size: 11px;
		line-height: 1.55;
		margin-bottom: 0;
	}

	.tps-header .tps-mega-menu-view {
		display: none;
	}

	.tps-header .tps-mobile-menu-account {
		border-top: 1px solid #edf0f4;
		margin: 0 20px;
		padding: 18px 0 22px;
	}

	.tps-header .tps-mobile-auth-actions {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.tps-header .tps-mobile-auth-actions .header-login-btn,
	.tps-header .tps-mobile-auth-actions .header-joinus-btn,
	.tps-header .header-logout-mobile-btn {
		min-height: 46px;
		width: 100%;
	}

	/* Mobile "Log in" role picker - same six destinations as the desktop
	   hover dropdown (.header-login-dropdown), but opened by a tap
	   (.tps-mobile-login-toggle in custom.js) instead of hover/focus, and
	   laid out inline below the button instead of floating over the page. */
	.tps-header .tps-mobile-login-menu {
		position: relative;
	}

	.tps-header .tps-mobile-login-toggle {
		appearance: none;
		cursor: pointer;
		font-family: inherit;
		gap: 8px;
		justify-content: space-between;
	}

	.tps-header .tps-mobile-login-toggle .tps-mobile-login-caret {
		flex: 0 0 auto;
		transition: transform 0.18s ease;
	}

	.tps-header .tps-mobile-login-toggle[aria-expanded="true"] .tps-mobile-login-caret {
		transform: rotate(180deg);
	}

	.tps-header .tps-mobile-login-dropdown {
		box-shadow: none;
		display: none;
		margin-top: 8px;
		min-width: 0;
		opacity: 1;
		pointer-events: auto;
		position: static;
		transform: none;
		visibility: visible;
		width: 100%;
	}

	.tps-header .tps-mobile-login-dropdown.is-open {
		display: block;
	}

	.tps-header .tps-mobile-user-card {
		align-items: center;
		color: inherit;
		display: flex;
		gap: 13px;
		margin-bottom: 16px;
		min-width: 0;
		text-decoration: none;
	}

	.tps-header .tps-mobile-user-card:hover,
	.tps-header .tps-mobile-user-card:focus {
		text-decoration: none;
	}

	.tps-header .tps-mobile-user-card:hover .header-user-details strong,
	.tps-header .tps-mobile-user-card:focus .header-user-details strong {
		color: #0b5342;
	}

	.tps-header .header-logout-mobile-btn {
		align-items: center;
		background: #0b5342;
		border: 2px solid #0b5342;
		border-radius: 8px;
		color: #fff;
		display: inline-flex;
		font-size: 15px;
		font-weight: 800;
		justify-content: center;
		line-height: 1;
		padding: 14px 20px;
		text-decoration: none;
	}

	.tps-header .header-logout-mobile-btn:hover,
	.tps-header .header-logout-mobile-btn:focus {
		background: #0b5342;
		border-color: #0b5342;
		color: #fff;
	}

	.tps-header .header-user-avatar {
		flex-basis: 46px;
		height: 46px;
		width: 46px;
	}

	.tps-header .header-user-details {
		max-width: 150px;
	}

	.tps-header .header-user-details strong {
		font-size: 15px;
	}

	.tps-header .header-user-details span {
		font-size: 13px;
	}
}

@media (max-width: 575.98px) {
	.tps-header .site-logo img {
		max-width: 100%;
		width: 230px;
	}

	.tps-header .header-top-right {
		gap: 8px;
	}

	.tps-header .header-search-btn {
		font-size: 18px;
		height: 36px;
		width: 36px;
	}

	.tps-header .header-search-form {
		flex-basis: 36px;
		height: 36px;
		width: 36px;
	}

	.tps-header .header-search-field {
		right: 0;
		width: calc(100vw - 96px);
	}

	.tps-header .header-search-form.is-search-open .header-search-field {
		max-width: calc(100vw - 96px);
		padding-right: 44px;
	}

	.tps-header .header-user-summary {
		gap: 9px;
	}

	.tps-header .header-user-avatar {
		flex-basis: 42px;
		height: 42px;
		width: 42px;
	}

	.tps-header .header-user-details {
		max-width: calc(100vw - 118px);
	}

	.tps-header .header-logout-btn {
		font-size: 22px;
		height: 36px;
		width: 36px;
	}

	.tps-header .header-login-btn,
	.tps-header .header-joinus-btn {
		border-radius: 7px;
		font-size: 14px;
		min-height: 42px;
		min-width: 72px;
		padding: 11px 13px;
	}
}
@media (max-width: 360px) {
	.tps-header .site-logo img {
		width: 210px;
	}
}

.tps-site-search-page {
	--site-search-blue: #0f6e56;
	--site-search-orange: #0f6e56;
	--site-search-ink: #16243d;
	--site-search-muted: #626977;
	--site-search-border: #dce2ea;
	color: var(--site-search-ink);
	font-family: Figtree, Helvetica, Arial, sans-serif;
	padding: 22px 0 76px;
}

.tps-site-search-header {
	margin: 0 0 34px;
	max-width: 860px;
}

.tps-site-search-eyebrow {
	color: var(--site-search-blue);
	display: inline-block;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.tps-site-search-header h1 {
	color: var(--site-search-ink);
	font-size: 40px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 0 14px;
}

.tps-site-search-header p {
	color: var(--site-search-muted);
	font-size: 18px;
	line-height: 1.65;
	margin: 0 0 24px;
}

.tps-site-search-form {
	align-items: stretch;
	display: flex;
	gap: 12px;
	max-width: 680px;
}

.tps-site-search-form .form-control {
	border: 1px solid var(--site-search-border);
	border-radius: 8px;
	color: var(--site-search-ink);
	font-size: 16px;
	font-weight: 600;
	min-height: 52px;
	padding: 12px 16px;
}

.tps-site-search-form .form-control:focus {
	border-color: var(--site-search-orange);
	box-shadow: 0 0 0 3px rgba(244, 81, 5, 0.14);
}

.tps-site-search-form button {
	align-items: center;
	background: var(--site-search-orange);
	border: 2px solid var(--site-search-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	min-height: 52px;
	padding: 12px 22px;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease;
}

.tps-site-search-form button:hover,
.tps-site-search-form button:focus {
	background: #fff;
	color: var(--site-search-orange);
}

.tps-site-search-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tps-site-search-card {
	background: #fff;
	border: 1px solid var(--site-search-border);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.tps-site-search-card:hover,
.tps-site-search-card:focus-within {
	border-color: #cbd4df;
	box-shadow: 0 14px 28px rgba(29, 36, 48, 0.08);
	transform: translateY(-2px);
}

.tps-site-search-image {
	background: #edf2f6;
	display: block;
	overflow: hidden;
}

.tps-site-search-image img {
	aspect-ratio: 1.7 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	transition: transform 0.35s ease;
	width: 100%;
}

.tps-site-search-card:hover .tps-site-search-image img,
.tps-site-search-card:focus-within .tps-site-search-image img {
	transform: scale(1.06);
}

.tps-site-search-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 24px 22px;
}

.tps-site-search-meta {
	align-items: center;
	color: var(--site-search-blue);
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	font-weight: 800;
	gap: 8px 12px;
	margin-bottom: 12px;
	text-transform: uppercase;
}

.tps-site-search-meta time {
	color: var(--site-search-muted);
	text-transform: none;
}

.tps-site-search-card-title {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	margin: 0 0 14px;
}

.tps-site-search-card-title a {
	color: var(--site-search-ink);
	display: -webkit-box;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.42;
	overflow: hidden;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tps-site-search-card-title a:hover,
.tps-site-search-card-title a:focus {
	color: var(--site-search-blue);
	text-decoration: underline;
}

.tps-site-search-card-title i {
	color: var(--site-search-blue);
	flex: 0 0 auto;
	font-size: 20px;
	margin-top: 4px;
}

.tps-site-search-card p {
	color: var(--site-search-muted);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.tps-site-search-empty {
	background: #fff;
	border: 1px solid var(--site-search-border);
	border-radius: 12px;
	max-width: 760px;
	padding: 32px;
}

.tps-site-search-empty h2 {
	color: var(--site-search-ink);
	font-size: 26px;
	font-weight: 800;
	margin: 0 0 10px;
}

.tps-site-search-empty p {
	color: var(--site-search-muted);
	font-size: 16px;
	line-height: 1.65;
	margin: 0;
}

.tps-site-search-pager {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	margin-top: 34px;
}

.tps-site-search-pager .page-numbers {
	align-items: center;
	border: 1px solid var(--site-search-border);
	border-radius: 8px;
	color: var(--site-search-ink);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 8px 12px;
	text-decoration: none;
}

.tps-site-search-pager .page-numbers.current,
.tps-site-search-pager .page-numbers:hover,
.tps-site-search-pager .page-numbers:focus {
	background: var(--site-search-blue);
	border-color: var(--site-search-blue);
	color: #fff;
}

@media (max-width: 991.98px) {
	.tps-site-search-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.tps-site-search-page {
		padding-bottom: 56px;
	}

	.tps-site-search-header h1 {
		font-size: 30px;
	}

	.tps-site-search-form {
		flex-direction: column;
	}

	.tps-site-search-grid {
		grid-template-columns: 1fr;
	}
}

.footer-section {
	background-color: #16243d;
	color: #cfd7e4;
	font-family: var(--tps-font, "Figtree", "Segoe UI", Arial, sans-serif);
	padding: 76px 0 56px;
	border-top: 4px solid #0f6e56;
}

.footer-section .container {
	max-width: 1368px;
}

.footer-top {
	padding-bottom: 40px;
}

.footer-top img {
	display: block;
	height: auto;
	margin-bottom: 38px;
	max-width: 100%;
	width: 243px;
}

.footer-widget {
	color: #cfd7e4;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
}

.footer-widget-brand {
	padding-right: 80px;
}

.footer-widget p {
	margin: 0 0 14px;
}

.footer-widget .widget {
	margin: 0;
}

.footer-widget .widget-title,
.footer-widget h2,
.footer-widget h3,
.footer-widget h4,
.footer-widget h5 {
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.3;
	margin: 0 0 16px;
}

.footer-widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-widget li {
	margin: 0 0 12px;
}

.footer-widget a {
	color: #cfd7e4;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.55;
	text-decoration: none;
}

.footer-widget a:hover,
.footer-widget a:focus {
	color: #ffffff;
}

.footer-widget address {
	color: #b9c4d6;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.7;
	margin: 0;
}

.footer-widget p,
.footer-widget li,
.footer-widget span {
	color: #b9c4d6;
	font-size: 14px;
}

.footer-widget a[target="_blank"]::after,
.footer-widget .external-link::after {
	content: "\F144";
	display: inline-block;
	font-family: "bootstrap-icons";
	font-size: 13px;
	font-weight: 400;
	margin-left: 8px;
	transform: translateY(1px);
}

.footer-bottom {
	border-top: 1px solid #2c3d5c;
	padding-top: 22px;
}

.footer-copyright {
	color: #93a2ba;
	font-size: 13px;
	font-weight: 400;
}

.footer-legal-menu {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-legal-menu a {
	color: #93a2ba;
	font-size: 13px;
	font-weight: 400;
	text-decoration: none;
}

.footer-legal-menu a:hover,
.footer-legal-menu a:focus {
	color: #fff;
}

@media (max-width: 991.98px) {
	.footer-section {
		padding: 56px 0 40px;
	}

	.footer-widget-brand {
		padding-right: 0;
	}

	.footer-top {
		padding-bottom: 46px;
	}

	.footer-legal-menu {
		justify-content: flex-start;
	}
}

@media (max-width: 575.98px) {
	.footer-top img {
		width: 220px;
	}

	.footer-legal-menu {
		gap: 12px 18px;
	}
}

@media (min-width: 991.98px) {
	.vacancy-filter-panel.sticky,
	.tps-events-aside.sticky {
		position: fixed;
		top: 180px;
		z-index: 999;
		width: 27%;
	}
}

.vacancy-content-box {
	background: #fff;
}

.vacancy-filter-panel {
	background: #f7f7f8;
	border-radius: 10px;
	padding: 32px 28px;
}

.vacancy-filter-title {
	color: #16243d;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 22px;
}

.vacancy-filter-panel .form-label {
	color: #343946;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 9px;
}

.vacancy-select,
.vacancy-input {
	border: 1px solid #d4d8dd;
	border-radius: 7px;
	box-shadow: 0 2px 4px rgba(23, 28, 41, 0.08);
	color: #6b7280;
	font-size: 15px;
	min-height: 49px;
	padding: 11px 16px;
}

.vacancy-select:focus,
.vacancy-input:focus {
	border-color: #0f6e56;
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.vacancy-clear-btn,
.vacancy-apply-btn {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	min-height: 45px;
}

.vacancy-clear-btn {
	background: #fff;
	border: 2px solid #d4d8dd;
	color: #343946;
}

.vacancy-clear-btn:hover {
	background: #f1f3f5;
	border-color: #c5cbd2;
	color: #16243d;
}

.vacancy-apply-btn {
	background: #0f6e56;
	border: 2px solid #0f6e56;
	color: #fff;
}

.vacancy-apply-btn:hover,
.vacancy-apply-btn:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.vacancy-list {
	display: grid;
	gap: 26px;
}

.vacancy-card {
	background: #fff;
	border: 1px solid #e3e5e8;
	border-radius: 16px;
	padding: 27px 22px;
}

.vacancy-card-title {
	color: #111827;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 16px;
}

.vacancy-card-title a {
	color: inherit;
	text-decoration: none;
}

.vacancy-card-title a:hover {
	color: #0f6e56;
	text-decoration: underline;
}

.vacancy-employer {
	color: #6f7480;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	margin: 0 0 12px;
}

.vacancy-meta-top,
.vacancy-meta-bottom {
	align-items: center;
	color: #525866;
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 10px 14px;
}

.vacancy-location {
	align-items: center;
	border: 1px solid #d9dde3;
	border-radius: 6px;
	display: inline-flex;
	line-height: 1;
	padding: 4px 7px 4px 5px;
}

.vacancy-flag {
	background: #1f4fa3;
	border: 1px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px #d4d8dd;
	display: inline-block;
	flex: 0 0 auto;
	height: 18px;
	margin-right: 5px;
	overflow: hidden;
	position: relative;
	width: 18px;
}

.vacancy-flag::before,
.vacancy-flag::after,
.vacancy-flag span::before,
.vacancy-flag span::after {
	background: #fff;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.vacancy-flag::before {
	height: 3px;
	width: 100%;
}

.vacancy-flag::after {
	height: 100%;
	width: 3px;
}

.vacancy-flag span::before,
.vacancy-flag span::after {
	height: 2px;
	width: 140%;
}

.vacancy-flag span::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.vacancy-flag span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.vacancy-salary {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.vacancy-salary i,
.vacancy-meta-bottom i {
	align-items: center;
	border: 2px solid #a9afb9;
	border-radius: 50%;
	color: #9ca3af;
	display: inline-flex;
	font-size: 14px;
	height: 21px;
	justify-content: center;
	margin-right: 7px;
	width: 21px;
}

.vacancy-meta-bottom .bi-calendar3 {
	border: 0;
	border-radius: 0;
	font-size: 19px;
	height: auto;
	width: auto;
	vertical-align: middle;
}

.vacancy-summary {
	color: #676d79;
	font-size: 16px;
	line-height: 1.7;
	margin: 22px 0 34px;
	max-width: 760px;
}

.vacancy-sector {
	align-items: center;
	border: 1px solid #d9dde3;
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 6px 9px;
}

.vacancy-sector::before {
	background: #4da3ff;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 6px;
	margin-right: 8px;
	width: 6px;
}

.vacancy-pagination {
	margin-top: 24px;
}

.vacancy-pagination-divider {
	background: #edf0f2;
	height: 1px;
	margin-bottom: 24px;
	width: 100%;
}

.vacancy-pagination-inner {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: auto 1fr auto;
}

.vacancy-pagination-btn {
	align-items: center;
	background: #fff;
	border: 2px solid #d5d9de;
	border-radius: 8px;
	color: #343946;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	min-width: 120px;
	padding: 10px 14px;
	text-decoration: none;
}

.vacancy-pagination-btn:hover,
.vacancy-pagination-btn:focus {
	background: #f7f8fa;
	border-color: #c5cbd2;
	color: #16243d;
	text-decoration: none;
}

.vacancy-pagination-btn.disabled {
	color: #9ca3af;
	opacity: 0.75;
	pointer-events: none;
}

.vacancy-pagination-btn i {
	color: currentColor;
	font-size: 18px;
	line-height: 1;
}

.vacancy-pagination-pages {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
}

.vacancy-pagination-pages .page-numbers {
	align-items: center;
	border-radius: 8px;
	color: #343946;
	display: inline-flex;
	font-size: 13px;
	font-weight: 500;
	height: 44px;
	justify-content: center;
	min-width: 44px;
	padding: 0 10px;
	text-decoration: none;
}

.vacancy-pagination-pages a.page-numbers:hover,
.vacancy-pagination-pages a.page-numbers:focus,
.vacancy-pagination-pages .page-numbers.current {
	background: #fafafa;
	color: #16243d;
	text-decoration: none;
}

.vacancy-pagination-pages .page-numbers.dots {
	min-width: 28px;
	padding: 0 4px;
}

@media (min-width: 992px) {
	.vacancy-filter-panel {
		max-width: 430px;
	}
}

@media (max-width: 575.98px) {
	.vacancy-filter-panel,
	.vacancy-card {
		padding: 24px 18px;
	}

	.vacancy-meta-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.vacancy-pagination-inner {
		grid-template-columns: 1fr;
		justify-items: center;
	}

	.vacancy-pagination-pages {
		order: -1;
	}
}

body.single-vacancy .page-wrap,
body.single-vacancy .content-wrapper {
	padding-top: 0;
}

.single-vacancy-page {
	background: #fff;
	color: #16243d;
	padding: 47px 0 0;
}

.single-vacancy-page > .container {
	max-width: 1320px;
}

.single-vacancy-header {
	margin-bottom: 50px;
}

.single-vacancy-title {
	color: #16243d;
	font-size: 40px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

@media (min-width: 992px) {
	h1:not(.site-title) {
		font-size: 40px;
	}
}

.single-vacancy-layout {
	--bs-gutter-x: 0;
}

.single-vacancy-overview {
	background: #f7f7f8;
	border-radius: 16px;
	margin-left: 0;
	max-width: 810px;
	padding: 42px 36px 40px;
}

.single-vacancy-overview h2,
.single-vacancy-text-section h2 {
	color: #16243d;
	font-size: 30px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 28px;
}

.single-vacancy-overview-list {
	display: grid;
	gap: 11px;
	margin: 0;
}

.single-vacancy-overview-list div {
	display: grid;
	grid-template-columns: 183px minmax(0, 1fr);
}

.single-vacancy-overview-list dt,
.single-vacancy-overview-list dd {
	color: #343946;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.15;
	margin: 0;
}

.single-vacancy-overview-list dd {
	color: #5f6673;
}

.single-vacancy-apply-btn {
	align-items: center;
	background: #0f6e56;
	border: 2px solid #0f6e56;
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	margin: 28px 0 0 0;
	min-height: 54px;
	padding: 15px 22px;
	text-decoration: none;
}

.single-vacancy-apply-btn:hover,
.single-vacancy-apply-btn:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
	text-decoration: none;
}

.single-vacancy-apply-btn.disabled,
.single-vacancy-apply-btn[aria-disabled="true"] {
	background: #0f6e56;
	border-color: #0f6e56;
	color: #fff;
	cursor: not-allowed;
	opacity: 0.55;
	pointer-events: none;
}

.single-vacancy-content,
.single-vacancy-text-section {
	color: #5f6673;
	font-size: 18px;
	line-height: 1.7;
	margin-left: 0;
	max-width: 810px;
}

.single-vacancy-content:not(:empty) {
	margin-top: 50px;
}

.single-vacancy-content > *:last-child,
.single-vacancy-text-section > div > *:last-child {
	margin-bottom: 0;
}

.single-vacancy-content h2,
.single-vacancy-content h3,
.single-vacancy-content h4 {
	color: #16243d;
	font-weight: 800;
	line-height: 1.25;
	margin: 34px 0 16px;
}

.single-vacancy-content p,
.single-vacancy-content ul,
.single-vacancy-content ol,
.single-vacancy-text-section p,
.single-vacancy-text-section ul,
.single-vacancy-text-section ol {
	margin-bottom: 18px;
}

.single-vacancy-content a,
.single-vacancy-text-section a {
	color: #0f6e56;
}

.single-vacancy-text-section {
	margin-top: 44px;
}

@media (max-width: 991.98px) {
	.single-vacancy-page {
		padding-bottom: 64px;
	}

	.single-vacancy-header {
		margin-bottom: 80px;
	}

	.single-vacancy-overview,
	.single-vacancy-apply-btn,
	.single-vacancy-content,
	.single-vacancy-text-section {
		margin-left: 0;
		max-width: none;
	}
}

@media (max-width: 575.98px) {
	.single-vacancy-page {
		padding: 36px 0 54px;
	}

	.single-vacancy-header {
		margin-bottom: 54px;
	}

	.single-vacancy-title {
		font-size: 36px;
	}

	.single-vacancy-overview {
		border-radius: 12px;
		padding: 28px 22px;
	}

	.single-vacancy-apply-btn {
		width: 100%;
	}

	.single-vacancy-overview h2,
	.single-vacancy-text-section h2 {
		font-size: 26px;
		margin-bottom: 22px;
	}

	.single-vacancy-overview-list {
		gap: 14px;
	}

	.single-vacancy-overview-list div {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.single-vacancy-overview-list dt,
	.single-vacancy-overview-list dd,
	.single-vacancy-content,
	.single-vacancy-text-section {
		font-size: 16px;
	}
}

/* TPS events archive redesign */
body.post-type-archive-event .page-wrap,
body.post-type-archive-event .content-wrapper {
	padding-top: 0;
}

.tps-events-landing {
	--tps-events-blue: #0f6e56;
	--tps-events-orange: #0f6e56;
	--tps-events-ink: #16243d;
	--tps-events-muted: #525866;
	--tps-events-border: #e1e5ea;
	background: #fff;
	color: var(--tps-events-ink);
	padding: 45px 0 18px;
}

.tps-events-landing .col-12 {
	margin-top: 0;
}

.tps-events-landing > .container {
	max-width: 1320px;
}

.tps-events-landing .row {
	--bs-gutter-x: 54px;
}

.tps-events-aside {
	display: grid;
	gap: 19px;
	margin-left: auto;
	max-width: 432px;
}

@media (min-width: 992px) {
	.tps-events-aside-column {
		align-self: flex-start;
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 24px);
		z-index: 2;
	}
}

.tps-events-filter-card {
	background: #f4f4f5;
	border: 0;
	border-radius: 10px;
	min-height: 305px;
	padding: 31px 27px 34px;
}

.tps-events-filter-heading {
	color: var(--tps-events-ink);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 20px;
}

.tps-events-month-control {
	align-items: center;
	background: #fff;
	border: 2px solid #ff6a2a;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(23, 28, 41, 0.08);
	color: #262b36;
	display: flex;
	gap: 0;
	justify-content: center;
	min-height: 45px;
	padding: 8px 14px;
	width: 100%;
}

.tps-events-month-dropdown {
	position: relative;
	width: 100%;
}

.tps-events-month-control i {
	color: #4b5563;
	font-size: 21px;
	line-height: 1;
	margin-right: 10px;
}

.tps-events-month-control span {
	color: #262b36;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.tps-events-month-control strong {
	color: #69707e;
	font-weight: 800;
	margin-left: 3px;
}

.tps-events-month-control:hover,
.tps-events-month-control:focus,
.tps-events-month-control.show {
	background: #fff;
	border-color: #ff6a2a;
	box-shadow: 0 0 0 3px rgba(244, 81, 5, 0.13);
	color: #262b36;
}

.tps-events-month-menu {
	border: 0;
	border-radius: 10px;
	box-shadow: 0 8px 22px rgba(23, 28, 41, 0.16);
	left: 0 !important;
	margin-top: 9px !important;
	max-width: 100%;
	min-width: 100%;
	padding: 22px 18px 14px;
	transform: translate3d(0, 45px, 0) !important;
	width: 100%;
}

.tps-events-month-menu-head {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 27px;
}

.tps-events-month-menu-head strong {
	color: #343946;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
}

.tps-events-month-menu-head button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #b4bbc5;
	display: inline-flex;
	font-size: 22px;
	height: 32px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 32px;
}

.tps-events-month-menu-head button:hover,
.tps-events-month-menu-head button:focus {
	color: var(--tps-events-orange);
}

.tps-events-month-grid {
	display: grid;
	gap: 18px 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-bottom: 18px;
}

.tps-events-month-option {
	align-items: center;
	aspect-ratio: 1 / 0.85;
	background: transparent;
	border: 0;
	border-radius: 18px;
	color: #69707e;
	display: inline-flex;
	flex-direction: column;
	font-size: 14px;
	font-weight: 500;
	gap: 11px;
	justify-content: center;
	line-height: 1;
	min-height: 58px;
	padding: 10px;
}

.tps-events-month-option:hover,
.tps-events-month-option:focus {
	background: var(--tps-events-orange);
	color: #fff;
}

.tps-events-month-option:hover i,
.tps-events-month-option:focus i {
	background: #fff;
}

.tps-events-month-option.is-selected {
	background: var(--tps-events-orange);
	color: #fff;
	font-weight: 800;
}

.tps-events-month-option i {
	background: #0f6e56;
	border-radius: 50%;
	display: block;
	height: 5px;
	width: 5px;
}

.tps-events-month-option.is-selected i {
	background: #fff;
}

.tps-events-month-actions {
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr 1fr;
}

.tps-events-month-actions .btn {
	align-items: center;
	border-radius: 7px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 42px;
	padding: 10px 16px;
}

.tps-events-month-cancel {
	background: #fff;
	border: 2px solid #d9dde2;
	color: #343946;
}

.tps-events-month-cancel:hover,
.tps-events-month-cancel:focus {
	background: #f6f7f8;
	border-color: #cbd1d8;
	color: #343946;
}

.tps-events-month-apply {
	background: var(--tps-events-orange);
	border: 2px solid var(--tps-events-orange);
	color: #fff;
}

.tps-events-month-apply:hover,
.tps-events-month-apply:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-events-choice-list {
	display: grid;
	gap: 22px;
	margin-top: 26px;
}

.tps-events-choice {
	align-items: center;
	color: #464c58;
	cursor: pointer;
	display: flex;
	font-size: 16px;
	gap: 14px;
	line-height: 1.2;
	margin: 0;
}

.tps-events-choice input {
	clip: rect(0 0 0 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

.tps-events-choice span {
	background: #f9fafb;
	border: 1px solid #cfd5dc;
	border-radius: 50%;
	flex: 0 0 auto;
	height: 23px;
	position: relative;
	width: 23px;
}

.tps-events-choice input:checked + span {
	background: var(--tps-events-orange);
	border-color: var(--tps-events-orange);
}

.tps-events-choice input:checked + span::after {
	background: #fff;
	border-radius: 50%;
	content: "";
	height: 7px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 7px;
}

.tps-events-choice input:focus-visible + span {
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.18);
}

.tps-events-member-panel {
	background: #e9f3fb;
	border: 4px solid var(--tps-events-blue);
	border-radius: 10px;
	min-height: 287px;
	padding: 29px 23px 41px;
}

.tps-events-member-panel h2 {
	color: var(--tps-events-blue);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 13px;
}

.tps-events-member-panel p {
	color: var(--tps-events-blue);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 34px;
}

.tps-events-member-panel a {
	align-items: center;
	background: var(--tps-events-orange);
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 14px 22px;
	text-decoration: none;
	width: 100%;
}

.tps-events-member-panel a:hover,
.tps-events-member-panel a:focus {
	background: #0b5342;
	color: #fff;
	text-decoration: none;
}

.tps-events-results {
	display: grid;
	gap: 27px;
}

.tps-events-result-card {
	background: #fff;
	border: 1px solid var(--tps-events-border);
	border-radius: 16px;
	min-height: 187px;
	padding: 23px 58px 21px 21px;
	position: relative;
}

.tps-events-result-card:hover {
	border-color: #d4d9df;
	box-shadow: 0 12px 24px rgba(23, 28, 41, 0.05);
}

.tps-events-meta {
	align-items: center;
	color: var(--tps-events-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 15.5px;
	font-weight: 500;
	gap: 12px 20px;
	line-height: 1.2;
	margin-bottom: 16px;
}

.tps-events-meta span {
	align-items: center;
	display: inline-flex;
	gap: 9px;
}

.tps-events-meta i {
	color: #9aa1ad;
	font-size: 22px;
	line-height: 1;
}

.tps-events-result-title {
	color: var(--tps-events-ink);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 12px;
	padding-right: 14px;
}

.tps-events-result-title a {
	color: inherit;
	text-decoration: none;
}

.tps-events-result-title a:hover,
.tps-events-result-title a:focus {
	color: var(--tps-events-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.tps-events-result-open {
	align-items: center;
	color: #111827;
	display: inline-flex;
	font-size: 24px;
	height: 34px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 23px;
	text-decoration: none;
	top: 58px;
	width: 34px;
}

.tps-events-result-open:hover,
.tps-events-result-open:focus {
	color: var(--tps-events-blue);
	text-decoration: none;
}

.tps-events-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 8px;
}

.tps-events-tag {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 6px 11px 5px;
}

.tps-events-tag-blue {
	background: #eef7ff;
	border: 1px solid #9bd0ff;
	color: #005fd7;
}

.tps-events-tag-green {
	background: #ecfff4;
	border: 1px solid #93e4b4;
	color: #007a4d;
}

.tps-events-tag-purple {
	background: #f7f2ff;
	border: 1px solid #d2c3ff;
	color: #5a20dc;
}

.tps-events-pager {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 13px;
	justify-content: center;
	margin-top: 11px;
	width: 100%;
}

.tps-events-pager .page-numbers {
	align-items: center;
	border-radius: 8px;
	color: #343946;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	height: 45px;
	justify-content: center;
	line-height: 1;
	min-width: 45px;
	padding: 0 10px;
	text-decoration: none;
}

.tps-events-pager .prev,
.tps-events-pager .next {
	border: 2px solid #d3d7dc;
	color: #343946;
	font-weight: 800;
	gap: 9px;
	min-width: 120px;
	padding: 0 15px;
}

.tps-events-pager .disabled {
	opacity: 0.55;
	pointer-events: none;
}

.tps-events-pager .prev {
	margin-right: auto;
	justify-self: start;
}

.tps-events-pager .next {
	margin-left: auto;
	justify-self: end;
}

.tps-events-pager .dots {
	color: #343946;
	min-width: 36px;
}

.tps-events-pager a.page-numbers:hover,
.tps-events-pager a.page-numbers:focus,
.tps-events-pager .page-numbers.current {
	background: #f5f6f8;
	color: var(--tps-events-ink);
	text-decoration: none;
}

@media (max-width: 991.98px) {
	.tps-events-landing {
		padding: 34px 0 58px;
	}

	.tps-events-landing .row {
		--bs-gutter-x: 24px;
	}

	.tps-events-aside,
	.tps-events-results {
		max-width: none;
	}

	.tps-events-filter-card,
	.tps-events-member-panel,
	.tps-events-result-card {
		min-height: 0;
	}
}

@media (max-width: 575.98px) {
	.tps-events-filter-card,
	.tps-events-member-panel {
		padding-left: 20px;
		padding-right: 20px;
	}

	.tps-events-result-card {
		border-radius: 12px;
		padding: 22px 18px;
	}

	.tps-events-result-open {
		margin-top: 12px;
		position: static;
	}

	.tps-events-result-title {
		font-size: 20px;
		padding-right: 0;
	}

	.tps-events-pager .prev,
	.tps-events-pager .next {
		margin-left: 0;
		margin-right: 0;
		min-width: 0;
		width: 100%;
	}
}

.tps-404-page {
	--not-found-orange: #0f6e56;
	--not-found-ink: #16243d;
	--not-found-muted: #5d6470;
	background: #fff;
	padding: 0;
}

body.error404 .page-wrap {
	padding-top: 60px;
}

.tps-404-layout {
	align-items: center;
	display: grid;
	gap: 72px;
	grid-template-columns: minmax(360px, 0.9fr) minmax(420px, 1.35fr);
	min-height: 620px;
}

.tps-404-content {
	max-width: 470px;
}

.tps-404-label {
	align-items: center;
	background: #fff;
	border: 1px solid #d7dbe1;
	border-radius: 5px;
	box-shadow: 0 1px 2px rgba(23, 28, 41, 0.08);
	color: #404652;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	gap: 9px;
	line-height: 1;
	margin-bottom: 34px;
	padding: 8px 12px;
}

.tps-404-label span {
	background: var(--not-found-orange);
	border-radius: 50%;
	display: inline-block;
	height: 6px;
	width: 6px;
}

.tps-404-content h1 {
	color: var(--not-found-ink);
	font-size: 62px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0 0 28px;
}

.tps-404-content p {
	color: var(--not-found-muted);
	font-size: 20px;
	line-height: 1.65;
	margin: 0 0 54px;
}

.tps-404-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.tps-404-back,
.tps-404-home {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	gap: 11px;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 15px 22px;
	text-decoration: none;
	text-transform: capitalize;
}

.tps-404-back {
	background: #fff;
	border: 2px solid #d6dae0;
	color: #404652;
	min-width: 138px;
}

.tps-404-back i {
	font-size: 22px;
}

.tps-404-back:hover,
.tps-404-back:focus {
	background: #f7f8fa;
	border-color: #c7ccd4;
	color: var(--not-found-ink);
}

.tps-404-home {
	background: var(--not-found-orange);
	border: 2px solid var(--not-found-orange);
	color: #fff;
	min-width: 116px;
}

.tps-404-home:hover,
.tps-404-home:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
	text-decoration: none;
}

.tps-404-visual {
	align-self: stretch;
	background: #c4c4c4;
	min-height: 620px;
	width: 100%;
}

@media (max-width: 1199.98px) {
	.tps-404-layout {
		gap: 48px;
		grid-template-columns: minmax(330px, 0.9fr) minmax(380px, 1.1fr);
	}

	.tps-404-content h1 {
		font-size: 54px;
	}
}

@media (max-width: 991.98px) {
	.tps-404-page {
		padding: 72px 0;
	}

	.tps-404-layout {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.tps-404-content {
		max-width: 620px;
	}

	.tps-404-visual {
		min-height: 360px;
	}
}

@media (max-width: 575.98px) {
	.tps-404-page {
		padding: 48px 0 64px;
	}

	.tps-404-layout {
		gap: 38px;
	}

	.tps-404-content h1 {
		font-size: 42px;
	}

	.tps-404-content p {
		font-size: 18px;
		margin-bottom: 36px;
	}

	.tps-404-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.tps-404-back,
	.tps-404-home {
		width: 100%;
	}

	.tps-404-visual {
		min-height: 280px;
	}
}

.tps-login-page {
	--login-orange: #0f6e56;
	--login-ink: #16243d;
	--login-muted: #626977;
	background: #fff;
	padding: 60px 0 0;
}

body.page-template-tpl-login .page-wrap,
body.page-template-tpl-login .content-wrapper {
	padding-top: 0;
}

.tps-login-panel {
	margin: 0 auto;
	max-width: 405px;
}

.tps-login-header {
	margin-bottom: 20px;
}

.tps-login-header h1 {
	color: var(--login-ink);
	font-size: 31px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 17px;
}

.tps-login-header p {
	color: var(--login-muted);
	font-size: 16px;
	line-height: 1.45;
	margin: 0;
}

.tps-login-alert {
	border-radius: 8px;
	font-size: 14px;
	margin-bottom: 22px;
}

.tps-login-form .form-label {
	color: #343946;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 10px;
}

.tps-login-form .form-control {
	background: #fff;
	border: 1px solid #d3d7dd;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(23, 28, 41, 0.08);
	color: #16243d;
	font-size: 16px;
	height: 50px;
	padding: 12px 15px;
}

.tps-login-form .form-control::placeholder {
	color: #858c98;
	opacity: 1;
}

.tps-login-form .form-control:focus {
	border-color: var(--login-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.14);
}

.tps-login-options {
	margin: 4px 0 28px;
}

.tps-login-options .form-check {
	align-items: center;
	display: flex;
	min-height: 24px;
	padding-left: 0;
}

.tps-login-options .form-check-input {
	border: 1px solid #cfd5dc;
	border-radius: 4px;
	box-shadow: none;
	height: 18px;
	margin: 0 10px 0 0;
	width: 18px;
}

.tps-home {
	--tps-orange: #0f6e56;
	--tps-blue: #0f6e56;
	--tps-navy: #16243d;
	--tps-muted: #67707c;
	--tps-border: #e4e8ee;
	color: var(--tps-navy);
	font-family: Figtree, Helvetica, Arial, sans-serif;
	width: 100%;
}

.tps-home a {
	text-decoration: none;
}

.tps-home .section-pad {
	padding: 46px 0;
}

.tps-home .eyebrow {
	color: var(--tps-orange);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.02em;
	margin-bottom: 8px;
}

.tps-home h1,
.tps-home h2,
.tps-home h3,
.tps-home h4 {
	color: #101522;
	font-weight: 800;
	letter-spacing: 0;
	margin: 0;
}

.tps-home p {
	color: var(--tps-muted);
	font-size: 14px;
	line-height: 1.75;
	margin: 0;
}

.tps-home .btn-tps {
	background: var(--tps-orange);
	border: 2px solid var(--tps-orange);
	border-radius: 8px;
	color: #fff;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	min-height: 50px;
	padding: 15px 20px;
}

.tps-home .btn-tps:hover {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-home .btn-tps-outline {
	align-items: center;
	background: #fff;
	border: 2px solid #d6d9de;
	border-radius: 8px;
	color: #3e4450;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 50px;
	padding: 15px 20px;
}

.tps-home .btn-tps-outline:hover,
.tps-home .btn-tps-outline:focus {
	background: #f6f7f9;
	border-color: #bfc5cd;
	color: #16243d;
}

.home-hero {
	padding: 0 0 34px;
}

.hero-frame {
	background: #eef3f7;
	border-radius: 22px;
	min-height: 589px;
	overflow: hidden;
	position: relative;
}

.hero-img {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: center center;
	position: absolute;
	width: 100%;
}

.hero-card {
	background: #fff;
	border-radius: 22px;
	box-shadow: none;
	margin: 72px 0 72px 72px;
	max-width: 676px;
	padding: 45px 36px 36px;
	position: relative;
	z-index: 2;
}

.hero-card h1 {
	color: #16243d;
	font-size: 48px;
	font-weight: 800;
	line-height: 1.42;
	margin-bottom: 26px;
}

.hero-card p {
	color: #343946;
	font-size: 20px;
	line-height: 1.65;
	margin-bottom: 24px;
}

.section-head {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 22px;
}

.section-head h2 {
	font-size: 22px;
}

.view-link {
	border: 1px solid #cfd5dd;
	border-radius: 2px;
	color: #2c3440;
	font-size: 12px;
	font-weight: 700;
	padding: 7px 12px;
}

.meta {
	color: #8b94a1;
	display: flex;
	flex-wrap: wrap;
	font-size: 11px;
	gap: 10px;
	margin-bottom: 10px;
}

.card-link {
	color: var(--tps-blue);
	font-size: 12px;
	font-weight: 800;
}

.events-wrap {
	background: #fafbfc;
	border-bottom: 1px solid #edf0f3;
	border-top: 1px solid #edf0f3;
}

.event-card {
	background: #fff;
	border: 1px solid var(--tps-border);
	display: flex;
	gap: 14px;
	min-height: 126px;
	padding: 18px;
}

.event-date {
	border-right: 1px solid var(--tps-border);
	flex: 0 0 58px;
	text-align: center;
}

.event-date strong {
	color: var(--tps-orange);
	display: block;
	font-size: 25px;
	line-height: 1;
}

.event-date span {
	color: #6f7782;
	display: block;
	font-size: 11px;
	font-weight: 700;
	margin-top: 6px;
	text-transform: uppercase;
}

.event-card h3 {
	font-size: 14px;
	line-height: 1.35;
	margin-bottom: 9px;
}

.intro-title {
	margin: 0 auto 34px;
	max-width: 700px;
	text-align: center;
}

.intro-title h2 {
	font-size: 24px;
	margin-bottom: 12px;
}

.feature-row {
	align-items: center;
	margin-bottom: 34px;
}

.feature-row:last-child {
	margin-bottom: 0;
}

.feature-row h3 {
	font-size: 20px;
	margin-bottom: 16px;
}

.feature-row p {
	margin-bottom: 18px;
}

.feature-img {
	aspect-ratio: 1.55 / 1;
	object-fit: cover;
	width: 100%;
}

.home-feature-section {
	padding: 82px 0 54px;
}

.tps-home .home-feature-section {
	padding: 82px 0 54px;
}

.home-feature-intro {
	margin-bottom: 0px;
	max-width: 905px;
}

.home-feature-intro h2 {
	color: #16243d;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 24px;
}

.home-feature-intro p {
	color: #555d6b;
	font-size: 20px;
	line-height: 1.6;
}

.home-feature-row {
	margin-bottom: 0;
}

.home-feature-row h3 {
	color: #16243d;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 22px;
}

.home-feature-row p {
	color: #626977;
	font-size: 18px;
	line-height: 1.65;
	margin-bottom: 34px;
	max-width: 660px;
}

.home-feature-row .btn-tps,
.home-feature-row .btn-tps-outline {
	min-height: 54px;
	padding: 16px 22px;
}

.home-feature-row .btn-tps {
	min-width: 137px;
}

.home-feature-row .btn-tps-demo {
	gap: 10px;
	min-width: 121px;
}

.home-feature-row .btn-tps-demo i {
	font-size: 22px;
	line-height: 1;
}

.home-feature-row .feature-img {
	aspect-ratio: 1.41 / 1;
	display: block;
	object-fit: cover;
	object-position: center;
	width: 100%;
	border-radius: 12px;
}

.partners {
	background: #fbfbfc;
	border: 0;
	padding: 0px 0 100px;
	text-align: center;
}

.partners-title {
	color: #4f5663;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	margin-bottom: 39px;
}

.partners-logo-row {
	gap: 54px 72px;
}

.partners-title h2 {
	color: var(--tps-vacancy-ink);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.partner-logo {
	align-items: center;
	color: #0b3f85;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 20px;
	font-weight: 900;
	gap: 16px;
	justify-content: center;
	min-height: 90px;
	padding: 0;
	text-align: left;
}

.partner-logo small {
	color: inherit;
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.05;
}

.partner-logo-ice {
	background: #0c8394;
	color: #fff;
	font-size: 51px;
	font-weight: 500;
	height: 90px;
	letter-spacing: -0.07em;
	line-height: 1;
	text-transform: lowercase;
	width: 105px;
}

.partner-logo-cilt {
	color: #b0894a;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.05;
	max-width: 230px;
}

.partner-logo-cilt-mark {
	border: 8px solid #b0894a;
	border-left-color: #35205e;
	border-radius: 50%;
	display: inline-block;
	height: 47px;
	position: relative;
	width: 47px;
}

.partner-logo-cilt-mark::before,
.partner-logo-cilt-mark::after {
	background: #fff;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.partner-logo-cilt-mark::before {
	height: 67px;
	width: 12px;
}

.partner-logo-cilt-mark::after {
	height: 12px;
	width: 67px;
}

.partner-logo-ciht {
	color: #003f8f;
	font-size: 61px;
	letter-spacing: -0.04em;
	line-height: 1;
}

.partner-logo-ciht-mark {
	border-left: 28px solid transparent;
	border-top: 42px solid #00a7cf;
	display: inline-block;
	height: 0;
	position: relative;
	width: 74px;
}

.partner-logo-ciht-mark::after {
	border-left: 25px solid transparent;
	border-top: 37px solid #00895f;
	content: "";
	left: 18px;
	position: absolute;
	top: -37px;
}

.partner-logo-rtpi {
	color: #003f8f;
	gap: 17px;
}

.partner-logo-rtpi-mark {
	border: 2px solid #00a3b5;
	display: inline-block;
	height: 86px;
	position: relative;
	width: 67px;
}

.partner-logo-rtpi-mark::before {
	border: 2px solid #00a3b5;
	content: "";
	height: 52px;
	left: 14px;
	position: absolute;
	top: 16px;
	transform: rotate(45deg);
	width: 52px;
}

.partner-logo-rtpi-mark::after {
	background: #fbfbfc;
	content: "";
	height: 96px;
	left: 32px;
	position: absolute;
	top: -7px;
	width: 10px;
}

.partner-logo-rtpi strong {
	display: block;
	font-size: 31px;
	letter-spacing: 0.14em;
	line-height: 1;
	margin-bottom: 5px;
}

.job-card {
	background: #fff;
	border: 1px solid var(--tps-border);
	height: 100%;
	padding: 20px;
}

.job-card h3 {
	font-size: 14px;
	line-height: 1.35;
	margin-bottom: 14px;
}

.job-card .salary {
	color: var(--tps-orange);
	display: block;
	font-size: 13px;
	font-weight: 800;
	margin-bottom: 10px;
}

.job-card p {
	font-size: 12px;
	line-height: 1.55;
	margin-bottom: 14px;
}

.voices {
	background: #fff;
}

.tps-testimonials-section {
	padding: 0 0 86px;
}

.tps-home .tps-testimonials-section {
	padding: 0 0 86px;
}

.tps-testimonials-head {
	margin: 0 auto 75px;
	max-width: 820px;
	text-align: center;
}

.tps-testimonials-head h2 {
	color: #16243d;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.18;
	margin: 0 0 32px;
}

.tps-testimonials-head p {
	color: #4f5663;
	font-size: 16px;
	line-height: 1.4;
	margin: 0;
}

.tps-testimonials-grid {
	align-items: start;
	--bs-gutter-x: 28px;
	--bs-gutter-y: 28px;
}

.row.tps-testimonials-grid.g-4.g-xl-5 > div {
	padding-left: calc(var(--bs-gutter-x) * 0.5);
	padding-right: calc(var(--bs-gutter-x) * 0.5);
	/*margin-top: var(--bs-gutter-y);*/
	margin-top: 0;
}

.tps-testimonials-grid > div:nth-child(3n + 1),
.tps-testimonials-grid > div:nth-child(3n) {
	padding-top: 28px;
}

.testimonial-card {
	background: #fff;
	border: 1px solid #e8ebef;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.02);
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 232px;
	padding: 28px;
}

.quote-mark {
	color: #ccd3dc;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
	margin-bottom: 10px;
}

.testimonial-card p {
	color: #626977;
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 34px;
	min-height: 420px;
}

.person {
	align-items: center;
	display: flex;
	gap: 13px;
	margin-top: auto;
}

.avatar {
	background: linear-gradient(135deg, #0f6e56, #16243d);
	border-radius: 50%;
	display: block;
	flex: 0 0 auto;
	height: 38px;
	object-fit: cover;
	width: 38px;
}

.person strong {
	color: #16243d;
	display: block;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
}

.person span {
	color: #8a93a0;
	display: block;
	font-size: 11px;
}

.tps-testimonials-empty {
	border: 1px solid #e4e8ee;
	border-radius: 12px;
	color: #626977;
	font-size: 16px;
	padding: 28px;
	text-align: center;
}

.tps-news-slider-section {
	--tps-blue: #0f6e56;
	--tps-navy: #16243d;
	--tps-muted: #67707c;
	--tps-border: #e4e8ee;
	color: var(--tps-navy);
	font-family: Figtree, Helvetica, Arial, sans-serif;
	overflow: hidden;
	padding: 79px 0 62px;
	width: 100%;
}

.tps-home .tps-news-slider-section {
	padding: 64px 0 62px;
}

.tps-news-slider-head {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 36px;
}

.tps-news-slider-head h2 {
	color: var(--tps-navy);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
}

.tps-news-slider-actions {
	align-items: center;
	display: flex;
	gap: 12px;
}

.tps-events-slider-actions,
.tps-vacancies-slider-actions {
	align-items: center;
	display: flex;
	gap: 12px;
}

.tps-slider-nav {
	align-items: center;
	background: #fff;
	border: 2px solid #d0d5dd;
	border-radius: 8px;
	color: #404654;
	display: inline-flex;
	flex: 0 0 54px;
	font-size: 22px;
	height: 54px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	transition:
		border-color 0.2s ease,
		color 0.2s ease,
		background-color 0.2s ease;
	width: 54px;
}

.tps-slider-nav:hover,
.tps-slider-nav:focus {
	border-color: #0f6e56;
	color: #0f6e56;
}

.tps-slider-nav:disabled {
	cursor: not-allowed;
	opacity: 0.45;
}

.tps-news-slider-view-all {
	border: 2px solid #d0d5dd;
	border-radius: 8px;
	color: #404654;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	min-height: 54px;
	padding: 17px 22px;
	white-space: nowrap;
}

.tps-news-slider-view-all:hover,
.tps-news-slider-view-all:focus {
	border-color: var(--tps-blue);
	color: var(--tps-blue);
}

.tps-news-slider-viewport {
	--tps-slider-end-space: 48px;
	cursor: grab;
	margin: 0 calc((100vw - 100%) / -2) 0 0;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	user-select: none;
	width: calc(100% + ((100vw - 100%) / 2));
}

.tps-news-slider-viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.tps-events-slider-viewport.is-dragging,
.tps-vacancies-slider-viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}

.tps-news-slider-viewport::-webkit-scrollbar {
	display: none;
}

.tps-news-slider-track {
	display: flex;
	gap: 36px;
	padding: 0 0 4px;
}

.tps-news-slider-track::after,
.tps-events-slider-track::after,
.tps-vacancies-slider-track::after {
	content: "";
	flex: 0 0 var(--tps-slider-end-space);
}

.tps-news-slide {
	flex: 0 0 386px;
	scroll-snap-align: start;
}

.tps-news-card {
	background: #fff;
	border: 1px solid var(--tps-border);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.tps-news-card:hover {
	border-color: #cfd7e0;
	box-shadow: 0 14px 28px rgba(29, 36, 48, 0.08);
}

.tps-news-card-image {
	background: #edf2f6;
	display: block;
	overflow: hidden;
}

.tps-news-card-image img {
	aspect-ratio: 1.7 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tps-news-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 30px 26px 26px;
}

.tps-news-card-date {
	color: var(--tps-blue);
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 16px;
}

.tps-news-card-title {
	align-items: flex-start;
	display: flex;
	gap: 0px;
	justify-content: space-between;
	margin: 0 0 14px;
}

.tps-news-card-title a {
	color: var(--tps-navy);
	display: -webkit-box;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.45;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tps-news-card-title a:hover,
.tps-news-card-title a:focus {
	color: var(--tps-blue);
	text-decoration: underline;
}

.tps-news-card-title i {
	color: var(--tps-navy);
	flex: 0 0 auto;
	font-size: 22px;
	margin-top: 5px;
}

.tps-news-card-excerpt {
	color: var(--tps-muted);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 27px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.tps-news-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: auto;
}

.tps-news-tag {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 7px 12px;
}

.tps-news-tag-orange {
	background: #fff3ed;
	border: 1px solid #ffb08b;
	color: #9d3400;
}

.tps-news-tag-blue {
	background: #eff3ff;
	border: 1px solid #b7c8ff;
	color: #2339d8;
}

.tps-news-tag-pink {
	background: #fff0fa;
	border: 1px solid #f7b5dc;
	color: #c01879;
}

.tps-news-slider-empty {
	border: 1px solid var(--tps-border);
	border-radius: 12px;
	color: var(--tps-muted);
	font-size: 16px;
	padding: 28px;
}

.tps-events-slider-section {
	--tps-event-blue: #0f6e56;
	--tps-event-ink: #16243d;
	--tps-event-muted: #4f5663;
	--tps-event-border: #e4e8ee;
	color: var(--tps-event-ink);
	font-family: Figtree, Helvetica, Arial, sans-serif;
	overflow: hidden;
	padding: 79px 0 72px;
	width: 100%;
}

.tps-home .tps-events-slider-section {
	padding: 79px 0 72px;
}

.tps-events-slider-head {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 28px;
}

.tps-events-slider-head h2 {
	color: var(--tps-event-ink);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-events-slider-view-all {
	border: 2px solid #d0d5dd;
	border-radius: 8px;
	color: #404654;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 17px 22px;
	white-space: nowrap;
}

.tps-events-slider-view-all:hover,
.tps-events-slider-view-all:focus {
	border-color: var(--tps-event-blue);
	color: var(--tps-event-blue);
}

.tps-events-slider-viewport {
	--tps-slider-end-space: 48px;
	cursor: grab;
	margin: 0 calc((100vw - 100%) / -2) 0 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: calc(100% + ((100vw - 100%) / 2));
}

.tps-events-slider-viewport::-webkit-scrollbar {
	display: none;
}

.tps-events-slider-track {
	display: flex;
	gap: 36px;
	padding: 0 0 4px;
}

.tps-events-slide {
	flex: 0 0 386px;
	scroll-snap-align: start;
}

.tps-event-card {
	background: #fff;
	border: 1px solid var(--tps-event-border);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	min-height: 333px;
	padding: 28px 26px 26px;
	position: relative;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.tps-home .tps-event-card {
	padding: 0;
	min-height: 474px;
}

.tps-home .tps-event-card-image img {
	width: 100%;
	border-radius: 16px 16px 0px 0px;
}

.tps-home .tps-event-meta {
	padding: 28px 26px 0px;
}

.tps-home h3 {
	margin: 0;
	padding: 0px 0 24px;
	margin-bottom: 0 !important;
}

.tps-home .tps-event-badges {
	padding: 0px 24px 24px;
}

.tps-event-card:hover {
	border-color: #cfd7e0;
	box-shadow: 0 14px 28px rgba(29, 36, 48, 0.08);
}

.tps-event-heart {
	align-items: center;
	background: transparent;
	border: 0;
	color: #111827;
	display: inline-flex;
	font-size: 23px;
	height: 34px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 14px;
	top: 13px;
	width: 34px;
}

.tps-event-heart:hover,
.tps-event-heart:focus {
	color: var(--tps-event-blue);
}

.tps-event-heart.is-saved,
.tps-event-heart.is-saved:hover,
.tps-event-heart.is-saved:focus {
	color: #0f6e56;
}

.tps-event-heart.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.tps-event-meta {
	color: var(--tps-event-muted);
	display: grid;
	font-size: 16px;
	font-weight: 500;
	gap: 9px;
	line-height: 1.3;
	margin-bottom: 17px;
	padding-right: 44px;
}

.tps-event-meta span {
	align-items: center;
	display: inline-flex;
	gap: 10px;
	min-width: 0;
}

.tps-event-meta i {
	color: #9aa1ad;
	flex: 0 0 auto;
	font-size: 22px;
}

.tps-event-card-title {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin: 0 0 44px;
}

.tps-event-card-title a {
	color: var(--tps-event-ink);
	display: -webkit-box;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.52;
	overflow: hidden;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tps-event-card-title a:hover,
.tps-event-card-title a:focus {
	color: var(--tps-event-blue);
	text-decoration: underline;
}

.tps-event-card-title i {
	color: #111827;
	flex: 0 0 auto;
	font-size: 23px;
	margin-top: 5px;
}

.tps-event-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: auto;
}

.tps-event-badge {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 6px 11px;
}

.tps-event-badge-blue {
	background: #eef7ff;
	border: 1px solid #9bd0ff;
	color: #005fe8;
}

.tps-event-badge-green {
	background: #eafff4;
	border: 1px solid #8be7b9;
	color: #007a46;
}

.tps-event-badge-purple {
	background: #f4f1ff;
	border: 1px solid #cfc4ff;
	color: #4b22e8;
}

/* Single event detail */
body.single-event .page-wrap,
body.single-event .content-wrapper {
	padding-top: 0;
}

.single-event-page {
	--single-event-blue: #0f6e56;
	--single-event-orange: #0f6e56;
	--single-event-ink: #16243d;
	--single-event-muted: #525866;
	background: #fff;
	padding: 43px 0 72px;
}

.single-event-page > .container {
	max-width: 1368px;
}

.single-event-detail {
	color: var(--single-event-ink);
}

.single-event-header {
	margin-bottom: 58px;
	max-width: 850px;
}

.single-event-title {
	color: var(--single-event-ink);
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0 0 24px;
}

.single-event-meta {
	display: grid;
	gap: 9px;
	margin-bottom: 18px;
}

.single-event-meta-row {
	align-items: center;
	color: var(--single-event-muted);
	display: flex;
	font-size: 16px;
	font-weight: 500;
	gap: 12px;
	line-height: 1.35;
}

.single-event-meta-row i {
	color: #9aa1ad;
	flex: 0 0 auto;
	font-size: 22px;
	line-height: 1;
	width: 22px;
}

.single-event-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 9px 8px;
	margin: 0 0 31px;
}

.single-event-summary {
	color: #5f6673;
	font-size: 21px;
	line-height: 1.55;
	margin: 0;
}

.single-event-body {
	--bs-gutter-x: 54px;
}

@media (min-width: 992px) {
	.single-event-body > .col-lg-8 {
		flex: 0 0 calc(100% - 484px);
		max-width: calc(100% - 484px);
	}

	.single-event-body > .col-lg-4 {
		flex: 0 0 484px;
		max-width: 484px;
	}
}

.single-event-content {
	color: #4f5664;
	font-size: 18px;
	line-height: 1.75;
	max-width: 810px;
}

.single-event-content:empty {
	display: none;
}

.single-event-content h2,
.single-event-content h3 {
	border-top: 1px solid #e0e3e8;
	color: var(--single-event-ink);
	font-size: 30px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 36px 0 24px;
	padding-top: 12px;
}

.single-event-content p {
	margin-bottom: 24px;
}

.single-event-content > :last-child {
	margin-bottom: 0;
}

.single-event-media {
	background: #c6c6c6;
	border-radius: 10px;
	display: block;
	margin: 0 0 96px;
	min-height: 520px;
	overflow: hidden;
	width: 100%;
}

.single-event-media img {
	display: block;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	width: 100%;
}

.single-event-media-placeholder {
	min-height: 520px;
}

.single-event-booking-card {
	background: #e9f3fb;
	border: 4px solid var(--single-event-blue);
	border-radius: 10px;
	color: var(--single-event-blue);
	margin-left: auto;
	max-width: 430px;
	min-height: 522px;
	padding: 27px 23px 40px;
	position: sticky;
	top: 24px;
}

.single-event-booking-card h2 {
	color: var(--single-event-blue);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 13px;
}

.single-event-booking-card p {
	color: var(--single-event-blue);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 15px;
}

.single-event-price {
	color: var(--single-event-blue);
	font-size: 23px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 38px;
}

.single-event-book-btn,
.single-event-panel-btn {
	align-items: center;
	border-radius: 7px;
	box-shadow: none;
	display: flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 14px 20px;
	text-decoration: none;
	width: 100%;
}

.single-event-book-btn {
	background: var(--single-event-orange);
	border: 2px solid var(--single-event-orange);
	color: #fff;
	margin-bottom: 9px;
}

.single-event-book-btn:hover,
.single-event-book-btn:focus {
	background: #0b5342 !important;
	border-color: #0b5342 !important;
	color: #fff !important;
	text-decoration: none;
}

.single-event-book-btn.disabled {
	cursor: not-allowed;
	opacity: 0.6;
}

.single-event-panel-btn {
	background: #fff;
	border: 2px solid #d6d9de;
	color: #424956;
	gap: 10px;
	margin-top: 9px;
}

button.single-event-panel-btn {
	cursor: pointer;
}

.single-event-panel-btn:hover,
.single-event-panel-btn:focus {
	border-color: #b9c0ca;
	color: #16243d;
	text-decoration: none;
}

.single-event-panel-btn i {
	font-size: 21px;
	line-height: 1;
}

.single-event-save-btn.is-saved i {
	color: var(--single-event-orange);
}

.single-event-save-btn.is-loading {
	opacity: 0.7;
	pointer-events: none;
}

.tps-event-login-open {
	overflow: hidden;
}

.tps-event-login-modal {
	--login-orange: #0f6e56;
	--login-ink: #16243d;
	--login-muted: #626977;
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 24px;
	position: fixed;
	z-index: 9999;
}

.tps-event-login-modal[hidden] {
	display: none;
}

.tps-event-login-backdrop {
	background: rgba(23, 28, 41, 0.58);
	inset: 0;
	position: absolute;
}

.tps-event-login-dialog {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 22px 70px rgba(23, 28, 41, 0.28);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 34px 30px 30px;
	position: relative;
	width: min(405px, 100%);
	z-index: 1;
}

.tps-event-login-dialog .tps-login-header {
	margin-bottom: 28px;
}

.tps-event-login-dialog .tps-login-header h2 {
	color: var(--login-ink, #16243d);
	font-size: 31px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 17px;
}

.tps-event-login-close {
	align-items: center;
	background: transparent;
	border: 0;
	color: #424956;
	display: inline-flex;
	height: 36px;
	justify-content: center;
	padding: 0;
	position: absolute;
	right: 14px;
	top: 14px;
	width: 36px;
}

.tps-event-login-close:hover,
.tps-event-login-close:focus {
	color: #16243d;
}

@media (max-width: 991.98px) {
	.single-event-page {
		padding: 34px 0 58px;
	}

	.single-event-body {
		--bs-gutter-x: 24px;
	}

	.single-event-header {
		margin-bottom: 46px;
	}

	.single-event-media {
		margin-bottom: 72px;
	}

	.single-event-title {
		font-size: 40px;
	}

	.single-event-booking-card {
		margin-left: 0;
		max-width: none;
		min-height: 0;
		position: static;
	}

	.single-event-media,
	.single-event-media img,
	.single-event-media-placeholder {
		min-height: 420px;
	}
}

@media (max-width: 575.98px) {
	.single-event-page {
		padding: 28px 0 48px;
	}

	.single-event-title {
		font-size: 34px;
		margin-bottom: 22px;
	}

	.single-event-summary {
		font-size: 17px;
	}

	.single-event-header {
		margin-bottom: 38px;
	}

	.single-event-media {
		margin-bottom: 52px;
	}

	.single-event-booking-card {
		padding: 24px 20px 32px;
	}

	.single-event-media,
	.single-event-media img,
	.single-event-media-placeholder {
		min-height: 280px;
	}
}

.tps-events-slider-empty {
	border: 1px solid var(--tps-event-border);
	border-radius: 12px;
	color: var(--tps-event-muted);
	font-size: 16px;
	padding: 28px;
}

.tps-vacancies-slider-section {
	--tps-vacancy-blue: #0f6e56;
	--tps-vacancy-ink: #16243d;
	--tps-vacancy-muted: #5f6673;
	--tps-vacancy-border: #e4e8ee;
	color: var(--tps-vacancy-ink);
	font-family: Figtree, Helvetica, Arial, sans-serif;
	overflow: hidden;
	padding: 90px 0 82px;
	width: 100%;
}

.tps-home .tps-vacancies-slider-section {
	padding: 90px 0 82px;
}

.tps-vacancies-slider-head {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	margin-bottom: 28px;
}

.tps-vacancies-slider-head h2 {
	color: var(--tps-vacancy-ink);
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-vacancies-slider-view-all {
	border: 2px solid #d0d5dd;
	border-radius: 8px;
	color: #404654;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 17px 22px;
	white-space: nowrap;
}

.tps-vacancies-slider-view-all:hover,
.tps-vacancies-slider-view-all:focus {
	border-color: var(--tps-vacancy-blue);
	color: var(--tps-vacancy-blue);
}

.tps-vacancies-slider-viewport {
	--tps-slider-end-space: 48px;
	cursor: grab;
	margin: 0 calc((100vw - 100%) / -2) 0 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	width: calc(100% + ((100vw - 100%) / 2));
}

.tps-vacancies-slider-viewport::-webkit-scrollbar {
	display: none;
}

.tps-vacancies-slider-track {
	display: flex;
	gap: 36px;
	padding: 0 0 4px;
}

.tps-vacancies-slide {
	flex: 0 0 386px;
	scroll-snap-align: start;
}

.tps-vacancy-card {
	background: #fff;
	border: 1px solid var(--tps-vacancy-border);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	min-height: 392px;
	padding: 27px 22px 26px;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.tps-vacancy-card:hover {
	border-color: #cfd7e0;
	box-shadow: 0 14px 28px rgba(29, 36, 48, 0.08);
}

.tps-vacancy-card-title {
	color: var(--tps-vacancy-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.55;
	margin: 0 0 41px;
}

.tps-vacancy-card-title a {
	color: inherit;
	display: -webkit-box;
	overflow: hidden;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tps-vacancy-card-title a:hover,
.tps-vacancy-card-title a:focus {
	color: var(--tps-vacancy-blue);
	text-decoration: underline;
}

.tps-vacancy-employer {
	color: #6f7480;
	display: block;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.3;
	margin-bottom: 13px;
}

.tps-vacancy-meta-top,
.tps-vacancy-meta-bottom {
	align-items: center;
	color: #525866;
	display: flex;
	flex-wrap: wrap;
	font-size: 15px;
	gap: 10px 14px;
}

.tps-vacancy-location {
	align-items: center;
	border: 1px solid #d9dde3;
	border-radius: 6px;
	display: inline-flex;
	line-height: 1;
	padding: 4px 7px 4px 5px;
}

.tps-vacancy-salary,
.tps-vacancy-meta-bottom span {
	align-items: center;
	display: inline-flex;
	gap: 8px;
}

.tps-vacancy-salary i,
.tps-vacancy-meta-bottom i {
	align-items: center;
	border: 2px solid #a9afb9;
	border-radius: 50%;
	color: #9ca3af;
	display: inline-flex;
	font-size: 14px;
	height: 21px;
	justify-content: center;
	width: 21px;
}

.tps-vacancy-meta-bottom .bi-calendar3 {
	border: 0;
	border-radius: 0;
	font-size: 19px;
	height: auto;
	width: auto;
}

.tps-vacancy-card p {
	color: var(--tps-vacancy-muted);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.7;
	margin: 22px 0 34px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.tps-vacancy-sector {
	align-items: center;
	align-self: flex-start;
	border: 1px solid #d9dde3;
	border-radius: 4px;
	color: #525866;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	margin-top: 15px;
	padding: 6px 9px;
}

.tps-vacancy-sector::before {
	background: #4da3ff;
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 6px;
	margin-right: 8px;
	width: 6px;
}

.tps-vacancies-slider-empty {
	border: 1px solid var(--tps-vacancy-border);
	border-radius: 12px;
	color: var(--tps-vacancy-muted);
	font-size: 16px;
	padding: 28px;
}

@media (max-width: 1199.98px) {
	.tps-news-slider-track {
		gap: 24px;
	}

	.tps-news-slide {
		flex-basis: calc((100% - 24px) / 2);
	}

	.tps-events-slider-track {
		gap: 24px;
	}

	.tps-vacancies-slider-track {
		gap: 24px;
	}
}

@media (max-width: 991.98px) {
	.home-hero {
		padding-top: 44px;
	}

	.hero-frame {
		min-height: 520px;
	}

	.hero-card {
		margin: 48px 32px;
		max-width: 620px;
		padding: 38px 30px 32px;
	}

	.hero-card h1 {
		font-size: 40px;
		line-height: 1.25;
	}

	.hero-card p {
		font-size: 18px;
	}

	.feature-row {
		gap: 18px;
	}

	.home-feature-intro {
		margin-bottom: 62px;
	}

	.home-feature-row p {
		max-width: none;
	}

	.tps-testimonials-grid > div:nth-child(3n + 1),
	.tps-testimonials-grid > div:nth-child(3n) {
		padding-top: 0;
	}
}

@media (max-width: 767.98px) {
	.tps-news-slider-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-events-slider-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-vacancies-slider-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-news-slider-actions {
		justify-content: space-between;
	}

	.tps-news-slider-actions,
	.tps-events-slider-actions,
	.tps-vacancies-slider-actions {
		flex-wrap: wrap;
	}

	.tps-news-slider-head h2,
	.tps-events-slider-head h2,
	.tps-vacancies-slider-head h2 {
		font-size: 24px;
	}

	.tps-news-slide {
		flex-basis: min(86vw, 390px);
	}

	.tps-events-slide {
		flex-basis: min(86vw, 386px);
	}

	.tps-vacancies-slide {
		flex-basis: min(86vw, 386px);
	}
}

@media (max-width: 575.98px) {
	.home-hero {
		padding-top: 24px;
	}

	.hero-frame {
		border-radius: 18px;
		min-height: 560px;
	}

	.hero-card {
		border-radius: 18px;
		margin: 24px 16px;
		padding: 28px 22px;
	}

	.hero-card h1 {
		font-size: 31px;
		line-height: 1.25;
		margin-bottom: 18px;
	}

	.hero-card p {
		font-size: 16px;
		line-height: 1.6;
	}

	.tps-home .btn-tps,
	.tps-home .btn-tps-outline {
		font-size: 15px;
		min-height: 48px;
		padding: 14px 18px;
	}

	.section-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-home .section-pad {
		padding: 34px 0;
	}

	.tps-home .home-feature-section {
		padding: 52px 0 44px;
	}

	.home-feature-intro {
		margin-bottom: 44px;
	}

	.home-feature-intro h2,
	.home-feature-row h3 {
		font-size: 30px;
	}

	.home-feature-intro p,
	.home-feature-row p {
		font-size: 16px;
	}

	.home-feature-row .feature-img {
		aspect-ratio: 1.2 / 1;
	}

	.tps-home .tps-testimonials-section {
		padding: 44px 0 58px;
	}

	.tps-testimonials-head {
		margin-bottom: 38px;
	}

	.tps-testimonials-head h2 {
		font-size: 30px;
		margin-bottom: 20px;
	}

	.testimonial-card {
		min-height: 0;
		padding: 24px;
	}

	.testimonial-card p {
		font-size: 12px;
		margin-bottom: 34px;
		min-height: 0;
	}

	.partners {
		padding: 64px 0 58px;
	}

	.partners-title {
		margin-bottom: 30px;
	}

	.partners-logo-row {
		gap: 34px 38px;
	}

	.partner-logo-ciht {
		font-size: 44px;
	}

	.partner-logo-rtpi strong {
		font-size: 27px;
	}

	.tps-home .tps-news-slider-section {
		padding: 56px 0 48px;
	}

	.tps-home .tps-events-slider-section {
		padding: 56px 0 48px;
	}

	.tps-home .tps-vacancies-slider-section {
		padding: 56px 0 48px;
	}

	.tps-news-slider-view-all,
	.tps-events-slider-view-all,
	.tps-vacancies-slider-view-all {
		justify-content: center;
		text-align: center;
	}

	.tps-slider-nav {
		flex-basis: 48px;
		height: 48px;
		width: 48px;
	}

	.tps-news-slider-track,
	.tps-events-slider-track,
	.tps-vacancies-slider-track {
		gap: 18px;
	}

	.tps-news-slide,
	.tps-events-slide,
	.tps-vacancies-slide {
		flex-basis: 100%;
	}

	.tps-news-card-body {
		padding: 22px 18px;
	}

	.tps-news-card-title a {
		font-size: 20px;
	}

	.tps-event-card {
		min-height: 0;
		padding: 24px 20px;
	}

	.tps-event-card-title {
		margin-bottom: 30px;
	}

	.tps-event-card-title a {
		font-size: 20px;
	}

	.tps-vacancy-card {
		min-height: 0;
		padding: 24px 18px;
	}

	.tps-vacancy-card-title {
		margin-bottom: 24px;
	}

	.tps-vacancy-meta-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

.tps-login-options .form-check-input:checked {
	background-color: var(--login-orange);
	border-color: var(--login-orange);
}

.tps-login-options .form-check-label {
	color: #444b57;
	font-size: 14px;
}

.tps-login-options a {
	color: var(--login-orange);
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.tps-login-options a:hover,
.tps-login-options a:focus,
.tps-login-contact a:hover,
.tps-login-contact a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-login-submit {
	align-items: center;
	background: var(--login-orange);
	border: 2px solid var(--login-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	height: 50px;
	justify-content: center;
	line-height: 1;
}

.tps-login-submit:hover,
.tps-login-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-login-contact {
	color: #6b7280;
	font-size: 14px;
	line-height: 1.5;
	margin: 39px 0 0;
	padding-top: 20px;
}

.tps-login-contact a {
	color: var(--login-orange);
	font-weight: 800;
	margin-left: 6px;
	text-decoration: none;
}

.tps-employer-login-page {
	--employer-login-orange: #0f6e56;
	--employer-login-blue: #0f6e56;
	--employer-login-teal: #20bfd0;
	--employer-login-sidebar: #66818b;
	--employer-login-ink: #16243d;
	--employer-login-muted: #626977;
	background: #fff;
	color: var(--employer-login-ink);
	padding: 22px 0 74px;
}

body.page-template-tpl-employer-login .page-wrap,
body.page-template-tpl-employer-login .content-wrapper {
	padding-top: 0;
}

.tps-employer-login-page > .container {
	max-width: 1366px;
}

.tps-employer-login-breadcrumb {
	align-items: center;
	color: var(--employer-login-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 14px;
	gap: 8px;
	margin-bottom: 24px;
}

.tps-employer-login-breadcrumb a {
	color: var(--employer-login-ink);
	text-decoration: none;
}

.tps-employer-login-breadcrumb a:hover,
.tps-employer-login-breadcrumb a:focus,
.tps-employer-login-breadcrumb span:last-child {
	color: var(--employer-login-teal);
}

.tps-employer-login-sidebar {
	background: var(--employer-login-sidebar);
	padding: 18px 0;
}

.tps-employer-login-nav-link,
.tps-employer-login-nav-sublink {
	align-items: center;
	color: #fff;
	display: flex;
	font-size: 19px;
	font-weight: 800;
	gap: 13px;
	line-height: 1.2;
	min-height: 44px;
	padding: 10px 18px;
	text-decoration: none;
	text-transform: capitalize;
}

.tps-employer-login-nav-link i {
	flex: 0 0 auto;
	font-size: 15px;
}

.tps-employer-login-nav-link.active {
	background: var(--employer-login-teal);
}

.tps-employer-login-nav-sublink {
	font-size: 15px;
	min-height: 36px;
	padding-left: 48px;
}

.tps-employer-login-nav-link:hover,
.tps-employer-login-nav-link:focus,
.tps-employer-login-nav-sublink:hover,
.tps-employer-login-nav-sublink:focus {
	background: var(--employer-login-teal);
	color: #fff;
	text-decoration: none;
}

.tps-employer-login-content {
	border-top: 4px solid #d4d8dd;
	max-width: 1040px;
	padding: 29px 0 0;
}

.tps-employer-login-content h1 {
	color: var(--employer-login-ink);
	font-size: 31px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 28px;
}

/* The migration notice paragraphs reuse .tps-login-header p, but that rule's
   color relies on --login-muted, which is only defined under .tps-login-page -
   not in scope here. Repoint it at this page's own (identical) muted color. */
.tps-employer-login-content .tps-login-header p {
	color: var(--employer-login-muted);
}

.tps-employer-login-alert {
	border-radius: 8px;
	font-size: 14px;
	max-width: 520px;
}

.tps-employer-login-form {
	max-width: 520px;
}

.tps-employer-login-form .form-label {
	color: var(--employer-login-ink);
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-employer-login-form .form-control {
	background: #f7f7f7;
	border: 1px solid #cfd3d8;
	border-radius: 0;
	box-shadow: inset 0 1px 2px rgba(23, 28, 41, 0.05);
	color: var(--employer-login-ink);
	font-size: 16px;
	min-height: 43px;
	padding: 9px 42px 9px 12px;
}

.tps-employer-login-form .form-control:focus {
	background: #fff;
	border-color: var(--employer-login-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.14);
}

.tps-employer-login-form .tps-password-field i {
	color: #111827;
}

.tps-employer-login-remember {
	align-items: center;
	display: flex;
	gap: 11px;
	margin: 12px 0 28px;
	padding-left: 0;
}

.tps-employer-login-remember .form-check-input {
	border: 1px solid #9aa1ad;
	box-shadow: none;
	height: 15px;
	margin: 0;
	width: 15px;
}

.tps-employer-login-remember .form-check-input:checked {
	background-color: var(--employer-login-orange);
	border-color: var(--employer-login-orange);
}

.tps-employer-login-remember .form-check-label {
	color: var(--employer-login-ink);
	font-size: 16px;
}

.tps-employer-login-submit {
	align-items: center;
	background: var(--employer-login-orange);
	border: 2px solid var(--employer-login-orange);
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 38px;
	padding: 10px 21px;
}

.tps-employer-login-submit:hover,
.tps-employer-login-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-employer-login-forgot {
	color: var(--employer-login-orange);
	display: table;
	font-size: 16px;
	margin-top: 30px;
	text-decoration: none;
}

.tps-employer-login-forgot:hover,
.tps-employer-login-forgot:focus,
.tps-employer-login-register a:hover,
.tps-employer-login-register a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-employer-login-register {
	color: var(--employer-login-ink);
	font-size: 16px;
	line-height: 1.5;
	margin: 64px 0 0;
}

.tps-employer-login-register a {
	color: var(--employer-login-orange);
	text-decoration: none;
}

@media (max-width: 575.98px) {
	.tps-employer-login-page {
		padding: 18px 0 54px;
	}

	.tps-employer-login-sidebar {
		margin-bottom: 8px;
	}

	.tps-employer-login-content h1 {
		font-size: 27px;
	}

	.tps-employer-login-register {
		margin-top: 42px;
	}

	.tps-login-page {
		padding: 54px 0;
	}

	.tps-login-header h1 {
		font-size: 28px;
	}

	.tps-login-options {
		align-items: flex-start !important;
		flex-direction: column;
		gap: 14px;
	}
}

/*body.page-template-tpl-your-profile .page-wrap,
body.page-template-tpl-your-profile .content-wrapper,
body.page-template-tpl-company-profile .page-wrap,
body.page-template-tpl-company-profile .content-wrapper,
body.page-template-tpl-post-vacancy .page-wrap,
body.page-template-tpl-post-vacancy .content-wrapper,
body.page-template-tpl-part-complete-form .page-wrap,
body.page-template-tpl-part-complete-form .content-wrapper,
body.page-template-tpl-change-email .page-wrap,
body.page-template-tpl-change-email .content-wrapper,
body.page-template-tpl-change-password .page-wrap,
body.page-template-tpl-change-password .content-wrapper {
    padding-bottom: 0;
    padding-top: 0;
}*/

.tps-profile-page {
	--profile-orange: #0f6e56;
	--profile-blue: #2b7fc3;
	--profile-ink: #16243d;
	--profile-muted: #626977;
	background: #fff;
	padding: 24px 0 72px;
}

.tps-profile-sidebar {
	background: #fff;
	border: 1px solid #e4e7eb;
	border-radius: 16px;
	box-shadow: 0 18px 34px rgba(23, 28, 41, 0.09);
	margin-left: auto;
	max-width: 406px;
	padding: 28px 30px;
}

.tps-profile-nav {
	display: grid;
	gap: 18px;
}

.tps-profile-nav-link {
	align-items: center;
	border-radius: 8px;
	color: var(--profile-ink);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	gap: 16px;
	line-height: 1.2;
	min-height: 38px;
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.tps-profile-nav-link i {
	align-items: center;
	color: currentColor;
	display: inline-flex;
	flex: 0 0 34px;
	font-size: 24px;
	justify-content: center;
}

.tps-profile-nav-link:hover,
.tps-profile-nav-link:focus,
.tps-profile-nav-link.active {
	color: var(--profile-blue);
	text-decoration: none;
}

.tps-profile-nav-link:focus-visible {
	box-shadow: 0 0 0 0.2rem rgba(43, 127, 195, 0.18);
	outline: 0;
}

.tps-profile-logout {
	color: #ff3b30;
}

.tps-profile-logout:hover,
.tps-profile-logout:focus {
	color: #d92d24;
}

.tps-profile-content {
	max-width: 562px;
}

.tps-profile-content h1 {
	color: var(--profile-ink);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 37px;
}

.tps-profile-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-profile-form .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #596170;
	font-size: 15px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-profile-form .form-control:disabled {
	background: #fff;
	color: #8b929d;
	opacity: 1;
}

.tps-profile-form .form-control::placeholder {
	color: #858c97;
}

.tps-profile-form .form-control:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-profile-help {
	color: var(--profile-muted);
	font-size: 14px;
	margin: 10px 0 18px;
}

.tps-profile-help a {
	color: var(--profile-orange);
	text-decoration: underline;
}

.tps-profile-edit-btn,
.tps-training-add-btn {
	align-items: center;
	background: var(--profile-orange);
	border: 2px solid var(--profile-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	gap: 9px;
	justify-content: center;
	line-height: 1;
	min-height: 45px;
	padding: 12px 19px;
}

.tps-profile-edit-btn:hover,
.tps-profile-edit-btn:focus,
.tps-training-add-btn:hover,
.tps-training-add-btn:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-profile-content::after {
	background: #e6e8eb;
	content: "";
	display: block;
	height: 1px;
	margin: 36px 0;
	width: min(927px, calc(100vw - 32px));
}

.tps-training-panel {
	background: #fff;
	border: 1px solid #e4e7eb;
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(23, 28, 41, 0.1);
	max-width: 927px;
	overflow: hidden;
}

.tps-training-panel h2 {
	color: var(--profile-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 8px;
}

.tps-training-head {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 25px 26px 28px;
}

.tps-training-head p {
	color: #5f6674;
	font-size: 12px;
	line-height: 1.35;
	margin: 0;
}

.tps-training-add-btn {
	border-radius: 8px;
	flex: 0 0 auto;
	min-height: 45px;
	min-width: 228px;
	padding-left: 19px;
	padding-right: 19px;
}

.tps-training-add-btn i {
	font-size: 20px;
	line-height: 1;
}

.tps-training-table-wrap {
	border-top: 1px solid #e6e8eb;
}

.tps-training-table {
	border: 0 !important;
	border-collapse: separate;
	border-color: #e6e8eb;
	border-spacing: 0;
	color: #596170;
	min-width: 820px;
	table-layout: fixed;
}

.tps-training-table th,
.tps-training-table td {
	border-left: 0 !important;
	border-right: 0 !important;
}

.tps-training-table > :not(caption) > * > * {
	border-color: #e6e8eb !important;
	border-left: 0 !important;
	border-right: 0 !important;
}

.tps-training-table thead th {
	background: #fbfbfc;
	border-bottom: 1px solid #e6e8eb !important;
	border-top: 0 !important;
	color: #69707e;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	padding: 20px 26px;
}

.tps-training-table tbody td {
	border-bottom: 1px solid #e6e8eb !important;
	border-top: 0 !important;
	color: #596170;
	font-size: 13px;
	font-weight: 500;
	height: 80px;
	padding: 22px 26px;
	vertical-align: middle;
}

.tps-training-table tbody tr:last-child td {
	border-bottom: 0;
}

.tps-training-table tbody td:first-child {
	color: var(--profile-ink);
	font-size: 14px;
}

.tps-training-table th:last-child,
.tps-training-table td:last-child {
	padding-left: 10px;
	padding-right: 20px;
	width: 92px;
}

.tps-training-actions {
	align-items: center;
	display: flex;
	gap: 19px;
	justify-content: flex-end;
}

.tps-training-actions a {
	align-items: center;
	color: #9ca3af;
	display: inline-flex;
	font-size: 18px;
	height: 24px;
	justify-content: center;
	text-decoration: none;
	width: 24px;
}

.tps-training-actions a:hover,
.tps-training-actions a:focus {
	color: var(--profile-orange);
	text-decoration: none;
}

.tps-cpd-training-search-page {
	--cpd-search-orange: #0f6e56;
	--cpd-search-blue: #0f6e56;
	--cpd-search-ink: #16243d;
	--cpd-search-muted: #626977;
	--cpd-search-border: #d4d8dd;
	background: #fff;
	color: var(--cpd-search-ink);
	padding: 34px 0 72px;
}

.tps-cpd-training-search-page > .container {
	max-width: 1120px;
}

.tps-cpd-training-search-content {
	background: #fff;
}

.tps-cpd-training-search-header {
	border-bottom: 4px solid #d4d8dd;
	margin-bottom: 25px;
	padding-bottom: 19px;
}

.tps-cpd-training-search-header h1 {
	color: var(--cpd-search-ink);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-cpd-training-search-form {
	background: #fff;
	border: 1px solid #e3e6ea;
	border-radius: 8px;
	box-shadow: 0 14px 34px rgba(23, 28, 41, 0.08);
	margin-bottom: 34px;
	padding: 28px;
}

.tps-cpd-training-search-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px;
}

.tps-cpd-training-search-form .form-control,
.tps-cpd-training-search-form .form-select {
	background-color: #fff;
	border: 1px solid var(--cpd-search-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: var(--cpd-search-ink);
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-cpd-training-search-form .form-control:focus,
.tps-cpd-training-search-form .form-select:focus {
	border-color: var(--cpd-search-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-cpd-training-search-actions {
	margin-top: 24px;
}

.tps-cpd-training-search-submit {
	align-items: center;
	background: var(--cpd-search-orange);
	border: 2px solid var(--cpd-search-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 15px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 48px;
	padding: 14px 26px;
}

.tps-cpd-training-search-submit:hover,
.tps-cpd-training-search-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-cpd-training-results {
	border-top: 4px solid #d4d8dd;
	padding-top: 25px;
}

.tps-cpd-training-results-head {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 20px;
}

.tps-cpd-training-results-head h2 {
	color: var(--cpd-search-blue);
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-cpd-training-results-head span {
	color: var(--cpd-search-muted);
	font-size: 14px;
	font-weight: 700;
}

.tps-cpd-training-table-wrap {
	border: 1px solid #dce0e5;
	border-radius: 8px;
	overflow-x: auto;
}

.tps-cpd-training-table {
	border-collapse: separate;
	border-spacing: 0;
	min-width: 760px;
}

.tps-cpd-training-table th,
.tps-cpd-training-table td {
	border-color: #dce0e5;
	font-size: 15px;
	padding: 14px 16px;
	vertical-align: top;
}

.tps-cpd-training-table > :not(caption) > * > * {
	border-bottom-width: 1px;
}

.tps-cpd-training-table thead th {
	background: var(--cpd-search-blue);
	color: #fff;
	font-weight: 800;
	line-height: 1.2;
}

.tps-cpd-training-table tbody tr:nth-child(even) td {
	background: #f7f4ed;
}

.tps-cpd-training-table tbody td {
	color: #3e4450;
	line-height: 1.45;
}

.tps-cpd-training-table a {
	color: var(--cpd-search-orange);
	font-weight: 700;
	text-decoration: none;
}

.tps-cpd-training-table a:hover,
.tps-cpd-training-table a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-cpd-training-table-empty {
	color: var(--cpd-search-muted);
	font-weight: 700;
	text-align: center;
}

.tps-profile-modal {
	--profile-modal-orange: #0f6e56;
	--profile-modal-ink: #16243d;
	--profile-modal-muted: #626977;
}

body.page-template-tpl-your-profile .modal-backdrop.show {
	opacity: 0.94;
}

.tps-profile-modal .modal-dialog {
	max-width: 720px;
}

.tps-profile-modal .modal-content {
	border: 0;
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.tps-profile-modal .modal-header {
	align-items: flex-start;
	border-bottom: 0;
	padding: 33px 27px 13px;
}

.tps-profile-modal .modal-title {
	color: var(--profile-modal-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tps-profile-modal .modal-header p {
	color: var(--profile-modal-muted);
	font-size: 12px;
	line-height: 1.35;
	margin: 0;
}

.tps-profile-modal .btn-close {
	background-size: 16px;
	box-shadow: none;
	margin: -2px 0 0;
	opacity: 0.55;
	padding: 12px;
}

.tps-profile-modal .btn-close:hover,
.tps-profile-modal .btn-close:focus {
	opacity: 0.85;
}

.tps-profile-modal .modal-body {
	padding: 10px 27px 22px;
}

.tps-profile-modal-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-profile-modal-form .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #596170;
	font-size: 15px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-profile-modal-form .form-control:disabled {
	background: #fff;
	color: #8b929d;
	opacity: 1;
}

.tps-profile-modal-form .form-control::placeholder {
	color: #858c97;
}

.tps-profile-modal-form .form-control:focus {
	border-color: var(--profile-modal-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-profile-modal .modal-footer {
	border-top: 0;
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	padding: 14px 27px 27px;
}

.tps-modal-cancel-btn,
.tps-modal-submit-btn {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 50px;
}

.tps-modal-cancel-btn {
	background: #fff;
	border: 2px solid #d4d8dd;
	color: #3e4450;
}

.tps-modal-cancel-btn:hover,
.tps-modal-cancel-btn:focus {
	background: #f7f8fa;
	border-color: #c5cbd2;
	color: var(--profile-modal-ink);
}

.tps-modal-submit-btn {
	background: var(--profile-modal-orange);
	border: 2px solid var(--profile-modal-orange);
	color: #fff;
}

.tps-modal-submit-btn:hover,
.tps-modal-submit-btn:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-training-session-modal {
	--training-modal-ink: #16243d;
	--training-modal-muted: #626977;
	--training-modal-border: #d4d8dd;
}

.tps-training-session-modal .modal-dialog {
	margin-top: 32px;
	max-width: 696px;
}

.tps-training-session-modal .modal-content {
	border: 0;
	border-radius: 8px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 64px);
	overflow: hidden;
}

.tps-training-session-modal .modal-header {
	align-items: flex-start;
	border-bottom: 0;
	padding: 32px 25px 14px;
}

.tps-training-session-modal .modal-title {
	color: var(--training-modal-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tps-training-session-modal .modal-header p {
	color: var(--training-modal-muted);
	font-size: 12px;
	line-height: 1.35;
	margin: 0;
}

.tps-training-session-modal .btn-close {
	background-size: 16px;
	box-shadow: none;
	margin: -2px 0 0;
	opacity: 0.55;
	padding: 12px;
}

.tps-training-session-modal .btn-close:hover,
.tps-training-session-modal .btn-close:focus {
	opacity: 0.85;
}

.tps-training-session-form {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.tps-training-session-modal .modal-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 10px 25px 21px;
}

.tps-training-session-form .mb-3 {
	margin-bottom: 20px !important;
}

.tps-training-session-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-training-session-form .form-control,
.tps-training-session-form .form-select {
	background-color: #fff;
	border: 1px solid var(--training-modal-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: var(--training-modal-ink);
	font-size: 16px;
	min-height: 48px;
	padding: 12px 15px;
}

.tps-training-session-form .form-select {
	color: #858c97;
	padding-right: 42px;
}

.tps-training-session-form .form-control:focus,
.tps-training-session-form .form-select:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-training-editor {
	border: 1px solid var(--training-modal-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	overflow: hidden;
}

.tps-training-editor-toolbar {
	align-items: center;
	display: flex;
	gap: 13px;
	padding: 12px 15px 8px;
}

.tps-training-editor-toolbar .form-select {
	box-shadow: none;
	color: var(--training-modal-ink);
	flex: 0 0 251px;
	min-height: 49px;
}

.tps-training-editor-toolbar button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #9ca3af;
	display: inline-flex;
	font-size: 21px;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 24px;
}

.tps-training-editor-toolbar button:hover,
.tps-training-editor-toolbar button:focus {
	color: var(--profile-orange);
}

.tps-training-editor-toolbar button span {
	display: inline-block;
	font-size: 20px;
	line-height: 1;
}

.tps-training-editor-toolbar button:nth-of-type(4) span {
	font-size: 16px;
}

.tps-training-editor textarea.form-control {
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--training-modal-border);
	box-shadow: none;
	min-height: 141px;
	resize: vertical;
}
.tps-training-date-field {
	position: relative;
}

.tps-training-date-field i {
	color: #626977;
	font-size: 20px;
	left: 16px;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.tps-training-date-field .form-control {
	padding-left: 47px;
}

.tps-training-discount-check {
	align-items: center;
	display: flex;
	gap: 13px;
	margin: 2px 0 20px;
	padding-left: 0;
}

.tps-training-discount-check .form-check-input {
	background-color: #fff;
	border: 1px solid var(--training-modal-border);
	border-radius: 6px;
	box-shadow: none;
	flex: 0 0 22px;
	height: 22px;
	margin: 0;
	width: 22px;
}

.tps-training-discount-check .form-check-input:checked {
	background-color: var(--profile-orange);
	border-color: var(--profile-orange);
}

.tps-training-discount-check .form-check-input:focus {
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-training-discount-check .form-check-label {
	color: #3e4450;
	font-size: 16px;
	line-height: 1.3;
}
.tps-training-web-address-field {
	flex-wrap: nowrap;
}

.tps-training-web-address-field .input-group-text {
	background: #fff;
	border: 1px solid var(--training-modal-border);
	border-radius: 8px 0 0 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #626977;
	font-size: 16px;
	min-height: 48px;
	padding: 12px 15px;
}

.tps-training-web-address-field .form-control {
	border-left: 0;
	border-radius: 0 8px 8px 0;
}

.tps-training-contact-details {
	border-top: 1px solid #e6e8eb;
	margin: 18px -25px 20px;
	padding: 22px 25px 0;
}

.tps-training-contact-details h3 {
	color: var(--training-modal-ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	margin: 0 0 12px;
}

.tps-training-contact-details p {
	color: var(--training-modal-muted);
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.tps-training-session-modal .modal-footer {
	border-top: 1px solid #e6e8eb;
	display: grid;
	flex: 0 0 auto;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	padding: 24px 25px 25px;
}

.tps-training-session-cancel,
.tps-training-session-submit,
.tps-training-session-submit.btn {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 50px;
}

.tps-training-session-cancel {
	background: #fff;
	border: 2px solid #d4d8dd;
	color: #3e4450;
}

.tps-training-session-cancel:hover,
.tps-training-session-cancel:focus {
	background: #f7f8fa;
	border-color: #c5cbd2;
	color: var(--training-modal-ink);
}

.tps-training-session-submit,
.tps-training-session-submit.btn {
	background-color: #0f6e56 !important;
	border: 2px solid #0f6e56 !important;
	color: #fff !important;
}

.tps-training-session-submit:hover,
.tps-training-session-submit:focus,
.tps-training-session-submit.btn:hover,
.tps-training-session-submit.btn:focus {
	background-color: #0b5342 !important;
	border-color: #0b5342 !important;
	color: #fff !important;
}

.tps-company-profile-page {
	padding-top: 22px;
}

.tps-company-profile-page > .container {
	max-width: 1366px;
}

.tps-company-profile-page .tps-profile-sidebar {
	margin-left: 0;
}

.tps-company-panel {
	max-width: 927px;
}

.tps-company-panel-header {
	align-items: flex-start;
	border-bottom: 1px solid #e6e8eb;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 38px;
	padding-bottom: 25px;
}

.tps-company-title h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 6px;
}

.tps-company-title p,
.tps-company-field-group p,
.tps-company-field-group small {
	color: var(--profile-muted);
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.tps-company-header-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 14px;
}

.tps-company-btn {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 45px;
	padding: 12px 19px;
}

.tps-company-btn-outline {
	background: #fff;
	border: 2px solid #d4d8dd;
	color: #343946;
	min-width: 84px;
}

.tps-company-btn-outline:hover,
.tps-company-btn-outline:focus {
	background: #f7f8fa;
	color: var(--profile-ink);
}

.tps-company-btn-primary {
	background: var(--profile-orange);
	border: 2px solid var(--profile-orange);
	color: #fff;
	min-width: 69px;
}

.tps-company-btn-primary:hover,
.tps-company-btn-primary:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-company-field-group {
	border-bottom: 1px solid #e6e8eb;
	margin-bottom: 25px;
	max-width: 927px;
	padding-bottom: 25px;
}

.tps-company-field-group .form-label,
.tps-company-field-group .form-control,
.tps-company-field-group p,
.tps-company-field-group small,
.tps-company-logo-row,
.tps-company-social-list,
.tps-company-contact-list,
.tps-company-stat-list {
	max-width: 576px;
}

.tps-company-field-group .form-label,
.tps-company-field-group h2 {
	color: var(--profile-ink);
	display: block;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 4px;
}

.tps-company-field-group .form-label span {
	color: var(--profile-orange);
}

.tps-company-field-group p {
	margin-bottom: 18px;
}

.tps-company-field-group .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: none;
	color: #2d3340;
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-company-field-group textarea.form-control {
	line-height: 1.7;
	min-height: 115px;
	resize: vertical;
}

.tps-company-field-group .form-control::placeholder {
	color: #2d3340;
	opacity: 1;
}

.tps-company-field-group .form-control:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.16rem rgba(244, 81, 5, 0.14);
}

.tps-company-field-group small {
	display: block;
	margin-top: 12px;
}

.tps-company-logo-row {
	align-items: center;
	display: flex;
	gap: 22px;
}

.tps-company-logo-preview {
	align-items: center;
	background: #5630c7;
	border-radius: 16px;
	display: inline-flex;
	flex: 0 0 72px;
	height: 72px;
	justify-content: center;
	overflow: hidden;
	width: 72px;
}

.tps-company-logo-preview span {
	background: linear-gradient(
		90deg,
		#d2c2ff 0 48%,
		#5630c7 48% 61%,
		#d2c2ff 61% 100%
	);
	border-radius: 50%;
	display: block;
	height: 44px;
	width: 44px;
}

.tps-company-logo-preview img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tps-company-logo-btn {
	min-width: 125px;
}

.tps-company-social-list,
.tps-company-contact-list {
	display: grid;
	gap: 18px;
}

.tps-company-social-list .input-group {
	flex-wrap: nowrap;
}

.tps-company-social-list .input-group-text {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px 0 0 8px;
	color: var(--profile-muted);
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-company-social-list .form-control {
	border-left: 0;
	border-radius: 0 8px 8px 0;
}

.tps-company-statistics-group {
	margin-bottom: 23px;
	padding-bottom: 37px;
}

.tps-company-stat-list {
	display: grid;
	gap: 28px;
}

.tps-company-stat-card {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 10px;
	box-shadow: 0 3px 8px rgba(23, 28, 41, 0.05);
	min-height: 120px;
	padding: 23px 22px;
	position: relative;
}

.tps-company-stat-card span {
	color: #4f5663;
	display: block;
	font-size: 14px;
	line-height: 1.2;
	margin-bottom: 25px;
}

.tps-company-stat-card strong {
	color: var(--profile-ink);
	display: block;
	font-size: 25px;
	font-weight: 800;
	line-height: 1;
}

.tps-company-stat-card em {
	align-items: center;
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 7px;
	color: #343946;
	display: inline-flex;
	font-size: 13px;
	font-style: normal;
	gap: 6px;
	line-height: 1;
	padding: 7px 9px;
	position: absolute;
	right: 21px;
	top: 68px;
}

.tps-company-stat-card em.is-up i {
	color: #12b76a;
}

.tps-company-stat-card em.is-down i {
	color: #f04438;
}

.tps-company-stat-card i {
	font-size: 13px;
	line-height: 1;
}

.tps-company-bottom-actions {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: flex-end;
}

.tps-post-vacancy-page {
	padding-top: 26px;
}

.tps-post-vacancy-page > .container {
	max-width: 1366px;
}

.tps-post-vacancy-page .tps-profile-sidebar {
	margin-left: 0;
}

.tps-post-vacancy-content {
	max-width: 927px;
}

.tps-post-vacancy-header {
	margin-bottom: 24px;
}

.tps-post-vacancy-header h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 24px;
}

.tps-post-vacancy-header p {
	color: var(--profile-muted);
	font-size: 19px;
	line-height: 1.45;
	margin: 0;
}

.tps-vacancy-panel {
	background: #fff;
	border: 1px solid #e4e7eb;
	border-radius: 12px 12px 0 0;
	box-shadow: 0 14px 32px rgba(23, 28, 41, 0.09);
	overflow: hidden;
}

.tps-vacancy-panel-head {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	padding: 28px 26px 27px;
}

.tps-vacancy-panel-head h2 {
	color: var(--profile-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 8px;
}

.tps-vacancy-panel-head p {
	color: var(--profile-muted);
	font-size: 13px;
	line-height: 1.3;
	margin: 0;
}

.tps-create-vacancy-btn {
	align-items: center;
	background: var(--profile-orange);
	border: 2px solid var(--profile-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 800;
	gap: 10px;
	justify-content: center;
	line-height: 1;
	min-height: 45px;
	min-width: 170px;
	padding: 12px 18px;
}

.tps-create-vacancy-btn i {
	font-size: 20px;
	line-height: 1;
}

.tps-create-vacancy-btn:hover,
.tps-create-vacancy-btn:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-vacancy-table {
	border: 0;
	border-collapse: collapse;
	border-color: #e6e8eb;
	color: #596170;
	table-layout: fixed;
	width: 100%;
}

.tps-vacancy-table thead th {
	background: #fbfbfc;
	border-bottom: 1px solid #e6e8eb !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 1px solid #e6e8eb !important;
	color: #69707e;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	padding: 20px 18px;
}

.tps-vacancy-table tbody td {
	border-bottom: 1px solid #e6e8eb !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-top: 0 !important;
	color: #596170;
	font-size: 13px;
	font-weight: 500;
	height: 81px;
	padding: 22px 18px;
	vertical-align: middle;
	word-break: break-word;
}

.tps-vacancy-table > :not(caption) > * > * {
	border-color: #e6e8eb !important;
	border-left: 0 !important;
	border-right: 0 !important;
}

.tps-vacancy-table tbody td:first-child {
	color: var(--profile-ink);
	font-size: 14px;
}

.tps-vacancy-summary-link {
	color: var(--profile-ink);
	font-weight: 800;
	text-decoration: none;
}

.tps-vacancy-summary-link:hover,
.tps-vacancy-summary-link:focus {
	color: var(--profile-orange);
	text-decoration: none;
}

.tps-vacancy-table-empty {
	color: #69707e;
	font-weight: 700;
	text-align: center;
}

.tps-vacancy-table th:last-child,
.tps-vacancy-table td:last-child {
	padding-left: 8px;
	padding-right: 18px;
	width: 82px;
}

.tps-vacancy-table th:first-child,
.tps-vacancy-table td:first-child {
	width: 15%;
}

.tps-vacancy-table th:nth-child(2),
.tps-vacancy-table td:nth-child(2),
.tps-vacancy-table th:nth-child(3),
.tps-vacancy-table td:nth-child(3),
.tps-vacancy-table th:nth-child(4),
.tps-vacancy-table td:nth-child(4),
.tps-vacancy-table th:nth-child(5),
.tps-vacancy-table td:nth-child(5),
.tps-vacancy-table th:nth-child(6),
.tps-vacancy-table td:nth-child(6) {
	width: calc((100% - 15% - 82px) / 5);
}

.tps-vacancy-table-actions {
	align-items: center;
	display: flex;
	gap: 20px;
	justify-content: flex-end;
}

.tps-vacancy-table-actions a {
	align-items: center;
	color: #9ca3af;
	display: inline-flex;
	font-size: 18px;
	height: 24px;
	justify-content: center;
	text-decoration: none;
	width: 24px;
}

.tps-vacancy-table-actions a:hover,
.tps-vacancy-table-actions a:focus {
	color: var(--profile-orange);
	text-decoration: none;
}

body.page-template-tpl-post-vacancy .modal-backdrop.show {
	opacity: 0.94;
}

.tps-vacancy-modal {
	--profile-orange: #0f6e56;
	--vacancy-modal-ink: #16243d;
	--vacancy-modal-muted: #626977;
	--vacancy-modal-border: #d4d8dd;
}

.tps-vacancy-modal .modal-dialog {
	margin-top: 33px;
	max-width: 720px;
}

.tps-vacancy-modal .modal-content {
	border: 0;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
	max-height: calc(100vh - 66px);
	overflow: hidden;
}

.tps-vacancy-modal .modal-header {
	align-items: flex-start;
	border-bottom: 0;
	padding: 33px 27px 12px;
}

.tps-vacancy-modal .modal-title {
	color: var(--vacancy-modal-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tps-vacancy-modal .modal-header p {
	color: var(--vacancy-modal-muted);
	font-size: 12px;
	line-height: 1.35;
	margin: 0;
}

.tps-vacancy-modal .btn-close {
	background-size: 16px;
	box-shadow: none;
	margin: -2px 0 0;
	opacity: 0.55;
	padding: 12px;
}

.tps-vacancy-modal .btn-close:hover,
.tps-vacancy-modal .btn-close:focus {
	opacity: 0.85;
}

.tps-vacancy-modal .modal-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: scroll;
	padding: 10px 27px 20px;
}

.tps-vacancy-modal-form {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.tps-vacancy-modal-alert {
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 18px;
}

.tps-vacancy-modal-form .mb-3 {
	margin-bottom: 20px !important;
}

.tps-vacancy-modal-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-vacancy-modal-form .form-control,
.tps-vacancy-modal-form .form-select {
	background-color: #fff;
	border: 1px solid var(--vacancy-modal-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: var(--vacancy-modal-ink);
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-vacancy-modal-form .form-select {
	padding-right: 42px;
}

.tps-vacancy-modal-form .form-control:focus,
.tps-vacancy-modal-form .form-select:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-vacancy-modal-form .form-control.is-invalid,
.tps-vacancy-modal-form .form-select.is-invalid {
	border-color: #dc3545;
	box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.12);
}

.tps-vacancy-editor {
	border: 1px solid var(--vacancy-modal-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	overflow: hidden;
}

.tps-vacancy-editor-toolbar {
	align-items: center;
	display: flex;
	gap: 13px;
	padding: 13px 15px 8px;
}

.tps-vacancy-editor-toolbar .form-select {
	box-shadow: none;
	flex: 0 0 261px;
	min-height: 49px;
}

.tps-vacancy-editor-toolbar button {
	align-items: center;
	background: transparent;
	border: 0;
	color: #9ca3af;
	display: inline-flex;
	font-size: 21px;
	font-weight: 800;
	height: 24px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 24px;
}

.tps-vacancy-editor-toolbar button:hover,
.tps-vacancy-editor-toolbar button:focus {
	color: var(--profile-orange);
}

.tps-vacancy-editor-toolbar button span {
	display: inline-block;
	font-size: 20px;
	line-height: 1;
}

.tps-vacancy-editor-toolbar button:nth-of-type(4) span {
	font-size: 16px;
}

.tps-vacancy-editor textarea.form-control {
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--vacancy-modal-border);
	box-shadow: none;
	min-height: 146px;
	resize: vertical;
}

.tps-vacancy-date-field {
	position: relative;
}

.tps-vacancy-date-field i {
	color: #626977;
	font-size: 20px;
	left: 16px;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.tps-vacancy-date-field .form-control {
	padding-left: 47px;
}

.tps-vacancy-custom-check {
	align-items: center;
	display: flex;
	gap: 13px;
	margin: 2px 0 20px;
	padding-left: 0;
}

.tps-vacancy-custom-check .form-check-input {
	background-color: var(--profile-orange);
	border-color: var(--profile-orange);
	border-radius: 6px;
	box-shadow: none;
	flex: 0 0 23px;
	height: 23px;
	margin: 0;
	width: 23px;
}

.tps-vacancy-custom-check .form-check-input:focus {
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-vacancy-custom-check .form-check-label {
	color: #3e4450;
	font-size: 16px;
	line-height: 1.3;
}

.tps-vacancy-modal .modal-footer {
	border-top: 1px solid #e6e8eb;
	display: grid;
	flex: 0 0 auto;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	padding: 34px 27px 26px;
}

.tps-vacancy-modal-cancel,
.tps-vacancy-modal-submit {
	align-items: center;
	border-radius: 8px;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 50px;
	width: 100%;
}

.tps-vacancy-modal-cancel {
	background: #fff;
	border: 2px solid var(--vacancy-modal-border);
	color: #3e4450;
}

.tps-vacancy-modal-cancel:hover,
.tps-vacancy-modal-cancel:focus {
	background: #f7f8fa;
	color: var(--vacancy-modal-ink);
}

.tps-vacancy-modal-submit,
.tps-vacancy-modal-submit.btn {
	background: #0f6e56 !important;
	border: 2px solid #0f6e56 !important;
	color: #fff !important;
}

.tps-vacancy-modal-submit:hover,
.tps-vacancy-modal-submit:focus,
.tps-vacancy-modal-submit.btn:hover,
.tps-vacancy-modal-submit.btn:focus {
	background: #0b5342 !important;
	border-color: #0b5342 !important;
	color: #fff !important;
}

.tps-add-vacancy-page {
	--vacancy-modal-ink: #16243d;
	--vacancy-modal-muted: #626977;
	--vacancy-modal-border: #d4d8dd;
}

.tps-add-vacancy-page .tps-vacancy-panel {
	border-radius: 12px;
}

.tps-add-vacancy-page .tps-vacancy-modal-form .modal-body {
	padding: 28px 27px 20px;
}

.tps-add-vacancy-page .tps-vacancy-modal-form .form-control:disabled {
	background: #f7f8fa;
	color: #626977;
	opacity: 1;
}

.tps-add-vacancy-page .tps-vacancy-modal-form .modal-footer {
	border-top: 1px solid #e6e8eb;
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr 1fr;
	padding: 28px 27px 26px;
}

/*
 * Employer Enquiry Form modal (tpl-employer-login.php) - reuses the same
 * modal chrome pattern as .tps-profile-modal / .tps-vacancy-modal, plus a
 * reskin of Formidable's own default field markup (no theme CSS touched
 * Formidable's output before this) so the embedded form reads as part of
 * the site rather than the plugin's out-of-the-box look.
 */
.tps-employer-enquiry-modal {
	--enquiry-modal-primary: #0f6e56;
	--enquiry-modal-primary-hover: #0b5342;
	--enquiry-modal-ink: #16243d;
	--enquiry-modal-muted: #626977;
	--enquiry-modal-border: #d4d8dd;
}

.tps-employer-enquiry-modal .modal-dialog {
	max-width: 640px;
}

.tps-employer-enquiry-modal .modal-content {
	border: 0;
	border-radius: 12px;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
	display: flex;
	flex-direction: column;
	max-height: calc(100vh - 66px);
	overflow: hidden;
}

.tps-employer-enquiry-modal .modal-header {
	align-items: flex-start;
	border-bottom: 1px solid #edf0f4;
	padding: 27px 27px 18px;
}

.tps-employer-enquiry-modal .modal-title {
	color: var(--enquiry-modal-ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0;
}

.tps-employer-enquiry-modal .btn-close {
	background-size: 16px;
	box-shadow: none;
	margin: -2px -2px 0 0;
	opacity: 0.55;
	padding: 12px;
}

.tps-employer-enquiry-modal .btn-close:hover,
.tps-employer-enquiry-modal .btn-close:focus {
	opacity: 0.85;
}

.tps-employer-enquiry-modal .modal-body {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 22px 27px 27px;
}

/* Formidable field chrome, reskinned to match the rest of the site's forms
   instead of the plugin's own default appearance. */
.tps-employer-enquiry-modal .frm_forms {
	color: var(--enquiry-modal-ink);
}

.tps-employer-enquiry-modal .frm_form_field {
	margin-bottom: 20px;
}

.tps-employer-enquiry-modal .frm_primary_label {
	color: #3e4450;
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 8px;
}

.tps-employer-enquiry-modal .frm_required {
	color: #c0392b;
}

.tps-employer-enquiry-modal .frm_description {
	color: var(--enquiry-modal-muted);
	font-size: 13px;
	margin-top: 6px;
}

.tps-employer-enquiry-modal input[type="text"],
.tps-employer-enquiry-modal input[type="email"],
.tps-employer-enquiry-modal input[type="tel"],
.tps-employer-enquiry-modal input[type="url"],
.tps-employer-enquiry-modal input[type="number"],
.tps-employer-enquiry-modal input[type="date"],
.tps-employer-enquiry-modal select,
.tps-employer-enquiry-modal textarea {
	background: #fff;
	border: 1px solid var(--enquiry-modal-border);
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #596170;
	font-size: 15px;
	min-height: 50px;
	padding: 12px 15px;
	width: 100%;
}

.tps-employer-enquiry-modal textarea {
	min-height: 120px;
}

.tps-employer-enquiry-modal input[type="text"]::placeholder,
.tps-employer-enquiry-modal input[type="email"]::placeholder,
.tps-employer-enquiry-modal input[type="tel"]::placeholder,
.tps-employer-enquiry-modal textarea::placeholder {
	color: #858c97;
}

.tps-employer-enquiry-modal input[type="text"]:focus,
.tps-employer-enquiry-modal input[type="email"]:focus,
.tps-employer-enquiry-modal input[type="tel"]:focus,
.tps-employer-enquiry-modal input[type="url"]:focus,
.tps-employer-enquiry-modal input[type="number"]:focus,
.tps-employer-enquiry-modal input[type="date"]:focus,
.tps-employer-enquiry-modal select:focus,
.tps-employer-enquiry-modal textarea:focus {
	border-color: var(--enquiry-modal-primary);
	box-shadow: 0 0 0 0.2rem rgba(15, 110, 86, 0.16);
	outline: none;
}

.tps-employer-enquiry-modal .frm_opt_container {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 6px;
}

.tps-employer-enquiry-modal .frm_checkbox label,
.tps-employer-enquiry-modal .frm_radio label {
	align-items: center;
	color: #3e4450;
	display: flex;
	font-size: 15px;
	gap: 10px;
}

.tps-employer-enquiry-modal .frm_checkbox input,
.tps-employer-enquiry-modal .frm_radio input {
	height: 20px;
	margin: 0;
	width: 20px;
}

.tps-employer-enquiry-modal .frm_error_style,
.tps-employer-enquiry-modal .frm_error {
	color: #c0392b;
	font-size: 13px;
	margin-top: 6px;
}

.tps-employer-enquiry-modal .frm_message,
.tps-employer-enquiry-modal .frm_alert.frm_success_style {
	background: #eaf6f1;
	border: 1px solid #bfe3d3;
	border-radius: 8px;
	color: var(--enquiry-modal-primary-hover);
	padding: 16px 18px;
}

.tps-employer-enquiry-modal .frm_submit {
	margin-top: 6px;
}

.tps-employer-enquiry-modal .frm_button_submit,
.tps-employer-enquiry-modal .frm_button_submit.frm_final_submit {
	align-items: center;
	background: var(--enquiry-modal-primary) !important;
	border: 2px solid var(--enquiry-modal-primary) !important;
	border-radius: 8px;
	color: #fff !important;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 50px;
	padding: 12px 24px;
	width: 100%;
}

.tps-employer-enquiry-modal .frm_button_submit:hover,
.tps-employer-enquiry-modal .frm_button_submit:focus,
.tps-employer-enquiry-modal .frm_button_submit.frm_final_submit:hover,
.tps-employer-enquiry-modal .frm_button_submit.frm_final_submit:focus {
	background: var(--enquiry-modal-primary-hover) !important;
	border-color: var(--enquiry-modal-primary-hover) !important;
	color: #fff !important;
}

.tps-part-complete-page {
	padding-top: 26px;
}

.tps-part-complete-page > .container {
	max-width: 1366px;
}

.tps-part-complete-page .tps-profile-sidebar {
	margin-left: 0;
}

.tps-part-complete-content {
	max-width: 927px;
}

.tps-part-complete-content h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 24px;
}

.tps-part-complete-list {
	display: grid;
	gap: 24px;
}

.tps-part-complete-placeholder {
	background: #d9d9d9;
	min-height: 424px;
	width: 100%;
}

.tps-draft-vacancies-page {
	padding-top: 26px;
}

.tps-draft-vacancies-page > .container {
	max-width: 1366px;
}

.tps-draft-vacancies-content h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 8px;
}

.tps-draft-vacancies-header p {
	color: var(--profile-muted);
	margin: 0 0 24px;
}

.tps-draft-vacancies-list {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tps-draft-vacancy-card {
	min-height: 0;
}

.tps-draft-vacancy-card .tps-vacancy-card-title {
	margin-bottom: 24px;
}

@media (max-width: 767.98px) {
	.tps-draft-vacancies-list {
		grid-template-columns: 1fr;
	}
}

.tps-change-email-page {
	padding-top: 22px;
}

.tps-change-email-page > .container {
	max-width: 1366px;
}

.tps-change-email-page .tps-profile-sidebar {
	margin-left: 0;
}

.tps-change-email-content {
	max-width: 562px;
}

.tps-change-email-content h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 25px;
}

.tps-change-email-current {
	color: var(--profile-muted);
	font-size: 20px;
	line-height: 1.45;
	margin: 0 0 25px;
}

.tps-change-email-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-change-email-form .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #2d3340;
	font-size: 16px;
	min-height: 50px;
	padding: 12px 15px;
}

.tps-change-email-form .form-control:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-change-email-submit {
	align-items: center;
	background: var(--profile-orange);
	border: 2px solid var(--profile-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 45px;
	min-width: 88px;
	padding: 12px 17px;
}

.tps-change-email-submit:hover,
.tps-change-email-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

.tps-change-password-page {
	padding-top: 22px;
}

.tps-change-password-page > .container {
	max-width: 1366px;
}

.tps-change-password-page .tps-profile-sidebar {
	margin-left: 0;
}

.tps-change-password-content {
	max-width: 562px;
}

.tps-change-password-content h1 {
	color: var(--profile-ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
	margin: 4px 0 25px;
}

.tps-change-password-form .form-label {
	color: #3e4450;
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 8px;
}

.tps-password-field {
	position: relative;
}

.tps-change-password-form .form-control {
	background: #fff;
	border: 1px solid #d4d8dd;
	border-radius: 8px;
	box-shadow: 0 2px 5px rgba(23, 28, 41, 0.07);
	color: #2d3340;
	font-size: 16px;
	min-height: 50px;
	padding: 12px 48px 12px 15px;
}

.tps-change-password-form .form-control:focus {
	border-color: var(--profile-orange);
	box-shadow: 0 0 0 0.2rem rgba(244, 81, 5, 0.16);
}

.tps-password-field i {
	color: #3e4450;
	cursor: pointer;
	font-size: 18px;
	line-height: 1;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.tps-change-password-submit {
	align-items: center;
	background: var(--profile-orange);
	border: 2px solid var(--profile-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 45px;
	min-width: 159px;
	padding: 12px 17px;
}

.tps-change-password-submit:hover,
.tps-change-password-submit:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
}

@media (max-width: 1199.98px) {
	.tps-profile-sidebar {
		max-width: none;
	}
}

@media (max-width: 991.98px) {
	.tps-profile-page {
		padding-top: 34px;
	}

	.tps-profile-sidebar,
	.tps-profile-content,
	.tps-training-panel {
		max-width: none;
	}

	.tps-profile-content::after {
		width: 100%;
	}
}

@media (max-width: 575.98px) {
	.tps-cpd-training-search-page {
		padding: 28px 0 54px;
	}

	.tps-cpd-training-search-header h1,
	.tps-cpd-training-results-head h2 {
		font-size: 24px;
	}

	.tps-cpd-training-search-form {
		padding: 20px;
	}

	.tps-cpd-training-results-head {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-cpd-training-table-wrap {
		border: 0;
		overflow: visible;
	}

	.tps-cpd-training-table {
		min-width: 0;
	}

	.tps-cpd-training-table thead {
		display: none;
	}

	.tps-cpd-training-table,
	.tps-cpd-training-table tbody,
	.tps-cpd-training-table tr,
	.tps-cpd-training-table td {
		display: block;
		width: 100%;
	}

	.tps-cpd-training-table tbody tr {
		border: 1px solid #dce0e5;
		border-radius: 8px;
		margin-bottom: 14px;
		overflow: hidden;
	}

	.tps-cpd-training-table tbody td {
		align-items: flex-start;
		display: flex;
		gap: 14px;
		justify-content: space-between;
		padding: 12px 14px;
	}

	.tps-cpd-training-table tbody td::before {
		color: var(--cpd-search-ink);
		content: attr(data-label);
		flex: 0 0 96px;
		font-weight: 800;
	}

	.tps-profile-page {
		padding: 28px 0 54px;
	}

	.tps-profile-sidebar {
		border-radius: 12px;
		padding: 22px 20px;
	}

	.tps-profile-nav {
		gap: 13px;
	}

	.tps-profile-nav-link {
		font-size: 15px;
		gap: 12px;
	}

	.tps-profile-content h1 {
		font-size: 24px;
		margin-bottom: 24px;
	}

	.tps-training-panel {
		padding: 20px;
	}

	.tps-training-head {
		flex-direction: column;
		padding: 0 0 20px;
	}

	.tps-training-add-btn {
		min-width: 0;
		width: 100%;
	}

	.tps-training-table-wrap {
		margin-left: -20px;
		margin-right: -20px;
	}

	.tps-profile-modal .modal-dialog,
	.tps-training-session-modal .modal-dialog {
		margin: 16px;
	}

	.tps-vacancy-modal .modal-dialog {
		margin: 16px;
		max-width: none;
	}

	.tps-profile-modal .modal-header,
	.tps-training-session-modal .modal-header {
		padding: 28px 20px 12px;
	}

	.tps-vacancy-modal .modal-header {
		padding: 28px 20px 12px;
	}

	.tps-profile-modal .modal-body,
	.tps-training-session-modal .modal-body {
		padding: 8px 20px 20px;
	}

	.tps-vacancy-modal .modal-body {
		padding: 8px 20px 20px;
	}

	.tps-employer-enquiry-modal .modal-dialog {
		margin: 16px;
	}

	.tps-employer-enquiry-modal .modal-header {
		padding: 24px 20px 14px;
	}

	.tps-employer-enquiry-modal .modal-body {
		padding: 16px 20px 22px;
	}

	.tps-vacancy-editor-toolbar,
	.tps-training-editor-toolbar {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.tps-vacancy-editor-toolbar .form-select,
	.tps-training-editor-toolbar .form-select {
		flex-basis: 100%;
	}

	.tps-vacancy-modal .modal-footer {
		gap: 12px;
		grid-template-columns: 1fr;
		padding: 22px 20px;
	}

	.tps-profile-modal .modal-footer,
	.tps-training-session-modal .modal-footer {
		gap: 12px;
		grid-template-columns: 1fr;
		padding: 10px 20px 22px;
	}

	.tps-company-panel-header {
		flex-direction: column;
	}

	.tps-company-header-actions {
		justify-content: stretch;
		width: 100%;
	}

	.tps-company-bottom-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.tps-company-btn {
		flex: 1;
	}

	.tps-company-profile-page .tps-profile-sidebar,
	.tps-company-panel,
	.tps-post-vacancy-page .tps-profile-sidebar,
	.tps-post-vacancy-content,
	.tps-part-complete-page .tps-profile-sidebar,
	.tps-part-complete-content,
	.tps-change-email-page .tps-profile-sidebar,
	.tps-change-email-content,
	.tps-change-password-page .tps-profile-sidebar,
	.tps-change-password-content {
		max-width: none;
	}

	.tps-company-social-list .input-group {
		display: block;
	}

	.tps-company-social-list .input-group-text,
	.tps-company-social-list .form-control {
		border: 1px solid #d4d8dd;
		border-radius: 8px;
		display: block;
		width: 100%;
	}

	.tps-company-social-list .input-group-text {
		border-bottom: 0;
		border-radius: 8px 8px 0 0;
	}

	.tps-company-social-list .form-control {
		border-radius: 0 0 8px 8px;
	}

	.tps-vacancy-panel-head {
		flex-direction: column;
	}

	.tps-create-vacancy-btn {
		width: 100%;
	}

	.tps-vacancy-table-wrap {
		padding: 0 16px 16px;
	}

	.tps-vacancy-table,
	.tps-vacancy-table thead,
	.tps-vacancy-table tbody,
	.tps-vacancy-table tr,
	.tps-vacancy-table th,
	.tps-vacancy-table td {
		display: block;
		width: 100%;
	}

	.tps-vacancy-table thead {
		display: none;
	}

	.tps-vacancy-table tbody tr {
		border: 1px solid #e6e8eb;
		border-radius: 8px;
		margin-top: 14px;
		padding: 12px 14px;
	}

	.tps-vacancy-table tbody td {
		align-items: center;
		border-bottom: 0;
		display: flex;
		font-size: 13px;
		height: auto;
		justify-content: space-between;
		min-height: 34px;
		padding: 7px 0;
	}

	.tps-vacancy-table tbody td::before {
		color: #69707e;
		content: attr(data-label);
		font-size: 12px;
		font-weight: 800;
		margin-right: 16px;
	}

	.tps-vacancy-table tbody td:last-child {
		padding-right: 0;
	}

	.tps-vacancy-table-actions {
		gap: 14px;
	}
}

/* Single news */
body.single-news .page-wrap,
body.single-news .content-wrapper {
	padding-top: 0;
}

.single-news-page {
	--single-news-orange: #0f6e56;
	--single-news-ink: #1d2430;
	--single-news-muted: #5f6673;
	font-family: Figtree, Helvetica, Arial, sans-serif;
	padding: 42px 0 80px;
	width: 100%;
}

.single-news-page a {
	text-decoration: none;
}

.single-news-breadcrumb {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 82px;
}

.single-news-breadcrumb a,
.single-news-breadcrumb span {
	color: #6b7280;
	font-size: 14px;
	line-height: 1.2;
}

.single-news-breadcrumb a {
	color: var(--single-news-orange);
}

.single-news-breadcrumb i {
	color: #c8ced6;
	font-size: 13px;
}

.single-news-header {
	margin-bottom: 72px;
	max-width: 820px;
}

.single-news-title {
	color: var(--single-news-ink);
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	margin: 0 0 34px;
}

.single-news-intro {
	color: var(--single-news-muted);
	font-size: 21px;
	line-height: 1.65;
	margin: 0;
}

.single-news-featured-image {
	background: #c6c6c6;
	margin: 0 0 56px;
	min-height: 500px;
	overflow: hidden;
	width: 100%;
}

.single-news-featured-image img {
	display: block;
	height: 100%;
	min-height: 500px;
	object-fit: cover;
	width: 100%;
}

.single-news-detail-section {
	padding-top: 2px;
}

.single-news-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 42px;
	margin-bottom: 44px;
}

.single-news-meta div {
	display: grid;
	gap: 20px;
	min-width: 88px;
}

.single-news-meta span {
	color: #005f9e;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
}

.single-news-meta strong {
	color: var(--single-news-ink);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.2;
}

.single-news-share {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: flex-end;
	margin-bottom: 58px;
}

.single-news-share a,
.single-news-copy-link {
	align-items: center;
	background: #fff;
	border: 2px solid #d3d7dc;
	border-radius: 8px;
	color: #8f96a3;
	display: inline-flex;
	font-size: 24px;
	font-weight: 600;
	height: 45px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	text-decoration: none;
	transition:
		border-color 0.2s ease,
		color 0.2s ease;
	width: 45px;
}

.single-news-copy-link {
	color: #596170;
	cursor: pointer;
	font-size: 15px;
	gap: 8px;
	padding: 0 14px;
	width: auto;
}

.single-news-copy-link i {
	font-size: 22px;
}

.single-news-share a i {
	font-size: 25px;
}

.single-news-share a:hover,
.single-news-share a:focus,
.single-news-copy-link:hover,
.single-news-copy-link:focus {
	border-color: #005f9e;
	color: #005f9e;
	outline: 0;
	text-decoration: none;
}

.single-news-content {
	color: var(--single-news-muted);
	font-size: 18px;
	line-height: 1.75;
}

.single-news-content > *:last-child {
	margin-bottom: 0;
}

.single-news-content h2,
.single-news-content h3,
.single-news-content h4 {
	color: var(--single-news-ink);
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 34px 0 16px;
}

.single-news-content p,
.single-news-content ul,
.single-news-content ol {
	margin-bottom: 24px;
}

.single-news-content a {
	color: var(--single-news-orange);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.single-news-content img {
	border-radius: 10px;
	display: block;
	height: auto;
	margin: 48px 0;
	max-width: 100%;
	width: 100%;
}

.single-news-membership-box {
	background: #e9f3fb;
	border: 4px solid #0f6e56;
	border-radius: 10px;
	color: #0f6e56;
	margin-top: 35px;
	padding: 29px 24px 42px;
}

.single-news-membership-box h2 {
	color: #0f6e56;
	font-size: 25px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 13px;
}

.single-news-membership-box p {
	color: #0f6e56;
	font-size: 16px;
	line-height: 1.65;
	margin: 0 0 34px;
}

.single-news-membership-box a {
	align-items: center;
	background: var(--single-news-orange);
	border-radius: 7px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	min-height: 54px;
	padding: 13px 22px;
	text-decoration: none;
	width: 100%;
}

.single-news-membership-box a:hover,
.single-news-membership-box a:focus {
	background: #0b5342;
	color: #fff;
	text-decoration: none;
}

.single-news-latest {
	border-top: 1px solid #e2e5e9;
	margin-top: 78px;
	padding-top: 108px;
}

.single-news-latest-head {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 72px;
}

.single-news-latest-head h2 {
	color: var(--single-news-ink);
	font-size: 32px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0;
}

.single-news-latest-head a {
	align-items: center;
	background: var(--single-news-orange);
	border: 2px solid var(--single-news-orange);
	border-radius: 8px;
	color: #fff;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	justify-content: center;
	line-height: 1;
	min-height: 54px;
	padding: 15px 22px;
	text-decoration: none;
	white-space: nowrap;
}

.single-news-latest-head a:hover,
.single-news-latest-head a:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #fff;
	text-decoration: none;
}

.single-news-latest-card {
	background: #fff;
	border: 1px solid #e2e5e9;
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.single-news-latest-card:hover {
	border-color: #cfd7e0;
	box-shadow: 0 14px 28px rgba(29, 36, 48, 0.08);
}

.single-news-latest-image {
	background: #edf2f6;
	display: block;
	overflow: hidden;
}

.single-news-latest-image img {
	aspect-ratio: 1.7 / 1;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.single-news-latest-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 30px 26px 26px;
}

.single-news-latest-date {
	color: #0f6e56;
	display: block;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 16px;
}

.single-news-latest-card h3 {
	align-items: flex-start;
	display: flex;
	gap: 14px;
	justify-content: space-between;
	margin: 0 0 14px;
}

.single-news-latest-card h3 a {
	color: var(--single-news-ink);
	display: -webkit-box;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.45;
	overflow: hidden;
	text-decoration: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.single-news-latest-card h3 a:hover,
.single-news-latest-card h3 a:focus {
	color: #0f6e56;
	text-decoration: underline;
}

.single-news-latest-card h3 i {
	color: var(--single-news-ink);
	flex: 0 0 auto;
	font-size: 22px;
	margin-top: 5px;
}

.single-news-latest-card p {
	color: var(--single-news-muted);
	display: -webkit-box;
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 27px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.single-news-latest-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: auto;
}

.single-news-latest-tag {
	border-radius: 4px;
	display: inline-flex;
	font-size: 14px;
	line-height: 1;
	padding: 7px 12px;
}

.single-news-latest-tag-orange {
	background: #fff3ed;
	border: 1px solid #ffb08b;
	color: #9d3400;
}

.single-news-latest-tag-blue {
	background: #eff3ff;
	border: 1px solid #b7c8ff;
	color: #2339d8;
}

.single-news-latest-tag-pink {
	background: #fff0fa;
	border: 1px solid #f7b5dc;
	color: #c01879;
}

@media (max-width: 991.98px) {
	.single-news-breadcrumb {
		margin-bottom: 58px;
	}

	.single-news-header {
		margin-bottom: 54px;
	}

	.single-news-title {
		font-size: 40px;
	}

	.single-news-featured-image,
	.single-news-featured-image img {
		min-height: 380px;
	}

	.single-news-meta,
	.single-news-share {
		margin-bottom: 28px;
	}

	.single-news-share {
		justify-content: flex-start;
	}

	.single-news-membership-box {
		margin-top: 26px;
	}

	.single-news-latest {
		margin-top: 58px;
		padding-top: 64px;
	}

	.single-news-latest-head {
		margin-bottom: 42px;
	}
}

@media (max-width: 575.98px) {
	.single-news-page {
		padding: 30px 0 58px;
	}

	.single-news-breadcrumb {
		gap: 9px;
		margin-bottom: 38px;
	}

	.single-news-header {
		margin-bottom: 38px;
	}

	.single-news-title {
		font-size: 34px;
		margin-bottom: 22px;
	}

	.single-news-intro {
		font-size: 17px;
	}

	.single-news-featured-image,
	.single-news-featured-image img {
		min-height: 260px;
	}

	.single-news-featured-image {
		margin-bottom: 38px;
	}

	.single-news-meta {
		gap: 26px;
	}

	.single-news-meta div {
		gap: 12px;
	}

	.single-news-share {
		flex-wrap: wrap;
		gap: 10px;
	}

	.single-news-copy-link {
		min-width: 132px;
	}

	.single-news-content {
		font-size: 16px;
	}

	.single-news-membership-box {
		padding: 24px 20px 30px;
	}

	.single-news-latest {
		margin-top: 46px;
		padding-top: 42px;
	}

	.single-news-latest-head {
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 28px;
	}

	.single-news-latest-head h2 {
		font-size: 28px;
	}

	.single-news-latest-head a {
		width: 100%;
	}

	.single-news-latest-body {
		padding: 24px 20px;
	}

	.single-news-latest-card h3 a {
		font-size: 20px;
	}
}

/* Professional Development page */
body.page-template-tpl-professional-develpment .page-wrap,
body.page-template-tpl-professional-develpment .content-wrapper {
	padding-top: 0;
}

body.page-template-tpl-professional-develpment .breadcrumb-box .container,
.tps-professional-development > .container,
.tps-professional-development .container {
	max-width: 1368px;
}

.tps-professional-development {
	background: #fff;
	color: #16243d;
	padding: 46px 0 84px;
}

.tps-professional-development-title {
	color: #16243d;
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.38;
	margin: 0 0 54px;
	max-width: 850px;
}

.tps-professional-development-image {
	border-radius: 8px;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.tps-professional-development-image img {
	aspect-ratio: 1368 / 383;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.tps-professional-development-content {
	padding-top: 70px;
}

.tps-professional-development-copy {
	color: #596170;
	font-size: 20px;
	line-height: 1.68;
	max-width: 810px;
}

.tps-professional-development-copy p {
	margin: 0 0 25px;
}

.tps-professional-development-copy p:last-child {
	margin-bottom: 0;
}

@media (max-width: 991.98px) {
	.tps-professional-development {
		padding: 38px 0 64px;
	}

	.tps-professional-development-title {
		font-size: 40px;
		line-height: 1.28;
		margin-bottom: 38px;
	}

	.tps-professional-development-image img {
		aspect-ratio: 16 / 7;
	}

	.tps-professional-development-content {
		padding-top: 52px;
	}
}

@media (max-width: 575.98px) {
	.tps-professional-development {
		padding: 30px 0 52px;
	}

	.tps-professional-development-title {
		font-size: 32px;
		line-height: 1.2;
		margin-bottom: 28px;
	}

	.tps-professional-development-image img {
		aspect-ratio: 4 / 3;
	}

	.tps-professional-development-content {
		padding-top: 40px;
	}

	.tps-professional-development-copy {
		font-size: 17px;
	}
}

/* Default WordPress page */
body.page-template-default .page-wrap,
body.page-template-default .content-wrapper {
	padding-top: 0;
}

body.page-template-default .breadcrumb-box .container,
.tps-standard-page .container {
	max-width: 1368px;
}

.tps-standard-page {
	background: #fff;
	color: #16243d;
	padding: 46px 0 0px;
}

.tps-standard-page-title {
	color: #16243d;
	font-size: 48px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0 0 25px;
	max-width: 850px;
}

.tps-standard-page-image {
	border-radius: 8px;
	margin-bottom: 60px;
	overflow: hidden;
	width: 100%;
}

.tps-standard-page-image img {
	aspect-ratio: 1368 / 450;
	display: block;
	height: auto;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}

.tps-standard-page-content {
	padding-top: 0px;
}

.tps-standard-page-copy {
	color: #596170;
	font-size: 20px;
	line-height: 1.68;
	max-width: 810px;
}

.tps-standard-page-copy > *:first-child {
	margin-top: 0;
}

.tps-standard-page-copy p {
	color: #596170;
	font-size: 20px;
	line-height: 1.68;
	margin: 0 0 25px;
}

.tps-standard-page-copy p:last-child {
	margin-bottom: 0 !important;
}

.tps-standard-page-copy h2,
.tps-standard-page-copy h3,
.tps-standard-page-copy h4 {
	color: #16243d;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.25;
	margin: 0 0 24px;
}

.tps-standard-page-copy h2 {
	font-size: 32px;
}

.tps-standard-page-copy h3 {
	font-size: 26px;
}

.tps-standard-page-copy h4 {
	font-size: 22px;
}

.tps-standard-page-copy strong {
	color: #596170;
	font-weight: 800;
}

.tps-standard-page-copy a {
	color: gray;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

.tps-standard-page-copy a:hover,
.tps-standard-page-copy a:focus {
	color: #0b5342;
}

.tps-standard-page-copy ul,
.tps-standard-page-copy ol {
	color: #596170;
	font-size: 18px;
	line-height: 1.7;
	margin: 30px 0;
	padding-left: 30px;
}

.tps-standard-page-copy li {
	padding-left: 4px;
}

.tps-standard-page-copy blockquote,
.tps-standard-page-copy .wp-block-quote {
	border-left: none;
	color: #16243d;
	font-size: 25px;
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	margin: 0 0 33px;
	padding: 0;
	font-size: 25px;
	line-height: 1.45;
	margin-bottom: 39px;
}

.tps-standard-page-copy blockquote p,
.tps-standard-page-copy .wp-block-quote p {
	color: #16243d;
	font-size: 25px;
	line-height: 1.45;
	margin-bottom: 18px;
}

.tps-standard-page-copy .wp-block-image {
	margin: 42px 0;
}

.tps-standard-page-copy .wp-block-image img {
	border-radius: 8px;
	height: auto;
	width: 100%;
}

@media (max-width: 991.98px) {
	.tps-standard-page {
		padding: 38px 0 64px;
	}

	.tps-standard-page-title {
		font-size: 40px;
		margin-bottom: 38px;
	}

	.tps-standard-page-image img {
		aspect-ratio: 16 / 7;
	}

	.tps-standard-page-content {
		padding-top: 52px;
	}

	.tps-standard-page-copy {
		max-width: none;
	}
}

@media (max-width: 575.98px) {
	.tps-standard-page {
		padding: 30px 0 52px;
	}

	.tps-standard-page-title {
		font-size: 32px;
		line-height: 1.2;
		margin-bottom: 28px;
	}

	.tps-standard-page-image img {
		aspect-ratio: 4 / 3;
	}

	.tps-standard-page-content {
		padding-top: 40px;
	}

	.tps-standard-page-copy,
	.tps-standard-page-copy p {
		font-size: 17px;
	}

	.tps-standard-page-copy h2 {
		font-size: 28px;
		margin-bottom: 18px;
	}

	.tps-standard-page-copy h3 {
		font-size: 24px;
	}

	.tps-standard-page-copy ul,
	.tps-standard-page-copy ol {
		font-size: 17px;
		padding-left: 24px;
	}

	.tps-standard-page-copy blockquote,
	.tps-standard-page-copy .wp-block-quote,
	.tps-standard-page-copy blockquote p,
	.tps-standard-page-copy .wp-block-quote p {
		font-size: 22px;
	}
}

.epa-banner {
	background-color: #f0f5fa; /* Soft light blue background */
	border-radius: 16px;
	padding: 3rem;
	min-height: 350px;
	text-align: center !important;
}

.epa-banner-text {
	color: #005a9c;
	font-weight: 600;
	line-height: 1.4;
	width: 100%;
}

.epa-btn-orange {
	background-color: #0f6e56 !important; /* Vibrant orange button */
	color: #ffffff !important;
	font-weight: 600;
	padding: 0.6rem 2rem;
	border-radius: 8px;
	border: none;
	transition: background-color 0.2s ease-in-out;
}

.epa-btn-orange:hover {
	background-color: #fff !important;
	color: #0f6e56 !important;
}

/* Creates the organic blob shape for the image container */
.epa-blob-image-container {
	width: 100%;
	max-width: 400px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
}

.epa-image-container {
	width: 100%;
	max-width: 400px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 70% 30% 60% 40% / 60% 60% 40% 40%;
}

.epa-blob-image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.epa-image-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tps-technician {
	background-color: #edf3f8 !important;
	padding: 2rem !important;
}

.tps-technician .technician-title {
	color: #0060a0;
}

.tps-technician h2,
h3,
p {
	margin: 0px 0px 20px 0px !important;
	line-height: 30px !important;
}

.tps-technician a {
	font-weight: unset !important;
}

.membership-fee-table td {
	text-align: left !important;
}

.tps-partner-benefits-table,
.tps-membership-fee-table {
	overflow: hidden;
}

.tps-partner-benefits-table .table-responsive {
	border-radius: 30px;
	margin: 0 20px;
}

.partner-benefits-table {
	min-width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-family: inherit;
	border-radius: 25px;
}

/* HEADER */

.partner-benefits-table thead th {
	color: #fff;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	padding: 35px 20px;
	position: relative;
	border: 0;
	vertical-align: middle;
}

.benefits-header {
	width: 40%;
	background: #005f9f !important;
}

.skills-header {
	width: 150px;
	background: #40b24a !important;
}

.corporate-header {
	width: 150px;
	background: #ab1fa1 !important;
}

.public-header {
	width: 150px;
	background: #6860d4 !important;
}

.table-arrow {
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 12px solid transparent;
	border-right: 12px solid transparent;
}

.skills-header .table-arrow {
	border-top: 12px solid #40b24a;
}

.corporate-header .table-arrow {
	border-top: 12px solid #ab1fa1;
}

.public-header .table-arrow {
	border-top: 12px solid #6860d4;
}

/* BODY */

.partner-benefits-table td {
	padding: 20px;
	border: 0;
	vertical-align: middle;
	font-size: 16px;
}

/* Column Colors */

.partner-benefits-table tbody td:first-child {
	background: #efefef;
}

.partner-benefits-table tbody td:nth-child(2) {
	background: #edf4ef;
}

.partner-benefits-table tbody td:nth-child(3) {
	background: #f5eef4;
}

.partner-benefits-table tbody td:nth-child(4) {
	background: #f0f0fa;
}

/* Alternate rows */

.partner-benefits-table tbody tr:nth-child(even) td:first-child {
	background: #e8e8e8;
}

.partner-benefits-table tbody tr:nth-child(even) td:nth-child(2) {
	background: #e6efe8;
}

.partner-benefits-table tbody tr:nth-child(even) td:nth-child(3) {
	background: #efe8ee;
}

.partner-benefits-table tbody tr:nth-child(even) td:nth-child(4) {
	background: #ebebf7;
}

.partner-benefits-table td:first-child {
	text-align: left;
	font-weight: 500;
}

.partner-benefits-table td:not(:first-child) {
	text-align: center;
}

.partner-benefits-table .pricing-title,
.partner-benefits-table .skills-price,
.partner-benefits-table .corporate-price,
.partner-benefits-table .public-price {
	font-size: 25px !important;
}

/* Check Circle */

.check-icon {
	width: 40px;
	height: 40px;
	border: 3px solid #005f9f;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #005f9f;
	font-size: 18px;
	font-weight: 700;
}

/* PRICING */
.pricing-row td {
	vertical-align: top;
}

.pricing-title {
	background: #dce6ef !important;
	padding: 30px !important;
}

.pricing-title {
	font-size: 1.6em !important;
	font-weight: 600 !important;
	margin: 0;
	padding: 0.75rem !important;
}

.skills-price {
	background: #cde1d6 !important;
}

.corporate-price {
	background: #d8c2dd !important;
}

.public-price {
	background: #c8cce9 !important;
}

.skills-price,
.corporate-price,
.public-price {
	text-align: left !important;
}

.skills-price,
.corporate-price,
.public-price {
	font-size: 1.6em !important;
	font-weight: 600 !important;
	padding: 0.75rem !important;
	color: #000;
}

.skills-price p,
.corporate-price p,
.public-price p {
	font-size: 15px;
	margin-bottom: 0;
}

.price-item {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.price-item:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.partner-benefits-note {
	font-size: 14px;
	color: #333;
}

/* Responsive */

@media (max-width: 991px) {
	.partner-benefits-table {
		min-width: 100%;
	}

	.partner-benefits-table thead th {
		font-size: 16px;
	}

	.partner-benefits-table td {
		font-size: 14px;
	}

	.pricing-title h3,
	.skills-price h4,
	.corporate-price h4,
	.public-price h4 {
		font-size: 28px;
	}
}

.master-course-table-wrapper {
	overflow-x: auto;
}

.master-course-table {
	width: 100%;
	border: 1px solid #d9d9d9;
}

.master-course-table thead th {
	background: #005b94;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	border: 1px solid #d9d9d9;
	padding: 12px;
	vertical-align: middle;
}

.master-course-table td {
	border: 1px solid #d9d9d9;
	padding: 15px !important;
	vertical-align: top;
	font-size: 14px;
	background: #fff;
	text-align: left !important;
}

.master-course-table td a {
	color: #0f6e56 !important;
	text-decoration: underline !important;
}

.master-course-table h6 {
	font-size: 16px;
	margin-bottom: 10px;
	color: #222;
}

.master-course-table p {
	margin-bottom: 8px;
	line-height: 1.5;
}

.master-course-table a {
	color: #4d4d4d;
	text-decoration: underline;
}

.master-course-table .logo-col {
	width: 180px;
	min-width: 180px;
	text-align: left !important;
}

.master-course-table .logo-col img {
	max-width: 150px;
	height: auto;
}

@media (max-width: 768px) {
	.master-course-table {
		min-width: 800px;
	}

	.master-course-table td,
	.master-course-table th {
		padding: 12px;
		font-size: 13px;
	}

	.master-course-table .logo-col {
		width: 140px;
		min-width: 140px;
	}

	.master-course-table .logo-col img {
		max-width: 120px;
	}
}

.award-item {
	border-color: #d8d8d8 !important;
}

.award-img {
	width: 100%;
	max-width: 260px;
	display: block;
}

.award-title {
	color: #0f6e56;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.3;
}

.award-subtitle {
	font-size: 1.4rem;
	font-weight: 700;
	color: #111;
}

.award-item p {
	font-size: 1.15rem;
	line-height: 1.8;
	color: #222;
}

.award-link {
	color: #f26c23;
	font-size: 1.1rem;
}

.award-link:hover {
	color: #d95d1c;
}

@media (max-width: 767.98px) {
	.award-title {
		font-size: 1.6rem;
	}

	.award-subtitle {
		font-size: 1.1rem;
	}

	.award-img {
		max-width: 220px;
		margin: 0 auto;
	}

	.award-item {
		text-align: left;
	}
}

.award-table {
	border: 1px solid #d4dde5;
	background: #eef3f6;
}

.award-table td {
	padding: 18px 14px;
	border: 1px solid #d4dde5;
	vertical-align: top;
	font-size: 18px;
	line-height: 1.5;
	background: #eef3f6;
}

.award-table .year {
	width: 90px;
	min-width: 90px;
	color: #0f6e56;
	font-weight: 700;
}

.award-table .winner {
	width: 300px;
	min-width: 300px;
	color: #0f6e56;
	font-weight: 700;
}

.table-responsive {
	overflow-x: auto;
}

@media (max-width: 767.98px) {
	.award-table td {
		font-size: 15px;
		padding: 12px;
	}

	.award-table .winner {
		min-width: 220px;
	}
}

.archive-accordion .accordion-header {
	margin-top: 1rem !important;
	margin-bottom: 0px !important;
}

.archive-accordion .accordion-header button:hover {
	background: #e9e9e9 !important;
}

.archive-btn {
	background: #e9e9e9;
	color: #0f6e56;
	font-size: smaller !important;
	font-weight: 600 !important;
	text-transform: none !important;
	box-shadow: none !important;
	line-height: 30px !important;
}

.archive-btn:not(.collapsed) {
	background: #dce5ef;
	color: #0f6e56;
}

.archive-btn:focus {
	box-shadow: none;
}

.archive-body {
	background: #f4f4f4;
	padding: 2rem;
	font-size: 1.15rem;
	line-height: 1.8;
}

.archive-item {
	border: 0;
	margin-bottom: 0px !important;
}

@media (max-width: 768px) {
	.archive-btn {
		font-size: 1.125rem;
		padding: 1rem 1.25rem;
	}

	.archive-body {
		padding: 1.25rem;
		font-size: 1rem;
	}
}

.news-list-card,
.tps-news-card,
.tps-event-card,
.tps-vacancy-card,
.tps-dashboard-event-card,
.tps-dashboard-news-card,
.tps-dashboard-vacancy-card,
.tps-dashboard-booking-card,
.tps-dashboard-events-list-card,
.tps-dashboard-resource-card,
.tps-dashboard-job-card,
.tps-dashboard-news-list-card,
.vacancy-card,
.tps-events-result-card,
.event-card,
.job-card,
.testimonial-card,
.single-news-latest-card,
.tps-transport-planning-day-speaker-card {
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.is-clickable-card {
	cursor: pointer;
}

.news-list-card:hover,
.news-list-card:focus-within,
.tps-news-card:hover,
.tps-news-card:focus-within,
.tps-event-card:hover,
.tps-event-card:focus-within,
.tps-vacancy-card:hover,
.tps-vacancy-card:focus-within,
.tps-dashboard-event-card:hover,
.tps-dashboard-event-card:focus-within,
.tps-dashboard-news-card:hover,
.tps-dashboard-news-card:focus-within,
.tps-dashboard-vacancy-card:hover,
.tps-dashboard-vacancy-card:focus-within,
.tps-dashboard-booking-card:hover,
.tps-dashboard-booking-card:focus-within,
.tps-dashboard-events-list-card:hover,
.tps-dashboard-events-list-card:focus-within,
.tps-dashboard-resource-card:hover,
.tps-dashboard-resource-card:focus-within,
.tps-dashboard-job-card:hover,
.tps-dashboard-job-card:focus-within,
.tps-dashboard-news-list-card:hover,
.tps-dashboard-news-list-card:focus-within,
.vacancy-card:hover,
.vacancy-card:focus-within,
.tps-events-result-card:hover,
.tps-events-result-card:focus-within,
.event-card:hover,
.event-card:focus-within,
.job-card:hover,
.job-card:focus-within,
.testimonial-card:hover,
.testimonial-card:focus-within,
.single-news-latest-card:hover,
.single-news-latest-card:focus-within,
.tps-transport-planning-day-speaker-card:hover,
.tps-transport-planning-day-speaker-card:focus-within {
	border-color: #cfd7e0;
	box-shadow: 14px 14px 35px rgba(29, 36, 48, 0.08);
}

/* Global table redesign - screenshot style */
.tps-standard-page-copy table,
.entry-content table,
.page-content table,
.tps-professional-development-copy table,
.tps-partner-benefits-table table,
.tps-membership-fee-table table,
body table,
table.partner-benefits-table,
table.membership-fee-table,
table.table {
	--tps-table-blue: #005f9f;
	--tps-table-ink: #16243d;
	--tps-table-muted: #646b78;
	--tps-table-soft: #f7f7f8;
	--tps-table-check: #009b68;
	background: transparent !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 0 !important;
	box-shadow: none !important;
	font-family: inherit;
	margin: 0 auto 38px !important;
	max-width: 100%;
	table-layout: fixed;
	width: 100% !important;
}

.tps-standard-page-copy .table-responsive,
.entry-content .table-responsive,
.page-content .table-responsive,
.tps-professional-development-copy .table-responsive,
.tps-partner-benefits-table .table-responsive,
.tps-membership-fee-table .table-responsive {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
	overflow-x: auto;
}

.tps-standard-page-copy table thead th,
.entry-content table thead th,
.page-content table thead th,
.tps-professional-development-copy table thead th,
.tps-partner-benefits-table table thead th,
.tps-membership-fee-table table thead th,
body table thead th,
table.partner-benefits-table thead th,
table.membership-fee-table thead th,
table.table thead th {
	background: #fff !important;
	border: 0 !important;
	color: var(--tps-table-blue) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.25 !important;
	padding: 0 24px 48px !important;
	text-align: center !important;
	vertical-align: bottom !important;
	white-space: normal !important;
}

.tps-standard-page-copy table thead th:first-child,
.entry-content table thead th:first-child,
.page-content table thead th:first-child,
.tps-professional-development-copy table thead th:first-child,
.tps-partner-benefits-table table thead th:first-child,
.tps-membership-fee-table table thead th:first-child,
body table thead th:first-child,
table.partner-benefits-table thead th:first-child,
table.membership-fee-table thead th:first-child,
table.table thead th:first-child {
	color: var(--tps-table-blue) !important;
	font-size: 20px !important;
	width: 30% !important;
}

.tps-standard-page-copy table tbody tr,
.entry-content table tbody tr,
.page-content table tbody tr,
.tps-professional-development-copy table tbody tr,
.tps-partner-benefits-table table tbody tr,
.tps-membership-fee-table table tbody tr,
body table tbody tr,
table.partner-benefits-table tbody tr,
table.membership-fee-table tbody tr,
table.table tbody tr {
	background: transparent !important;
}

.tps-standard-page-copy table tbody td,
.entry-content table tbody td,
.page-content table tbody td,
.tps-professional-development-copy table tbody td,
.tps-partner-benefits-table table tbody td,
.tps-membership-fee-table table tbody td,
body table tbody td,
table.partner-benefits-table tbody td,
table.membership-fee-table tbody td,
table.table tbody td {
	background: transparent !important;
	border: 0 !important;
	color: var(--tps-table-muted) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	padding: 26px 24px !important;
	text-align: center !important;
	vertical-align: middle !important;
}

.tps-standard-page-copy table tbody tr:nth-child(odd) td,
.entry-content table tbody tr:nth-child(odd) td,
.page-content table tbody tr:nth-child(odd) td,
.tps-professional-development-copy table tbody tr:nth-child(odd) td,
.tps-partner-benefits-table table tbody tr:nth-child(odd) td,
.tps-membership-fee-table table tbody tr:nth-child(odd) td,
body table tbody tr:nth-child(odd) td,
table.partner-benefits-table tbody tr:nth-child(odd) td,
table.membership-fee-table tbody tr:nth-child(odd) td,
table.table tbody tr:nth-child(odd) td {
	background: var(--tps-table-soft) !important;
}

.tps-standard-page-copy table tbody td:first-child,
.entry-content table tbody td:first-child,
.page-content table tbody td:first-child,
.tps-professional-development-copy table tbody td:first-child,
.tps-partner-benefits-table table tbody td:first-child,
.tps-membership-fee-table table tbody td:first-child,
body table tbody td:first-child,
table.partner-benefits-table tbody td:first-child,
table.membership-fee-table tbody td:first-child,
table.table tbody td:first-child {
	color: var(--tps-table-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-align: left !important;
}

.tps-standard-page-copy table tbody td:not(:first-child),
.entry-content table tbody td:not(:first-child),
.page-content table tbody td:not(:first-child),
.tps-professional-development-copy table tbody td:not(:first-child),
.tps-partner-benefits-table table tbody td:not(:first-child),
.tps-membership-fee-table table tbody td:not(:first-child),
body table tbody td:not(:first-child),
table.partner-benefits-table tbody td:not(:first-child),
table.membership-fee-table tbody td:not(:first-child),
table.table tbody td:not(:first-child) {
	width: 23.333% !important;
}

.partner-benefits-table .table-arrow,
.partner-benefits-table .benefits-header,
.partner-benefits-table .skills-header,
.partner-benefits-table .corporate-header,
.partner-benefits-table .public-header {
	background: #fff !important;
}

.partner-benefits-table .table-arrow {
	display: none !important;
}

.check-icon,
.tps-standard-page-copy table .check-icon,
.entry-content table .check-icon,
.page-content table .check-icon,
.tps-professional-development-copy table .check-icon,
.tps-partner-benefits-table table .check-icon,
.tps-membership-fee-table table .check-icon {
	background: transparent !important;
	border: 2px solid var(--tps-table-check, #009b68) !important;
	border-radius: 50% !important;
	color: var(--tps-table-check, #009b68) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0 !important;
	font-weight: 800 !important;
	height: 24px !important;
	line-height: 1 !important;
	position: relative !important;
	width: 24px !important;
}

.check-icon::before,
.tps-standard-page-copy table .check-icon::before,
.entry-content table .check-icon::before,
.page-content table .check-icon::before,
.tps-professional-development-copy table .check-icon::before,
.tps-partner-benefits-table table .check-icon::before,
.tps-membership-fee-table table .check-icon::before {
	border-bottom: 2px solid currentColor;
	border-right: 2px solid currentColor;
	content: "";
	display: block;
	height: 10px;
	margin-top: -2px;
	transform: rotate(45deg);
	width: 6px;
}

.tps-standard-page-copy table td:empty::before,
.entry-content table td:empty::before,
.page-content table td:empty::before,
.tps-professional-development-copy table td:empty::before,
.tps-partner-benefits-table table td:empty::before,
.tps-membership-fee-table table td:empty::before,
body table td:empty::before,
table.partner-benefits-table td:empty::before,
table.membership-fee-table td:empty::before {
	color: #a3a8b2;
	content: "-";
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}

.partner-benefits-table .pricing-row td,
.partner-benefits-table .pricing-title,
.partner-benefits-table .skills-price,
.partner-benefits-table .corporate-price,
.partner-benefits-table .public-price,
.membership-fee-table .pricing-row td,
.membership-fee-table .pricing-title,
.membership-fee-table .skills-price,
.membership-fee-table .corporate-price,
.membership-fee-table .public-price {
	background: #fff !important;
	color: var(--tps-table-ink, #16243d) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	padding-top: 34px !important;
	text-align: left !important;
	vertical-align: top !important;
}

.partner-benefits-table .pricing-title,
.membership-fee-table .pricing-title {
	color: #747b87 !important;
}

.partner-benefits-table .skills-price p,
.partner-benefits-table .corporate-price p,
.partner-benefits-table .public-price p,
.membership-fee-table .skills-price p,
.membership-fee-table .corporate-price p,
.membership-fee-table .public-price p {
	color: var(--tps-table-muted, #646b78) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	margin: 14px 0 0 !important;
}

.partner-benefits-table .price-item,
.membership-fee-table .price-item {
	border: 0 !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
}

.partner-benefits-table .price-item:last-child,
.membership-fee-table .price-item:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 767.98px) {
	.tps-standard-page-copy table,
	.entry-content table,
	.page-content table,
	.tps-professional-development-copy table,
	.tps-partner-benefits-table table,
	.tps-membership-fee-table table,
	body table,
	table.partner-benefits-table,
	table.membership-fee-table,
	table.table {
		min-width: 760px;
	}

	.tps-standard-page-copy table thead th,
	.entry-content table thead th,
	.page-content table thead th,
	.tps-professional-development-copy table thead th,
	.tps-partner-benefits-table table thead th,
	.tps-membership-fee-table table thead th,
	body table thead th,
	table.partner-benefits-table thead th,
	table.membership-fee-table thead th,
	table.table thead th {
		font-size: 22px !important;
		padding-bottom: 32px !important;
	}

	.tps-standard-page-copy table tbody td,
	.entry-content table tbody td,
	.page-content table tbody td,
	.tps-professional-development-copy table tbody td,
	.tps-partner-benefits-table table tbody td,
	.tps-membership-fee-table table tbody td,
	body table tbody td,
	table.partner-benefits-table tbody td,
	table.membership-fee-table tbody td,
	table.table tbody td {
		padding: 22px 18px !important;
	}
}

/* Global logo table redesign - screenshot style */
body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table),
body table[class*="logo"],
body table[class*="logos"],
body table[class*="partner-logo"],
body table[class*="sponsor-logo"],
.logos table,
.logo-table,
.logos-table,
.partner-logo-table,
.partners-logo-table,
.sponsor-logo-table,
.sponsors-logo-table {
	--tps-logo-card-border: #edf0f2;
	--tps-logo-card-bg: #fff;
	background: transparent !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	box-shadow: none !important;
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
	margin: 0 auto 48px !important;
	max-width: 810px !important;
	table-layout: auto !important;
	width: 100% !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	thead,
body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	tbody,
body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	tr,
body table[class*="logo"] thead,
body table[class*="logo"] tbody,
body table[class*="logo"] tr,
body table[class*="logos"] thead,
body table[class*="logos"] tbody,
body table[class*="logos"] tr,
.logos table thead,
.logos table tbody,
.logos table tr,
.logo-table thead,
.logo-table tbody,
.logo-table tr,
.logos-table thead,
.logos-table tbody,
.logos-table tr,
.partner-logo-table thead,
.partner-logo-table tbody,
.partner-logo-table tr,
.partners-logo-table thead,
.partners-logo-table tbody,
.partners-logo-table tr,
.sponsor-logo-table thead,
.sponsor-logo-table tbody,
.sponsor-logo-table tr,
.sponsors-logo-table thead,
.sponsors-logo-table tbody,
.sponsors-logo-table tr {
	display: contents !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	th,
body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	td,
body table[class*="logo"] th,
body table[class*="logo"] td,
body table[class*="logos"] th,
body table[class*="logos"] td,
.logos table th,
.logos table td,
.logo-table th,
.logo-table td,
.logos-table th,
.logos-table td,
.partner-logo-table th,
.partner-logo-table td,
.partners-logo-table th,
.partners-logo-table td,
.sponsor-logo-table th,
.sponsor-logo-table td,
.sponsors-logo-table th,
.sponsors-logo-table td {
	align-items: center !important;
	aspect-ratio: 181 / 122 !important;
	background: var(--tps-logo-card-bg) !important;
	border: 1px solid var(--tps-logo-card-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.025) !important;
	display: flex !important;
	justify-content: center !important;
	min-height: 122px !important;
	padding: 16px !important;
	text-align: center !important;
	vertical-align: middle !important;
	width: auto !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	th:empty,
body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	td:empty,
body table[class*="logo"] th:empty,
body table[class*="logo"] td:empty,
body table[class*="logos"] th:empty,
body table[class*="logos"] td:empty,
.logos table th:empty,
.logos table td:empty,
.logo-table th:empty,
.logo-table td:empty,
.logos-table th:empty,
.logos-table td:empty,
.partner-logo-table th:empty,
.partner-logo-table td:empty,
.partners-logo-table th:empty,
.partners-logo-table td:empty,
.sponsor-logo-table th:empty,
.sponsor-logo-table td:empty,
.sponsors-logo-table th:empty,
.sponsors-logo-table td:empty {
	display: none !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	td:empty::before,
body table[class*="logo"] td:empty::before,
body table[class*="logos"] td:empty::before,
.logos table td:empty::before,
.logo-table td:empty::before,
.logos-table td:empty::before,
.partner-logo-table td:empty::before,
.partners-logo-table td:empty::before,
.sponsor-logo-table td:empty::before,
.sponsors-logo-table td:empty::before {
	content: none !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	a,
body table[class*="logo"] a,
body table[class*="logos"] a,
.logos table a,
.logo-table a,
.logos-table a,
.partner-logo-table a,
.partners-logo-table a,
.sponsor-logo-table a,
.sponsors-logo-table a {
	align-items: center !important;
	display: inline-flex !important;
	height: 100% !important;
	justify-content: center !important;
	text-decoration: none !important;
	width: 100% !important;
}

body
	table:has(td img):not(.master-course-table):not(.award-table):not(
		.partner-benefits-table
	):not(.membership-fee-table):not(.tps-training-table):not(
		.tps-cpd-training-table
	):not(.tps-vacancy-table)
	img,
body table[class*="logo"] img,
body table[class*="logos"] img,
.logos table img,
.logo-table img,
.logos-table img,
.partner-logo-table img,
.partners-logo-table img,
.sponsor-logo-table img,
.sponsors-logo-table img {
	display: block !important;
	height: auto !important;
	/*max-height: 90px !important;
    max-width: 104px !important;*/
	object-fit: contain !important;
	width: auto !important;
}

.partners-logo-row {
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
	justify-content: center !important;
	margin: 0 auto !important;
	max-width: 810px !important;
}

.partners-logo-row .partner-logo {
	align-items: center !important;
	aspect-ratio: 181 / 122 !important;
	background: #fff !important;
	border: 1px solid #edf0f2 !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.025) !important;
	display: flex !important;
	justify-content: center !important;
	min-height: 122px !important;
	padding: 16px !important;
	text-align: center !important;
	width: auto !important;
}

.partners-logo-row .partner-logo-ice {
	height: 90px !important;
	width: 104px !important;
}

@media (max-width: 991.98px) {
	body
		table:has(td img):not(.master-course-table):not(.award-table):not(
			.partner-benefits-table
		):not(.membership-fee-table):not(.tps-training-table):not(
			.tps-cpd-training-table
		):not(.tps-vacancy-table),
	body table[class*="logo"],
	body table[class*="logos"],
	.logos table,
	.logo-table,
	.logos-table,
	.partner-logo-table,
	.partners-logo-table,
	.sponsor-logo-table,
	.sponsors-logo-table,
	.partners-logo-row {
		grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
		max-width: 620px !important;
	}
}

@media (max-width: 575.98px) {
	body
		table:has(td img):not(.master-course-table):not(.award-table):not(
			.partner-benefits-table
		):not(.membership-fee-table):not(.tps-training-table):not(
			.tps-cpd-training-table
		):not(.tps-vacancy-table),
	body table[class*="logo"],
	body table[class*="logos"],
	.logos table,
	.logo-table,
	.logos-table,
	.partner-logo-table,
	.partners-logo-table,
	.sponsor-logo-table,
	.sponsors-logo-table,
	.partners-logo-row {
		gap: 16px !important;
		grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
		max-width: none !important;
	}

	body
		table:has(td img):not(.master-course-table):not(.award-table):not(
			.partner-benefits-table
		):not(.membership-fee-table):not(.tps-training-table):not(
			.tps-cpd-training-table
		):not(.tps-vacancy-table)
		th,
	body
		table:has(td img):not(.master-course-table):not(.award-table):not(
			.partner-benefits-table
		):not(.membership-fee-table):not(.tps-training-table):not(
			.tps-cpd-training-table
		):not(.tps-vacancy-table)
		td,
	body table[class*="logo"] th,
	body table[class*="logo"] td,
	body table[class*="logos"] th,
	body table[class*="logos"] td,
	.logos table th,
	.logos table td,
	.logo-table th,
	.logo-table td,
	.logos-table th,
	.logos-table td,
	.partner-logo-table th,
	.partner-logo-table td,
	.partners-logo-table th,
	.partners-logo-table td,
	.sponsor-logo-table th,
	.sponsor-logo-table td,
	.sponsors-logo-table th,
	.sponsors-logo-table td,
	.partners-logo-row .partner-logo {
		min-height: 108px !important;
		padding: 14px !important;
	}

	body
		table:has(td img):not(.master-course-table):not(.award-table):not(
			.partner-benefits-table
		):not(.membership-fee-table):not(.tps-training-table):not(
			.tps-cpd-training-table
		):not(.tps-vacancy-table)
		img,
	body table[class*="logo"] img,
	body table[class*="logos"] img,
	.logos table img,
	.logo-table img,
	.logos-table img,
	.partner-logo-table img,
	.partners-logo-table img,
	.sponsor-logo-table img,
	.sponsors-logo-table img {
		max-height: 220px !important;
		max-width: 220px !important;
	}
}

.table-responsive.master-course-table-wrapper p {
	font-size: 14px;
}

/* Non-table logo image grid - screenshot style */
.logo-grid,
.logos-grid,
.logo-list,
.logos-list,
.partner-logos,
.partner-logo-grid,
.sponsor-logos,
.sponsor-logo-grid,
.partners-logo-row,
.wp-block-gallery.logo-grid,
.wp-block-gallery.logos-grid,
.wp-block-gallery.partner-logos,
.gallery.logo-grid,
.gallery.logos-grid,
.gallery.partner-logos,
.row.logo-grid,
.row.logos-grid,
.row.partner-logos {
	--tps-logo-card-border: #edf0f2;
	--tps-logo-card-bg: #fff;
	display: grid !important;
	gap: 28px !important;
	grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
	justify-content: center !important;
	margin: 0 auto 48px !important;
	max-width: 810px !important;
	width: 100% !important;
}

.logo-grid > *,
.logos-grid > *,
.logo-list > *,
.logos-list > *,
.partner-logos > *,
.partner-logo-grid > *,
.sponsor-logos > *,
.sponsor-logo-grid > *,
.partners-logo-row > *,
.wp-block-gallery.logo-grid > *,
.wp-block-gallery.logos-grid > *,
.wp-block-gallery.partner-logos > *,
.gallery.logo-grid > *,
.gallery.logos-grid > *,
.gallery.partner-logos > *,
.row.logo-grid > *,
.row.logos-grid > *,
.row.partner-logos > * {
	align-items: center !important;
	aspect-ratio: 181 / 122 !important;
	background: var(--tps-logo-card-bg) !important;
	border: 1px solid var(--tps-logo-card-border) !important;
	border-radius: 8px !important;
	box-shadow: 0 1px 2px rgba(17, 24, 39, 0.025) !important;
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
	min-height: 122px !important;
	padding: 16px !important;
	text-align: center !important;
	width: auto !important;
}

.logo-grid > img,
.logos-grid > img,
.logo-list > img,
.logos-list > img,
.partner-logos > img,
.partner-logo-grid > img,
.sponsor-logos > img,
.sponsor-logo-grid > img {
	padding: 16px !important;
}

.logo-grid a,
.logos-grid a,
.logo-list a,
.logos-list a,
.partner-logos a,
.partner-logo-grid a,
.sponsor-logos a,
.sponsor-logo-grid a,
.partners-logo-row a,
.wp-block-gallery.logo-grid a,
.wp-block-gallery.logos-grid a,
.wp-block-gallery.partner-logos a,
.gallery.logo-grid a,
.gallery.logos-grid a,
.gallery.partner-logos a,
.row.logo-grid a,
.row.logos-grid a,
.row.partner-logos a {
	align-items: center !important;
	display: inline-flex !important;
	height: 100% !important;
	justify-content: center !important;
	text-decoration: none !important;
	width: 100% !important;
}

.logo-grid img,
.logos-grid img,
.logo-list img,
.logos-list img,
.partner-logos img,
.partner-logo-grid img,
.sponsor-logos img,
.sponsor-logo-grid img,
.partners-logo-row img,
.wp-block-gallery.logo-grid img,
.wp-block-gallery.logos-grid img,
.wp-block-gallery.partner-logos img,
.gallery.logo-grid img,
.gallery.logos-grid img,
.gallery.partner-logos img,
.row.logo-grid img,
.row.logos-grid img,
.row.partner-logos img {
	border: 0 !important;
	box-shadow: none !important;
	display: block !important;
	height: auto !important;
	margin: 0 auto !important;
	/*max-height: 90px !important;
    max-width: 104px !important;*/
	object-fit: contain !important;
	width: auto !important;
}

@media (max-width: 991.98px) {
	.logo-grid,
	.logos-grid,
	.logo-list,
	.logos-list,
	.partner-logos,
	.partner-logo-grid,
	.sponsor-logos,
	.sponsor-logo-grid,
	.partners-logo-row,
	.wp-block-gallery.logo-grid,
	.wp-block-gallery.logos-grid,
	.wp-block-gallery.partner-logos,
	.gallery.logo-grid,
	.gallery.logos-grid,
	.gallery.partner-logos,
	.row.logo-grid,
	.row.logos-grid,
	.row.partner-logos {
		grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
		max-width: 620px !important;
	}
}

@media (max-width: 575.98px) {
	.logo-grid,
	.logos-grid,
	.logo-list,
	.logos-list,
	.partner-logos,
	.partner-logo-grid,
	.sponsor-logos,
	.sponsor-logo-grid,
	.partners-logo-row,
	.wp-block-gallery.logo-grid,
	.wp-block-gallery.logos-grid,
	.wp-block-gallery.partner-logos,
	.gallery.logo-grid,
	.gallery.logos-grid,
	.gallery.partner-logos,
	.row.logo-grid,
	.row.logos-grid,
	.row.partner-logos {
		gap: 16px !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		max-width: none !important;
	}

	.logo-grid > *,
	.logos-grid > *,
	.logo-list > *,
	.logos-list > *,
	.partner-logos > *,
	.partner-logo-grid > *,
	.sponsor-logos > *,
	.sponsor-logo-grid > *,
	.partners-logo-row > *,
	.wp-block-gallery.logo-grid > *,
	.wp-block-gallery.logos-grid > *,
	.wp-block-gallery.partner-logos > *,
	.gallery.logo-grid > *,
	.gallery.logos-grid > *,
	.gallery.partner-logos > *,
	.row.logo-grid > *,
	.row.logos-grid > *,
	.row.partner-logos > * {
		min-height: 108px !important;
		padding: 14px !important;
	}

	.logo-grid img,
	.logos-grid img,
	.logo-list img,
	.logos-list img,
	.partner-logos img,
	.partner-logo-grid img,
	.sponsor-logos img,
	.sponsor-logo-grid img,
	.partners-logo-row img,
	.wp-block-gallery.logo-grid img,
	.wp-block-gallery.logos-grid img,
	.wp-block-gallery.partner-logos img,
	.gallery.logo-grid img,
	.gallery.logos-grid img,
	.gallery.partner-logos img,
	.row.logo-grid img,
	.row.logos-grid img,
	.row.partner-logos img {
		max-height: 78px !important;
		max-width: 96px !important;
	}
}

.single .hentry {
	margin-bottom: 0px;
}

.epa-arrow-right {
	padding-bottom: 5em;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjE4NTdweCIgaGVpZ2h0PSI4MDBweCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuMzc2NjQsLTAuMjY2ODM1LC0wLjE5MDI4OSwtMC45ODE3MjgsMjE2LjMyNCwxMTI3LjgyKSI+CiAgICAgICAgPHBhdGggZD0iTTIxLjY1NiwxMTM2LjhDMTUuOTE0LDExMzYuOCAxMC40MDYsMTEzNC41MiA2LjM0NCwxMTMwLjQ2QzIuMjgyLDExMjYuMzkgMCwxMTIwLjg5IDAsMTExNS4xNEMwLDg5Ni4zOTQgMTg2Ljk4LDczMS4yMTQgMzQ2LjUzLDY1Ni4yODRDNDM3LjYzOSw2MTIuOTY4IDUyMi4zOSw2MDUuNzQ5IDU5MS45OSw2MzMuOTA1TDU5MS45OTQsNjMzLjkwNUM1OTcuNzgzLDYzNi4yNTMgNjAzLjQyNCw2MzguOTU2IDYwOC44ODUsNjQxLjk5MUM3MjMuNTU1LDQwOC4zMDEgOTA3LjI4NSwyMTUuNTAxIDExMzUuMTcsODkuNzExQzExNDAuMjQsODYuNTEyIDExNDYuNCw4NS41NTUgMTE1Mi4xOSw4Ny4wNjdDMTE1Ny45OSw4OC41NzQgMTE2Mi45LDkyLjQxOCAxMTY1Ljc3LDk3LjY4QzExNjguNjIsMTAyLjk0MSAxMTY5LjE4LDEwOS4xNTMgMTE2Ny4zLDExNC44MzZDMTE2NS40MSwxMjAuNTIzIDExNjEuMjYsMTI1LjE3MiAxMTU1LjgyLDEyNy42ODRDOTMzLjAxOSwyNTAuMzQ0IDc1My44ODksNDM5LjI2NCA2NDMuMjQ5LDY2OC4yNzRDNjY2LjA4OSw2OTAuNDU4IDY4MS45OTEsNzE4LjgwMSA2ODkuMDIyLDc0OS44NTJDNjk4LjMxNSw3ODcuMDk4IDY4Ny45NzIsODI2LjUwOCA2NjEuNTg4LDg1NC4zOTJDNjQ5Ljc1Miw4NjcuOTQ3IDYzMy4xNTgsODc2LjQyNyA2MTUuMjQsODc4LjA3MkM1OTYuOTI4LDg3OS40MDcgNTc5LjI0OCw4NzEuMDg3IDU2OC42MDMsODU2LjEyN0M1NDguMDk5LDgyOC4xMTUgNTUwLjEyMyw3NzkuNzQ4IDU2Mi42ODUsNzQ2LjM5N0M1NzAuOTYzLDcyNC4zNTQgNTc5LjkxNSw3MDIuNiA1ODkuNTQsNjgxLjEzNUw1ODkuNTM2LDY4MS4xMzVDNTg0LjkxMSw2NzguMzI2IDU4MC4wODcsNjc1Ljg2NSA1NzUuMDk4LDY3My43NzFDNTAxLjg5NSw2NDQuMTczIDQyMC4xNjgsNjY5LjAwNiAzNjQuNTc4LDY5NS4yODNDMjE2Ljg2OCw3NjUuMDIxIDQzLjc0OCw5MTYuNjMzIDQzLjMxOCwxMTE1LjE2QzQzLjMxOCwxMTIwLjkgNDEuMDM3LDExMjYuNDEgMzYuOTc1LDExMzAuNDhDMzIuOTEyLDExMzQuNTQgMjcuNDA0LDExMzYuODIgMjEuNjU5LDExMzYuODJMMjEuNjU2LDExMzYuOFpNNjI0LjE4Niw3MTEuMjlDNjE2Ljk2Nyw3MjcuOTQyIDYxMC4xODIsNzQ0Ljc4NiA2MDMuODI3LDc2MS44MjVDNTk0LjcyOSw3ODUuOTM4IDU5NC44NzQsODE3Ljk5MyA2MDMuODI3LDgzMC42OTZMNjAzLjgzMSw4MzAuNjk2QzYwNS44MjMsODMzLjg2NCA2MDkuNTI2LDgzNS41MTYgNjEzLjIxNCw4MzQuODgzQzYyMC4wNTQsODMzLjYxOCA2MjYuMjA2LDgyOS45MjYgNjMwLjU0Miw4MjQuNDg4QzY0Ni45ODMsODA2Ljk0OSA2NTMuMzA0LDc4Mi4yMTUgNjQ3LjI4OCw3NTguOTM3QzY0My4yOTYsNzQxLjUxMSA2MzUuMzkzLDcyNS4yMTggNjI0LjE4Niw3MTEuMjg5TDYyNC4xODYsNzExLjI5WiIgc3R5bGU9ImZpbGw6cmdiKDMyLDMyLDMyKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuOTYwNDM3LC0wLjI3ODQ5NiwtMC4yNzg0OTYsLTAuOTYwNDM3LDcyMi40OTUsMTE1NC42MikiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDk0LjIsMjQ0LjU5QzEwODguODMsMjQ0LjY0NSAxMDgzLjYzLDI0Mi43MDMgMTA3OS42LDIzOS4xMzNDMTA3NS41OCwyMzUuNTY3IDEwNzMuMDQsMjMwLjYzMyAxMDcyLjQ1LDIyNS4yODlDMTA3MS44NiwyMTkuOTQ5IDEwNzMuMjksMjE0LjU3OCAxMDc2LjQ0LDIxMC4yMjdDMTA5Ny44MSwxNzkuOTA3IDExMTcuODgsMTQ4LjI4NiAxMTM2LjUxLDExNi4wODZMMTEzNi41LDExNi4wODZDMTA5MC44OSwxMjQuOTUzIDEwNDQuODEsMTMxLjE3MiA5OTguNDc0LDEzNC43MTVDOTkyLjcyOCwxMzUuMTUzIDk4Ny4wNDQsMTMzLjI5MyA5ODIuNjczLDEyOS41NDNDOTc4LjI5OCwxMjUuNzkzIDk3NS41OTUsMTIwLjQ2MSA5NzUuMTUzLDExNC43MTVDOTc0LjcxMiwxMDguOTczIDk3Ni41NzEsMTAzLjI4OSA5ODAuMzIxLDk4LjkxNEM5ODQuMDcxLDk0LjU0MyA5ODkuNDA3LDkxLjgzNiA5OTUuMTQ5LDkxLjM5OUMxMDU1LjEyLDg2Ljc4OSAxMTE0LjY1LDc3LjUxOSAxMTczLjE4LDYzLjY3NkMxMTc4LjU5LDYyLjM4MyAxMTg0LjI5LDYzLjIxOCAxMTg5LjEsNjYuMDE5QzExOTMuOTEsNjguODE2IDExOTcuNDYsNzMuMzU1IDExOTkuMDEsNzguNjk5QzEyMDAuNTYsODQuMDQzIDEyMDAsODkuNzgxIDExOTcuNDQsOTQuNzE5QzExNzIuMDMsMTQzLjM0IDExNDMuNDIsMTkwLjIyMyAxMTExLjgyLDIzNS4wNTlDMTEwNy44NSwyNDAuOTIzIDExMDEuMjgsMjQ0LjQ4MSAxMDk0LjIsMjQ0LjU4N0wxMDk0LjIsMjQ0LjU5WiIgc3R5bGU9ImZpbGw6cmdiKDMyLDMyLDMyKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgIDwvZz4KPC9zdmc+Cg==)
		no-repeat center 92% / auto 50px;
}

.epa-arrow-left {
	padding-bottom: 5em;
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjE4NTdweCIgaGVpZ2h0PSI4MDBweCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KC0xLjM3NjY0LC0wLjI2NjgzNSwwLjE5MDI4OSwtMC45ODE3MjgsMTYzOS42NywxMTI3LjgyKSI+CiAgICAgICAgPHBhdGggZD0iTTIxLjY1NiwxMTM2LjhDMTUuOTE0LDExMzYuOCAxMC40MDYsMTEzNC41MiA2LjM0NCwxMTMwLjQ2QzIuMjgyLDExMjYuMzkgMCwxMTIwLjg5IDAsMTExNS4xNEMwLDg5Ni4zOTQgMTg2Ljk4LDczMS4yMTQgMzQ2LjUzLDY1Ni4yODRDNDM3LjYzOSw2MTIuOTY4IDUyMi4zOSw2MDUuNzQ5IDU5MS45OSw2MzMuOTA1TDU5MS45OTQsNjMzLjkwNUM1OTcuNzgzLDYzNi4yNTMgNjAzLjQyNCw2MzguOTU2IDYwOC44ODUsNjQxLjk5MUM3MjMuNTU1LDQwOC4zMDEgOTA3LjI4NSwyMTUuNTAxIDExMzUuMTcsODkuNzExQzExNDAuMjQsODYuNTEyIDExNDYuNCw4NS41NTUgMTE1Mi4xOSw4Ny4wNjdDMTE1Ny45OSw4OC41NzQgMTE2Mi45LDkyLjQxOCAxMTY1Ljc3LDk3LjY4QzExNjguNjIsMTAyLjk0MSAxMTY5LjE4LDEwOS4xNTMgMTE2Ny4zLDExNC44MzZDMTE2NS40MSwxMjAuNTIzIDExNjEuMjYsMTI1LjE3MiAxMTU1LjgyLDEyNy42ODRDOTMzLjAxOSwyNTAuMzQ0IDc1My44ODksNDM5LjI2NCA2NDMuMjQ5LDY2OC4yNzRDNjY2LjA4OSw2OTAuNDU4IDY4MS45OTEsNzE4LjgwMSA2ODkuMDIyLDc0OS44NTJDNjk4LjMxNSw3ODcuMDk4IDY4Ny45NzIsODI2LjUwOCA2NjEuNTg4LDg1NC4zOTJDNjQ5Ljc1Miw4NjcuOTQ3IDYzMy4xNTgsODc2LjQyNyA2MTUuMjQsODc4LjA3MkM1OTYuOTI4LDg3OS40MDcgNTc5LjI0OCw4NzEuMDg3IDU2OC42MDMsODU2LjEyN0M1NDguMDk5LDgyOC4xMTUgNTUwLjEyMyw3NzkuNzQ4IDU2Mi42ODUsNzQ2LjM5N0M1NzAuOTYzLDcyNC4zNTQgNTc5LjkxNSw3MDIuNiA1ODkuNTQsNjgxLjEzNUw1ODkuNTM2LDY4MS4xMzVDNTg0LjkxMSw2NzguMzI2IDU4MC4wODcsNjc1Ljg2NSA1NzUuMDk4LDY3My43NzFDNTAxLjg5NSw2NDQuMTczIDQyMC4xNjgsNjY5LjAwNiAzNjQuNTc4LDY5NS4yODNDMjE2Ljg2OCw3NjUuMDIxIDQzLjc0OCw5MTYuNjMzIDQzLjMxOCwxMTE1LjE2QzQzLjMxOCwxMTIwLjkgNDEuMDM3LDExMjYuNDEgMzYuOTc1LDExMzAuNDhDMzIuOTEyLDExMzQuNTQgMjcuNDA0LDExMzYuODIgMjEuNjU5LDExMzYuODJMMjEuNjU2LDExMzYuOFpNNjI0LjE4Niw3MTEuMjlDNjE2Ljk2Nyw3MjcuOTQyIDYxMC4xODIsNzQ0Ljc4NiA2MDMuODI3LDc2MS44MjVDNTk0LjcyOSw3ODUuOTM4IDU5NC44NzQsODE3Ljk5MyA2MDMuODI3LDgzMC42OTZMNjAzLjgzMSw4MzAuNjk2QzYwNS44MjMsODMzLjg2NCA2MDkuNTI2LDgzNS41MTYgNjEzLjIxNCw4MzQuODgzQzYyMC4wNTQsODMzLjYxOCA2MjYuMjA2LDgyOS45MjYgNjMwLjU0Miw4MjQuNDg4QzY0Ni45ODMsODA2Ljk0OSA2NTMuMzA0LDc4Mi4yMTUgNjQ3LjI4OCw3NTguOTM3QzY0My4yOTYsNzQxLjUxMSA2MzUuMzkzLDcyNS4yMTggNjI0LjE4Niw3MTEuMjg5TDYyNC4xODYsNzExLjI5WiIgc3R5bGU9ImZpbGw6cmdiKDMyLDMyLDMyKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgIDwvZz4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KC0wLjk2MDQzNywtMC4yNzg0OTYsMC4yNzg0OTYsLTAuOTYwNDM3LDExMzMuNSwxMTU0LjYyKSI+CiAgICAgICAgPHBhdGggZD0iTTEwOTQuMiwyNDQuNTlDMTA4OC44MywyNDQuNjQ1IDEwODMuNjMsMjQyLjcwMyAxMDc5LjYsMjM5LjEzM0MxMDc1LjU4LDIzNS41NjcgMTA3My4wNCwyMzAuNjMzIDEwNzIuNDUsMjI1LjI4OUMxMDcxLjg2LDIxOS45NDkgMTA3My4yOSwyMTQuNTc4IDEwNzYuNDQsMjEwLjIyN0MxMDk3LjgxLDE3OS45MDcgMTExNy44OCwxNDguMjg2IDExMzYuNTEsMTE2LjA4NkwxMTM2LjUsMTE2LjA4NkMxMDkwLjg5LDEyNC45NTMgMTA0NC44MSwxMzEuMTcyIDk5OC40NzQsMTM0LjcxNUM5OTIuNzI4LDEzNS4xNTMgOTg3LjA0NCwxMzMuMjkzIDk4Mi42NzMsMTI5LjU0M0M5NzguMjk4LDEyNS43OTMgOTc1LjU5NSwxMjAuNDYxIDk3NS4xNTMsMTE0LjcxNUM5NzQuNzEyLDEwOC45NzMgOTc2LjU3MSwxMDMuMjg5IDk4MC4zMjEsOTguOTE0Qzk4NC4wNzEsOTQuNTQzIDk4OS40MDcsOTEuODM2IDk5NS4xNDksOTEuMzk5QzEwNTUuMTIsODYuNzg5IDExMTQuNjUsNzcuNTE5IDExNzMuMTgsNjMuNjc2QzExNzguNTksNjIuMzgzIDExODQuMjksNjMuMjE4IDExODkuMSw2Ni4wMTlDMTE5My45MSw2OC44MTYgMTE5Ny40Niw3My4zNTUgMTE5OS4wMSw3OC42OTlDMTIwMC41Niw4NC4wNDMgMTIwMCw4OS43ODEgMTE5Ny40NCw5NC43MTlDMTE3Mi4wMywxNDMuMzQgMTE0My40MiwxOTAuMjIzIDExMTEuODIsMjM1LjA1OUMxMTA3Ljg1LDI0MC45MjMgMTEwMS4yOCwyNDQuNDgxIDEwOTQuMiwyNDQuNTg3TDEwOTQuMiwyNDQuNTlaIiBzdHlsZT0iZmlsbDpyZ2IoMzIsMzIsMzIpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgPC9nPgo8L3N2Zz4K)
		no-repeat center bottom / auto 50px;
}

.epa-accordion .accordion-button,
.epa-accordion .accordion-button:hover,
.epa-accordion .accordion-body {
	background: #edf3f8 !important;
}

.epa-accordion .accordion-button {
	color: inherit !important;
	font-size: 22px !important;
	font-weight: inherit !important;
}
.epa-accordion .accordion-button:not(.collapsed) {
	color: inherit !important;
	font-size: 22px !important;
}

/* About page sidebar */
.tps-standard-page-content .page-sidebar #secondary {
	/*background: #eaf4fc;*/
	margin: 0;
	/*padding: 25px 26px 22px;*/
	width: 100%;
}

.tps-standard-page-content .page-sidebar #secondary .widget {
	margin: 0;
	padding: 0;
}

.tps-standard-page-content .page-sidebar #secondary .widget-title,
.tps-standard-page-content .page-sidebar #secondary .wp-block-heading {
	color: #16243d;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 17px;
}

.tps-standard-page-content .page-sidebar #secondary ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-standard-page-content .page-sidebar #secondary li {
	border-bottom: 1px solid #cfe0ec;
	margin: 0;
	padding: 0;
}

.tps-standard-page-content .page-sidebar #secondary li:last-child {
	border-bottom: 0;
}

.tps-standard-page-content .page-sidebar #secondary li a {
	align-items: center;
	border-bottom: 1px solid #d5e2f5;
	color: #16243d;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 0;
	text-decoration: none;
}

.tps-standard-page-content .page-sidebar #secondary li a::after {
	content: "\203a";
	flex: 0 0 auto;
	font-size: 25px;
	font-weight: 700;
	line-height: 1;
	margin-left: 16px;
	color: #8ea6c8;
	font-size: 16px;
}

.tps-standard-page-content .page-sidebar #secondary li.current-menu-item > a,
.tps-standard-page-content .page-sidebar #secondary li.current_page_item > a,
.tps-standard-page-content .page-sidebar #secondary li a:hover,
.tps-standard-page-content .page-sidebar #secondary li a:focus-visible {
	color: #0f6e56;
}

.tps-standard-page-content .page-sidebar #secondary li a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

@media (max-width: 991.98px) {
	.tps-standard-page-content .page-sidebar #secondary {
		margin-top: 32px;
	}
}

.page-sidebar #secondary {
	padding: 0;
}
.page-sidebar .widget_nav_menu {
	background-color: #e9f3fb;
	padding: 25px !important;
}
.page-sidebar #secondary.widget-area .widget-title {
	padding-bottom: 0px;
}

/* Latest from TPS shortcode in the About page sidebar */
.page-sidebar #secondary .tps-latest-from-tps {
	background: #fff;
	border: 1px solid #dce4eb;
	box-sizing: border-box;
	color: #17283c;
	margin-top: 28px;
	padding: 24px 25px 20px;
	width: 100%;
}

.page-sidebar #secondary .tps-latest-from-tps h2 {
	color: #16243d;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
}

.page-sidebar #secondary .tps-latest-from-tps-intro {
	color: #40516a;
	font-size: 18px;
	line-height: 1.55;
	margin: 0 0 26px;
}

.page-sidebar #secondary .tps-latest-from-tps-item {
	border-bottom: 1px solid #dce4eb;
	margin: 0;
	padding: 0 0 20px;
}

.page-sidebar #secondary .tps-latest-from-tps-item + .tps-latest-from-tps-item {
	padding-top: 23px;
}

.page-sidebar #secondary .tps-latest-from-tps-item:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.page-sidebar #secondary .tps-latest-from-tps-tag {
	color: #0f6e56;
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.2;
	margin-bottom: 11px;
	text-transform: uppercase;
}

.page-sidebar #secondary .tps-latest-from-tps h3 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 5px;
}

.page-sidebar #secondary .tps-latest-from-tps h3 a {
	color: #17283c;
	text-decoration: none;
}

.page-sidebar #secondary .tps-latest-from-tps h3 a:hover,
.page-sidebar #secondary .tps-latest-from-tps h3 a:focus-visible {
	color: #16243d;
	text-decoration: underline;
}

.page-sidebar #secondary .tps-latest-from-tps-meta {
	color: #5d6d82;
	font-size: 15px;
	line-height: 1.4;
	margin: 0;
}

@media (max-width: 991.98px) {
	.page-sidebar #secondary .tps-latest-from-tps {
		margin-top: 24px;
	}
}

/* Community links shortcode */
.tps-community-cards {
	display: grid;
	gap: 20px;
	/*max-width: 375px;*/
}

.tps-community-card {
	border: 1px solid #d8e3ec;
	box-sizing: border-box;
	padding: 24px 25px 22px;
}

.tps-community-card-primary {
	background: #eaf4fc;
}

.tps-community-card-institutions {
	background: #fff;
}

.tps-community-card h2 {
	color: #16243d;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
}

.tps-community-card > p {
	color: #40516a;
	font-size: 18px;
	line-height: 1.55;
	margin: 0 0 25px;
}

.tps-community-links {
	margin: 0;
}

.tps-community-links a {
	align-items: center;
	border-bottom: 1px solid #cfe0ec;
	color: #17283c;
	display: flex;
	font-size: 18px;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.3;
	min-height: 50px;
	padding: 12px 0;
	text-decoration: none;
}

.tps-community-links a:first-child {
	padding-top: 5px;
}

.tps-community-links a:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.tps-community-chevron {
	font-size: 25px;
	line-height: 1;
	margin-left: 16px;
}

.tps-community-links a:hover,
.tps-community-links a:focus-visible {
	color: #0f6e56;
}

.tps-community-links a:focus-visible,
.tps-community-institutions a:focus-visible {
	outline: 2px solid #0f6e56;
	outline-offset: 3px;
}

.tps-community-card-institutions > p {
	margin-bottom: 20px;
}

.tps-community-institutions {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tps-community-institutions a {
	align-items: center;
	border: 1px solid #cfe0ec;
	color: #16243d;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: 54px;
	padding: 8px;
	text-decoration: none;
}

.tps-community-institutions a:hover {
	background: #eaf4fc;
	border-color: #16243d;
}
.page-sidebar #block-13 a,
.page-sidebar #block-22 a,
.tps-transport-planning-day-membership a {
	color: #ffffff !important;
}
.page-sidebar #block-14 h3 {
	margin: 0 !important;
}
.regional-activity {
	background: #eaf4fc !important;
}
.professional-routes {
	background: #ffffff !important;
}
div#secondary li {
	list-style: none;
}
article.tps-latest-from-tps-item h3 {
	margin-bottom: 0 !important;
}
aside.tps-member-benefits.tps-latest-from-tps {
	background: #e9f3fb !important;
}
aside.tps-member-benefits.tps-latest-from-tps ul {
	padding-left: 20px !important;
}
aside.tps-member-benefits.tps-latest-from-tps li {
	border-bottom: none !important;
	list-style: square !important;
}
aside.tps-member-benefits.tps-latest-from-tps li::marker {
	color: #0f6e56;
}
aside.tps-member-benefits.tps-partner-benefits.tps-latest-from-tps {
	background: #fff !important;
}
.tps-latest-from-tps-tag.sidebar-viewall {
	text-transform: capitalize !important;
	font-size: 18px !important;
}
.tps-latest-from-tps-tag.sidebar-viewall a {
	color: #0f6e56 !important;
}
.tps-latest-from-tps-tag.sidebar-viewall a:hover {
	text-decoration: underline !important;
}
.tps-latest-from-tps-tag.sidebar-viewall a {
	color: #0f6e56 !important;
}
.tps-latest-from-tps-tag.sidebar-viewall.all-partners {
	margin-top: 20px;
}
aside.tps-latest-from-tps.regional-activity.policy-releted {
	background: #fff !important;
}
.development-useful-resources .tps-community-card.tps-community-card-primary {
	background: #fff;
}

/* ==========================================================================
   TPS 2026 homepage — literal port of the approved mockup `Home.dc.html`.

   Every value below is taken directly from the mockup's inline styles.
   Namespaced `tps-hp-` so no legacy homepage CSS applies. Used only by
   tpl-home.php. Mockup section order:
     Hero -> Why TPS -> TPS is supported by -> Member stories
     -> Latest news -> Upcoming events -> Latest job vacancies
   ========================================================================== */

/* --- Break out of the theme's bootstrap container so the hero can bleed
       full-width and our own 1200px container controls the measure. --- */
body.page-template-tpl-home #content.page-wrap {
	padding-top: 0;
}

body.page-template-tpl-home #content .content-wrapper.container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

body.page-template-tpl-home #content .content-wrapper > .row {
	--bs-gutter-x: 0;
	margin-left: 0;
	margin-right: 0;
}

body.page-template-tpl-home .tps-hp-col {
	flex: 0 0 100%;
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

/* --- Root --- */
.tps-hp {
	background: #ffffff;
	color: #16243d;
	font-family: Figtree, "Helvetica Neue", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

.tps-hp *,
.tps-hp *::before,
.tps-hp *::after {
	box-sizing: border-box;
}

/* mockup: max-width:1200px; margin:0 auto; padding:0 32px; */
.tps-hp-container {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0 32px;
	width: 100%;
}

/* mockup: padding:64px 0 0;  last section padding:64px 0 72px; */
.tps-hp-section {
	padding: 64px 0 0;
}

.tps-hp-section-last {
	padding: 64px 0 72px;
}

/* --- HERO — full-bleed photo, navy scrim, type knocked out. Matches
       Concept B (tps-homepage-B-standing-diary.html): background photo +
       image absolutely filling the section, a left-weighted gradient
       scrim so the headline stays readable over any photo, copy sits in
       the normal .tps-hp-container measure on top. --- */
.tps-hp-hero {
	background: #0e1a2e;
	overflow: hidden;
	position: relative;
}

.tps-hp-hero-bg {
	height: 100%;
	inset: 0;
	object-fit: cover;
	object-position: 62% 52%;
	position: absolute;
	width: 100%;
}

.tps-hp-hero-scrim {
	background: linear-gradient(
		100deg,
		rgba(14, 26, 46, 0.96) 0%,
		rgba(14, 26, 46, 0.88) 38%,
		rgba(14, 26, 46, 0.36) 66%,
		rgba(14, 26, 46, 0.12) 100%
	);
	inset: 0;
	position: absolute;
}

.tps-hp-hero-inner {
	padding: 72px 0;
	position: relative;
}

.tps-hp-hero-title {
	color: #ffffff;
	font-size: 48px;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.08;
	margin: 0;
	max-width: 15ch;
	text-wrap: pretty;
}

.tps-hp-hero-lede {
	color: #cbdaea;
	font-size: 19px;
	line-height: 1.6;
	margin: 18px 0 0;
	max-width: 46ch;
	text-wrap: pretty;
}

/* --- Buttons — mockup padding:15px 30px / 14px 28px, radius 6px --- */
.tps-hp-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.tps-hp-btn {
	border: 1.5px solid transparent;
	border-radius: 6px;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease;
}

.tps-hp-btn-sm {
	font-size: 15px;
	padding: 14px 28px;
}

.tps-hp-btn-primary {
	background: #0f6e56;
	border-color: #0f6e56;
	color: #ffffff;
}

.tps-hp-btn-primary:hover,
.tps-hp-btn-primary:focus {
	background: #0b5342;
	border-color: #0b5342;
	color: #ffffff;
}

.tps-hp-btn-ghost {
	background: #ffffff;
	border-color: #cbd9ee;
	color: #16243d;
}

.tps-hp-btn-ghost:hover,
.tps-hp-btn-ghost:focus {
	border-color: #0f6e56;
	color: #0f6e56;
}

/* --- Eyebrow — mockup 12px/700, 0.09em, uppercase, green --- */
.tps-hp-eyebrow {
	color: #0f6e56;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.09em;
	line-height: 1.3;
	margin-bottom: 14px;
	text-transform: uppercase;
}

/* --- Headings --- */
.tps-hp-h2 {
	color: #16243d;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
}

.tps-hp-h2-lg {
	font-size: 34px;
	line-height: 1.18;
	margin: 0 0 14px;
	max-width: 26ch;
	text-wrap: pretty;
}

.tps-hp-h2-stories {
	margin: 0 0 8px;
}

.tps-hp-h2-sm {
	color: #16243d;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 0 0 26px;
}

.tps-hp-intro {
	color: #52627a;
	font-size: 17px;
	line-height: 1.65;
	margin: 0 0 34px;
	max-width: 70ch;
	text-wrap: pretty;
}

.tps-hp-intro-stories {
	line-height: 1.6;
	margin: 0 0 26px;
	max-width: 62ch;
}

/* --- Section head with inline "View all" link --- */
.tps-hp-head {
	align-items: flex-end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 24px;
}

.tps-hp-textlink {
	align-items: center;
	color: #0f6e56;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	min-height: 44px;
	padding: 8px 0;
	text-decoration: none;
	white-space: nowrap;
}

.tps-hp-textlink:hover,
.tps-hp-textlink:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-hp-textlink-block {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	margin-top: 24px;
}

.tps-hp-empty {
	color: #5f6e83;
	font-size: 16px;
	margin: 0;
}

/* --- NEWS + DIARY — editorial news column (lead story + dated list)
       beside a sticky "Diary" panel (real month calendar, filter pills,
       upcoming-events list). The two columns deliberately have a
       different SHAPE (list vs. card), not just a different colour, so
       news and events stop reading as one undifferentiated feed — see
       tps-concept-b-implementation-notes.md §1. top:200px on the sticky
       column was measured against this theme's real fixed header, not
       copied from the mockup (its own header is a different height). --- */
.tps-hp-newsdiary {
	padding: 56px 0 0;
}

.tps-hp-newsdiary-grid {
	align-items: start;
	display: grid;
	gap: 56px;
	grid-template-columns: minmax(0, 1fr) 352px;
}

/* ----- News column ----- */
.tps-hp-news-col {
	min-width: 0;
}

.tps-hp-lead-story {
	display: block;
}

.tps-hp-lead-story-img {
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	display: block;
	object-fit: cover;
	width: 100%;
}

.tps-hp-lead-story-date {
	color: #5f6e83;
	font-size: 13.5px;
	font-weight: 600;
	margin: 18px 0 0;
}

.tps-hp-lead-story-title {
	font-size: 28px;
	line-height: 1.2;
	margin: 10px 0 12px;
}

.tps-hp-lead-story-title a {
	color: #16243d;
	text-decoration: none;
}

.tps-hp-lead-story-title a:hover,
.tps-hp-lead-story-title a:focus {
	color: #0f6e56;
}

.tps-hp-lead-story-excerpt {
	color: #52627a;
	line-height: 1.6;
	margin: 0;
	max-width: 40em;
}

.tps-hp-newslist {
	border-top: 2px solid #16243d;
	margin-top: 32px;
}

.tps-hp-newslist-item {
	align-items: baseline;
	border-bottom: 1px solid #e5e7eb;
	display: grid;
	gap: 20px;
	grid-template-columns: 108px minmax(0, 1fr);
	padding: 18px 0;
}

.tps-hp-newslist-item:last-child {
	border-bottom: 0;
}

.tps-hp-newslist-date {
	color: #5f6e83;
	font-size: 13.5px;
	font-weight: 600;
	margin: 0;
}

.tps-hp-newslist-title {
	font-size: 17.5px;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin: 0;
}

.tps-hp-newslist-title a {
	color: #16243d;
	text-decoration: none;
}

.tps-hp-newslist-title a:hover,
.tps-hp-newslist-title a:focus {
	color: #0f6e56;
}

/* ----- Diary column (sticky) ----- */
.tps-hp-diary-col {
	position: sticky;
	top: 200px;
}

.tps-hp-diary {
	background: #ffffff;
	border: 1.5px solid #e5e7eb;
	border-radius: 12px;
	overflow: hidden;
}

.tps-hp-diary-head {
	align-items: center;
	background: #16243d;
	display: flex;
	gap: 12px;
	justify-content: space-between;
	padding: 18px 20px;
}

.tps-hp-diary-head h2 {
	color: #ffffff;
	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.015em;
	margin: 0;
}

.tps-hp-diary-head a {
	color: #9ec2e8;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.tps-hp-diary-head a:hover,
.tps-hp-diary-head a:focus {
	color: #ffffff;
}

.tps-hp-diary-body {
	padding: 18px 20px 20px;
}

.tps-hp-diary-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 16px;
}

.tps-hp-pill {
	background: #ffffff;
	border: 1.5px solid #e5e7eb;
	border-radius: 999px;
	color: #52627a;
	cursor: pointer;
	font-size: 13px;
	font-weight: 600;
	padding: 6px 13px;
}

.tps-hp-pill:hover,
.tps-hp-pill:focus {
	border-color: #16243d;
	color: #16243d;
}

.tps-hp-pill[aria-pressed="true"] {
	background: #0f6e56;
	border-color: #0f6e56;
	color: #ffffff;
}

.tps-hp-diary-cal-top {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 12px;
}

.tps-hp-diary-cal-top h3 {
	color: #16243d;
	font-size: 17px;
	font-weight: 700;
	margin: 0;
}

.tps-hp-diary-cal-nav {
	display: flex;
	gap: 5px;
}

.tps-hp-diary-cal-nav button {
	align-items: center;
	background: #ffffff;
	border: 1.5px solid #e5e7eb;
	border-radius: 6px;
	color: #16243d;
	cursor: pointer;
	display: flex;
	height: 30px;
	justify-content: center;
	line-height: 1;
	width: 30px;
}

.tps-hp-diary-cal-nav button:hover,
.tps-hp-diary-cal-nav button:focus {
	border-color: #16243d;
}

.tps-hp-diary-dow {
	display: grid;
	gap: 3px;
	grid-template-columns: repeat(7, 1fr);
	margin-bottom: 4px;
}

.tps-hp-diary-dow span {
	color: #8797ad;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}

.tps-hp-diary-days {
	display: grid;
	gap: 3px;
	grid-template-columns: repeat(7, 1fr);
}

.tps-hp-diary-day {
	align-items: center;
	aspect-ratio: 1 / 1;
	background: #f7f9fc;
	border: 0;
	border-radius: 6px;
	color: #5c6b82;
	display: flex;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	justify-content: center;
	min-width: 0;
	padding: 0;
	width: 100%;
}

.tps-hp-diary-day.is-blank {
	background: transparent;
}

button.tps-hp-diary-day.has-events {
	background: #ffffff;
	box-shadow: inset 0 0 0 1.5px #0f6e56;
	color: #0f6e56;
	cursor: pointer;
	font-weight: 700;
}

button.tps-hp-diary-day.has-events:hover,
button.tps-hp-diary-day.has-events:focus {
	background: #dceae5;
}

button.tps-hp-diary-day.has-events[aria-pressed="true"] {
	background: #0f6e56;
	box-shadow: none;
	color: #ffffff;
}

.tps-hp-diary-day.is-today {
	box-shadow: inset 0 0 0 1.5px #9ec2e8;
}

button.tps-hp-diary-day.has-events.is-today {
	box-shadow: inset 0 0 0 1.5px #0f6e56;
}

.tps-hp-diary-scope {
	align-items: baseline;
	border-top: 1px solid #e5e7eb;
	color: #52627a;
	display: flex;
	flex-wrap: wrap;
	font-size: 13.5px;
	gap: 9px;
	margin: 18px 0 2px;
	padding-top: 16px;
}

.tps-hp-diary-scope b {
	color: #16243d;
	font-size: 15px;
}

.tps-hp-diary-scope button {
	background: none;
	border: 0;
	color: #0f6e56;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	margin-left: auto;
	padding: 0;
	text-decoration: underline;
}

.tps-hp-diary-evlist {
	margin-top: 6px;
}

.tps-hp-diary-ev {
	align-items: start;
	border-bottom: 1px solid #e5e7eb;
	display: grid;
	gap: 14px;
	grid-template-columns: 50px minmax(0, 1fr);
	padding: 14px 0;
}

.tps-hp-diary-ev:last-child {
	border-bottom: 0;
	padding-bottom: 4px;
}

.tps-hp-diary-ev-date {
	background: #eaf1fb;
	border-radius: 6px;
	padding: 6px 0 7px;
	text-align: center;
}

.tps-hp-diary-ev-date .n {
	color: #16243d;
	display: block;
	font-size: 19px;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	line-height: 1;
}

.tps-hp-diary-ev-date .m {
	color: #0f6e56;
	display: block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.09em;
	margin-top: 3px;
	text-transform: uppercase;
}

.tps-hp-diary-ev.is-next .tps-hp-diary-ev-date {
	background: #0f6e56;
}

.tps-hp-diary-ev.is-next .tps-hp-diary-ev-date .n {
	color: #ffffff;
}

.tps-hp-diary-ev.is-next .tps-hp-diary-ev-date .m {
	color: #bdf0df;
}

.tps-hp-diary-ev-name {
	color: #16243d;
	display: block;
	font-size: 15.5px;
	font-weight: 700;
	letter-spacing: -0.008em;
	line-height: 1.3;
	text-decoration: none;
}

.tps-hp-diary-ev-name:hover,
.tps-hp-diary-ev-name:focus {
	color: #0f6e56;
}

.tps-hp-diary-ev-meta {
	color: #52627a;
	font-size: 13.5px;
	margin-top: 4px;
}

.tps-hp-diary-tag {
	border-radius: 999px;
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 6px;
	padding: 2px 8px;
	text-transform: uppercase;
}

.tps-hp-diary-tag.is-tps {
	background: #dceae5;
	color: #0f6e56;
}

.tps-hp-diary-tag.is-sup {
	background: #eaf1fb;
	color: #31537f;
}

.tps-hp-diary-empty {
	color: #52627a;
	font-size: 14.5px;
	padding: 18px 0 6px;
}

.tps-hp-diary-empty b {
	color: #16243d;
	display: block;
	font-size: 15.5px;
	margin-bottom: 4px;
}

.tps-hp-diary-foot {
	background: #eaf1fb;
	border-top: 1px solid #e5e7eb;
	padding: 16px 20px;
}

.tps-hp-diary-foot p {
	color: #52627a;
	font-size: 14px;
	margin: 0 0 12px;
}

.tps-hp-diary-foot p.tps-hp-eyebrow {
	color: #0f6e56;
	font-size: 12px;
	letter-spacing: 0.09em;
	margin: 0 0 14px;
}

.tps-hp-diary-foot-news-item {
	border-bottom: 1px solid #e5e7eb;
	margin: 0 0 16px;
	padding-bottom: 16px;
}

.tps-hp-diary-foot-news-item:last-child {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.tps-hp-diary-foot p.tps-hp-diary-foot-news-date {
	color: #5f6e83;
	font-size: 12.5px;
	font-weight: 600;
	margin: 0 0 3px;
}

.tps-hp-diary-foot-news-title {
	font-size: 15px;
	line-height: 1.3;
	margin: 0 0 5px;
}

.tps-hp-diary-foot-news-title a {
	color: #16243d;
	text-decoration: none;
}

.tps-hp-diary-foot-news-title a:hover,
.tps-hp-diary-foot-news-title a:focus {
	color: #0f6e56;
}

.tps-hp-diary-foot p.tps-hp-diary-foot-news-excerpt {
	color: #52627a;
	font-size: 13px;
	line-height: 1.5;
	margin: 0;
}

/* --- WHY TPS — image left, copy right --- */
.tps-hp-why-grid {
	align-items: center;
	display: grid;
	gap: 48px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.tps-hp-why-img {
	border-radius: 10px;
	display: block;
	height: 320px;
	object-fit: cover;
	width: 100%;
}

.tps-hp-why-copy {
	color: #42536c;
	font-size: 17px;
	line-height: 1.7;
	margin: 0 0 26px;
	text-wrap: pretty;
}

/* --- Benefits strip — fills the space that used to sit empty in the
       Why TPS right-hand column (implementation notes §9: removing it
       reopens the "page feels empty" feedback). Hairline grid lines via
       a tinted background peeking through a 1px gap, same trick the
       mockup uses. Copy is generic pending real text from TPS. --- */
.tps-hp-benefits {
	background: #cbd9ee;
	border-top: 1px solid #cbd9ee;
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 40px;
}

.tps-hp-benefits div {
	background: #eaf1fb;
	padding: 22px 20px 20px;
}

.tps-hp-benefits b {
	color: #16243d;
	display: block;
	font-size: 16.5px;
	margin-bottom: 6px;
}

.tps-hp-benefits span {
	color: #42536c;
	display: block;
	font-size: 15px;
	line-height: 1.5;
	/* margin-bottom: 14px; */
	margin-top: auto;
	margin-bottom: auto;
}

.tps-hp-benefits-link {
	align-items: center;
	color: #0f6e56;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	gap: 5px;
	text-decoration: none;
	margin-top: 10px;
}

.tps-hp-benefits-link:hover,
.tps-hp-benefits-link:focus {
	color: #0b5342;
	text-decoration: underline;
}

/* --- Bands: negative margin cancels container padding so the tint
       spans the full 1200px measure (mockup: margin:64px -32px 0) --- */
.tps-hp-band {
	margin: 64px -32px 0;
}

.tps-hp-band-grey {
	background: #f7f9fc;
	padding: 48px 32px;
}

.tps-hp-band-blue {
	background: #eaf1fb;
	padding: 56px 32px 60px;
}

.tps-hp-band-mint {
	background: #e0ece8;
	padding: 48px 32px;
}

/* --- TPS is supported by — plain row, no tint or tile background, logos
       keep their original colours (a single-tint recolour would need
       real vector files to do safely — see implementation notes §8).
       Not a .tps-hp-band: it doesn't need full-bleed colour, only a
       divider top and bottom. --- */
.tps-hp-supporters {
	border-bottom: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	margin-top: 64px;
	padding: 40px 0;
}

.tps-hp-supporters-label {
	color: #52627a;
	font-size: 22px;
	font-weight: 700;
	margin: 0 0 20px;
	white-space: nowrap;
}

.tps-hp-supporters-logos {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 56px;
	justify-content: space-around;
}

.tps-hp-supporters-logos img {
	display: block;
	height: auto;
	max-height: 46px;
	max-width: 140px;
	opacity: 0.85;
	width: auto;
}

/* --- Member stories — bold pull-quote card. The mockup pairs a short
       "verdict" headline with a separate full quote; the real
       testimonial data only has one quote field, so it's shown once, in
       the bold treatment, rather than inventing a second paraphrase and
       presenting it as something the member said. --- */
.tps-hp-story-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
}

.tps-hp-story {
	display: flex;
	flex-direction: column;
}

.tps-hp-story-quote {
	color: #16243d;
	font-size: 16px;
	/* font-weight: 800; */
	letter-spacing: -0.018em;
	line-height: 1.25;
	margin: 0;
	text-wrap: pretty;
}

.tps-hp-story-rule {
	background: #0f6e56;
	border-radius: 3px;
	height: 4px;
	margin: 16px 0;
	width: 46px;
}

.tps-hp-story-who {
	font-size: 14.5px;
	line-height: 1.45;
	margin: auto 0 0;
}

.tps-hp-story-name {
	color: #16243d;
	display: block;
	font-size: 15.5px;
	font-weight: 700;
}

/* --- Shared 3-up card grid (news + events) --- */
.tps-hp-card-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}

/* --- News cards --- */
.tps-hp-news {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow: hidden;
	padding: 0 0 22px;
	text-decoration: none;
	transition: border-color 0.18s ease;
}

.tps-hp-news:hover,
.tps-hp-news:focus {
	border-color: #0f6e56;
	color: inherit;
}

.tps-hp-news-img {
	display: block;
	height: 180px;
	object-fit: cover;
	width: 100%;
}

.tps-hp-news-date {
	color: #6b7889;
	font-size: 14px;
	padding: 0 22px;
}

.tps-hp-news-title {
	color: #16243d;
	display: -webkit-box;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	overflow: hidden;
	padding: 0 22px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tps-hp-news-excerpt {
	color: #5f6e83;
	display: -webkit-box;
	font-size: 15px;
	line-height: 1.55;
	overflow: hidden;
	padding: 0 22px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.tps-hp-news-cat {
	align-items: center;
	color: #6b7889;
	display: flex;
	font-size: 13px;
	gap: 8px;
	margin: 0 22px;
	margin-top: auto;
}

.tps-hp-pill {
	background: #dceae5;
	border-radius: 100px;
	color: #0f6e56;
	font-weight: 700;
	padding: 6px 14px;
}

/* --- Event cards (on the pale blue band) --- */
.tps-hp-event {
	background: #ffffff;
	border: 1.5px solid #ffffff;
	border-radius: 8px;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 12px;
	overflow: hidden;
	padding: 0 0 24px;
	text-decoration: none;
	transition: border-color 0.18s ease;
}

.tps-hp-event:hover,
.tps-hp-event:focus {
	border-color: #0f6e56;
	color: inherit;
}

.tps-hp-event-img {
	display: block;
	height: 170px;
	object-fit: cover;
	width: 100%;
}

.tps-hp-event-when {
	color: #0f6e56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	padding: 0 24px;
	text-transform: uppercase;
}

.tps-hp-event-where {
	color: #5f6e83;
	font-size: 15px;
	padding: 0 24px;
}

.tps-hp-event-title {
	color: #16243d;
	display: -webkit-box;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	overflow: hidden;
	padding: 0 24px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/* --- Job vacancy rows --- */
.tps-hp-jobs-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tps-hp-job-card {
	background: #ffffff;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	padding: 22px;
}

.tps-hp-job-emp {
	color: #0f6e56;
	font-size: 13.5px;
	font-weight: 700;
	margin: 0;
}

.tps-hp-job-card-title {
	font-size: 17.5px;
	line-height: 1.28;
	margin: 8px 0 12px;
}

.tps-hp-job-card-title a {
	color: #16243d;
	text-decoration: none;
}

.tps-hp-job-card-title a:hover,
.tps-hp-job-card-title a:focus {
	color: #0f6e56;
}

.tps-hp-job-dl {
	color: #5f6e83;
	display: grid;
	font-size: 14.5px;
	gap: 4px 12px;
	grid-template-columns: auto 1fr;
	margin: 0 0 18px;
}

.tps-hp-job-dl dt {
	color: #7c8ba1;
}

.tps-hp-job-dl dd {
	margin: 0;
}

.tps-hp-job-card-cta {
	color: #0f6e56;
	font-size: 14.5px;
	font-weight: 700;
	margin-top: auto;
}

/* --- Responsive (mockup is a desktop spec; these keep it sane below it).
       The 1060px breakpoint is carried over verbatim from the mockup's
       own CSS (tps-homepage-B-standing-diary.html) — it's the point
       where the diary column drops out of the sticky sidebar and moves
       above the news list instead (implementation notes §1: do not turn
       it into a plain full-width section below the news, only reorder
       it above). --- */
@media (max-width: 1060px) {
	.tps-hp-newsdiary-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.tps-hp-diary-col {
		max-width: 430px;
		order: -1;
		position: static;
	}

	.tps-hp-jobs-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tps-hp-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1024px) {
	.tps-hp-hero-title {
		font-size: 40px;
	}

	.tps-hp-why-grid {
		gap: 32px;
	}
}

@media (max-width: 860px) {
	.tps-hp-container {
		padding: 0 20px;
	}

	.tps-hp-hero-inner {
		padding: 44px 0;
	}

	.tps-hp-hero-title {
		font-size: 34px;
		max-width: none;
	}

	.tps-hp-hero-lede {
		font-size: 17px;
	}

	/* Diagonal scrim reads oddly once the photo crop narrows; switch to
       a vertical fade like the mockup's own 860px override. */
	.tps-hp-hero-scrim {
		background: linear-gradient(
			180deg,
			rgba(14, 26, 46, 0.72) 0%,
			rgba(14, 26, 46, 0.93) 55%
		);
	}

	.tps-hp-newsdiary {
		padding-top: 40px;
	}

	.tps-hp-newsdiary-grid {
		gap: 36px;
	}

	.tps-hp-newslist-item {
		gap: 6px;
		grid-template-columns: minmax(0, 1fr);
	}

	.tps-hp-section {
		padding: 48px 0 0;
	}

	.tps-hp-section-last {
		padding: 48px 0 56px;
	}

	.tps-hp-h2 {
		font-size: 26px;
	}

	.tps-hp-h2-lg {
		font-size: 28px;
		max-width: none;
	}

	.tps-hp-why-grid {
		gap: 24px;
		grid-template-columns: minmax(0, 1fr);
	}

	.tps-hp-why-img {
		height: 260px;
	}

	.tps-hp-benefits {
		margin-top: 28px;
	}

	.tps-hp-band {
		margin: 48px -20px 0;
	}

	.tps-hp-band-grey {
		padding: 36px 20px;
	}

	.tps-hp-band-blue {
		padding: 40px 20px 44px;
	}

	.tps-hp-band-mint {
		padding: 36px 20px;
	}

	.tps-hp-supporters {
		margin-top: 48px;
		padding: 32px 0;
	}

	.tps-hp-supporters-logos {
		gap: 28px 36px;
		justify-content: flex-start;
	}

	.tps-hp-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
}

@media (max-width: 575.98px) {
	.tps-hp-btn {
		flex: 1 1 100%;
	}

	.tps-hp-hero-title {
		font-size: 30px;
	}

	.tps-hp-jobs-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
/* ===================== end TPS 2026 homepage block ===================== */

/* ==========================================================================
   TPS 2026 shared content-page chrome — ported from the page mockups
   (Member Benefits / Grades and Fees / Awards and Bursary / Board and
   Governance / Regional Groups / TPP and CTPP / TPS PDS / Active Travel /
   Decarbonisation and Climate / Public Transport and Freight / Degree
   Apprenticeship / TPTech / Renew Your Membership — all share this chrome).

   Structure: breadcrumb -> page head (h1 + lede + rule) -> banner image
   -> body grid minmax(0,1fr) + 340px sticky sidebar.
   Rendered by page.php. Appended last so it wins ties over the legacy rules.
   ========================================================================== */

/* --- 1200px measure, per every mockup --- */
.breadcrumb-box > .container,
.tps-standard-page > .tps-standard-page-hero > .container,
.tps-standard-page > .tps-standard-page-content > .container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}

.tps-standard-page {
	padding: 0 0 0;
}

/* --- Breadcrumb: 13px, muted, green bold links --- */
.breadcrumb-box {
	background: transparent;
}

.breadcrumb-box .row,
.breadcrumb-box .col {
	margin: 0;
	padding: 0;
}

.tps-standard-page-hero + .tps-standard-page-content,
.breadcrumb-box .tps-breadcrumb {
	background: transparent;
}

.tps-breadcrumb {
	align-items: center;
	color: #7b8798;
	display: flex;
	flex-wrap: wrap;
	font-size: 13px;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 22px 0 0;
}

.tps-breadcrumb .breadcrumb-item {
	align-items: center;
	display: flex;
	gap: 10px;
	padding: 0;
}

.tps-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
	color: #c3cad4;
	content: "\203A";
	float: none;
	font-size: 13px;
	padding: 0;
	display: flex;
	align-items: center;
	margin-bottom: auto;
	margin-top: auto;
	line-height: normal;
}

.tps-breadcrumb .breadcrumb-item a {
	color: #0f6e56;
	font-weight: 600;
	text-decoration: none;
}

.tps-breadcrumb .breadcrumb-item a:hover,
.tps-breadcrumb .breadcrumb-item a:focus {
	color: #0b5342;
	text-decoration: underline;
}

.tps-breadcrumb .breadcrumb-item.active {
	color: #7b8798;
}

/* --- Page head --- */
.tps-page-head {
	border-bottom: 1px solid #eceef1;
	/* padding: 26px 0 40px; */
	padding: 15px 0 15px;
}

.tps-standard-page .tps-standard-page-title {
	color: #16243d;
	font-size: 46px;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.08;
	margin: 0 0 18px;
	max-width: 24ch;
	text-wrap: pretty;
}

.tps-page-lede {
	color: #52627a;
	font-size: 20px;
	line-height: 1.55;
	margin: 0;
	max-width: 62ch;
	text-wrap: pretty;
}

.tps-page-head > *:last-child {
	margin-bottom: 0;
}

/* --- Banner image: 340px cover, radius 10 --- */
.tps-standard-page .tps-standard-page-image {
	border-radius: 10px;
	margin: 15px 0 0;
	overflow: hidden;
	width: 100%;
}

.tps-standard-page .tps-standard-page-image img {
	border-radius: 10px;
	display: block;
	height: 340px;
	object-fit: cover;
	width: 100%;
}

/* --- Body grid --- */
.tps-standard-page .tps-standard-page-content {
	padding-top: 0;
}

.tps-page-body {
	align-items: start;
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(0, 1fr) 340px;
	padding: 25px 0 72px;
}

.tps-standard-page .tps-standard-page-copy {
	color: #52627a;
	font-size: 17px;
	line-height: 1.6;
	max-width: none;
	min-width: 0;
}

.tps-standard-page .tps-standard-page-copy > * + * {
	margin-top: 20px;
}

.tps-standard-page .tps-standard-page-copy p,
.tps-standard-page .tps-standard-page-copy li {
	color: #52627a;
	font-size: 17px;
	line-height: 1.6;
}

.tps-standard-page .tps-standard-page-copy h2 {
	color: #16243d;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 44px 0 8px;
}

.tps-standard-page .tps-standard-page-copy h3 {
	color: #16243d;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
	margin: 32px 0 8px;
}

.tps-standard-page .tps-standard-page-copy > *:first-child {
	margin-top: 0;
}

.tps-standard-page .tps-standard-page-copy a {
	color: #0f6e56 !important;
	font-weight: 600;
	background: inherit !important;
}

.tps-standard-page .tps-standard-page-copy a:hover,
.tps-standard-page .tps-standard-page-copy a:focus {
	color: #0b5342 !important;
	text-decoration: underline;
}

.tps-standard-page .tps-standard-page-copy img {
	border-radius: 8px;
	height: auto;
	max-width: 100%;
}

/* --- Sidebar: sticky stack of cards --- */
.tps-standard-page .page-sidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
	position: sticky;
	/* Clear the fixed header (its height is published as a CSS variable). */
	top: calc(var(--tps-sticky-header-height, 154px) + 24px);
	width: 100%;
}

@media (min-width: 992px) {
	/* A sidebar taller than the screen scrolls inside itself rather than
	   having its bottom cut off while it is stuck. */
	.tps-standard-page .page-sidebar {
		max-height: calc(100vh - var(--tps-sticky-header-height, 154px) - 48px);
		overflow-y: auto;
		/* Still scrolls (wheel, trackpad, touch, keyboard) but with no visible
		   scrollbar track. */
		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.tps-standard-page .page-sidebar::-webkit-scrollbar {
		display: none;
		width: 0;
		height: 0;
	}
}

.tps-standard-page .page-sidebar .widget-area {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.tps-standard-page .page-sidebar .widget {
	margin: 0;
	padding: 0;
}

/* Section-nav card (pale blue), per the mockup's sidebar nav */
.tps-standard-page .page-sidebar .widget_nav_menu {
	background: #eaf1fb;
	border-radius: 8px;
	padding: 26px 24px;
}

.tps-standard-page .page-sidebar .widget_nav_menu .widgettitle,
.tps-standard-page .page-sidebar .widget_nav_menu h2 {
	color: #16243d;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 16px;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li {
	margin: 0;
	padding: 0;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li > a {
	align-items: center;
	border-bottom: 1px solid #d5e2f5;
	color: #16243d;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 0;
	text-decoration: none;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li > a::after {
	color: #8ea6c8;
	content: "\203A";
	font-size: 16px;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li:last-child > a {
	border-bottom: 0;
}

.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li > a:hover,
.tps-standard-page .page-sidebar .widget_nav_menu ul.menu li > a:focus {
	color: #0f6e56;
}

.tps-standard-page
	.page-sidebar
	.widget_nav_menu
	ul.menu
	li.current-menu-item
	> a,
.tps-standard-page
	.page-sidebar
	.widget_nav_menu
	ul.menu
	li.current_page_item
	> a {
	color: #0f6e56;
	font-weight: 700;
}

.tps-standard-page
	.page-sidebar
	.widget_nav_menu
	ul.menu
	li.current-menu-item
	> a::after,
.tps-standard-page
	.page-sidebar
	.widget_nav_menu
	ul.menu
	li.current_page_item
	> a::after {
	color: #0f6e56;
}

/* Hide the parent theme's dropdown carets inside the sidebar nav */
.tps-standard-page .page-sidebar .widget_nav_menu .sydney-dropdown-toggle,
.tps-standard-page .page-sidebar .widget_nav_menu .dropdown-symbol {
	display: none;
}

/* --- Reusable content patterns from the mockups --- */

/* Objective / callout: green left rule on a grey field */
.tps-callout {
	background: #f5f6f8;
	border-left: 4px solid #0f6e56;
	padding: 24px 28px;
}

.tps-callout p {
	color: #16243d;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.55;
	margin: 0;
	text-wrap: pretty;
}

/* "We do this by" — centred icon row */
.tps-icon-row {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tps-icon-row > * {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-align: center;
	align-items: flex-start;
	background: #f5f6f8;
	border-radius: 8px;
	display: flex;
	gap: 18px;
	padding: 22px 24px;
}

.tps-icon-badge {
	align-items: center;
	background: #dceae5;
	border-radius: 50%;
	display: flex;
	flex: 0 0 auto;
	height: 46px;
	justify-content: center;
	width: 46px;
}

.tps-icon-row .tps-icon-label {
	color: #334869;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

/* "Why this matters" — detail card grid */
.tps-detail-grid {
	display: grid;
	gap: 16px;
	/* grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); */
}

.tps-detail-card {
	align-items: flex-start;
	background: #f5f6f8;
	border-radius: 8px;
	display: block;
	gap: 18px;
	padding: 22px 24px;
}

.tps-detail-card .tps-icon-badge {
	height: 44px;
	width: 44px;
}

.tps-detail-card-title {
	color: #16243d;
	display: block;
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 6px;
}

.tps-detail-card-text {
	color: #5f6e83;
	display: block;
	font-size: 15px;
	line-height: 1.5;
}

/* Professional Development — "Transport Planning Pathways" (client feedback,
   Sep 2026). The three TPS qualifications stay one emphasised row of three;
   Degrees and Training sit in a smaller row below so they read as supporting
   the pathway rather than as alternative routes alongside it. Both reuse the
   base .tps-detail-grid / .tps-detail-card pattern -- these are additive
   modifiers, scoped so other pages using the bare pattern are unaffected. */
.tps-detail-grid--row-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tps-detail-grid--row-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 24px;
	max-width: 620px;
}

.tps-detail-grid--row-3 .tps-detail-card,
.tps-detail-grid--row-2 .tps-detail-card {
	display: flex;
	flex-direction: column;
}

.tps-detail-grid--row-3 .tps-detail-card .tps-icon-badge,
.tps-detail-grid--row-2 .tps-detail-card .tps-icon-badge {
	margin-bottom: 4px;
}

@media (max-width: 767.98px) {
	.tps-detail-grid--row-3,
	.tps-detail-grid--row-2 {
		grid-template-columns: 1fr;
	}

	.tps-detail-grid--row-2 {
		max-width: none;
	}
}

/* Definition rows ("Included with each grade") */
.tps-def-rows {
	display: flex;
	flex-direction: column;
}

.tps-def-row {
	border-top: 1px solid #eceef1;
	display: grid;
	gap: 24px;
	grid-template-columns: 170px minmax(0, 1fr);
	padding: 20px 0;
}

.tps-def-row:last-child {
	border-bottom: 1px solid #eceef1;
}

.tps-def-row > :first-child {
	color: #16243d;
	font-size: 16px;
	font-weight: 700;
}

.tps-def-row > :last-child {
	color: #52627a;
	font-size: 16px;
	line-height: 1.6;
}

/* Inline CTA banner */
.tps-cta-banner {
	align-items: center;
	background: #f5f6f8;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: space-between;
	padding: 22px 26px;
}

.tps-cta-banner-btn {
	background: #0f6e56;
	border-radius: 6px;
	color: #ffffff;
	flex: 0 0 auto;
	font-size: 15px;
	font-weight: 700;
	padding: 14px 26px;
	text-decoration: none;
}

.tps-cta-banner-btn:hover,
.tps-cta-banner-btn:focus {
	background: #0b5342;
	color: #ffffff;
}

/* Image caption */
.tps-figure-caption {
	color: #6b7889;
	font-size: 13px;
	line-height: 1.5;
	margin: 14px 0 0;
}

/* --- Responsive --- */
@media (max-width: 991.98px) {
	.tps-page-body {
		gap: 40px;
		grid-template-columns: minmax(0, 1fr);
		padding: 36px 0 56px;
	}

	.tps-standard-page .page-sidebar {
		position: static;
		top: auto;
	}

	.tps-standard-page .tps-standard-page-title {
		font-size: 36px;
		max-width: none;
	}

	.tps-page-lede {
		font-size: 18px;
	}

	.tps-standard-page .tps-standard-page-image img {
		height: 260px;
	}
}

@media (max-width: 575.98px) {
	.breadcrumb-box > .container,
	.tps-standard-page > .tps-standard-page-hero > .container,
	.tps-standard-page > .tps-standard-page-content > .container {
		padding-left: 20px;
		padding-right: 20px;
	}

	.tps-standard-page .tps-standard-page-title {
		font-size: 30px;
	}

	.tps-page-head {
		padding: 18px 0 28px;
	}

	.tps-def-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}
}
/* ============== end TPS 2026 shared content-page chrome ============== */

/* Pin the two body columns explicitly. Page content is author-edited and one
   page currently has an unbalanced </div>; without this, a stray tag can push
   the sidebar into a new grid row. */
.tps-page-body > .tps-standard-page-copy {
	grid-column: 1;
	grid-row: 1;
}

.tps-page-body > .page-sidebar {
	grid-column: 2;
	grid-row: 1;
}

@media (max-width: 991.98px) {
	.tps-page-body > .tps-standard-page-copy,
	.tps-page-body > .page-sidebar {
		grid-column: 1;
		grid-row: auto;
	}
}

/* ==========================================================================
   TPS 2026 archive/listing patterns — ported from News.dc.html (and shared by
   the Events and Jobs listings). Filter pills, pale-blue lead card, wide rows,
   pagination, and the mockup's sidebar cards.
   ========================================================================== */

.tps-page-body > .tps-archive-main {
	display: flex;
	flex-direction: column;
	gap: 28px;
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
}

@media (max-width: 991.98px) {
	.tps-page-body > .tps-archive-main {
		grid-column: 1;
		grid-row: auto;
	}
}

/* --- Filter pills --- */
.tps-filter-pills {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tps-filter-pill {
	background: #f5f6f8;
	border-radius: 100px;
	color: #334869;
	font-size: 14px;
	font-weight: 600;
	padding: 9px 18px;
	text-decoration: none;
}

.tps-filter-pill:hover,
.tps-filter-pill:focus {
	background: #eaf1fb;
	color: #334869;
}

.tps-filter-pill.is-active {
	background: #0f6e56;
	color: #ffffff;
}

/* --- Lead card --- */
.tps-lead-card {
	background: #eaf1fb;
	border-radius: 8px;
	color: inherit;
	display: block;
	overflow: hidden;
	text-decoration: none;
}

.tps-lead-card:hover,
.tps-lead-card:focus {
	color: inherit;
}

.tps-lead-card-media {
	aspect-ratio: 16 / 7;
	background: #d7e3f5;
	display: block;
	overflow: hidden;
}

.tps-lead-card-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tps-lead-card-body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 32px;
}

.tps-lead-card-eyebrow {
	color: #0f6e56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tps-lead-card-title {
	color: #16243d;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.18;
	max-width: 28ch;
	text-wrap: pretty;
}

.tps-lead-card-text {
	color: #42536c;
	font-size: 17px;
	line-height: 1.6;
	max-width: 66ch;
	text-wrap: pretty;
}

.tps-lead-card-cta {
	color: #0f6e56;
	font-size: 15px;
	font-weight: 700;
	margin-top: 6px;
}

.tps-lead-card:hover .tps-lead-card-cta {
	text-decoration: underline;
}

/* --- Wide rows (shared with the homepage jobs pattern) --- */
.tps-row-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tps-row {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: inherit;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 24px 26px;
	text-decoration: none;
	transition: border-color 0.18s ease;
}

.tps-row:hover,
.tps-row:focus {
	border-color: #0f6e56;
	color: inherit;
}

.tps-row-main {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.tps-row-eyebrow {
	color: #0f6e56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}

.tps-row-title {
	color: #16243d;
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
}

.tps-row-text {
	color: #5f6e83;
	font-size: 15px;
	line-height: 1.55;
}

.tps-row-cta {
	color: #0f6e56;
	font-size: 15px;
	font-weight: 700;
	white-space: nowrap;
}

.tps-row-media {
	background: #eef1f5;
	border-radius: 6px;
	display: block;
	height: 88px;
	overflow: hidden;
	width: 88px;
}

.tps-row-media img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

@media (min-width: 700px) {
	.tps-row.has-media {
		grid-template-columns: 88px minmax(0, 1fr) auto;
	}
}

.tps-archive-empty {
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: #5f6e83;
	font-size: 16px;
	margin: 0;
	padding: 28px;
}

/* --- Pagination --- */
.tps-pagination {
	align-items: center;
	border-top: 1px solid #eceef1;
	display: grid;
	gap: 16px;
	grid-template-columns: 1fr auto 1fr;
	margin-top: 14px;
	padding-top: 28px;
}

.tps-pagination-nav {
	align-items: center;
	background: #fff;
	border: 2px solid #d0d5dd;
	border-radius: 8px;
	color: #344054;
	display: inline-flex;
	font-size: 15px;
	font-weight: 700;
	gap: 8px;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	padding: 10px 16px;
	text-decoration: none;
}

.tps-pagination-nav:hover,
.tps-pagination-nav:focus {
	border-color: #0f6e56;
	color: #0f6e56;
}

.tps-pagination-nav.is-disabled {
	opacity: 0.45;
	pointer-events: none;
}

.tps-pagination-prev {
	justify-self: start;
}

.tps-pagination-next {
	justify-self: end;
}

.tps-pagination-pages {
	align-items: center;
	display: flex;
	gap: 8px;
	justify-content: center;
}

.tps-page-number {
	align-items: center;
	border-radius: 8px;
	color: #344054;
	display: inline-flex;
	font-size: 14px;
	height: 44px;
	justify-content: center;
	min-width: 44px;
	padding: 0 10px;
	text-decoration: none;
}

.tps-page-number:hover,
.tps-page-number:focus {
	background: #f5f6f8;
	color: #0f6e56;
}

.tps-page-number.current {
	background: #0f6e56;
	color: #ffffff;
	font-weight: 700;
}

.tps-page-dots {
	align-items: center;
	color: #344054;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	min-width: 34px;
}

/* --- Sidebar cards (static, for archives with no widget area) --- */
.tps-side-card {
	background: #eaf1fb;
	border-radius: 8px;
	padding: 26px 24px;
}

.tps-side-card-title {
	color: #16243d;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 16px;
}

.tps-side-card-title-sm {
	color: #16243d;
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 10px;
}

.tps-side-card-text {
	color: #334869;
	font-size: 15px;
	line-height: 1.5;
	margin: 0 0 16px;
}

.tps-side-card-btn {
	background: #0f6e56;
	border-radius: 6px;
	color: #ffffff;
	display: inline-block;
	font-size: 15px;
	font-weight: 700;
	padding: 12px 22px;
	text-decoration: none;
}

.tps-side-card-btn:hover,
.tps-side-card-btn:focus {
	background: #0b5342;
	color: #ffffff;
}

.tps-side-links {
	display: flex;
	flex-direction: column;
}

.tps-side-links > a {
	align-items: center;
	border-bottom: 1px solid #d5e2f5;
	color: #16243d;
	display: flex;
	font-size: 15px;
	font-weight: 600;
	gap: 12px;
	justify-content: space-between;
	padding: 12px 0;
	text-decoration: none;
}

.tps-side-links > a:last-child {
	border-bottom: 0;
}

.tps-side-links > a > span:last-child {
	color: #8ea6c8;
	font-size: 16px;
}

.tps-side-links > a:hover,
.tps-side-links > a:focus {
	color: #0f6e56;
}

.tps-side-links > a.is-current {
	color: #0f6e56;
	font-weight: 700;
}

.tps-side-links > a.is-current > span:last-child {
	color: #0f6e56;
}

.tps-side-linkedin {
	align-items: center;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	color: inherit;
	display: flex;
	gap: 14px;
	padding: 18px 20px;
	text-decoration: none;
}

.tps-side-linkedin:hover,
.tps-side-linkedin:focus {
	border-color: #0f6e56;
	color: inherit;
}

.tps-side-linkedin-mark {
	align-items: center;
	background: #0a66c2;
	border-radius: 4px;
	color: #ffffff;
	display: flex;
	flex: 0 0 auto;
	font-size: 15px;
	font-weight: 700;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.tps-side-linkedin-copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.tps-side-linkedin-title {
	color: #16243d;
	font-size: 15px;
	font-weight: 700;
}

.tps-side-linkedin-text {
	color: #6b7889;
	font-size: 13px;
}

/* --- Sidebar "news" card (e.g. Latest Skills News on the PDS page) --- */
.tps-side-card-news {
	display: flex;
	flex-direction: column;
}

.tps-side-news-list {
	display: flex;
	flex-direction: column;
}

.tps-side-news-list > a {
	border-bottom: 1px solid #d5e2f5;
	color: #16243d;
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	padding: 12px 0;
	text-decoration: none;
}

.tps-side-news-list > a:first-child {
	padding-top: 0;
}

.tps-side-news-list > a:last-child {
	border-bottom: 0;
}

.tps-side-news-list > a:hover,
.tps-side-news-list > a:focus {
	color: #0f6e56;
}

.tps-side-news-viewall {
	color: #0f6e56;
	display: inline-block;
	font-size: 15px;
	font-weight: 700;
	margin-top: 4px;
	text-decoration: none;
}

.tps-side-news-viewall:hover,
.tps-side-news-viewall:focus {
	text-decoration: underline;
}

@media (max-width: 699.98px) {
	.tps-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.tps-row-cta {
		justify-self: start;
	}

	.tps-lead-card-body {
		padding: 24px;
	}

	.tps-lead-card-title {
		font-size: 24px;
		max-width: none;
	}

	.tps-pagination {
		grid-template-columns: 1fr;
	}

	.tps-pagination-prev,
	.tps-pagination-next {
		justify-self: center;
	}

	.tps-pagination-pages {
		flex-wrap: wrap;
		order: -1;
	}
}
/* ================ end TPS 2026 archive/listing patterns ================ */

/* ===== Events archive: featured card, month calendar, date-block rows ===== */
.tps-filter-pill-clear {
	background: #eaf1fb;
	color: #0f6e56;
}

/* --- Featured event card --- */
.tps-event-feature {
	align-items: center;
	background: #eaf1fb;
	border-radius: 8px;
	color: inherit;
	display: grid;
	gap: 32px;
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
	padding: 30px 32px;
	text-decoration: none;
}

.tps-event-feature:hover,
.tps-event-feature:focus {
	color: inherit;
}

.tps-event-feature-copy {
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
}

.tps-event-feature-eyebrow {
	color: #0f6e56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tps-event-feature-title {
	color: #16243d;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	text-wrap: pretty;
}

.tps-event-feature-text {
	color: #42536c;
	font-size: 16px;
	line-height: 1.6;
}

.tps-event-feature-panel {
	background: #ffffff;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px;
}

.tps-event-feature-date {
	color: #16243d;
	font-size: 15px;
	font-weight: 700;
}

.tps-event-feature-meta {
	color: #5f6e83;
	font-size: 14px;
}

.tps-event-feature-cta {
	color: #0f6e56;
	font-size: 15px;
	font-weight: 700;
	margin-top: 6px;
}

.tps-event-feature:hover .tps-event-feature-cta {
	text-decoration: underline;
}

/* --- Month calendar --- */
.tps-event-calendar-head {
	align-items: flex-end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 18px;
}

.tps-event-calendar-head h2 {
	color: #16243d;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
}

.tps-event-calendar-nav {
	align-items: center;
	display: flex;
	gap: 8px;
}

.tps-event-calendar-nav a {
	background: #f5f6f8;
	border-radius: 6px;
	color: #334869;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 14px;
	text-decoration: none;
	white-space: nowrap;
}

.tps-event-calendar-nav a:hover,
.tps-event-calendar-nav a:focus {
	background: #eaf1fb;
	color: #0f6e56;
}

.tps-event-calendar-grid {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.tps-event-calendar-weekday {
	color: #6b7889;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding-bottom: 6px;
	text-align: center;
	text-transform: uppercase;
}

.tps-event-calendar-day {
	align-items: center;
	background: #f5f6f8;
	border-radius: 6px;
	color: #334869;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	height: 44px;
	justify-content: center;
	text-decoration: none;
}

.tps-event-calendar-day.has-events {
	background: #0f6e56;
	color: #ffffff;
	font-weight: 700;
}

.tps-event-calendar-day.has-events:hover,
.tps-event-calendar-day.has-events:focus {
	background: #0b5342;
	color: #ffffff;
}

.tps-event-calendar-legend {
	align-items: center;
	color: #6b7889;
	display: flex;
	font-size: 14px;
	gap: 10px;
	margin: 16px 0 0;
}

.tps-event-calendar-swatch {
	background: #0f6e56;
	border-radius: 4px;
	display: inline-block;
	flex: 0 0 auto;
	height: 14px;
	width: 14px;
}

/* --- Event rows with a date block --- */
.tps-event-row {
	align-items: center;
	background: #f5f6f8;
	border: 1.5px solid #f5f6f8;
	border-radius: 8px;
	color: inherit;
	display: grid;
	gap: 24px;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	padding: 22px 26px;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease;
}

.tps-event-row:hover,
.tps-event-row:focus {
	background: #ffffff;
	border-color: #0f6e56;
	color: inherit;
}

.tps-event-row-date {
	align-items: center;
	background: #ffffff;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 2px;
	justify-content: center;
	padding: 12px 0;
}

.tps-event-row-day {
	color: #16243d;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
}

.tps-event-row-month {
	color: #0f6e56;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.tps-event-row-year {
	color: #5f6e83;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.tps-event-row-main {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.tps-event-row-title {
	color: #16243d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
}

.tps-event-row-meta {
	color: #5f6e83;
	font-size: 15px;
	line-height: 1.55;
}

@media (max-width: 699.98px) {
	.tps-event-row {
		grid-template-columns: 72px minmax(0, 1fr);
		gap: 16px;
	}

	.tps-event-row .tps-row-cta {
		grid-column: 2;
		justify-self: start;
	}

	.tps-event-feature {
		padding: 24px;
	}

	.tps-event-feature-title {
		font-size: 22px;
	}

	.tps-event-calendar-day {
		height: 38px;
		font-size: 14px;
	}
}
/* ================== end Events archive patterns ================== */

/* ===== Jobs archive: grey filled rows + sidebar dash list ===== */
.tps-row.tps-row-filled {
	background: #f5f6f8;
	border: 1.5px solid #f5f6f8;
}

.tps-row.tps-row-filled:hover,
.tps-row.tps-row-filled:focus {
	background: #ffffff;
	border-color: #0f6e56;
}

.tps-row-fine {
	color: #6b7889;
	font-size: 14px;
}

.tps-side-dashes {
	color: #334869;
	display: flex;
	flex-direction: column;
	font-size: 15px;
	gap: 12px;
	line-height: 1.5;
}

.tps-side-dashes > span {
	display: flex;
	gap: 10px;
}

.tps-side-dashes > span > span:first-child {
	color: #0f6e56;
	font-weight: 700;
}

.tps-side-mark-light {
	background: #dceae5;
}
/* ===== end Jobs archive patterns ===== */

/* ===== Detail pages (job / event / news article) ===== */
/* Detail templates put .container directly under <main class="tps-standard-page">. */
.tps-standard-page > .container {
	max-width: 1200px;
	padding-left: 32px;
	padding-right: 32px;
}

.tps-eyebrow {
	color: #0f6e56;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-bottom: 14px;
	text-transform: uppercase;
}

.tps-standard-page .tps-detail-title {
	font-size: 42px;
	line-height: 1.1;
	max-width: 26ch;
}

/* Fact grid: Location / Salary / Hours / Closing date */
.tps-fact-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
}

.tps-fact {
	align-items: center;
	background: #f5f6f8;
	border-radius: 8px;
	display: flex;
	gap: 16px;
	padding: 20px 22px;
}

.tps-fact-icon {
	height: 40px;
	width: 40px;
}

.tps-fact-copy {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.tps-fact-label {
	color: #6b7889;
	font-size: 13px;
	font-weight: 600;
}

.tps-fact-value {
	color: #16243d;
	font-size: 15px;
	font-weight: 700;
}

@media (max-width: 991.98px) {
	.tps-standard-page .tps-detail-title {
		font-size: 32px;
		max-width: none;
	}
}

@media (max-width: 575.98px) {
	.tps-standard-page > .container {
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* ===== end detail page patterns ===== */

/* ===== Content patterns: pale-blue note + CTA banner internals ===== */
.tps-note {
	align-items: flex-start;
	background: #eaf1fb;
	border-radius: 8px;
	display: flex;
	gap: 20px;
	margin: 32px 0;
	padding: 22px 26px;
}

.tps-note-icon {
	align-items: center;
	background: #ffffff;
	border-radius: 50%;
	display: flex;
	flex: 0 0 auto;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.tps-standard-page .tps-standard-page-copy .tps-note p,
.tps-note p {
	color: #16243d;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.55;
	margin: 0;
	text-wrap: pretty;
}

.tps-cta-banner-copy {
	align-items: center;
	display: flex;
	gap: 18px;
}

.tps-cta-banner-icon {
	align-items: center;
	background: #ffffff;
	border-radius: 50%;
	display: flex;
	flex: 0 0 auto;
	height: 44px;
	justify-content: center;
	width: 44px;
}

.tps-cta-banner-text {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.tps-cta-banner-title {
	color: #16243d;
	font-size: 16px;
	font-weight: 700;
}

.tps-cta-banner-sub {
	color: #6b7889;
	font-size: 14px;
}

/* Keep pattern blocks from inheriting the copy column's paragraph rhythm */
.tps-standard-page .tps-standard-page-copy .tps-detail-card-text,
.tps-standard-page .tps-standard-page-copy .tps-icon-label {
	margin: 0;
}

.tps-standard-page .tps-standard-page-copy .tps-detail-grid,
.tps-standard-page .tps-standard-page-copy .tps-def-rows,
.tps-standard-page .tps-standard-page-copy .tps-icon-row,
.tps-standard-page .tps-standard-page-copy .tps-cta-banner,
.tps-standard-page .tps-standard-page-copy .tps-callout {
	margin-top: 24px;
	margin-bottom: 24px;
}
/* ===== end note / CTA patterns ===== */

/* ==========================================================================
   TPS 2026 content patterns, part 2 — ported from the page mockups.
   Figures, numbered steps, accordions, stacked card grids, plain cards.
   These are emitted into page content by dc2wp.py.
   ========================================================================== */

/* --- Figures (inline 300px; banner variant 340px) --- */
.tps-standard-page .tps-standard-page-copy .tps-figure,
.tps-figure {
	margin: 0;
	width: 100%;
}

.tps-figure img {
	border-radius: 8px;
	display: block;
	height: 300px;
	object-fit: cover;
	width: 100%;
}

.tps-figure-banner img {
	border-radius: 10px;
	height: 340px;
}

/* --- Numbered steps --- */
.tps-steps {
	display: flex;
	flex-direction: column;
}

.tps-step {
	border-top: 1px solid #eceef1;
	display: grid;
	gap: 20px;
	grid-template-columns: 52px minmax(0, 1fr);
	padding: 20px 0;
}

.tps-step-num {
	align-items: center;
	background: #dceae5;
	border-radius: 50%;
	color: #0f6e56;
	display: flex;
	flex: 0 0 auto;
	font-size: 16px;
	font-weight: 700;
	height: 38px;
	justify-content: center;
	width: 38px;
}

.tps-step-copy {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.tps-step-title {
	color: #16243d;
	font-size: 17px;
	font-weight: 700;
}

.tps-step-text {
	color: #52627a;
	font-size: 16px;
	line-height: 1.6;
}

/* --- Accordion --- */
.tps-accordion {
	background: #f5f6f8;
	border: 1px solid #eceef1;
	border-radius: 8px;
	padding: 18px 22px;
}

.tps-accordion + .tps-accordion {
	margin-top: 12px;
}

.tps-accordion > summary {
	align-items: center;
	color: #16243d;
	cursor: pointer;
	display: flex;
	font-size: 17px;
	font-weight: 700;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
}

.tps-accordion > summary::-webkit-details-marker {
	display: none;
}

.tps-accordion > summary::after {
	align-items: center;
	background: #dceae5;
	border-radius: 50%;
	color: #0f6e56;
	content: "+";
	display: flex;
	flex: 0 0 auto;
	font-size: 18px;
	font-weight: 700;
	height: 28px;
	justify-content: center;
	line-height: 1;
	width: 28px;
}

.tps-accordion[open] > summary::after {
	content: "\2212";
}

.tps-accordion > summary:hover,
.tps-accordion > summary:focus {
	color: #0f6e56;
}

.tps-standard-page .tps-standard-page-copy .tps-accordion p {
	color: #52627a;
	font-size: 16px;
	line-height: 1.65;
	margin: 12px 0 0;
}

/* --- Stacked card grid (icon / title / text / footer) --- */
.tps-card-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

.tps-stack-card {
	background: #f5f6f8;
	border: 1.5px solid #f5f6f8;
	border-radius: 8px;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease;
}

a.tps-stack-card:hover,
a.tps-stack-card:focus {
	background: #ffffff;
	border-color: #0f6e56;
	color: inherit;
}

.tps-stack-card-title {
	color: #16243d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.tps-stack-card-text {
	color: #5f6e83;
	font-size: 15px;
	line-height: 1.55;
}

.tps-stack-card-foot {
	color: #16243d;
	font-size: 15px;
	font-weight: 700;
	margin-top: auto;
}

a.tps-stack-card .tps-stack-card-foot {
	color: #0f6e56;
}

/* --- Plain filled card --- */
.tps-plain-card {
	background: #f5f6f8;
	border: 1.5px solid #f5f6f8;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 24px;
}

/* Detail cards used as links */
a.tps-detail-card {
	color: inherit;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease;
	border: 1.5px solid #f5f6f8;
}

a.tps-detail-card:hover,
a.tps-detail-card:focus {
	background: #ffffff;
	border-color: #0f6e56;
	color: inherit;
}

/* Give the generated blocks breathing room inside the copy column */
.tps-standard-page .tps-standard-page-copy .tps-steps,
.tps-standard-page .tps-standard-page-copy .tps-card-grid,
.tps-standard-page .tps-standard-page-copy .tps-figure,
.tps-standard-page .tps-standard-page-copy .tps-accordion,
.tps-standard-page .tps-standard-page-copy .tps-note,
.tps-standard-page .tps-standard-page-copy .tps-plain-card {
	margin-top: 24px;
}
/* ============ end TPS 2026 content patterns, part 2 ============ */

/* Bordered sidebar card variant (mockups' "Useful resources" / resource lists) */
.tps-side-card-plain {
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	padding: 24px;
}

.tps-side-card-plain .tps-side-card-title,
.tps-side-card-plain .tps-side-card-title-sm {
	font-size: 19px;
}

.tps-side-card-plain .tps-side-links > a {
	border-bottom-color: #eceef1;
}

.tps-side-card-plain .tps-side-links > a > span:last-child {
	color: #b9c2ce;
}

.tps-standard-page .page-sidebar .tps-side-card + .tps-side-card,
.tps-standard-page .page-sidebar .tps-side-card + .tps-side-linkedin {
	margin-top: 0;
}

/* The copy column styles links as green/600. Pattern cards are links too, so
   reset them; their inner spans set their own colour and weight. */
.tps-standard-page .tps-standard-page-copy a.tps-detail-card,
.tps-standard-page .tps-standard-page-copy a.tps-stack-card,
.tps-standard-page .tps-standard-page-copy a.tps-row,
.tps-standard-page .tps-standard-page-copy a.tps-lead-card {
	color: inherit;
	font-weight: 400;
}

.tps-standard-page .tps-standard-page-copy a.tps-detail-card:hover,
.tps-standard-page .tps-standard-page-copy a.tps-stack-card:hover {
	text-decoration: none;
}

.tps-standard-page .tps-standard-page-copy a.tps-cta-banner-btn,
.tps-standard-page .tps-standard-page-copy a.tps-side-card-btn {
	color: #ffffff;
}

/* ===== Article/detail extras: meta row, share row, related section ===== */
.single-news-meta {
	border-bottom: 1px solid #eceef1;
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	margin: 0;
	padding-bottom: 20px;
}

.single-news-meta > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.single-news-meta span {
	color: #6b7889;
	font-size: 13px;
	font-weight: 600;
}

.single-news-meta strong {
	color: #16243d;
	font-size: 15px;
	font-weight: 700;
}

.single-news-share {
	align-items: center;
	border-top: 1px solid #eceef1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 22px;
}

.single-news-share > a,
.single-news-copy-link {
	align-items: center;
	background: #f5f6f8;
	border: 1px solid #e5e7eb;
	border-radius: 6px;
	color: #334869;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	gap: 8px;
	justify-content: center;
	min-height: 40px;
	padding: 0 14px;
	text-decoration: none;
}

.single-news-share > a:hover,
.single-news-share > a:focus,
.single-news-copy-link:hover,
.single-news-copy-link:focus {
	background: #eaf1fb;
	border-color: #0f6e56;
	color: #0f6e56;
}

/* Related row reuses the homepage news card pattern */
.tps-related-section {
	border-top: 1px solid #eceef1;
	padding: 48px 0 72px;
}

.tps-related-section .tps-hp-news {
	background: #fff;
}

/* ==========================================================================
   From the handover package (A17 + A2 review).
   ========================================================================== */

/* A17: the homepage testimonial component had no element for a role or
   employer, only a name. The client supplied full attributions, so the
   person block becomes a name + role column. */
.tps-hp-story-role {
	color: #6b7280;
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	margin-top: 2px;
}

/* A2: the definition-row label column was a fixed 170px, which wraps the
   longer membership-category labels over four lines. Let it size to the
   content within sensible bounds. */
.tps-def-row {
	grid-template-columns: clamp(170px, 38%, 340px) minmax(0, 1fr);
}

@media (max-width: 575.98px) {
	.tps-def-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Legal/content tables (cookie table on /cookies/) */
.tps-standard-page .tps-standard-page-copy .tps-legal-table {
	border-collapse: collapse;
	margin-top: 24px;
	width: 100%;
}

.tps-legal-table th,
.tps-legal-table td {
	border-bottom: 1px solid #eceef1;
	padding: 14px 16px 14px 0;
	text-align: left;
	vertical-align: top;
}

.tps-legal-table thead th {
	border-bottom: 2px solid #e3e6eb;
	color: #16243d;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tps-legal-table td {
	color: #52627a;
	font-size: 15px;
	line-height: 1.55;
}

.tps-legal-table td:first-child {
	color: #16243d;
	font-weight: 700;
	white-space: nowrap;
}

.tps-legal-table td:last-child,
.tps-legal-table th:last-child {
	white-space: nowrap;
}

@media (max-width: 767.98px) {
	.tps-legal-table td:first-child,
	.tps-legal-table td:last-child,
	.tps-legal-table th:last-child {
		white-space: normal;
	}
}

/* Pages with no sidebar (e.g. the legal pages) use the full measure. */
.tps-page-body.tps-page-body-full {
	grid-template-columns: minmax(0, 1fr);
}

.tps-page-body.tps-page-body-full > .tps-standard-page-copy {
	max-width: 80ch;
}

/* ==========================================================================
   P1-5 / P1-6 (ISS-005, ISS-006, ISS-010) — mobile navigation.

   Below 992px the desktop mega menu is hidden entirely and a real-pages-only
   tree is shown instead. Each parent row navigates; a separate >=44px button
   toggles the submenu. Search is exposed in the panel (ISS-010).
   ========================================================================== */

.tps-mobile-nav {
	display: none;
}
.tps-mobile-search {
	display: none;
}

@media (max-width: 991.98px) {
	/* One tree at a time: the mega menu is desktop-only. */
	.tps-header .navbar-nav {
		display: none !important;
	}

	.tps-mobile-nav {
		display: block;
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

	.tps-mobile-nav > li {
		border-bottom: 1px solid #e3e8f0;
	}

	/* Row: navigating link + separate toggle button. */
	.tps-mobile-nav .mrow {
		align-items: stretch;
		display: flex;
		gap: 0;
	}

	.tps-mobile-nav .mrow > a {
		align-items: center;
		color: #16243d;
		display: flex;
		flex: 1 1 auto;
		font-size: 17px;
		font-weight: 700;
		min-height: 48px;
		padding: 12px 8px 12px 20px;
		text-decoration: none;
	}

	.tps-mobile-nav .mrow > a:hover,
	.tps-mobile-nav .mrow > a:focus {
		color: #0f6e56;
	}

	/* The chevron used to be a pseudo-element with no hit area. */
	.tps-mobile-nav .tps-submenu-toggle {
		align-items: center;
		background: transparent;
		border: 0;
		border-left: 1px solid #e3e8f0;
		color: #52627a;
		display: flex;
		flex: 0 0 auto;
		justify-content: center;
		min-height: 48px;
		min-width: 56px;
		padding: 0;
	}

	.tps-mobile-nav .tps-submenu-toggle svg {
		transition: transform 0.18s ease;
	}

	.tps-mobile-nav .tps-submenu-toggle[aria-expanded="true"] {
		color: #0f6e56;
	}

	.tps-mobile-nav .tps-submenu-toggle[aria-expanded="true"] svg {
		transform: rotate(180deg);
	}

	.tps-mobile-nav .sub {
		background: #eaf1fb;
		display: none;
		list-style: none;
		margin: 0;
		padding: 4px 0 8px;
	}

	.tps-mobile-nav .sub.is-open {
		display: block;
	}

	.tps-mobile-nav .sub > li > a {
		align-items: center;
		color: #334869;
		display: flex;
		font-size: 16px;
		font-weight: 600;
		min-height: 44px;
		padding: 10px 20px 10px 32px;
		text-decoration: none;
	}

	.tps-mobile-nav .sub > li > a:hover,
	.tps-mobile-nav .sub > li > a:focus {
		color: #0f6e56;
	}

	/* ISS-010 — search was a 0x0 button on mobile. */
	.tps-mobile-search {
		display: block;
		padding: 16px 20px;
	}

	.tps-mobile-search form {
		display: flex;
		gap: 8px;
	}

	.tps-mobile-search input[type="search"] {
		border: 1.5px solid #cbd9ee;
		border-radius: 6px;
		flex: 1 1 auto;
		font-size: 16px;
		min-height: 44px;
		padding: 10px 14px;
	}

	.tps-mobile-search button {
		background: #0f6e56;
		border: 0;
		border-radius: 6px;
		color: #fff;
		flex: 0 0 auto;
		font-size: 18px;
		min-height: 44px;
		min-width: 44px;
	}

	/* Tap targets: the toggle was 40x40, rows 42px. */
	.tps-header .navbar-toggler,
	.tps-header .tps-mobile-menu-toggle {
		min-height: 44px;
		min-width: 44px;
	}

	.tps-header .header-search-btn {
		min-height: 44px;
		min-width: 44px;
	}
}

/* ==========================================================================
   P1-13 / ISS-024 — the member dashboard set (BugHerd 256-260).
   ========================================================================== */

/* 257 — intro paragraph under the H1. */
.tps-dashboard-intro {
	color: #52627a;
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 24px;
	max-width: 68ch;
}

/* 258 — membership status panel. */
.tps-dashboard-status-panel {
	align-items: center;
	background: #eaf1fb;
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-bottom: 32px;
	padding: 20px 24px;
}

.tps-dashboard-status-main,
.tps-dashboard-status-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.tps-dashboard-status-label {
	color: #6b7889;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.tps-dashboard-status-value {
	align-items: center;
	color: #0f6e56;
	display: flex;
	font-size: 17px;
	font-weight: 700;
	gap: 8px;
}

.tps-dashboard-status-item > span:last-child {
	color: #16243d;
	font-size: 16px;
	font-weight: 600;
}

.tps-dashboard-status-link {
	color: #0f6e56;
	font-size: 15px;
	font-weight: 700;
	margin-left: auto;
	text-decoration: none;
}

.tps-dashboard-status-link:hover,
.tps-dashboard-status-link:focus {
	color: #0b5342;
	text-decoration: underline;
}

/* Honest empty state instead of placeholder rows (ISS-022, ISS-025). */
.tps-dashboard-empty {
	background: #f5f6f8;
	border-radius: 8px;
	color: #5f6e83;
	font-size: 16px;
	margin: 0 0 32px;
	padding: 22px 24px;
}

/* Regional Rep Secure Area — Regional Membership Lists region picker. */
.tps-dashboard-region-list {
	display: grid;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-dashboard-region-list a {
	align-items: center;
	background: #fff;
	border: 1px solid var(--dashboard-border);
	border-radius: 8px;
	color: var(--dashboard-ink);
	display: flex;
	font-size: 16px;
	font-weight: 700;
	justify-content: space-between;
	padding: 16px 20px;
	text-decoration: none;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease,
		color 160ms ease;
}

.tps-dashboard-region-list a i {
	color: var(--dashboard-muted);
	font-size: 18px;
}

.tps-dashboard-region-list a:hover,
.tps-dashboard-region-list a:focus {
	border-color: var(--dashboard-blue);
	box-shadow: 0 8px 18px rgba(23, 28, 41, 0.06);
	color: var(--dashboard-blue);
}

.tps-dashboard-region-list a:hover i,
.tps-dashboard-region-list a:focus i {
	color: var(--dashboard-blue);
}

/*
 * 260 — the third card was clipped: the track scrolled horizontally and
 * measured wider than the client width. DECISION (Tika, 5 Aug 2026): dashboard
 * card rows WRAP so cards always render whole. No carousel.
 */
.tps-dashboard-events-slider,
.tps-dashboard-news-slider,
.tps-dashboard-vacancy-slider {
	overflow: visible;
	width: 100%;
}

.tps-dashboard-event-track,
.tps-dashboard-news-track,
.tps-dashboard-vacancy-track {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	width: 100%;
}

.tps-dashboard-event-track > *,
.tps-dashboard-news-track > *,
.tps-dashboard-vacancy-track > * {
	max-width: 100%;
	min-width: 0;
	width: auto;
}

/* Nothing in the dashboard may exceed the column and cause a sideways scroll. */
.tps-dashboard-page,
.tps-dashboard-page .tps-dashboard-content {
	max-width: 100%;
	overflow-x: clip;
}

@media (max-width: 575.98px) {
	.tps-dashboard-status-panel {
		gap: 16px;
	}

	.tps-dashboard-status-link {
		margin-left: 0;
	}
}

/* ==========================================================================
   P2-1 / ISS-008 — one right-column pattern.

   Sibling pages used three unrelated components and card titles varied
   16/17/21px at the same nesting level. TPS_Styling_Spec §4 (confirmed by Tika,
   5 Aug 2026): one card shell, titles at 21px/700, CTA keeps its neutral fill
   so it still reads as an action. .tps-detail-card is retired as a sidebar
   component and kept for in-body card grids only.
   ========================================================================== */

.tps-standard-page .page-sidebar .tps-side-card-title,
.tps-standard-page .page-sidebar .tps-side-card-title-sm,
.tps-standard-page .page-sidebar .widgettitle,
.tps-standard-page .page-sidebar .widget h2 {
	color: #16243d;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 16px;
}

/* A detail card must not appear in the right column. If legacy content puts one
   there, render it as the canonical card shell rather than a second variant. */
.tps-standard-page .page-sidebar .tps-detail-card {
	background: #eaf1fb;
	border: 0;
	border-radius: 8px;
	display: block;
	padding: 26px 24px;
}

.tps-standard-page .page-sidebar .tps-detail-card .tps-icon-badge {
	display: none;
}

/* One conversion CTA, last in the column, never also inline. */
.tps-standard-page .page-sidebar .tps-cta-banner {
	background: #f5f6f8;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.tps-standard-page .page-sidebar .tps-cta-banner ~ .tps-cta-banner {
	display: none;
}

/* -------------------------------------------------------------------------
   Role areas: provider profile and PDS mentor area.
   CMS_BUILD_SPEC §6 / BugHerd 202, 227. Reuses the dashboard shell, the
   card grid and the CTA banner rather than restating them.
   ---------------------------------------------------------------------- */

/* Small green dot in the role status panel. */
.tps-status-dot {
	background: #0f6e56;
	border-radius: 50%;
	display: inline-block;
	height: 8px;
	margin-right: 8px;
	width: 8px;
}

.tps-dashboard-status-label {
	align-items: center;
	display: inline-flex;
}

/* Save confirmation / validation message above the profile forms. */
.tps-dashboard-notice {
	background: #eaf1fb;
	border-left: 4px solid #0f6e56;
	border-radius: 4px;
	color: #1e2b3c;
	font-size: 16px;
	margin-bottom: 28px;
	padding: 14px 18px;
}

/* Character counter under the 500-char provider details field (BugHerd 197/210/215). */
.tps-field-hint {
	color: #6b7889;
	font-size: 14px;
	margin: 6px 0 0;
}

.tps-provider-profile-form .form-label {
	font-weight: 600;
}

.tps-provider-profile-form h2 {
	font-size: 22px;
	margin: 36px 0 16px;
}

/* PDS mentor area */
.tps-pds-block {
	margin-bottom: 44px;
}

.tps-pds-section-head {
	align-items: baseline;
	border-bottom: 1px solid var(--tps-border, #e2e8f0);
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 10px;
}

.tps-pds-section-head h2 {
	font-size: 24px;
	margin: 0;
}

.tps-pds-meta {
	color: #6b7889;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.tps-pds-card h3 {
	font-size: 18px;
	margin: 0 0 12px;
}

.tps-pds-card h3 a {
	color: inherit;
	text-decoration: none;
}

.tps-pds-card h3 a:hover,
.tps-pds-card h3 a:focus {
	text-decoration: underline;
}

.tps-pds-tag {
	background: #eaf1fb;
	border-radius: 100px;
	color: #1e2b3c;
	display: inline-block;
	font-size: 13px;
	font-weight: 600;
	margin-right: 6px;
	padding: 4px 12px;
}

.tps-pds-tag-pinned {
	background: #fdf0e3;
}

/* Documents and forms render as rows, not cards, so the download sits right. */
.tps-pds-row {
	align-items: center;
	border: 1px solid var(--tps-border, #e2e8f0);
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 14px;
	padding: 18px 20px;
}

.tps-pds-row-body {
	flex: 1 1 260px;
	min-width: 0;
}

.tps-pds-row-body h3 {
	font-size: 18px;
	margin: 0 0 6px;
}

.tps-pds-row-body h3 a {
	color: inherit;
	text-decoration: none;
}

.tps-pds-row-body h3 a:hover,
.tps-pds-row-body h3 a:focus {
	text-decoration: underline;
}

.tps-pds-row-copy {
	color: #4a5768;
	font-size: 15px;
	margin: 0;
}

.tps-pds-row-action {
	flex: 0 0 auto;
}

.tps-pds-link-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-pds-link-list li {
	border-bottom: 1px solid var(--tps-border, #e2e8f0);
	padding: 12px 0;
}

.tps-pds-link-list li:last-child {
	border-bottom: 0;
}

.tps-pds-link-list a {
	font-weight: 600;
	text-decoration: none;
}

.tps-pds-link-list a:hover,
.tps-pds-link-list a:focus {
	text-decoration: underline;
}

.tps-pds-cta {
	margin-top: 8px;
	max-width: 640px;
}

@media (max-width: 575px) {
	.tps-pds-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.tps-pds-row-action {
		width: 100%;
	}

	.tps-pds-row-btn {
		display: inline-block;
		text-align: center;
		width: 100%;
	}
}

/* Character counter approaching its limit. */
.tps-field-hint-warn {
	color: #b3401f;
	font-weight: 600;
}

/* -------------------------------------------------------------------------
   Vacancy workflow states and actions (CMS_BUILD_SPEC §4 / BugHerd 208, 225).
   ---------------------------------------------------------------------- */

.tps-vacancy-state {
	background: #eaf1fb;
	border-radius: 100px;
	color: #1e2b3c;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-left: 8px;
	padding: 3px 10px;
	text-transform: uppercase;
	vertical-align: middle;
}

/* Draft is the employer's own workspace; in-review is waiting on TPS. */
.tps-vacancy-state-draft {
	background: #eef1f4;
	color: #4a5768;
}

.tps-vacancy-state-pending {
	background: #fdf0e3;
	color: #8a4b12;
}

.tps-vacancy-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.tps-vacancy-actions-hint {
	margin-top: 10px;
}

.tps-vacancy-actions-hint a {
	font-weight: 600;
	margin-left: 6px;
}

/* -------------------------------------------------------------------------
   Vacancy performance (§4 / BugHerd 212, 213).
   ---------------------------------------------------------------------- */

.tps-performance-summary {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	margin-bottom: 32px;
}

.tps-performance-stat {
	background: #eaf1fb;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 22px;
}

.tps-performance-stat-value {
	color: #0f6e56;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.1;
}

.tps-performance-stat-label {
	color: #4a5768;
	font-size: 14px;
	font-weight: 600;
}

.tps-performance-note {
	margin-top: 20px;
}

/* -------------------------------------------------------------------------
   Saved items (§8 / TPS-HP-004, BugHerd 262).
   ---------------------------------------------------------------------- */

.tps-save-toggle {
	align-items: center;
	background: transparent;
	border: 1px solid var(--tps-border, #e2e8f0);
	border-radius: 100px;
	color: #4a5768;
	cursor: pointer;
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	gap: 6px;
	padding: 6px 14px;
	transition:
		background-color 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

.tps-save-toggle:hover,
.tps-save-toggle:focus-visible {
	border-color: #0f6e56;
	color: #0f6e56;
}

.tps-save-toggle[disabled] {
	cursor: progress;
	opacity: 0.6;
}

/* Saved state: filled marker, so it reads at a glance. */
.tps-save-toggle.is-saved {
	background: #0f6e56;
	border-color: #0f6e56;
	color: #fff;
}

.tps-save-toggle.is-saved .tps-save-toggle-icon svg {
	fill: currentColor;
}

.tps-save-toggle-inline {
	margin-top: 14px;
}

.tps-saved-count {
	color: #6b7889;
	font-size: 14px;
	font-weight: 600;
}

.tps-saved-card-copy {
	color: #4a5768;
	font-size: 15px;
	margin: 0;
}

/* -------------------------------------------------------------------------
   Membership status (§7 / BugHerd 258, TPS-HP-007).
   Colour carries meaning here, so each state also differs in wording and icon.
   ---------------------------------------------------------------------- */

.tps-membership-panel {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.tps-membership-item {
	color: #4a5768;
	font-size: 15px;
}

.tps-membership-note {
	color: #4a5768;
	font-size: 15px;
}

.tps-membership-active .tps-status-dot {
	background: #0f6e56;
}
.tps-membership-pending .tps-status-dot {
	background: #b3701f;
}
.tps-membership-lapsed .tps-status-dot {
	background: #b3401f;
}

.tps-dashboard-status-panel.tps-membership-lapsed {
	background: #fdf0e3;
}
.tps-dashboard-status-panel.tps-membership-unknown {
	background: #eef1f4;
}

.tps-membership-lapsed .tps-dashboard-status-value {
	color: #b3401f;
}
.tps-membership-pending .tps-dashboard-status-value {
	color: #8a4b12;
}

/* Shown in place of a members-only resource. */
.tps-members-only-notice {
	background: #eaf1fb;
	border-radius: 8px;
	margin: 24px 0;
	padding: 28px 30px;
}

.tps-members-only-notice h2 {
	font-size: 24px;
	margin: 0 0 10px;
}

.tps-members-only-notice p {
	color: #1e2b3c;
	margin: 0 0 18px;
	max-width: 62ch;
}

.tps-members-only-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.tps-members-only-join {
	font-weight: 700;
	text-decoration: none;
}

.tps-members-only-join:hover,
.tps-members-only-join:focus {
	text-decoration: underline;
}

/* Resource single (§3). */
.tps-resource-actions {
	margin: 26px 0 18px;
}

.tps-resource-file-label {
	font-size: 13px;
	font-weight: 600;
	opacity: 0.85;
	margin-left: 8px;
}

.tps-resource-topics {
	margin: 20px 0 0;
}

/* -------------------------------------------------------------------------
   Training course submission (§5 / BugHerd 203, 205).
   ---------------------------------------------------------------------- */

.tps-session-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
}

.tps-session-action-form {
	display: inline;
	margin: 0;
}

/* Buttons and links styled identically, so the row reads as one action set
   even though destructive actions must be POSTed. */
.tps-session-action {
	background: none;
	border: 0;
	color: #0f6e56;
	cursor: pointer;
	font-size: 14px;
	font-weight: 600;
	padding: 0;
	text-decoration: none;
}

.tps-session-action:hover,
.tps-session-action:focus-visible {
	text-decoration: underline;
}

.tps-session-action-danger {
	color: #b3401f;
}

.tps-session-form h2 {
	font-size: 22px;
	margin: 36px 0 16px;
}

.tps-session-preview {
	background: #f7f9fb;
	border-radius: 8px;
	margin-bottom: 32px;
	padding: 24px 26px;
}

.tps-session-preview-card {
	background: #fff;
}

.tps-session-preview-provider {
	color: #4a5768;
	font-size: 15px;
	font-weight: 600;
	margin: 0 0 8px;
}

/* ==========================================================================
   WCAG 2.2 AA — global accessibility remediation (child theme, update-safe).
   ========================================================================== */

/* 2.4.7 / 2.4.11 — visible focus for controls that removed native outlines. */
.tps-header a:focus-visible,
.tps-header button:focus-visible,
.tps-hp a:focus-visible,
.tps-hp button:focus-visible,
.footer-section a:focus-visible,
.footer-section button:focus-visible,
.tps-login-form a:focus-visible,
.tps-login-form button:focus-visible,
.tps-login-form input:focus-visible,
.tps-breadcrumb a:focus-visible,
.vacancy-pagination a:focus-visible,
.vacancy-pagination button:focus-visible {
	box-shadow: 0 0 0 3px rgba(15, 110, 86, 0.35);
	outline: 2px solid #0f6e56;
	outline-offset: 2px;
}

/* 2.5.8 — footer widget and legal links (inline exception does not apply). */
.footer-widget a,
.footer-legal-menu a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	padding: 6px 0;
}

/* Breadcrumb trail links on small screens. */
.tps-breadcrumb .breadcrumb-item a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	padding: 10px 0;
}

/* Login utility links and checkbox row. */
.tps-login-options a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	padding: 10px 0;
}

.tps-login-options .form-check {
	min-height: 44px;
	padding: 8px 0;
}

.tps-login-options .form-check-label {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	min-height: 44px;
	padding: 10px 0 10px 4px;
}

.tps-login-contact a {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	padding: 0 2px;
}

/* Share / utility icon rows. */
.single-news-share > a,
.single-news-copy-link {
	min-height: 44px;
}

/* Dashboard side nav — row height was 38px. */
.tps-dashboard-nav-link {
	min-height: 44px;
}

/* Session action links styled as text. */
.tps-session-action {
	align-items: center;
	display: inline-flex;
	min-height: 44px;
	padding: 8px 4px;
}

/* Respect reduced motion (2.3.3). */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
	}
}

/* PDS License Holders — logo grid (tps_pds_license_holders shortcode).
   Append to style.css; reuses the site's existing .tps-community-cards /
   .tps-community-card card chrome so it matches the rest of the theme. */

.tps-pds-license-holders {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, 1fr);
}

.tps-pds-license-holder-logo {
	align-items: center;
	background: #fff;
	border: 1px solid #cfe0ec;
	display: flex;
	justify-content: center;
	min-height: 90px;
	padding: 14px;
	transition:
		border-color 160ms ease,
		box-shadow 160ms ease;
}

a.tps-pds-license-holder-logo:hover,
a.tps-pds-license-holder-logo:focus-visible {
	border-color: #0f6e56;
	box-shadow: 0 8px 18px rgba(23, 28, 41, 0.08);
}

a.tps-pds-license-holder-logo:focus-visible {
	outline: 2px solid #0f6e56;
	outline-offset: 3px;
}

.tps-pds-license-holders img {
	height: auto;
	max-height: 60px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

@media (max-width: 767.98px) {
	.tps-pds-license-holders {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 575.98px) {
	.tps-pds-license-holders {
		grid-template-columns: 1fr;
	}
}

.is-clickable-card {
	padding: 1rem;
}

.tps-course-details .tps-fact {
	display: block;
	color: inherit;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		border-color 0.18s ease;
	border: 1.5px solid #f5f6f8;
}

.tps-course-details .tps-fact:hover {
	background: #ffffff;
	border-color: #0f6e56;
	color: inherit;
}

.tps-course-details {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
	.tps-course-details {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.tps-course-details {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Transport Planning Day — sponsorship packages + sponsor listing
   (inc/shortcodes-tpd-sponsors.php). Card chrome matches .tps-community-card.
   ========================================================================== */

.tps-standard-page-copy .tps-tpd-section {
	border-top: 1px solid #d8e3ec;
	margin-top: 48px;
	padding-top: 40px;
	scroll-margin-top: calc(var(--tps-sticky-header-height, 154px) + 16px);
}

.tps-tpd-level-gold   { --tps-tpd-accent: #b8912b; --tps-tpd-accent-bg: #fbf5e4; }
.tps-tpd-level-silver { --tps-tpd-accent: #7d8896; --tps-tpd-accent-bg: #f1f3f6; }
.tps-tpd-level-bronze { --tps-tpd-accent: #a2653a; --tps-tpd-accent-bg: #f8eee6; }
.tps-tpd-level-sme,
.tps-tpd-level-default { --tps-tpd-accent: #0f6e56; --tps-tpd-accent-bg: #e7f3ef; }

/* Packages ---------------------------------------------------------------- */

.tps-tpd-tiers {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 32px 0 8px;
}

.tps-tpd-tier {
	background: #fff;
	border: 1px solid #d8e3ec;
	border-top: 5px solid var(--tps-tpd-accent);
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.tps-tpd-tier-head {
	background: var(--tps-tpd-accent-bg);
	padding: 22px 22px 18px;
}

.tps-standard-page-copy .tps-tpd-tier-name {
	color: var(--tps-tpd-accent);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.tps-standard-page-copy .tps-tpd-tier-price {
	color: #16243d;
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 6px;
}

.tps-standard-page-copy .tps-tpd-tier-availability {
	color: #52627a;
	font-size: 15px;
	line-height: 1.45;
	margin: 0;
}

.tps-tpd-tier-body {
	flex: 1;
	padding: 18px 22px 22px;
}

.tps-standard-page-copy .tps-tpd-tier-body ul {
	font-size: 16px;
	line-height: 1.55;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tps-standard-page-copy .tps-tpd-tier-body li {
	border-bottom: 1px solid #edf2f7;
	padding: 9px 0 9px 26px;
	position: relative;
}

.tps-standard-page-copy .tps-tpd-tier-body li:last-child {
	border-bottom: 0;
}

.tps-standard-page-copy .tps-tpd-tier-body li::before {
	color: var(--tps-tpd-accent);
	content: "\2713";
	font-weight: 800;
	left: 0;
	position: absolute;
	top: 9px;
}

.tps-standard-page-copy .tps-tpd-tier-body strong {
	color: #16243d;
}

/* Sponsor listing --------------------------------------------------------- */

.tps-tpd-sponsor-group {
	margin: 32px 0 0;
}

.tps-standard-page-copy .tps-tpd-sponsor-group-title {
	margin: 0 0 16px;
}

.tps-tpd-badge {
	background: var(--tps-tpd-accent-bg);
	border-left: 4px solid var(--tps-tpd-accent);
	color: #16243d;
	display: inline-block;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.06em;
	padding: 6px 14px;
	text-transform: uppercase;
}

.tps-tpd-sponsor-note {
	background: #f7f9fc;
	border: 1px dashed #cbd9ee;
	border-radius: 6px;
	padding: 18px 22px;
}

.tps-standard-page-copy .tps-tpd-sponsor-note p {
	color: #52627a;
	font-size: 17px;
	margin: 0;
}

.tps-tpd-sponsor-list {
	display: grid;
	gap: 20px;
}

.tps-tpd-sponsor {
	align-items: start;
	background: #fff;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
	display: grid;
	gap: 24px;
	grid-template-columns: 220px minmax(0, 1fr);
	padding: 24px;
}

.tps-standard-page-copy a.tps-tpd-sponsor-logo,
.tps-tpd-sponsor-logo {
	align-items: center;
	background: #fff;
	border: 1px solid #edf2f7;
	border-radius: 6px;
	display: flex;
	justify-content: center;
	min-height: 120px;
	padding: 16px;
	text-decoration: none;
}

.tps-tpd-sponsor-logo img {
	display: block;
	height: auto;
	max-height: 90px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.tps-standard-page-copy .tps-tpd-sponsor-body p {
	font-size: 17px;
	line-height: 1.6;
	margin: 0 0 14px;
}

.tps-standard-page-copy .tps-tpd-sponsor-body p.tps-tpd-sponsor-link {
	font-size: 16px;
	margin: 0;
}

.tps-standard-page-copy .tps-tpd-sponsor-link a {
	color: #0f6e56;
}

/* Call to action ---------------------------------------------------------- */

.tps-standard-page-copy .tps-tpd-cta {
	background: #eaf4fc;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
	margin: 32px 0 0;
	padding: 24px 25px;
}

.tps-standard-page-copy .tps-tpd-cta p {
	font-size: 18px;
	margin: 0 0 12px;
}

.tps-standard-page-copy .tps-tpd-cta p:last-child {
	margin-bottom: 0;
}

.tps-standard-page-copy .tps-tpd-cta a:not(.tps-side-card-btn) {
	color: #0f6e56;
}

.tps-standard-page-copy .tps-tpd-cta .tps-side-card-btn {
	margin-top: 6px;
	text-decoration: none;
}

@media (max-width: 991px) {
	.tps-tpd-tiers {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.tps-tpd-sponsor {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.tps-standard-page-copy a.tps-tpd-sponsor-logo,
	.tps-tpd-sponsor-logo {
		justify-content: flex-start;
		min-height: 0;
	}
}

/* ==========================================================================
   Policy Archive (/policy-panel/archive/) — year sections + collapsible
   policy responses brought over from the live "Policies YYYY" pages.
   ========================================================================== */

.tps-standard-page-copy .tps-archive-year {
	border-top: 1px solid #d8e3ec;
	margin-top: 48px;
	padding-top: 40px;
	scroll-margin-top: calc(var(--tps-sticky-header-height, 154px) + 16px);
}

.tps-standard-page-copy .tps-archive-year h3 {
	font-size: 22px;
	margin: 32px 0 14px;
}

.tps-standard-page-copy .tps-archive-year h4 {
	font-size: 19px;
	margin: 24px 0 12px;
}

.tps-standard-page-copy .tps-archive-year h5 {
	font-size: 17px;
	margin: 20px 0 10px;
}

.tps-standard-page-copy .tps-archive-year p,
.tps-standard-page-copy .tps-archive-year li {
	font-size: 17px;
	line-height: 1.65;
}

.tps-archive-items {
	display: grid;
	gap: 12px;
	margin: 24px 0 0;
}

.tps-archive-item {
	background: #fff;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
	scroll-margin-top: calc(var(--tps-sticky-header-height, 154px) + 16px);
}

.tps-archive-item > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	list-style: none;
	padding: 18px 22px;
}

.tps-archive-item > summary::-webkit-details-marker {
	display: none;
}

.tps-archive-item > summary::after {
	color: #0f6e56;
	content: "+";
	flex: 0 0 auto;
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
}

.tps-archive-item[open] > summary::after {
	content: "\2212";
}

.tps-archive-item > summary:hover .tps-archive-item-title,
.tps-archive-item > summary:focus-visible .tps-archive-item-title {
	color: #0f6e56;
}

.tps-archive-item-title {
	color: #16243d;
	flex: 1;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.tps-archive-item-date {
	color: #52627a;
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.tps-archive-item-body {
	border-top: 1px solid #edf2f7;
	padding: 6px 22px 22px;
}

.tps-standard-page-copy .tps-archive-download a {
	background: #eaf4fc;
	border: 1px solid #d8e3ec;
	border-radius: 6px;
	color: #0f6e56;
	display: inline-block;
	padding: 10px 16px;
	text-decoration: none;
}

.tps-standard-page-copy .tps-archive-download a:hover,
.tps-standard-page-copy .tps-archive-download a:focus {
	background: #0f6e56;
	color: #fff;
}

@media (max-width: 600px) {
	.tps-archive-item > summary {
		align-items: flex-start;
		flex-wrap: wrap;
		padding: 16px;
	}

	.tps-archive-item-date {
		order: 3;
		width: 100%;
	}

	.tps-archive-item-body {
		padding: 4px 16px 18px;
	}
}

/* ==========================================================================
   View-only spreadsheet viewer (resources)
   Scoped hard + !important: the theme styles every `body table` globally.
   ========================================================================== */
.tps-page-body.tps-resource-body:has(.tps-sheet-viewer) { grid-template-columns: minmax(0, 1fr); }

body .tps-sheet-viewer { margin: 1.5rem 0 2rem; max-width: 100%; }
body .tps-sheet-viewer-notice {
	margin: 0 0 1rem; padding: .75rem 1rem; border-left: 4px solid #c8102e;
	background: #fdf3f4; font-size: .9rem; line-height: 1.5;
}
body .tps-sheet-viewer-who { display: block; margin-top: .25rem; color: #555; font-size: .8rem; }

body .tps-sheet-tabs { display: flex; flex-wrap: wrap; gap: .25rem; margin-bottom: .75rem; border-bottom: 1px solid #dde1e6; }
body .tps-sheet-tab {
	padding: .5rem .9rem; border: 1px solid transparent; border-bottom: 0; background: none;
	cursor: pointer; font: inherit; font-size: .9rem; color: #333; border-radius: 4px 4px 0 0;
}
body .tps-sheet-tab.is-active { border-color: #dde1e6; background: #fff; font-weight: 700; margin-bottom: -1px; }

body .tps-sheet-toolbar { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-bottom: .5rem; }
body .tps-sheet-search {
	flex: 1 1 280px; min-width: 0; max-width: 460px; height: 42px; padding: 0 .85rem;
	border: 1px solid #cfd5dc; border-radius: 6px; font: inherit; font-size: .9rem; background: #fff;
}
body .tps-sheet-per { display: inline-flex; align-items: center; gap: .4rem; margin: 0; font-size: .85rem; white-space: nowrap; }
body .tps-sheet-per select { height: 42px; margin: 0; padding: 0 .5rem; border: 1px solid #cfd5dc; border-radius: 6px; font-size: .85rem; background: #fff; }
body .tps-sheet-clear {
	margin-left: auto; padding: 0; background: none !important; border: 0 !important; box-shadow: none !important;
	color: #c8102e !important; text-decoration: underline; text-transform: none; cursor: pointer; font: inherit; font-size: .85rem;
}
body .tps-sheet-status { margin: .25rem 0 .5rem; font-size: .85rem; color: #52627a; }

body .tps-sheet-table-wrap {
	overflow: auto; max-height: 70vh; border: 1px solid #dde1e6; border-radius: 6px; background: #fff;
	-webkit-user-select: none; user-select: none;
}
body .tps-sheet-viewer.is-loading .tps-sheet-table-wrap { opacity: .55; transition: opacity .15s; }

body .tps-sheet-viewer table.tps-sheet-table {
	width: auto !important; min-width: 100% !important; max-width: none !important;
	table-layout: auto !important; border-collapse: separate !important; border-spacing: 0 !important;
	margin: 0 !important; border: 0 !important; box-shadow: none !important; background: #fff !important;
	font-size: 13px !important; display: table !important;
}
body .tps-sheet-viewer table.tps-sheet-table thead th,
body .tps-sheet-viewer table.tps-sheet-table thead th:first-child {
	position: sticky; top: 0; z-index: 3;
	width: auto !important; min-width: 8rem; max-width: 16rem;
	padding: .6rem .75rem !important; background: #f4f6f8 !important;
	border: 0 !important; border-bottom: 1px solid #dde1e6 !important;
	color: #1b2a41 !important; font-size: 12.5px !important; font-weight: 700 !important;
	line-height: 1.3 !important; text-align: left !important; vertical-align: bottom !important;
	white-space: normal !important; letter-spacing: 0 !important;
}
body .tps-sheet-viewer table.tps-sheet-table thead tr.tps-sheet-filters td {
	position: static !important;
	padding: .4rem .5rem !important; background: #fafbfc !important;
	border: 0 !important; border-bottom: 1px solid #dde1e6 !important; text-align: left !important;
}
body .tps-sheet-viewer table.tps-sheet-table tbody td {
	padding: .5rem .75rem !important; border: 0 !important; border-bottom: 1px solid #eef0f3 !important;
	background: transparent !important; color: #33415c !important; font-size: 13px !important;
	font-weight: 400 !important; line-height: 1.4 !important; text-align: left !important;
	vertical-align: top !important; white-space: nowrap !important;
}
/* Table cells ignore max-width, so the cap lives on an inner wrapper. */
body .tps-sheet-viewer .tps-sheet-cell { max-width: 20rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .tps-sheet-viewer .tps-sheet-th { display: block; max-width: 14rem; }
/* The theme prints "-" into empty cells via ::before — not wanted here. */
body .tps-sheet-viewer table.tps-sheet-table td::before,
body .tps-sheet-viewer table.tps-sheet-table td::after,
body .tps-sheet-viewer table.tps-sheet-table th::before { content: none !important; display: none !important; }
body .tps-sheet-viewer table.tps-sheet-table tbody tr,
body .tps-sheet-viewer table.tps-sheet-table tbody tr:nth-child(odd) td { background: transparent !important; }
body .tps-sheet-viewer table.tps-sheet-table tbody tr:nth-child(even) td { background: #fafbfc !important; }
body .tps-sheet-viewer table.tps-sheet-table tbody tr:hover td { background: #eef3f9 !important; }
body .tps-sheet-viewer table.tps-sheet-table td.tps-sheet-empty { text-align: center !important; padding: 2rem !important; color: #666 !important; white-space: normal !important; }

body .tps-sheet-viewer .tps-sheet-sort {
	display: inline; width: auto; min-width: 0; height: auto; margin: 0; padding: 0 !important;
	background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0;
	color: inherit !important; font: inherit !important; text-align: left; text-transform: none; cursor: pointer;
}
body .tps-sheet-viewer .tps-sheet-sort::after { content: ' \2195'; opacity: .35; white-space: nowrap; }
body .tps-sheet-viewer .tps-sheet-sort.is-asc::after { content: ' \2191'; opacity: 1; }
body .tps-sheet-viewer .tps-sheet-sort.is-desc::after { content: ' \2193'; opacity: 1; }
body .tps-sheet-viewer .tps-sheet-filters select {
	width: 10rem; max-width: none; height: 30px; margin: 0; padding: 0 .35rem;
	border: 1px solid #cfd5dc; border-radius: 4px; font-size: 12px; background: #fff;
}

body .tps-sheet-pager { display: flex; gap: .75rem; align-items: center; justify-content: flex-end; margin-top: .75rem; font-size: .85rem; }
body .tps-sheet-pager button {
	padding: .45rem 1rem; border: 1px solid #cfd5dc !important; background: #fff !important; color: #1b2a41 !important;
	border-radius: 6px; cursor: pointer; font: inherit; font-size: .85rem; text-transform: none; box-shadow: none;
}
body .tps-sheet-pager button:disabled { opacity: .4; cursor: default; }
@media print { .tps-sheet-viewer { display: none !important; } }

/* ==========================================================================
   Standard pages — tighter vertical spacing (client: "still too much space")
   ========================================================================== */
/* CTA banners: let the text take the row so the button sits beside long titles
   instead of wrapping onto its own line underneath. */
.tps-standard-page .tps-cta-banner-copy { flex: 1 1 300px; min-width: 0; }
.tps-standard-page .tps-cta-banner-btn { flex: 0 0 auto; }

/* "Latest news" under page content: was 20px margin + 64px padding. */
.tps-standard-page .tps-standard-page-copy .tps-news-feed.tps-hp-section {
	margin-top: 40px;
	padding-top: 0;
}
/* The page-copy h2 rule adds 44px above every h2, including this one. */
.tps-standard-page .tps-standard-page-copy .tps-news-feed .tps-hp-h2 { margin-top: 0; }

/* Bottom of page: page body (72px) + Sydney's .page-wrap (100px) stacked up
   to ~170px of white before the footer. */
.page-wrap:has(.tps-standard-page) { padding-bottom: 0; }
.tps-standard-page .tps-page-body { padding-bottom: 56px; }


/* ==========================================================================
   Admin "View as" role preview (inc/view-as.php)
   ========================================================================== */
.tps-view-as {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 24px;
	padding: 12px 14px;
	border: 1px dashed #b7c3d0;
	border-radius: 8px;
	background: #f6f8fb;
	font-size: 14px;
}
.tps-view-as-label { font-weight: 700; color: #16243d; margin-right: 4px; }
.tps-view-as-btn {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid #cfd8e3;
	border-radius: 999px;
	background: #fff;
	color: #16243d;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}
.tps-view-as-btn:hover,
.tps-view-as-btn:focus-visible { border-color: #0f6e56; color: #0f6e56; text-decoration: none; }
.tps-view-as-btn.is-active { background: #0f6e56; border-color: #0f6e56; color: #fff; }
.tps-view-as-exit { margin-left: auto; }

.tps-view-as-float {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 100000;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	max-width: calc(100vw - 32px);
	padding: 10px 14px;
	border-radius: 10px;
	background: #16243d;
	color: #fff;
	font-size: 13px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .25);
}
.tps-view-as-float a { color: #cfe8df; text-decoration: underline; }
.tps-view-as-float-links { display: inline-flex; flex-wrap: wrap; gap: 4px 10px; }
.tps-view-as-float .tps-view-as-float-exit {
	padding: 4px 10px;
	border-radius: 6px;
	background: #fff;
	color: #16243d;
	font-weight: 700;
	text-decoration: none;
}
