/* Begin late-load CSS */

 /** Begin CSS Section: defaults */

 /* Begin CSS Part: Base */
/* ==========================================
   EOS FORM POPUP MODAL
   YMCA WELLINGTON
   Base popup container
========================================== */

/* ==========================================
   PAGE BACKDROP
   Uses :has because EOS appends the dialog directly to body.
========================================== */

body:has(.ui-dialog.form-popup)::before {
	content: "";

	position: fixed;
	inset: 0;
	z-index: 4890;

	background:
		radial-gradient(circle at 18% 22%, rgba(175, 18, 109, 0.24), transparent 34%),
		radial-gradient(circle at 82% 78%, rgba(155, 211, 242, 0.20), transparent 34%),
		rgba(0, 0, 0, 0.72);

	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);

	pointer-events: none;
}

/* Keep EOS / jQuery UI overlay functional, but let our body backdrop handle visuals */

body .ui-widget-overlay,
body .modal-mask:not(.hidden) {
	position: fixed !important;
	inset: 0 !important;
	z-index: 4885 !important;

	width: 100vw !important;
	height: 100vh !important;

	background: transparent !important;
	opacity: 1 !important;
}

/* Stop background scrolling while popup exists */

body:has(.ui-dialog.form-popup) {
	overflow: hidden;
}

/* ==========================================
   MAIN POPUP SHELL
========================================== */

body .ui-dialog.eos-dialogue.form-popup,
body .ui-dialog.form-popup {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	z-index: 5000 !important;

	display: flex !important;
	flex-direction: column;

	width: min(92vw, 760px) !important;
	max-width: 760px !important;
	height: auto !important;
	max-height: min(88vh, 920px) !important;

	margin: 0 !important;
	padding: 0 !important;

	background:
		linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 0.97));

	border: 1px solid rgba(175, 18, 109, 0.24) !important;
	border-radius: var(--ww-radius-l, 28px) !important;

	box-shadow:
		0 34px 100px rgba(0, 0, 0, 0.42),
		0 0 0 1px rgba(155, 211, 242, 0.16),
		inset 0 1px 0 rgba(255, 255, 255, 0.95) !important;

	overflow: hidden !important;

	transform: translate(-50%, -50%) !important;

	animation: ww-form-popup-enter 0.24s ease-out both;
}

/* YMCA colour strip */

body .ui-dialog.eos-dialogue.form-popup::before,
body .ui-dialog.form-popup::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;

	width: 100%;
	height: 7px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

/* Soft brand glow */

body .ui-dialog.eos-dialogue.form-popup::after,
body .ui-dialog.form-popup::after {
	content: "";

	position: absolute;
	right: -110px;
	bottom: -110px;
	z-index: 0;

	width: 270px;
	height: 270px;

	background: rgba(175, 18, 109, 0.09);
	border-radius: 999px;

	pointer-events: none;
}

/* ==========================================
   TITLE BAR
========================================== */

body .ui-dialog.form-popup .ui-dialog-titlebar {
	position: relative;
	z-index: 3;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;

	min-height: 72px;

	margin: 0 !important;
	padding: 1.35rem clamp(1.25rem, 3vw, 2rem) 1.05rem !important;

	background: transparent !important;
	color: #4D4F53 !important;

	border: 0 !important;
	border-radius: 0 !important;

	cursor: default !important;
}

body .ui-dialog.form-popup .ui-dialog-titlebar::before {
	content: "Apply for this role";

	display: inline-flex;
	align-items: center;
	gap: 0.55rem;

	color: #4D4F53;

	font-size: clamp(1.45rem, 2.6vw, 2.05rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.035em;
}

body .ui-dialog.form-popup .ui-dialog-titlebar::after {
	content: "";

	position: absolute;
	left: clamp(1.25rem, 3vw, 2rem);
	bottom: 0;

	width: 86px;
	height: 5px;

	background: #AF126D;
	border-radius: 999px;
}

body .ui-dialog.form-popup .ui-dialog-title {
	display: none !important;
}

/* ==========================================
   CLOSE BUTTON
========================================== */

body .ui-dialog.form-popup .ui-dialog-titlebar-close {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	z-index: 5;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	flex: 0 0 auto;

	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	min-height: 44px !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #4D4F53 !important;
	color: #fff !important;

	border: 2px solid #4D4F53 !important;
	border-radius: 999px !important;

	box-shadow:
		0 10px 26px rgba(0, 0, 0, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;

	font-size: 0 !important;
	line-height: 1 !important;
	text-indent: 0 !important;

	cursor: pointer !important;

	transition:
		background-color var(--ww-transition-fast, 0.25s ease),
		color var(--ww-transition-fast, 0.25s ease),
		border-color var(--ww-transition-fast, 0.25s ease),
		transform var(--ww-transition-fast, 0.25s ease),
		box-shadow var(--ww-transition-fast, 0.25s ease);
}

body .ui-dialog.form-popup .ui-dialog-titlebar-close::before,
body .ui-dialog.form-popup .ui-dialog-titlebar-close::after {
	content: "";

	position: absolute;

	width: 16px;
	height: 3px;

	background: currentColor;
	border-radius: 999px;

	transform-origin: center;
}

body .ui-dialog.form-popup .ui-dialog-titlebar-close::before {
	transform: rotate(45deg);
}

body .ui-dialog.form-popup .ui-dialog-titlebar-close::after {
	transform: rotate(-45deg);
}

body .ui-dialog.form-popup .ui-dialog-titlebar-close:hover,
body .ui-dialog.form-popup .ui-dialog-titlebar-close:focus {
	background: #AF126D !important;
	color: #fff !important;
	border-color: #AF126D !important;

	box-shadow:
		0 14px 34px rgba(0, 0, 0, 0.2),
		0 0 24px rgba(175, 18, 109, 0.24) !important;

	transform: translateY(-2px);
}

/* Hide default jQuery UI close icon parts */

body .ui-dialog.form-popup .ui-dialog-titlebar-close .ui-button-icon,
body .ui-dialog.form-popup .ui-dialog-titlebar-close .ui-button-icon-space,
body .ui-dialog.form-popup .ui-dialog-titlebar-close .ui-icon {
	display: none !important;
}

/* ==========================================
   POPUP CONTENT AREA
   Container only, form internals handled in form tab.
========================================== */

body .ui-dialog.form-popup .ui-dialog-content,
body .ui-dialog.form-popup .dialog.ui-dialog-content {
	position: relative;
	z-index: 2;

	display: block !important;

	width: 100% !important;
	height: auto !important;
	max-height: calc(min(88vh, 920px) - 72px) !important;

	margin: 0 !important;
	padding: clamp(1.25rem, 3vw, 2rem) !important;

	background: transparent !important;
	color: #4D4F53 !important;

	border: 0 !important;

	overflow-y: auto !important;
	overflow-x: hidden !important;

	scrollbar-width: thin;
	scrollbar-color: rgba(175, 18, 109, 0.85) rgba(0, 0, 0, 0.08);
}

body .ui-dialog.form-popup .ui-dialog-content::-webkit-scrollbar {
	width: 10px;
}

body .ui-dialog.form-popup .ui-dialog-content::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.06);
	border-radius: 999px;
}

body .ui-dialog.form-popup .ui-dialog-content::-webkit-scrollbar-thumb {
	background: rgba(175, 18, 109, 0.85);
	border-radius: 999px;
}

/* Let the form fill the popup shell */

body .ui-dialog.form-popup .dialog > .layout.mod_form,
body .ui-dialog.form-popup .layout.mod_form.initialised {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
}

/* ==========================================
   REMOVE JQUERY UI VISUAL NOISE
========================================== */

body .ui-dialog.form-popup.ui-widget,
body .ui-dialog.form-popup.ui-widget-content,
body .ui-dialog.form-popup .ui-widget-content,
body .ui-dialog.form-popup .ui-widget-header {
	font-family: inherit !important;
}

body .ui-dialog.form-popup .ui-resizable-handle {
	display: none !important;
}

body .ui-dialog.form-popup.ui-draggable .ui-dialog-titlebar {
	cursor: default !important;
}

/* ==========================================
   FOCUS STATE
========================================== */

body .ui-dialog.form-popup:focus,
body .ui-dialog.form-popup:focus-within {
	outline: 3px solid rgba(175, 18, 109, 0.35);
	outline-offset: 5px;
}

/* ==========================================
   BUSY SPINNER
========================================== */

body #eos-busy {
	position: fixed !important;
	inset: 0 !important;
	z-index: 6000 !important;

	display: flex;
	align-items: center;
	justify-content: center;

	background: rgba(0, 0, 0, 0.55);

	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}

body #eos-busy.hidden {
	display: none !important;
}

body #eos-busy img {
	width: 72px !important;
	height: 72px !important;

	padding: 0.85rem;

	background: #fff;
	border: 1px solid rgba(175, 18, 109, 0.28);
	border-radius: 999px;

	box-shadow: 0 18px 54px rgba(0, 0, 0, 0.28);
}

/* ==========================================
   ANIMATION
========================================== */

@keyframes ww-form-popup-enter {
	from {
		opacity: 0;
		transform: translate(-50%, calc(-50% + 18px)) scale(0.97);
	}

	to {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

/* ==========================================
   TABLET POPUP
========================================== */

@media (min-width: 768px) and (max-width: 1200px) {
	body .ui-dialog.eos-dialogue.form-popup,
	body .ui-dialog.form-popup {
		width: min(92vw, 700px) !important;
		max-width: 700px !important;
	}
}

/* ==========================================
   MOBILE POPUP
========================================== */

@media (max-width: 767px) {
	body .ui-dialog.eos-dialogue.form-popup,
	body .ui-dialog.form-popup {
		top: 50% !important;
		left: 50% !important;

		width: calc(100vw - 1.5rem) !important;
		max-width: calc(100vw - 1.5rem) !important;
		max-height: calc(100vh - 1.5rem) !important;

		border-radius: var(--ww-radius-m, 18px) !important;
	}

	body .ui-dialog.form-popup .ui-dialog-titlebar {
		min-height: 64px;
		padding: 1.15rem 1rem 0.95rem !important;
	}

	body .ui-dialog.form-popup .ui-dialog-titlebar::before {
		font-size: clamp(1.35rem, 7vw, 1.8rem);
	}

	body .ui-dialog.form-popup .ui-dialog-titlebar::after {
		left: 1rem;
	}

	body .ui-dialog.form-popup .ui-dialog-titlebar-close {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
	}

	body .ui-dialog.form-popup .ui-dialog-content,
	body .ui-dialog.form-popup .dialog.ui-dialog-content {
		max-height: calc(100vh - 1.5rem - 64px) !important;
		padding: 1rem !important;
	}
}
 /* Begin CSS Part: Layout */

 /* Begin CSS Part: Desktop Defaults */

 /* Begin CSS Part: Tablet Defaults */

 /* Begin CSS Part: Mobile Defaults */

 /** Begin CSS Section: core */

 /* Begin CSS Part: DISABILITY */

 /* Begin CSS Part: Fonts */
/* ==========================================
   WATMAN WEB FRAMEWORK
   FONTS
========================================== */


body {
  font-family: var(--font-body);
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
label,
.button,
.header-menu,
.responsive-menu {
  font-family: var(--font-heading);
}

h1,
h2,
h3 {
  font-weight: 800;
}

h4,
h5,
h6,
label {
  font-weight: 700;
}



body {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--ww-color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: 1.15;
	text-wrap: balance;
	margin-bottom: 1rem;
}

h1 {
	color: var(--ww-color-heading-main);
	font-size: clamp(2.4rem, 5vw, 5rem);
}

h2 {
	color: var(--ww-color-heading-main);
	font-size: clamp(2rem, 3.5vw, 3.5rem);
}

h3 {
	color: var(--ww-color-heading-tertiary);
	font-size: clamp(1.5rem, 2.5vw, 2.25rem);
}

h4,
h5,
h6,
label {
	color: var(--ww-color-heading-tertiary);
}

p,
ul,
ol {
	margin-bottom: 1.25rem;
}

ul,
ol {
	padding-left: 1.4rem;
}

.page-section .content a {
	color: var(--ww-color-link);
}

.page-section .content a:hover {
	color: var(--ww-color-link-hover);
}

.page-section .content a:visited {
	color: var(--ww-color-link-visited);
}





/* ==========================================
   STANDARD CONTENT LISTS
========================================== */

.page-section-content ul,
.page-section-content ol {
	margin: 1.25rem 0 1.75rem;
	padding-left: 1.25rem;

	color: #4D4F53;
	font-size: 1rem;
	line-height: 1.7;
}

.page-section-content li {
	margin-bottom: 0.6rem;
	padding-left: 0.25rem;
}

.page-section-content li:last-child {
	margin-bottom: 0;
}

/* Unordered lists */

.page-section-content ul {
	list-style: none;
	padding-left: 0;
}

.page-section-content ul li {
	position: relative;
	padding-left: 1.4rem;
}

.page-section-content ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;

	width: 0.45rem;
	height: 0.45rem;

	border-radius: 50%;
	background: #AF126D;
}

/* Ordered lists */

.page-section-content ol {
	padding-left: 1.4rem;
}

.page-section-content ol li {
	padding-left: 0.35rem;
}

.page-section-content ol li::marker {
	color: #AF126D;
	font-weight: 700;
}

/* Nested lists */

.page-section-content li ul,
.page-section-content li ol {
	margin-top: 0.6rem;
	margin-bottom: 0.6rem;
}

/* ==========================================
   CONTENT FEATURE LISTS
   Use with:
   .page-list
========================================== */

.page-section-content .page-list ul {
	list-style: none;
	margin: 2rem 0;
	padding: 0;

	display: grid;
	gap: 1rem;
}

.page-section-content .page-list ul li {
	position: relative;

	margin: 0;
	padding: 1.25rem 1.5rem 1.25rem 4rem;

	background: #fff;
	border-left: 5px solid #AF126D;
	border-radius: 0.75rem;

	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);

	font-size: 1.05rem;
	line-height: 1.6;

	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

.page-section-content .page-list ul li:hover {
	transform: translateX(5px);
	box-shadow: 0 8px 25px rgba(175, 18, 109, 0.15);
}

.page-section-content .page-list ul li::before {
	content: "✓";

	position: absolute;
	left: 1.25rem;
	top: 50%;
	transform: translateY(-50%);

	display: flex;
	align-items: center;
	justify-content: center;

	width: 1.75rem;
	height: 1.75rem;

	border-radius: 50%;
	background: #AF126D;
	color: #fff;

	font-weight: 700;
	font-size: 0.9rem;
}

/* ==========================================
   ALERT / INFO BOX
   Use with:
   .alert-box
   .info-box
========================================== */

.alert-box,
.info-box {
	position: relative;
	overflow: hidden;

	padding: 2rem;

	background: #f8f9fa;
	border-radius: 24px;

	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.alert-box::before,
.info-box::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 6px;

	background: linear-gradient(
		to right,
		#ED8C01,
		#B5CB52,
		#5DA9DD,
		#81C3AF,
		#F7BF1F
	);
}

/* ==========================================
   BOX TYPOGRAPHY
========================================== */

.alert-box h3,
.info-box h3 {
	margin: 0 0 1.25rem;

	color: #4D4F53;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.2;
}

.alert-box p,
.info-box p {
	margin: 0 0 1rem;

	color: #4D4F53;
	font-size: 1rem;
	line-height: 1.6;
}

.alert-box p:last-child,
.info-box p:last-child {
	margin-bottom: 0;
}

/* Standard text links */

.alert-box p a,
.alert-box p a:visited,
.info-box p a,
.info-box p a:visited {
	color: #AF126D;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.alert-box p a:hover,
.alert-box p a:focus,
.info-box p a:hover,
.info-box p a:focus {
	color: #4D4F53;
}

/* ==========================================
   BOX LIST RESET
   Counters standard page-section list styles
========================================== */

.page-section-content .alert-box ul,
.page-section-content .alert-box ol,
.page-section-content .info-box ul,
.page-section-content .info-box ol,
.alert-box ul,
.alert-box ol,
.info-box ul,
.info-box ol {
	margin: 0 0 1.5rem;
	padding: 0;

	list-style: none;

	color: #4D4F53;
	font-size: 1rem;
	line-height: 1.55;
}

.page-section-content .alert-box ul:last-child,
.page-section-content .alert-box ol:last-child,
.page-section-content .info-box ul:last-child,
.page-section-content .info-box ol:last-child,
.alert-box ul:last-child,
.alert-box ol:last-child,
.info-box ul:last-child,
.info-box ol:last-child {
	margin-bottom: 0;
}

.page-section-content .alert-box li,
.page-section-content .info-box li,
.alert-box li,
.info-box li {
	position: relative;

	margin: 0;
	padding: 0;
}

/* Kill default standard bullets inside box unordered lists only */

.page-section-content .alert-box ul li::before,
.page-section-content .info-box ul li::before,
.alert-box ul li::before,
.info-box ul li::before {
	content: none;
}

/* ==========================================
   LINK LIST ITEMS
   For:
   <ul><li><a href="">Link</a></li></ul>
========================================== */

.page-section-content .alert-box ul li:has(> a),
.page-section-content .info-box ul li:has(> a),
.alert-box ul li:has(> a),
.info-box ul li:has(> a) {
	padding: 0;
}

/* Gap only for linked list rows inside alert/info boxes */

.page-section-content .alert-box ul li:has(> a) + li:has(> a),
.page-section-content .info-box ul li:has(> a) + li:has(> a),
.alert-box ul li:has(> a) + li:has(> a),
.info-box ul li:has(> a) + li:has(> a) {
	margin-top: 0.7rem;
}

.alert-box ul li > a,
.alert-box ul li > a:visited,
.info-box ul li > a,
.info-box ul li > a:visited {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;

	padding: 0.75rem 1rem;

	background: #fff;
	border-radius: 12px;

	color: #4D4F53;
	text-decoration: none;
	font-weight: 600;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.035);

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.alert-box ul li > a::after,
.info-box ul li > a::after {
	content: "→";

	display: flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	border-radius: 50%;

	background: #AF126D;
	color: #fff;

	font-size: 0.9rem;
	font-weight: 700;

	flex-shrink: 0;

	transition:
		transform 0.25s ease,
		background-color 0.25s ease,
		color 0.25s ease;
}

.alert-box ul li > a:hover,
.alert-box ul li > a:focus,
.info-box ul li > a:hover,
.info-box ul li > a:focus {
	background: #AF126D;
	color: #fff;
	transform: translateX(4px);

	box-shadow: 0 8px 20px rgba(175, 18, 109, 0.18);
}

.alert-box ul li > a:hover::after,
.alert-box ul li > a:focus::after,
.info-box ul li > a:hover::after,
.info-box ul li > a:focus::after {
	background: #fff;
	color: #AF126D;
	transform: translateX(4px);
}

/* ==========================================
   NON-LINK UNORDERED LIST ITEMS
   For:
   <ul><li>Plain list item</li></ul>
========================================== */

.page-section-content .alert-box ul li:not(:has(> a)),
.page-section-content .info-box ul li:not(:has(> a)),
.alert-box ul li:not(:has(> a)),
.info-box ul li:not(:has(> a)) {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;

	padding: 0.75rem 1rem;

	background: #fff;
	border-radius: 12px;

	color: #4D4F53;
	font-weight: 600;
	line-height: 1.45;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.035);
}

/* Gap only for plain styled rows inside alert/info boxes */

.page-section-content .alert-box ul li:not(:has(> a)) + li:not(:has(> a)),
.page-section-content .info-box ul li:not(:has(> a)) + li:not(:has(> a)),
.alert-box ul li:not(:has(> a)) + li:not(:has(> a)),
.info-box ul li:not(:has(> a)) + li:not(:has(> a)) {
	margin-top: 0.7rem;
}

/* Gap when a linked row follows a plain row, or plain follows linked */

.page-section-content .alert-box ul li:not(:has(> a)) + li:has(> a),
.page-section-content .alert-box ul li:has(> a) + li:not(:has(> a)),
.page-section-content .info-box ul li:not(:has(> a)) + li:has(> a),
.page-section-content .info-box ul li:has(> a) + li:not(:has(> a)),
.alert-box ul li:not(:has(> a)) + li:has(> a),
.alert-box ul li:has(> a) + li:not(:has(> a)),
.info-box ul li:not(:has(> a)) + li:has(> a),
.info-box ul li:has(> a) + li:not(:has(> a)) {
	margin-top: 0.7rem;
}

.page-section-content .alert-box ul li:not(:has(> a))::before,
.page-section-content .info-box ul li:not(:has(> a))::before,
.alert-box ul li:not(:has(> a))::before,
.info-box ul li:not(:has(> a))::before {
	content: "✓";

	position: static;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 1.55rem;
	height: 1.55rem;
	margin-top: 0.02rem;

	border-radius: 50%;

	background: #AF126D;
	color: #fff;

	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1;

	flex: 0 0 1.55rem;
}

/* ==========================================
   ORDERED / NUMBERED LIST ITEMS
   For:
   <ol><li>Item</li></ol>
========================================== */

.page-section-content .alert-box ol,
.page-section-content .info-box ol,
.alert-box ol,
.info-box ol {
	counter-reset: box-counter;
}

.page-section-content .alert-box ol li,
.page-section-content .info-box ol li,
.alert-box ol li,
.info-box ol li {
	counter-increment: box-counter;

	display: flex;
	align-items: flex-start;
	gap: 0.85rem;

	padding: 0.25rem 0;

	color: #4D4F53;
	font-size: 1rem;
	line-height: 1.55;
}

.page-section-content .alert-box ol li + li,
.page-section-content .info-box ol li + li,
.alert-box ol li + li,
.info-box ol li + li {
	margin-top: 0.55rem;
}

.page-section-content .alert-box ol li::before,
.page-section-content .info-box ol li::before,
.alert-box ol li::before,
.info-box ol li::before {
	content: counter(box-counter);

	position: static;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 1.75rem;
	height: 1.75rem;
	margin-top: 0.05rem;

	border-radius: 50%;

	background: #AF126D;
	color: #fff;

	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1;

	flex: 0 0 1.75rem;
}

/* Ordered list links */

.alert-box ol li > a,
.alert-box ol li > a:visited,
.info-box ol li > a,
.info-box ol li > a:visited {
	flex: 1;

	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;

	margin: -0.35rem 0;
	padding: 0.75rem 1rem;

	background: #fff;
	border-radius: 12px;

	color: #4D4F53;
	text-decoration: none;
	font-weight: 600;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.035);

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.alert-box ol li > a::after,
.info-box ol li > a::after {
	content: "→";

	display: flex;
	align-items: center;
	justify-content: center;

	width: 28px;
	height: 28px;

	border-radius: 50%;

	background: #AF126D;
	color: #fff;

	font-size: 0.9rem;
	font-weight: 700;

	flex-shrink: 0;

	transition:
		transform 0.25s ease,
		background-color 0.25s ease,
		color 0.25s ease;
}

.alert-box ol li > a:hover,
.alert-box ol li > a:focus,
.info-box ol li > a:hover,
.info-box ol li > a:focus {
	background: #AF126D;
	color: #fff;
	transform: translateX(4px);

	box-shadow: 0 8px 20px rgba(175, 18, 109, 0.18);
}

.alert-box ol li > a:hover::after,
.alert-box ol li > a:focus::after,
.info-box ol li > a:hover::after,
.info-box ol li > a:focus::after {
	background: #fff;
	color: #AF126D;
	transform: translateX(4px);
}

/* ==========================================
   BUTTON
========================================== */

.alert-box .button,
.info-box .button {
	display: table;
	width: auto;
	margin: 1rem auto 0;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.alert-box,
	.info-box {
		padding: 1.5rem;
		border-radius: 22px;
	}

	.page-section-content .alert-box ul li:not(:has(> a)),
	.page-section-content .info-box ul li:not(:has(> a)),
	.alert-box ul li:not(:has(> a)),
	.info-box ul li:not(:has(> a)) {
		gap: 0.75rem;
		padding: 0.7rem 0.85rem;
	}

	.page-section-content .alert-box ul li:not(:has(> a))::before,
	.page-section-content .info-box ul li:not(:has(> a))::before,
	.alert-box ul li:not(:has(> a))::before,
	.info-box ul li:not(:has(> a))::before {
		width: 1.45rem;
		height: 1.45rem;

		font-size: 0.72rem;

		flex-basis: 1.45rem;
	}

	.page-section-content .alert-box ol li,
	.page-section-content .info-box ol li,
	.alert-box ol li,
	.info-box ol li {
		gap: 0.75rem;
	}

	.page-section-content .alert-box ol li::before,
	.page-section-content .info-box ol li::before,
	.alert-box ol li::before,
	.info-box ol li::before {
		width: 1.6rem;
		height: 1.6rem;

		font-size: 0.8rem;

		flex-basis: 1.6rem;
	}
}



 /* Begin CSS Part: Buttons */
/* ==========================================
   WATMAN WEB FRAMEWORK
   BUTTONS
========================================== */

.button, a.button,
input[type="submit"],
input[type="button"],
button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;

	width: auto;
	min-height: 44px;
	padding: 0.8rem 1.6rem;

	border: 1px solid var(--ww-color-button-border);
		border-radius: 999px;

	background: var(--ww-color-button-bg);
	color: var(--ww-color-button-text) !important;

	font: inherit;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-decoration: none;

	cursor: pointer;

	transition:
		background-color var(--ww-transition-fast),
		color var(--ww-transition-fast),
		border-color var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.button:hover, a.button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
button:hover {
	background: var(--ww-color-button-bg-hover);
	color: var(--ww-color-button-text-hover) !important;
	border-color: var(--ww-color-button-border-hover);
	transform: translateY(-1px);
}

.button.large, input.super {
  min-height: 40px;
  padding: 0.75rem 1.75rem;
  font-size: 1rem;
}

.button.small {
	min-height: 38px;
	padding: 0.6rem 1rem;
	font-size: 0.9rem;
}



/* ==========================================
   DOWNLOAD + VIEW BUTTONS
   HTML:
   <a class="button large download" href="" download="">Download Information</a>
   <a class="button large view" href="" target="_blank" rel="noopener">View Information</a>
========================================== */

/* Shared base */

.button.download,
.button.download:visited,
.button.large.download,
.button.large.download:visited,
.button.view,
.button.view:visited,
.button.large.view,
.button.large.view:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;

	width: auto;
	min-width: 0;
	min-height: 48px;

	padding: 0.72rem 1.35rem 0.72rem 0.82rem !important;

	white-space: nowrap;

	border: 2px solid #fff;
	border-radius: 999px;

	color: #fff !important;
	text-decoration: none;

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

/* Download button */

.button.download,
.button.download:visited,
.button.large.download,
.button.large.download:visited {
	background: #AF126D;

	box-shadow: 0 12px 28px rgba(175, 18, 109, 0.22);
}

/* View button */

.button.view,
.button.view:visited,
.button.large.view,
.button.large.view:visited {
	background: #4D4F53;

	box-shadow: 0 12px 28px rgba(77, 79, 83, 0.18);
}

/* Shared icon circle */

.button.download::before,
.button.large.download::before,
.button.view::before,
.button.large.view::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.65rem;
	height: 1.65rem;

	flex: 0 0 1.65rem;

	background: #fff;
	border-radius: 999px;

	font-size: 0.95rem;
	font-weight: 900;
	line-height: 1;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

/* Download icon */

.button.download::before,
.button.large.download::before {
	content: "↓";

	color: #AF126D;

	font-size: 1rem;
}

/* View icon */

.button.view::before,
.button.large.view::before {
	content: "↗";

	color: #4D4F53;

	font-size: 0.82rem;
}

/* Download hover */

.button.download:hover,
.button.download:focus,
.button.large.download:hover,
.button.large.download:focus {
	background: #4D4F53;
	border-color: #fff;
	color: #fff !important;

	transform: translateY(-2px);

	box-shadow: 0 14px 34px rgba(77, 79, 83, 0.24);
}

.button.download:hover::before,
.button.download:focus::before,
.button.large.download:hover::before,
.button.large.download:focus::before {
	color: #4D4F53;

	transform: translateY(2px) scale(1.08);
}

/* View hover */

.button.view:hover,
.button.view:focus,
.button.large.view:hover,
.button.large.view:focus {
	background: #AF126D;
	border-color: #fff;
	color: #fff !important;

	transform: translateY(-2px);

	box-shadow: 0 14px 34px rgba(175, 18, 109, 0.24);
}

.button.view:hover::before,
.button.view:focus::before,
.button.large.view:hover::before,
.button.large.view:focus::before {
	color: #AF126D;

	transform: scale(1.08);
}

/* ==========================================
   OPTIONAL BUTTON GROUP
   Wrap both buttons in:
   <div class="information-buttons">...</div>
========================================== */

.information-buttons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;

	margin-top: 1.25rem;
}

/* ==========================================
   SMALL SCREEN REFINEMENT
========================================== */

@media (max-width: 480px) {
	.information-buttons {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.7rem;
	}

	.button.download,
	.button.large.download,
	.button.view,
	.button.large.view {
		width: 100%;
		min-height: 46px;

		padding: 0.68rem 1.18rem 0.68rem 0.76rem !important;

		font-size: 0.96rem;
	}

	.button.download::before,
	.button.large.download::before,
	.button.view::before,
	.button.large.view::before {
		width: 1.5rem;
		height: 1.5rem;

		flex-basis: 1.5rem;
	}

	.button.download::before,
	.button.large.download::before {
		font-size: 0.92rem;
	}

	.button.view::before,
	.button.large.view::before {
		font-size: 0.78rem;
	}
}
 /* Begin CSS Part: Colours */

 /* Begin CSS Part: Menus */

 /* Begin CSS Part: Responsive Menu */

 /* Begin CSS Part: Editor Overrides */

 /* Begin CSS Part: Specials */

/* ==========================================
   WAVE TEXT
========================================== */

.ww-wave-text {
	display: block;
	max-width: 100%;

	margin-top: -0.2em;
	margin-bottom: 0.35em;
	padding-top: 0.35em;
	padding-bottom: 0.1em;

	overflow: visible;

	font-size: clamp(2rem, 4vw, 4rem);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;

	word-break: normal;
	overflow-wrap: normal;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#5DA9DD,
		#81C3AF,
		#F7BF1F
	);

	-webkit-background-clip: text;
	background-clip: text;

	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* Keeps whole words together when the heading wraps */

.ww-wave-word {
	display: inline-block;
	white-space: nowrap;
	overflow: visible;
}

/* Individual animated letters */

.ww-wave-letter,
.ww-wave-text span {
	display: inline-block;
	overflow: visible;

	opacity: 0;
	transform: translateY(0.5em);
}

/* Animation */

.ww-wave-text.is-visible .ww-wave-letter,
.ww-wave-text.is-visible span {
	animation: wwWaveIn 0.7s ease forwards;
	animation-delay: calc(var(--i) * 0.035s);
}

@keyframes wwWaveIn {
	0% {
		opacity: 0;
		transform: translateY(0.5em) rotate(2deg);
	}

	60% {
		opacity: 1;
		transform: translateY(-0.15em) rotate(-1deg);
	}

	100% {
		opacity: 1;
		transform: translateY(0) rotate(0);
	}
}

/* Prevent parent containers clipping the wave */

.page-section-content,
.page-section-content .textblock {
	overflow: visible;
}

/* Accessibility */

@media (prefers-reduced-motion: reduce) {
	.ww-wave-text span,
	.ww-wave-letter {
		opacity: 1;
		transform: none;
		animation: none;
	}
}







/* Impact numbers strip */
.numbers-strip {
  width: 100%;
  background: #e5e6e8;
  padding: 4rem 0;
}

/* Constrained inner */
.numbers-strip > .i {
  width: min(1600px, calc(100% - 2rem));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
}

/* Individual impact panels */
.number-launch {
  --impact-colour: #4D4F53;

  background: #fff;
  padding: 2rem 1.25rem;
  text-align: center;
  border-top: 6px solid var(--impact-colour);
  border-bottom: 6px solid var(--impact-colour);
  border-radius: 0.75rem;
  box-shadow: 0 10px 25px rgba(77, 79, 83, 0.08);

  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Big number, visually first */
.number-launch .content {
  order: 1;
  color: var(--impact-colour);
  font-size: clamp(3rem, 5vw, 5.5rem);
  font-weight: 800;
  line-height: 1;
  margin-bottom: 1rem;
}

/* Main heading */
.number-launch h4 {
  order: 2;
  margin: 0 0 0.5rem;
  color: #4D4F53;
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  font-weight: 800;
}

/* Service label */
.number-launch label {
  order: 3;
  display: block;
  color: var(--impact-colour);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* YMCA work area colours */
.number-launch.orange {
  --impact-colour: #ED8C01;
}

.number-launch.lime-green {
  --impact-colour: #B5CB52;
}

.number-launch.blue {
  --impact-colour: #9BD3F2;
}

.number-launch.sage-green {
  --impact-colour: #81C3AF;
}

.number-launch.yellow {
  --impact-colour: #F7BF1F;
}

/* Responsive */
@media (max-width: 1100px) {
  .numbers-strip > .i {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .numbers-strip {
    padding: 3rem 0;
  }

  .numbers-strip > .i {
    grid-template-columns: 1fr;
  }
}






/* ==========================================
   YMCA VALUES TABS
   Use with:
   .ww-values-tabs
========================================== */

.ww-values-tabs {
	position: relative;
	isolation: isolate;

	overflow: hidden;

	background:
		radial-gradient(
			circle at 8% 20%,
			rgba(175, 18, 109, 0.08) 0,
			rgba(175, 18, 109, 0) 28%
		),
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045) 0%,
			rgba(155, 211, 242, 0.10) 48%,
			rgba(247, 191, 31, 0.08) 100%
		),
		#fff;
}

.ww-values-tabs::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 0;

	height: clamp(110px, 16vw, 220px);

	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.86) 0%,
			rgba(255, 255, 255, 0.44) 52%,
			rgba(255, 255, 255, 0) 100%
		);

	pointer-events: none;
}

.ww-values-tabs::after {
	content: "";

	position: absolute;
	right: -90px;
	bottom: -90px;
	z-index: 0;

	width: clamp(210px, 28vw, 420px);
	height: clamp(210px, 28vw, 420px);

	background: rgba(175, 18, 109, 0.045);
	border-radius: 999px;

	pointer-events: none;
}

.ww-values-tabs > .i {
	position: relative;
	z-index: 1;
}

/* ==========================================
   TAB BUTTON BAR
========================================== */

.ww-values-tabs .tab-container {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.55rem;

	width: fit-content;
	max-width: 100%;

	margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
	padding: 0.65rem;

	background: rgba(255, 255, 255, 0.78);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 999px;

	box-shadow:
		0 16px 40px rgba(0, 0, 0, 0.065),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	backdrop-filter: blur(8px);
}

.ww-values-tabs .tab-container::before {
	content: "";

	position: absolute;
	inset: 0;
	z-index: -1;

	border-radius: inherit;

	background:
		linear-gradient(
			90deg,
			rgba(237, 140, 1, 0.14),
			rgba(181, 203, 82, 0.14),
			rgba(155, 211, 242, 0.16),
			rgba(129, 195, 175, 0.14),
			rgba(247, 191, 31, 0.14)
		);

	opacity: 0.75;
}

/* ==========================================
   TAB BUTTONS
   Strong selectors because EOS/global .button styles can interfere
========================================== */

.ww-values-tabs .tab-container .lm-tab,
.ww-values-tabs .tab-container .lm-tab.button,
.ww-values-tabs .tab-container button.lm-tab,
.ww-values-tabs .tab-container button.lm-tab.button {
	position: relative;
	overflow: hidden;

	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 42px !important;

	margin: 0 !important;
	padding: 0.72rem 1.05rem 0.78rem !important;

	background: rgba(255, 255, 255, 0.44) !important;
	border: 1px solid rgba(77, 79, 83, 0.075) !important;
	border-radius: 999px !important;

	box-shadow: none !important;

	color: rgba(77, 79, 83, 0.78) !important;

	font: inherit !important;
	font-size: 0.92rem !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: nowrap !important;

	cursor: pointer;

	opacity: 1 !important;

	transform: none;

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.ww-values-tabs .tab-container .lm-tab::before,
.ww-values-tabs .tab-container .lm-tab.button::before,
.ww-values-tabs .tab-container button.lm-tab::before,
.ww-values-tabs .tab-container button.lm-tab.button::before {
	content: "";

	position: absolute;
	left: 50%;
	bottom: 0.34rem;

	width: 0.36rem;
	height: 0.36rem;

	background: #AF126D;
	border-radius: 999px;

	opacity: 0;

	transform: translateX(-50%) scale(0.4);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.ww-values-tabs .tab-container .lm-tab:hover,
.ww-values-tabs .tab-container .lm-tab:focus,
.ww-values-tabs .tab-container .lm-tab.button:hover,
.ww-values-tabs .tab-container .lm-tab.button:focus,
.ww-values-tabs .tab-container button.lm-tab:hover,
.ww-values-tabs .tab-container button.lm-tab:focus,
.ww-values-tabs .tab-container button.lm-tab.button:hover,
.ww-values-tabs .tab-container button.lm-tab.button:focus {
	background: rgba(255, 255, 255, 0.86) !important;
	border-color: rgba(175, 18, 109, 0.18) !important;
	color: #AF126D !important;

	box-shadow: 0 8px 20px rgba(175, 18, 109, 0.10) !important;

	transform: translateY(-1px);
}

.ww-values-tabs .tab-container .lm-tab:hover::before,
.ww-values-tabs .tab-container .lm-tab:focus::before,
.ww-values-tabs .tab-container .lm-tab.button:hover::before,
.ww-values-tabs .tab-container .lm-tab.button:focus::before,
.ww-values-tabs .tab-container button.lm-tab:hover::before,
.ww-values-tabs .tab-container button.lm-tab:focus::before,
.ww-values-tabs .tab-container button.lm-tab.button:hover::before,
.ww-values-tabs .tab-container button.lm-tab.button:focus::before {
	opacity: 0.45;

	transform: translateX(-50%) scale(1);
}

.ww-values-tabs .tab-container .lm-tab.active,
.ww-values-tabs .tab-container .lm-tab.button.active,
.ww-values-tabs .tab-container button.lm-tab.active,
.ww-values-tabs .tab-container button.lm-tab.button.active {
	background: #AF126D !important;
	border-color: #AF126D !important;
	color: #fff !important;

	box-shadow:
		0 12px 28px rgba(175, 18, 109, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;

	transform: none;
}

.ww-values-tabs .tab-container .lm-tab.active::before,
.ww-values-tabs .tab-container .lm-tab.button.active::before,
.ww-values-tabs .tab-container button.lm-tab.active::before,
.ww-values-tabs .tab-container button.lm-tab.button.active::before {
	background: #fff;

	opacity: 0.86;

	transform: translateX(-50%) scale(1);
}

/* ==========================================
   TAB WRAPPER
========================================== */

.ww-values-tabs .lm-tab-wrapped {
	position: relative;
}

.ww-values-tabs .lm-tab-wrapped.hidden {
	display: none;
}

.ww-values-tabs .lm-tab-wrapped.active-tab {
	display: block;

	animation: ymcaValuesTabIn 0.36s ease both;
}

/* ==========================================
   TAB PANEL
========================================== */

.ww-values-tabs .ww-tab {
	position: relative;
	overflow: hidden;

	background: #fff;
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 34px;

	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.085),
		inset 0 1px 0 rgba(255, 255, 255, 0.92);
}

.ww-values-tabs .ww-tab::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;

	height: 9px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.ww-values-tabs .ww-tab::after {
	content: "";

	position: absolute;
	left: -72px;
	bottom: -72px;
	z-index: 0;

	width: 190px;
	height: 190px;

	background: rgba(175, 18, 109, 0.045);
	border-radius: 999px;

	pointer-events: none;
}

.ww-values-tabs .ww-tab > .i {
	position: relative;
	z-index: 1;

	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	align-items: stretch;

	min-height: clamp(390px, 40vw, 560px);
}

/* ==========================================
   TEXT PANEL
========================================== */

.ww-values-tabs .ww-tab-content {
	position: relative;

	display: flex;
	align-items: center;

	min-width: 0;

	padding:
		clamp(2rem, 5vw, 4.5rem)
		clamp(1.6rem, 4vw, 4rem);
}

.ww-values-tabs .ww-tab-content::before {
	content: "";

	position: absolute;
	left: clamp(1.4rem, 3vw, 3rem);
	top: clamp(1.4rem, 3vw, 2.4rem);

	width: 3.2rem;
	height: 3.2rem;

	background: rgba(175, 18, 109, 0.08);
	border-radius: 999px;

	box-shadow:
		0 0 0 12px rgba(175, 18, 109, 0.035),
		0 0 0 24px rgba(175, 18, 109, 0.018);

	pointer-events: none;
}

.ww-values-tabs .ww-tab-content h3 {
	position: relative;
	z-index: 1;

	display: block;

	max-width: 760px;
	margin: 0;

	color: #4D4F53;

	font-size: clamp(1.85rem, 3.9vw, 4.05rem);
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.045em;
	text-wrap: balance;
}

.ww-values-tabs .ww-tab-content h3::before {
	content: "YMCA values";

	display: flex;
	align-items: center;
	justify-content: center;

	width: max-content;
	max-width: 100%;

	margin: 0 0 1.05rem;
	padding: 0.5rem 0.78rem;

	background: rgba(175, 18, 109, 0.08);
	border: 1px solid rgba(175, 18, 109, 0.12);
	border-radius: 999px;

	color: #AF126D;

	font-size: 0.74rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ==========================================
   IMAGE PANEL
========================================== */

.ww-values-tabs .ww-tab-image {
	position: relative;
	overflow: hidden;

	min-width: 0;
	min-height: 100%;

	background:
		linear-gradient(
			135deg,
			rgba(155, 211, 242, 0.16),
			rgba(175, 18, 109, 0.08)
		);
}

.ww-values-tabs .ww-tab-image::before {
	content: "";

	position: absolute;
	inset: clamp(1rem, 2vw, 1.4rem);
	z-index: 2;

	border: 1px solid rgba(255, 255, 255, 0.36);
	border-radius: 28px;

	pointer-events: none;
}

.ww-values-tabs .ww-tab-image::after {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 1;

	background:
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.72) 0%,
			rgba(255, 255, 255, 0.18) 18%,
			rgba(255, 255, 255, 0) 42%
		),
		linear-gradient(
			180deg,
			rgba(175, 18, 109, 0.05) 0%,
			rgba(175, 18, 109, 0) 45%
		);

	pointer-events: none;
}

.ww-values-tabs .ww-tab-image img {
	display: block;

	width: 100% !important;
	height: 100% !important;
	min-height: clamp(390px, 40vw, 560px);

	object-fit: cover;
	object-position: center center;

	margin: 0 !important;
	padding: 0 !important;

	transform: scale(1.015);

	transition:
		transform 0.55s ease,
		filter 0.55s ease;
}

.ww-values-tabs .ww-tab:hover .ww-tab-image img,
.ww-values-tabs .ww-tab:focus-within .ww-tab-image img {
	transform: scale(1.045);

	filter: saturate(1.04) contrast(1.02);
}

/* Decorative image badge */

.ww-values-tabs .ww-tab-image.content {
	position: relative;
}

.ww-values-tabs .ww-tab-image.content::after {
	content: "";

	position: absolute;
	right: clamp(1rem, 2vw, 1.4rem);
	bottom: clamp(1rem, 2vw, 1.4rem);
	z-index: 3;

	width: clamp(72px, 8vw, 118px);
	height: clamp(72px, 8vw, 118px);

	background:
		radial-gradient(
			circle at 38% 34%,
			rgba(255, 255, 255, 0.92) 0 0.38rem,
			rgba(255, 255, 255, 0) 0.42rem
		),
		rgba(175, 18, 109, 0.82);

	border: 2px solid rgba(255, 255, 255, 0.72);
	border-radius: 999px;

	box-shadow: 0 18px 40px rgba(175, 18, 109, 0.26);

	pointer-events: none;
}

/* ==========================================
   ACTIVE PANEL TRANSITION
========================================== */

@keyframes ymcaValuesTabIn {
	from {
		opacity: 0;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1000px) {
	.ww-values-tabs .tab-container {
		width: 100%;
		justify-content: flex-start;

		border-radius: 24px;
	}

	.ww-values-tabs .tab-container .lm-tab,
	.ww-values-tabs .tab-container .lm-tab.button,
	.ww-values-tabs .tab-container button.lm-tab,
	.ww-values-tabs .tab-container button.lm-tab.button {
		flex: 1 1 auto;

		min-width: min(100%, 150px) !important;
	}

	.ww-values-tabs .ww-tab > .i {
		grid-template-columns: 1fr;

		min-height: 0;
	}

	.ww-values-tabs .ww-tab-content {
		min-height: 280px;
	}

	.ww-values-tabs .ww-tab-image {
		min-height: 340px;
	}

	.ww-values-tabs .ww-tab-image img {
		min-height: 340px;
	}

	.ww-values-tabs .ww-tab-image::after {
		background:
			linear-gradient(
				180deg,
				rgba(255, 255, 255, 0.42) 0%,
				rgba(255, 255, 255, 0) 35%
			),
			linear-gradient(
				180deg,
				rgba(175, 18, 109, 0.05) 0%,
				rgba(175, 18, 109, 0) 45%
			);
	}
}

@media (max-width: 767px) {
	.ww-values-tabs .tab-container {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.55rem;

		padding: 0.65rem;

		border-radius: 22px;
	}

	.ww-values-tabs .tab-container .lm-tab,
	.ww-values-tabs .tab-container .lm-tab.button,
	.ww-values-tabs .tab-container button.lm-tab,
	.ww-values-tabs .tab-container button.lm-tab.button {
		width: 100% !important;
		min-height: 42px !important;

		padding: 0.75rem 0.9rem !important;

		font-size: 0.9rem !important;
	}

	.ww-values-tabs .ww-tab {
		border-radius: 26px;
	}

	.ww-values-tabs .ww-tab::before {
		height: 7px;
	}

	.ww-values-tabs .ww-tab-content {
		min-height: 260px;

		padding:
			clamp(2rem, 8vw, 3rem)
			clamp(1.25rem, 6vw, 2rem);
	}

	.ww-values-tabs .ww-tab-content::before {
		left: 1.25rem;
		top: 1.25rem;

		width: 2.4rem;
		height: 2.4rem;
	}

	.ww-values-tabs .ww-tab-content h3 {
		font-size: clamp(1.9rem, 10vw, 3rem);
		line-height: 1;
	}

	.ww-values-tabs .ww-tab-content h3::before {
		margin-bottom: 0.85rem;

		font-size: 0.7rem;
	}

	.ww-values-tabs .ww-tab-image {
		min-height: 300px;
	}

	.ww-values-tabs .ww-tab-image img {
		min-height: 300px;
	}

	.ww-values-tabs .ww-tab-image::before {
		inset: 0.8rem;

		border-radius: 20px;
	}
}

@media (max-width: 480px) {
	.ww-values-tabs .ww-tab-content {
		min-height: 240px;
	}

	.ww-values-tabs .ww-tab-image,
	.ww-values-tabs .ww-tab-image img {
		min-height: 260px;
	}

	.ww-values-tabs .ww-tab-content h3 {
		font-size: clamp(1.8rem, 11vw, 2.65rem);
	}
}





 /* Begin CSS Part: Effects */

 /* Begin CSS Part: Site Design */
/* ==========================================
   FOOTER
========================================== */

.footer-wrapper {
	width: 100%;

	background: var(--ww-color-footer-bg);
	color: var(--ww-color-footer-text);
}

/* ==========================================
   MAIN FOOTER
========================================== */

.main-footer {
	position: relative;

	padding-block: var(--ww-space-xl);
}

.main-footer > .i {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.35fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.main-footer-group {
	min-width: 0;
}

.main-footer-group > label {
	display: block;

	margin: 0 0 1.25rem;

	color: var(--ww-color-footer-text);

	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;

	opacity: 0.75;
}

/* ==========================================
   FOOTER INFO GROUP
========================================== */

.footer-info-group .footer-logo img {
	display: block;

	width: auto;
	max-width: 260px;
	height: auto;
	margin: 0 0 2rem;
}

.footer-info-group h2 {
	max-width: 420px;
	margin: 0 0 0.75rem;

	color: var(--ww-color-footer-text);

	font-size: clamp(1.8rem, 3vw, 2.8rem);
}

.footer-info-group label {
	display: block;

	margin: 0 0 1.5rem;

	color: var(--ww-color-footer-text);

	font-size: 1.1rem;

	opacity: 0.8;
}

/* ==========================================
   SOCIAL ICONS
========================================== */

.social-block {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;

	margin-top: 1.5rem;
}

.social-block a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 999px;

	transition:
		background-color var(--ww-transition-fast),
		border-color var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.social-block img {
	display: block;

	width: 24px;
	height: 24px;
	margin: 0;

	object-fit: contain;

	transition:
		opacity var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.social-block a:hover,
.social-block a:focus {
	background: rgba(255, 255, 255, 0.15);
	border-color: rgba(255, 255, 255, 0.22);

	transform: translateY(-2px);
}

.social-block a:hover img,
.social-block a:focus img {
	opacity: 0.9;
}

/* ==========================================
   FOOTER MENU GROUP
   Services + Information menus
========================================== */

.footer-menu-group {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(1.5rem, 3vw, 2.25rem);
	row-gap: 1.75rem;

	min-width: 0;
}

.footer-menu-group .layout-component.menu {
	min-width: 0;
}

/* Individual menu labels */

.footer-menu-group .layout-component.menu > label {
	display: block;

	margin: 0 0 1rem;

	color: var(--ww-color-footer-text);

	font-size: 0.82rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;

	opacity: 0.72;
}

/* Footer menu lists */

.footer-menu-group .menubar,
.footer-menu-group .menubar.horizontal {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.55rem;

	margin: 0;
	padding: 0;

	list-style: none;
}

.footer-menu-group .menubar li,
.footer-menu-group .menubar.horizontal li {
	display: block;

	width: 100%;
	margin: 0;
	padding: 0;
}

/* Hide any nested menus inside footer menus */

.footer-menu-group .menubar .menubar {
	display: none !important;
}

/* Footer menu links */

.footer-menu-group .menu_item,
.footer-menu-group .menu_item:visited {
	position: relative;

	display: inline-flex;
	align-items: center;
	gap: 0.55rem;

	padding: 0.15rem 0;

	color: var(--ww-color-footer-text);
	text-decoration: none;

	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.35;

	opacity: 0.86;

	transition:
		opacity var(--ww-transition-fast),
		color var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.footer-menu-group .menu_item::before {
	content: "";

	display: block;

	width: 0.42rem;
	height: 0.42rem;

	flex: 0 0 0.42rem;

	border-radius: 50%;
	background: #fff;

	opacity: 0.86;

	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.08);

	transition:
		background-color var(--ww-transition-fast),
		box-shadow var(--ww-transition-fast),
		transform var(--ww-transition-fast),
		opacity var(--ww-transition-fast);
}

.footer-menu-group .menu_item:hover,
.footer-menu-group .menu_item:focus,
.footer-menu-group li.active .menu_item {
	color: var(--ww-color-footer-text);

	opacity: 1;

	transform: translateX(3px);
}

.footer-menu-group .menu_item:hover::before,
.footer-menu-group .menu_item:focus::before,
.footer-menu-group li.active .menu_item::before {
	background: #9BD3F2;

	opacity: 1;

	box-shadow: 0 0 0 3px rgba(155, 211, 242, 0.16);

	transform: scale(1.18);
}

/* ==========================================
   FOOTER DONATE BUTTON
   Added under Services menu
========================================== */

.footer-menu-group .component-footer {
	margin-top: 1.35rem;
}

.footer-menu-group .ldonate-button {
	display: block;
}

.footer-menu-group .ldonate-button .button,
.footer-menu-group .ldonate-button .button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	width: auto;
	min-height: 46px;

	padding: 0.85rem 1.25rem;

	background: #AF126D;
	border: 2px solid rgba(255, 255, 255, 0.9);
	border-radius: 999px;

	color: #fff !important;
	text-decoration: none;

	font-weight: 900;
	line-height: 1;

	box-shadow:
		0 12px 28px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);

	transition:
		background-color var(--ww-transition-fast),
		border-color var(--ww-transition-fast),
		color var(--ww-transition-fast),
		transform var(--ww-transition-fast),
		box-shadow var(--ww-transition-fast);
}

.footer-menu-group .ldonate-button .button::before {
	content: "♥";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.55rem;
	height: 1.55rem;

	border-radius: 999px;

	background: #fff;
	color: #AF126D;

	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1;

	transition:
		background-color var(--ww-transition-fast),
		color var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.footer-menu-group .ldonate-button .button:hover,
.footer-menu-group .ldonate-button .button:focus {
	background: #fff;
	border-color: #fff;
	color: #AF126D !important;

	transform: translateY(-2px);

	box-shadow:
		0 16px 36px rgba(0, 0, 0, 0.24),
		0 0 0 4px rgba(255, 255, 255, 0.10),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.footer-menu-group .ldonate-button .button:hover::before,
.footer-menu-group .ldonate-button .button:focus::before {
	background: #AF126D;
	color: #fff;

	transform: scale(1.08);
}

/* ==========================================
   FOOTER CONTACT GROUP
========================================== */

.footer-contact-component {
	margin-bottom: 1.25rem;
}

.footer-contact-component:last-child {
	margin-bottom: 0;
}

.footer-contact-component label {
	display: block;

	margin: 0 0 0.25rem;

	color: var(--ww-color-footer-text);

	font-size: 0.8rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.05em;
	text-transform: uppercase;

	opacity: 0.65;
}

.main-footer .-info-info-part {
	line-height: 1.5;
}

.main-footer .company-info-part,
.main-footer .company-info-part div {
	color: var(--ww-color-footer-text);

	font-size: 0.98rem;
}

/* Remove UNITED KINGDOM from address */

.footer-contact-group [itemprop="addressCountry"] {
	display: none;
}

/* ==========================================
   FOOTER LINKS
========================================== */

.main-footer a,
.main-footer a:visited,
.base-footer a,
.base-footer a:visited {
	color: var(--ww-color-footer-text);
}

.main-footer .footer-contact-group a,
.main-footer .footer-contact-group a:visited {
	color: var(--ww-color-footer-text);
	text-decoration: none;
}

.main-footer .footer-contact-group a:hover,
.main-footer .footer-contact-group a:focus,
.main-footer a:hover,
.main-footer a:focus,
.base-footer a:hover,
.base-footer a:focus {
	color: var(--ww-color-footer-text);

	opacity: 0.8;
}

/* ==========================================
   FOOTER BUTTONS
   Excludes custom menu donate button
========================================== */

.main-footer .button:not(.ldonate-button .button),
.main-footer .button:not(.ldonate-button .button):visited,
.base-footer .button,
.base-footer .button:visited {
	background: var(--ww-color-button-bg);
	color: var(--ww-color-button-text);
	border-color: var(--ww-color-button-border);
}

.main-footer .button:not(.ldonate-button .button):hover,
.main-footer .button:not(.ldonate-button .button):focus,
.base-footer .button:hover,
.base-footer .button:focus {
	background: var(--ww-color-button-bg-hover);
	color: var(--ww-color-button-text-hover);
	border-color: var(--ww-color-button-border-hover);
}

/* ==========================================
   BASE FOOTER
========================================== */

.base-footer {
	padding-block: 1.25rem;

	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.base-footer > .i {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}

.base-copyright p {
	margin: 0;

	color: var(--ww-color-footer-text);

	font-size: 0.9rem;
	line-height: 1.4;

	opacity: 0.75;
}

/* Watman Web credit link */

.base-copyright p a,
.base-copyright p a:visited {
	position: relative;

	display: inline-flex;
	align-items: center;

	padding: 0.08rem 0.15rem 0.1rem;

	color: #fff;
	text-decoration: none;

	font-weight: 900;

	opacity: 1;

	transition:
		color var(--ww-transition-fast),
		opacity var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.base-copyright p a::before {
	content: "";

	position: absolute;
	left: 0;
	right: 0;
	bottom: 0.02rem;
	z-index: -1;

	height: 0.48em;

	background: rgba(175, 18, 109, 0.72);
	border-radius: 999px;

	transform: scaleX(0.96);
	transform-origin: left center;

	transition:
		background-color var(--ww-transition-fast),
		height var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.base-copyright p a::after {
	content: "";

	display: inline-block;

	width: 0.42rem;
	height: 0.42rem;
	margin-left: 0.38rem;

	border-radius: 999px;
	background: #AF126D;

	box-shadow: 0 0 0 3px rgba(175, 18, 109, 0.14);

	transition:
		background-color var(--ww-transition-fast),
		transform var(--ww-transition-fast),
		box-shadow var(--ww-transition-fast);
}

.base-copyright p a:hover,
.base-copyright p a:focus {
	color: #fff;

	opacity: 1;

	transform: translateY(-1px);
}

.base-copyright p a:hover::before,
.base-copyright p a:focus::before {
	height: 0.72em;

	background: #AF126D;

	transform: scaleX(1.03);
}

.base-copyright p a:hover::after,
.base-copyright p a:focus::after {
	background: #9BD3F2;

	box-shadow: 0 0 0 3px rgba(155, 211, 242, 0.16);

	transform: scale(1.15);
}

/* Base menu */

.base-menu .menubar,
.base-menu .menubar.horizontal {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 1rem;

	margin: 0;
	padding: 0;

	list-style: none;
}

.base-menu .menubar li {
	margin: 0;
	padding: 0;
}

.base-menu .menu_item,
.base-menu .menu_item:visited {
	display: inline-flex;
	align-items: center;

	padding: 0;

	color: var(--ww-color-footer-text);
	text-decoration: none;

	font-size: 0.9rem;
	line-height: 1.3;

	opacity: 0.75;

	transition:
		opacity var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.base-menu .menu_item:hover,
.base-menu .menu_item:focus {
	opacity: 1;

	transform: translateY(-1px);
}

.base-footer li a span {
	margin: 0;

	font-size: 0.9rem;
	opacity: 1;
}

/* ==========================================
   FOOTER RESPONSIVE
========================================== */

@media (min-width: 768px) and (max-width: 1100px) {
	.main-footer > .i {
		grid-template-columns: 1fr 1fr;
	}

	.footer-info-group {
		grid-column: 1 / -1;
	}

	.footer-menu-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.main-footer {
		padding-block: var(--ww-space-l);
	}

	.main-footer > .i {
		grid-template-columns: 1fr;
		gap: var(--ww-space-m);
	}

	.footer-info-group .footer-logo img {
		max-width: 220px;
		margin-bottom: 1.5rem;
	}

	.social-block {
		margin-top: 1.25rem;
	}

	.footer-menu-group {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.footer-menu-group .layout-component.menu {
		padding-top: 1.25rem;

		border-top: 1px solid rgba(255, 255, 255, 0.10);
	}

	.footer-menu-group .layout-component.menu:first-of-type {
		padding-top: 0;

		border-top: 0;
	}

	.footer-menu-group .component-footer {
		margin-top: 1.15rem;
	}

	.footer-menu-group .ldonate-button .button {
		width: 100%;
	}

	.base-footer > .i {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.base-menu .menubar,
	.base-menu .menubar.horizontal {
		justify-content: flex-start;
		gap: 0.85rem 1rem;
	}
}

@media (max-width: 480px) {
	.footer-menu-group .menu_item,
	.footer-menu-group .menu_item:visited {
		font-size: 0.95rem;
	}

	.main-footer .company-info-part,
	.main-footer .company-info-part div {
		font-size: 0.95rem;
	}

	.social-block a {
		width: 40px;
		height: 40px;
	}

	.footer-menu-group .ldonate-button .button {
		min-height: 48px;
	}
}
 /* Begin CSS Part: User Design */
/* ==========================================
   CONTACT PAGE
   Use with:
   .contact-info
   .map-container
========================================== */

/* ==========================================
   CONTACT PAGE GRID
========================================== */

.page-section.ww-grid.ww-grid--2 .contact-info {
	position: relative;
	min-width: 0;
}

/* ==========================================
   CONTACT INTRO CONTENT
========================================== */

.contact-info > .content {
	position: relative;

	margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.contact-info > .content h2 {
	margin: 0 0 1rem;

	color: #AF126D;
	font-size: clamp(1.9rem, 3.2vw, 3rem);
	font-weight: 900;
	line-height: 1.05;
	text-wrap: balance;
}

.contact-info > .content p {
	max-width: 760px;
	margin: 0 0 0.9rem;

	color: #4D4F53;
	font-size: 1.05rem;
	line-height: 1.7;
}

.contact-info > .content p:last-child {
	margin-bottom: 0;
}

.contact-info > .content em {
	display: inline-flex;
	align-items: center;

	margin-top: 0.25rem;
	padding: 0.45rem 0.75rem;

	background: rgba(175, 18, 109, 0.07);
	border: 1px solid rgba(175, 18, 109, 0.12);
	border-radius: 999px;

	color: #AF126D;

	font-size: 0.95rem;
	font-style: normal;
	font-weight: 800;
	line-height: 1.2;
}

/* Hide empty spacer paragraphs from EOS/content editor */

.contact-info > .content p:empty,
.contact-info > .content p:has(> br:only-child) {
	display: none;
}

/* ==========================================
   CONTACT INFO CARDS
   Telephone / Email / Address
========================================== */

.contact-info .company-info {
	position: relative;
	overflow: hidden;

	display: block;

	width: 100%;
	margin: 0 0 1rem;
	padding: 1.25rem 1.35rem;

	background: #fff;
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 20px;

	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.055);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.contact-info .company-info::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 6px;

	background: #AF126D;
}

.contact-info .company-info::after {
	content: "";

	position: absolute;
	right: -42px;
	bottom: -42px;

	width: 115px;
	height: 115px;

	background: rgba(175, 18, 109, 0.045);
	border-radius: 999px;

	pointer-events: none;
}

.contact-info .company-info:hover,
.contact-info .company-info:focus-within {
	border-color: rgba(175, 18, 109, 0.18);

	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.075);

	transform: translateY(-3px);
}

/* ==========================================
   CONTACT INFO LABELS WITH ICONS
========================================== */

.contact-info .company-info label {
	position: relative;
	z-index: 1;

	display: inline-flex !important;
	align-items: center;
	gap: 0.75rem;

	margin: 0 0 0.45rem;

	color: #AF126D;

	font-size: 0.78rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.contact-info .company-info label::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.8rem;
	height: 1.8rem;

	flex: 0 0 1.8rem;

	background: #AF126D;
	border-radius: 999px;

	color: #fff;

	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;

	box-shadow:
		0 8px 18px rgba(175, 18, 109, 0.18),
		0 0 0 4px rgba(175, 18, 109, 0.08);
}

/* Telephone icon */

.contact-info .telephone-block label::before {
	content: "☎";
}

/* Email icon */

.contact-info .email-block label::before {
	content: "@";
}

/* Address icon */

.contact-info .address-block label::before {
	content: "⌖";
}

.contact-info .charity-block label::before {
	content: "♥";
}


/* ==========================================
   CONTACT INFO CONTENT
   Indents value to align with label text after icon
========================================== */

.contact-info .company-info > .content {
	position: relative;
	z-index: 1;

	padding-left: calc(1.8rem + 0.75rem);
}

.contact-info .company-info-part {
	color: #4D4F53;

	font-size: 1.08rem;
	font-weight: 800;
	line-height: 1.45;
}

/* Contact links */

.contact-info .company-info a,
.contact-info .company-info a:visited {
	color: #4D4F53;
	text-decoration: none;

	transition:
		color 0.25s ease,
		opacity 0.25s ease;
}

.contact-info .company-info a:hover,
.contact-info .company-info a:focus {
	color: #AF126D;
	opacity: 1;
}

/* Address card */

.contact-info .address-block {
	margin-top: 0.25rem;
}

.contact-info .address-block .company-info-part,
.contact-info .address-block .company-info-part div {
	font-weight: 700;
	line-height: 1.55;
}

/* Remove UNITED KINGDOM from contact page address */

.contact-info [itemprop="addressCountry"] {
	display: none;
}

/* ==========================================
   CONTACT FORM SIBLING BALANCE
   Keeps form aligned with contact content
========================================== */

.page-section.ww-grid.ww-grid--2 .page-section-form {
	align-self: start;
}

/* ==========================================
   MAP SECTION
========================================== */

.map-container {
	position: relative;
	isolation: isolate;

	padding-block: clamp(3rem, 6vw, 5rem);

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045) 0%,
			rgba(155, 211, 242, 0.12) 50%,
			rgba(129, 195, 175, 0.08) 100%
		);
}

.map-container::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 0;

	height: clamp(120px, 18vw, 230px);

	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.82) 0%,
			rgba(255, 255, 255, 0.42) 48%,
			rgba(255, 255, 255, 0) 100%
		);

	pointer-events: none;
}

.map-container > .i {
	position: relative;
	z-index: 1;

	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.map-container .map {
	position: relative;
	overflow: hidden;

	width: 100%;

	background: #fff;
	border-top: 1px solid rgba(77, 79, 83, 0.08);
	border-bottom: 1px solid rgba(77, 79, 83, 0.08);
	border-left: 0;
	border-right: 0;
	border-radius: 0;

	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
}

.map-container .map::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.map-container .map h2 {
	position: relative;
	z-index: 2;

	width: min(100% - var(--ww-page-gutter), var(--ww-container-max));
	margin: 0 auto;
	padding:
		clamp(1.35rem, 3vw, 2rem)
		0
		1rem;

	color: #AF126D;

	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 900;
	line-height: 1.05;
}

.map-container .map iframe {
	display: block;

	width: 100%;
	height: clamp(340px, 42vw, 520px);

	border: 0;

	filter: saturate(0.92) contrast(1.02);

	transition: filter 0.35s ease;
}

.map-container .map:hover iframe,
.map-container .map:focus-within iframe {
	filter: saturate(1.05) contrast(1.04);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.contact-info > .content h2 {
		font-size: clamp(1.7rem, 8vw, 2.35rem);
	}

	.contact-info > .content p {
		font-size: 1rem;
		line-height: 1.62;
	}

	.contact-info .company-info {
		padding: 1.15rem 1.1rem;
		border-radius: 18px;
	}

	.contact-info .company-info label {
		gap: 0.7rem;

		font-size: 0.74rem;
	}

	.contact-info .company-info label::before {
		width: 1.65rem;
		height: 1.65rem;

		flex-basis: 1.65rem;

		font-size: 0.82rem;
	}

	.contact-info .company-info > .content {
		padding-left: calc(1.65rem + 0.7rem);
	}

	.contact-info .company-info-part {
		font-size: 1rem;
	}

	.map-container {
		padding-block: clamp(2.5rem, 8vw, 3.5rem);
	}

	.map-container .map {
		border-radius: 0;
	}

	.map-container .map iframe {
		height: 340px;
	}
}
 /* Begin CSS Part: Site Components */
/* ==========================================
   CARD BASE
========================================== */

.card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;

	background: #fff;

	border: 1px solid rgba(0,0,0,0.08);
	border-radius: var(--ww-radius-m);

	overflow: hidden;

	box-shadow: 0 6px 20px rgba(0,0,0,0.04);

	transition:
		transform var(--ww-transition-fast),
		box-shadow var(--ww-transition-fast),
		border-color var(--ww-transition-fast);
}

.card:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 40px rgba(0,0,0,0.08);
	border-color: rgba(0,0,0,0.12);
}
 /* Begin CSS Part: Results */

 /* Begin CSS Part: Pages */

 /** Begin CSS Section: modules */

 /* Begin CSS Part: 404 */

 /* Begin CSS Part: Admin */

 /* Begin CSS Part: Analytics Data */

 /* Begin CSS Part: Auth */

 /* Begin CSS Part: Auto Pdf */

 /* Begin CSS Part: Basket */

 /* Begin CSS Part: Calendar */

 /* Begin CSS Part: Categories */
/* ==========================================
   OUTPUT CARD
========================================== */

.card-output > .layout-cell {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.card-output .card-image-container {
	display: block;
	overflow: hidden;
}

.card-output .card-image-container img {
	display: block;
	width: 100%;
	height: auto;

	transition: transform 0.4s ease;
}

.card-output:hover .card-image-container img {
	transform: scale(1.03);
}

.card-output .card-content-container {
	display: flex;
	flex-direction: column;
	flex: 1;

	padding: var(--ww-space-m);
}

.card-output .title h2,
.card-output .title h3,
.card-output .title h4 {
	margin-bottom: 0.75rem;
}

.card-output .abstract {
	margin-bottom: 1rem;
}

.card-output .specific-component {
	margin-top: auto;

	color: var(--ww-color-heading-tertiary);
	font-size: 0.9rem;
	font-weight: 700;
	opacity: 0.65;
}

.card-output .card-action-container {
	padding: 0 var(--ww-space-m) var(--ww-space-m);
}

.card-output .collation-item-link,
.card-output .collation-item-link:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;
	padding: 0.8rem 1.35rem;

	background: var(--ww-color-button-bg);
	color: var(--ww-color-button-text);

	border: 1px solid var(--ww-color-button-border);
	border-radius: var(--ww-radius-s);

	font-weight: 700;
	line-height: 1;
	text-decoration: none;

	transition:
		background-color var(--ww-transition-fast),
		color var(--ww-transition-fast),
		border-color var(--ww-transition-fast),
		transform var(--ww-transition-fast);
}

.card-output .collation-item-link:hover,
.card-output .collation-item-link:focus {
	background: var(--ww-color-button-bg-hover);
	color: var(--ww-color-button-text-hover);
	border-color: var(--ww-color-button-border-hover);

	transform: translateY(-1px);
}
 /* Begin CSS Part: Checkout */

 /* Begin CSS Part: Collation */
/* ==========================================
   TEAM SECTION
========================================== */

.team-section {
	position: relative;
}

.team-section .team-category {
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.team-section .team-category:last-child {
	margin-bottom: 0;
}

.team-section .team-category > .team-section {
	margin-bottom: 1.5rem;
}

.team-section .title h2 {
	margin-bottom: 1.5rem;

	color: #4D4F53;
	font-size: clamp(2rem, 4vw, 3.5rem);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#5DA9DD,
		#81C3AF,
		#F7BF1F
	);

	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

/* ==========================================
   TEAM GRID
========================================== */

.team-grid .collation-items-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2vw, 2rem);
}

.team-member {
	position: relative;
}

.team-preview {
	height: 100%;
	overflow: hidden;

	background: #fff;
	border-radius: 24px;

	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.team-preview .icon {
	overflow: hidden;
	aspect-ratio: 5 / 6.5;
	background: #e5e6e8;
}

.team-preview .icon img {
	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition: transform 0.35s ease;
}

.team-preview .title,
.team-preview .specific-component {
	padding-inline: 1.25rem;
}

.team-preview .title {
	padding-top: 1.25rem;
}

.team-preview .specific-component {
	padding-bottom: 1.4rem;
}

.team-preview h3 {
	margin: 0 0 0.4rem;

	color: #4D4F53;
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.1;
}

.team-preview h4 {
	margin: 0;

	color: #AF126D;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.3;
}

/* Hide bios in normal card view */

.team-bio {
	display: none;
}

/* Clickable team members */

.team-member.has-bio .team-preview {
	cursor: pointer;
}

.team-member.has-bio .team-preview::after {
	content: "Read bio";

	position: absolute;
	right: 1rem;
	bottom: 1rem;

	padding: 0.45rem 0.85rem;

	background: #AF126D;
	color: #fff;
	border-radius: 999px;

	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1;

	opacity: 0;
	transform: translateY(8px);

	transition:
		opacity 0.25s ease,
		transform 0.25s ease;
}

.team-member.has-bio:hover .team-preview,
.team-member.has-bio:focus-within .team-preview {
	transform: translateY(-6px);
	box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
}

.team-member.has-bio:hover .team-preview img,
.team-member.has-bio:focus-within .team-preview img {
	transform: scale(1.04);
}

.team-member.has-bio:hover .team-preview::after,
.team-member.has-bio:focus-within .team-preview::after {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================
   TEAM MODAL
========================================== */

.team-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 5000;

	display: flex;
	align-items: center;
	justify-content: center;

	padding: clamp(1rem, 4vw, 3rem);

	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(4px);

	opacity: 0;
	visibility: hidden;

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}

.team-modal-overlay.is-active {
	opacity: 1;
	visibility: visible;
}

.team-modal {
	position: relative;

	display: grid;
	grid-template-columns: minmax(220px, 340px) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);

	width: min(100%, 980px);
	max-height: min(86vh, 760px);
	overflow: auto;

	background: #fff;
	border-radius: 28px;

	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);

	transform: translateY(16px) scale(0.98);

	transition: transform 0.25s ease;
}

.team-modal-overlay.is-active .team-modal {
	transform: translateY(0) scale(1);
}

.team-modal::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#5DA9DD,
		#81C3AF,
		#F7BF1F
	);
}

.team-modal-image {
	overflow: hidden;
	min-height: 100%;

	background: #e5e6e8;
	border-radius: 28px 0 0 28px;
}

.team-modal-image img {
	display: block;
	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.team-modal-content {
	padding: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 4vw, 3rem) clamp(2rem, 4vw, 3rem) 0;
}

.team-modal-content h3 {
	margin: 0 0 0.5rem;

	color: #4D4F53;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
}

.team-modal-role {
	display: block;
	margin-bottom: 1.5rem;

	color: #AF126D;
	font-size: 1.05rem;
	font-weight: 800;
	line-height: 1.3;
}

.team-modal-bio {
	color: #4D4F53;
	font-size: 1rem;
	line-height: 1.65;
}

.team-modal-bio p {
	margin: 0 0 1rem;
}

.team-modal-bio p:last-child {
	margin-bottom: 0;
}

.team-modal-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border: 0;
	border-radius: 50%;

	background: #AF126D;
	color: #fff;

	font-size: 1.5rem;
	line-height: 1;

	cursor: pointer;

	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.team-modal-close:hover,
.team-modal-close:focus {
	background: #4D4F53;
	transform: rotate(90deg);
}

/* Lock page scroll when modal is open */

body.team-modal-open {
	overflow: hidden;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1100px) {
	.team-grid .collation-items-list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 800px) {
	.team-grid .collation-items-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.team-modal {
		grid-template-columns: 1fr;
		max-height: 88vh;
	}

	.team-modal-image {
		max-height: 360px;
		border-radius: 28px 28px 0 0;
	}

	.team-modal-content {
		padding: 0 clamp(1.5rem, 5vw, 2rem) clamp(2rem, 5vw, 2rem);
	}
}

@media (max-width: 560px) {
	.team-grid .collation-items-list {
		grid-template-columns: 1fr;
	}

	.team-preview h3 {
		font-size: 1.35rem;
	}
}




/* ==========================================
   JOB LISTING DETAIL PAGE
   Use with:
   .page-section.top-fade
   .job-information
   .job-details
   .job-description
   .page-section-sidebar
   .application-box
========================================== */

/* ==========================================
   PAGE GRID
========================================== */

.page-section.top-fade.ww-grid.ww-grid--2 {
	position: relative;
	isolation: isolate;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045) 0%,
			rgba(155, 211, 242, 0.12) 50%,
			rgba(129, 195, 175, 0.08) 100%
		);
}

.page-section.top-fade.ww-grid.ww-grid--2 > .i {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

/* Optional soft fade from the top of the section */

.page-section.top-fade.ww-grid.ww-grid--2::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 0;

	height: clamp(120px, 18vw, 240px);

	background:
		linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.88) 0%,
			rgba(255, 255, 255, 0.48) 45%,
			rgba(255, 255, 255, 0) 100%
		);

	pointer-events: none;
}

.page-section.top-fade.ww-grid.ww-grid--2 > .i {
	position: relative;
	z-index: 1;
}

/* ==========================================
   MAIN JOB CONTENT CARD
========================================== */

.job-information {
	position: relative;
	overflow: hidden;

	padding:
		clamp(2rem, 4vw, 3rem)
		clamp(1.5rem, 4vw, 3rem);

	background: rgba(255, 255, 255, 0.92);
	border-radius: var(--ww-radius-l, 28px);

	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.06);
}

.job-information::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);
}

/* ==========================================
   JOB DETAIL FACTS
========================================== */

.job-information > .job-details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;

	margin-bottom: clamp(1.75rem, 4vw, 2.75rem);
}

.job-information > .job-details .text-field,
.job-information > .job-details .tfi {
	position: relative;

	padding: 1rem;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.06),
			rgba(155, 211, 242, 0.14)
		);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 16px;

	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.035);
}

.job-information > .job-details h4 {
	margin: 0 0 0.35rem;

	color: #AF126D;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.job-information > .job-details .content {
	color: #4D4F53;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;
}

.job-information > .job-details .text-field::before,
.job-information > .job-details .tfi::before {
	content: "";

	position: absolute;
	top: 1rem;
	right: 1rem;

	width: 0.48rem;
	height: 0.48rem;

	border-radius: 50%;
	background: #AF126D;

	opacity: 0.55;
}

/* ==========================================
   JOB DESCRIPTION
========================================== */

.job-description {
	position: relative;
}

.job-description .page-content {
	max-width: 860px;
}

.job-description h2,
.job-description h3 {
	margin: 2rem 0 1rem;

	color: #AF126D;
	font-size: clamp(1.45rem, 2.2vw, 2rem);
	font-weight: 800;
	line-height: 1.15;
}

.job-description h2:first-child,
.job-description h3:first-child {
	margin-top: 0;
}

.job-description p {
	margin: 0 0 1rem;

	color: #4D4F53;
	font-size: 1.05rem;
	line-height: 1.7;
}

.job-description ul,
.job-description ol {
	margin-top: 1rem;
	margin-bottom: 1.5rem;
}

.job-description li {
	line-height: 1.6;
}

/* ==========================================
   SIDEBAR
========================================== */

.page-section-sidebar {
	position: relative;

	display: grid;
	gap: 1.5rem;
}

/* Sticky sidebar on desktop */

@media (min-width: 981px) {
	.page-section-sidebar {
		position: sticky;
		top: calc(var(--ww-anchor-offset-desktop, 95px) + 1.5rem);
	}
}

/* ==========================================
   APPLICATION BOX
========================================== */

.application-box {
	position: relative;
	overflow: hidden;

	padding: 2rem;

	background: #AF126D;
	border-radius: var(--ww-radius-l, 28px);

	color: #fff;

	box-shadow: 0 18px 50px rgba(175, 18, 109, 0.22);
}

.application-box::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);
}

.application-box::after {
	content: "";

	position: absolute;
	right: -70px;
	bottom: -70px;

	width: 180px;
	height: 180px;

	background: rgba(255, 255, 255, 0.10);
	border-radius: 999px;

	pointer-events: none;
}

/* ==========================================
   CONTENT
========================================== */

.application-box h3 {
	position: relative;
	z-index: 1;

	margin: 0 0 1.25rem;

	color: #fff;
	font-size: clamp(1.45rem, 2.5vw, 2rem);
	font-weight: 900;
	line-height: 1.05;
}

.application-box p {
	position: relative;
	z-index: 1;

	margin: 0 0 1.25rem;

	color: rgba(255, 255, 255, 0.92);
	font-weight: 700;
	line-height: 1.5;
}

.application-box .textblock {
	position: relative;
	z-index: 1;
}

.application-box .textblock.empty {
	display: block;
}

/* ==========================================
   APPLY BUTTON
========================================== */

.application-box .popup {
	position: relative;
	z-index: 1;

	margin-top: 1.25rem;
}

/* Keep this rule shared for the main apply button and file download button */

.application-box .form-popup-link,
.application-box .button,
.application-box .button:visited {
	position: relative;
	overflow: hidden;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;

	width: 100%;
	min-height: 50px;

	padding: 0.9rem 1.4rem;

	background: #fff;
	border: 2px solid #fff;
	border-radius: 999px;

	color: #AF126D !important;

	font: inherit;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	text-decoration: none;

	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);

	cursor: pointer;

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.application-box .form-popup-link:hover,
.application-box .form-popup-link:focus,
.application-box .button:hover,
.application-box .button:focus {
	background: #4D4F53;
	border-color: #ffffff;
	color: #fff !important;

	transform: translateY(-3px);

	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}

/* ==========================================
   FILE DOWNLOAD AREA
   Hides the raw filename and makes the link say:
   Download Form
========================================== */

.application-box .files {
	position: relative;
	z-index: 1;

	margin-top: 0.85rem;
}

.application-box .uploaded-file {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;

	margin: 0;
	padding: 0;

	/*
		This hides the loose filename text:
		Trustee Expreession of interest form.docx

		The download link is restored below.
	*/
	font-size: 0;
	line-height: 0;
	color: transparent;
}

.application-box .uploaded-file .button,
.application-box .uploaded-file .button:visited {
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
}

.application-box .uploaded-file .button::before {
	content: "Download Form";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	color: #AF126D;

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	transition: color 0.25s ease;
}

.application-box .uploaded-file .button::after {
	content: "↓";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.55rem;
	height: 1.55rem;

	flex: 0 0 1.55rem;

	margin-left: 0.6rem;

	background: #AF126D;
	border-radius: 999px;

	color: #fff;

	font-size: 0.95rem;
	font-weight: 900;
	line-height: 1;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

.application-box .uploaded-file .button:hover::before,
.application-box .uploaded-file .button:focus::before {
	color: #fff;
}

.application-box .uploaded-file .button:hover::after,
.application-box .uploaded-file .button:focus::after {
	background: #fff;
	color: #4D4F53;

	transform: translateY(1px) scale(1.06);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.application-box {
		padding: 1.5rem;

		border-radius: 24px;
	}

	.application-box h3 {
		font-size: clamp(1.35rem, 7vw, 1.8rem);
	}

	.application-box .form-popup-link,
	.application-box .button,
	.application-box .button:visited {
		min-height: 48px;

		padding: 0.85rem 1.15rem;

		font-size: 0.96rem;
	}

	.application-box .uploaded-file .button::before {
		font-size: 0.96rem;
	}
}

/* ==========================================
   SIDEBAR ALERT BOX TWEAK
========================================== */

.page-section-sidebar .alert-box {
	background: rgba(255, 255, 255, 0.94);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1100px) {
	.job-information > .job-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	.page-section.top-fade.ww-grid.ww-grid--2 > .i {
		grid-template-columns: 1fr;
	}

	.page-section-sidebar {
		position: relative;
		top: auto;
		grid-template-columns: 1fr 1fr;
		align-items: stretch;
	}
}

@media (max-width: 767px) {
	.page-section.top-fade.ww-grid.ww-grid--2::before {
		height: 160px;
	}

	.job-information {
		padding: 1.75rem 1.25rem;
		border-radius: 22px;
	}

	.job-information > .job-details {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.job-description p {
		font-size: 1rem;
		line-height: 1.62;
	}

	.page-section-sidebar {
		grid-template-columns: 1fr;
	}

	.application-box {
		padding: 1.5rem;
		border-radius: 22px;
	}
}
 /* Begin CSS Part: Collation Admin */
/* ==========================================
   JOB LISTINGS
   Use with:
   .job-list
   .job-listing
   .job-heading
   .job-details
   .job-summary
   .collation-item-link.wrap.inflate
========================================== */

.job-list {
	position: relative;
}

.job-list .collation-items-list {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
}

/* ==========================================
   JOB CARD
========================================== */

.job-listing {
	position: relative;
	overflow: hidden;

	background: #fff;
	border-radius: var(--ww-radius-l, 28px);

	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.07);

	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease;
}

.job-listing::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BC7E3,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.job-listing:hover,
.job-listing:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
}

/* Main card inner */

.job-listing > .layout-cell {
	position: relative;

	display: grid;
	gap: 1.35rem;

	padding:
		clamp(2rem, 4vw, 3rem)
		clamp(1.5rem, 4vw, 3rem);

	min-height: 260px;
}

/* Hide empty EOS link component */

.job-listing .layout-component.link:empty,
.job-listing .layout-component.link.empty {
	display: none;
}

/* ==========================================
   INFLATE LINK
   Whole card clickable
========================================== */

.job-listing .collation-item-link.wrap.inflate {
	position: absolute;
	inset: 0;
	z-index: 5;

	display: block;

	width: 100%;
	height: 100%;

	overflow: hidden;

	color: transparent;
	text-indent: -9999px;
	white-space: nowrap;

	background: transparent;
	border: 0;
	text-decoration: none;
}

.job-listing .collation-item-link.wrap.inflate:focus {
	outline: none;
}

.job-listing:focus-within {
	outline: 3px solid rgba(175, 18, 109, 0.35);
	outline-offset: 5px;
}

/* Keep visible content above the inflate link visually */

.job-heading,
.job-details,
.job-summary {
	position: relative;
	z-index: 1;
}

/* ==========================================
   JOB HEADING
========================================== */

.job-heading .title h1,
.job-heading .title h2,
.job-heading .title h3 {
	margin: 0;

	color: #4D4F53;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 800;
	line-height: 1;
	text-wrap: balance;
}

.job-heading .title h1::after,
.job-heading .title h2::after,
.job-heading .title h3::after {
	content: "";

	display: block;

	width: 64px;
	height: 4px;
	margin-top: 1rem;

	border-radius: 999px;

	background: #AF126D;
}

/* ==========================================
   JOB DETAILS
========================================== */

.job-details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
}

.job-details .specific-component {
	position: relative;

	display: flex;
	flex-direction: column;
	gap: 0.35rem;

	padding: 1rem;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.06),
			rgba(155, 211, 242, 0.14)
		);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 16px;

	color: #4D4F53;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.35;

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease;
}

.job-listing:hover .job-details .specific-component,
.job-listing:focus-within .job-details .specific-component {
	border-color: rgba(175, 18, 109, 0.18);
}

.job-details label {
	display: block;

	margin: 0;

	color: #AF126D;
	font-size: 0.72rem;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

/* Optional little icon dot */

.job-details .specific-component::before {
	content: "";

	position: absolute;
	top: 1rem;
	right: 1rem;

	width: 0.48rem;
	height: 0.48rem;

	border-radius: 50%;
	background: #AF126D;

	opacity: 0.55;
}

/* ==========================================
   JOB SUMMARY
========================================== */

.job-summary {
	max-width: 860px;
}

.job-summary .abstract p {
	margin: 0 0 0.85rem;

	color: #4D4F53;
	font-size: 1.05rem;
	line-height: 1.65;
}

.job-summary .abstract p:last-child {
	margin-bottom: 0;
}

/* ==========================================
   VISUAL CTA
   Real click target is inflate link
========================================== */

.job-listing > .layout-cell::after {
	content: "View vacancy";

	position: relative;
	z-index: 1;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: fit-content;
	margin-top: 0.25rem;
	padding: 0.8rem 1.35rem;

	background: #AF126D;
	color: #fff;
	border-radius: 999px;

	font-weight: 800;
	line-height: 1;
	text-decoration: none;

	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.job-listing:hover > .layout-cell::after,
.job-listing:focus-within > .layout-cell::after {
	background: #4D4F53;
	transform: translateX(4px);
}

/* ==========================================
   FEATURED / ALTERNATING TOUCH
========================================== */

.job-list .job-listing:nth-child(even) .job-heading .title h1::after,
.job-list .job-listing:nth-child(even) .job-heading .title h2::after,
.job-list .job-listing:nth-child(even) .job-heading .title h3::after {
	background: #ED8C01;
}

.job-list .job-listing:nth-child(even) .job-details label {
	color: #00517A;
}

.job-list .job-listing:nth-child(even) .job-details .specific-component::before {
	background: #00517A;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1050px) {
	.job-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.job-listing {
		border-radius: 22px;
	}

	.job-listing::before {
		height: 6px;
	}

	.job-listing > .layout-cell {
		gap: 1.15rem;
		padding: 1.75rem 1.25rem;
	}

	.job-heading .title h1,
	.job-heading .title h2,
	.job-heading .title h3 {
		font-size: clamp(1.65rem, 8vw, 2.35rem);
	}

	.job-details {
		grid-template-columns: 1fr;
		gap: 0.65rem;
	}

	.job-details .specific-component {
		padding: 0.9rem 1rem;
	}

	.job-summary .abstract p {
		font-size: 1rem;
		line-height: 1.58;
	}

	.job-listing > .layout-cell::after {
		width: 100%;
	}
}
 /* Begin CSS Part: Cookies */

/* ==========================================
   COOKIES PAGE
   Use with:
   .cookie-page-layout
========================================== */

/* ==========================================
   PAGE INTRO
========================================== */

.cookie-page-layout .textblock {
	max-width: 1120px;
	margin: 0 auto clamp(2rem, 4vw, 3rem);
}

.cookie-page-layout .textblock h2 {
	margin: 0 0 1rem;

	color: #4D4F53;

	font-size: clamp(2.5rem, 6vw, 4.4rem);
	font-weight: 900;
	line-height: 1.02;
	letter-spacing: -0.04em;
}

.cookie-page-layout .textblock p {
	max-width: 1180px;
	margin: 0 0 1.1rem;

	color: #4D4F53;

	font-size: 1.05rem;
	line-height: 1.7;
}

.cookie-page-layout .textblock p:last-child {
	margin-bottom: 0;
}

.cookie-page-layout .textblock a,
.cookie-page-layout .textblock a:visited {
	color: #AF126D;
	font-weight: 900;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.cookie-page-layout .textblock a:hover,
.cookie-page-layout .textblock a:focus {
	color: #4D4F53;
}

/* ==========================================
   PREFERENCES CARD
========================================== */

.cookie-page-layout .preferences {
	max-width: 980px;
	margin: 0 auto;
}

.cookie-page-layout .mod_cookies_component_preferences {
	position: relative;
	overflow: hidden;

	margin: 0;
	padding:
		clamp(1.5rem, 4vw, 2.5rem)
		clamp(1.25rem, 4vw, 2.25rem);

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045) 0%,
			rgba(155, 211, 242, 0.12) 52%,
			rgba(129, 195, 175, 0.08) 100%
		),
		#fff;

	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: var(--ww-radius-l, 28px);

	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.07);
}

.cookie-page-layout .mod_cookies_component_preferences::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.cookie-page-layout .mod_cookies_component_preferences::after {
	content: "";

	position: absolute;
	right: -70px;
	bottom: -70px;

	width: 190px;
	height: 190px;

	background: rgba(175, 18, 109, 0.045);
	border-radius: 999px;

	pointer-events: none;
}

/* Keep contents above decoration */

.cookie-page-layout .mod_cookies_component_preferences > .layout-cell,
.cookie-page-layout .mod_cookies_component_preferences > .layout-cell > .layout-component,
.cookie-page-layout .mod_cookies_component_preferences .cookie-selection,
.cookie-page-layout .mod_cookies_component_preferences .save-choices,
.cookie-page-layout .mod_cookies_component_preferences .accept-all,
.cookie-page-layout .mod_cookies_component_preferences .refuse-all {
	position: relative;
	z-index: 2;
}

/* ==========================================
   COOKIE OPTIONS LIST
========================================== */

.cookie-page-layout .mod_cookies_component_preferences > .layout-cell:first-child {
	margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

.cookie-page-layout .layout-component.cookie-selection > .cookie-selection {
	position: relative;
	overflow: hidden;

	margin: 0 0 1rem;
	padding: 1.25rem 1.35rem;

	background: #fff;
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 20px;

	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.045);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.cookie-page-layout .layout-component.cookie-selection > .cookie-selection:last-child {
	margin-bottom: 0;
}

.cookie-page-layout .layout-component.cookie-selection > .cookie-selection::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 6px;
	height: 100%;

	background: #AF126D;
}

.cookie-page-layout .layout-component.cookie-selection > .cookie-selection::after {
	content: "";

	position: absolute;
	right: -44px;
	bottom: -44px;

	width: 120px;
	height: 120px;

	background: rgba(175, 18, 109, 0.04);
	border-radius: 999px;

	pointer-events: none;
}

.cookie-page-layout .layout-component.cookie-selection > .cookie-selection:hover,
.cookie-page-layout .layout-component.cookie-selection > .cookie-selection:focus-within {
	border-color: rgba(175, 18, 109, 0.16);
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.065);

	transform: translateY(-2px);
}

/* ==========================================
   COOKIE CHECKBOX ROW
========================================== */

.cookie-page-layout .checkbox {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	gap: 0.8rem;

	margin: 0 0 0.5rem;
}

.cookie-page-layout .checkbox input[type="checkbox"] {
	position: relative;

	width: 1.35rem;
	height: 1.35rem;
	margin: 0;

	flex: 0 0 1.35rem;

	accent-color: #AF126D;

	cursor: pointer;
}

.cookie-page-layout .checkbox input[type="checkbox"].disabled,
.cookie-page-layout .checkbox input[type="checkbox"]:disabled {
	cursor: not-allowed;
	opacity: 0.58;
}

.cookie-page-layout .cookie-name {
	color: #AF126D;

	font-size: 1.08rem;
	font-weight: 900;
	line-height: 1.15;
	letter-spacing: 0.01em;
}

/* ==========================================
   COOKIE DESCRIPTION
========================================== */

.cookie-page-layout .description {
	position: relative;
	z-index: 1;

	margin: 0;
	padding-left: calc(1.35rem + 0.8rem);

	color: #4D4F53;

	font-size: 1rem;
	font-weight: 600;
	line-height: 1.6;
}

/* ==========================================
   COOKIE PAGE BUTTONS
========================================== */

.cookie-page-layout .mod_cookies_component_preferences > .layout-cell:last-child {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0.85rem;

	margin-top: 1.75rem;
}

.cookie-page-layout .save-choices,
.cookie-page-layout .accept-all,
.cookie-page-layout .refuse-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	margin: 0;
	padding: 0;
}

.cookie-page-layout button.button,
.cookie-page-layout button.button.save,
.cookie-page-layout button.button.accept-all,
.cookie-page-layout button.button.refuse-all {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: auto;
	min-width: 155px;
	min-height: 50px;

	padding: 0.85rem 1.45rem;

	border: 2px solid #AF126D;
	border-radius: 999px;

	background: #AF126D;
	color: #fff !important;

	font: inherit;
	font-size: 0.98rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;
	text-decoration: none;

	cursor: pointer;
	opacity: 1;

	box-shadow: 0 10px 26px rgba(175, 18, 109, 0.18);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.cookie-page-layout button.button:hover,
.cookie-page-layout button.button:focus {
	background: #4D4F53;
	border-color: #4D4F53;
	color: #fff !important;

	transform: translateY(-2px);

	box-shadow: 0 14px 34px rgba(77, 79, 83, 0.22);
}

/* Save Choices */

.cookie-page-layout .save-choices button.button,
.cookie-page-layout .save-choices button.button.save {
	background: #fff;
	border-color: #AF126D;
	color: #AF126D !important;

	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.055);
}

.cookie-page-layout .save-choices button.button:hover,
.cookie-page-layout .save-choices button.button:focus,
.cookie-page-layout .save-choices button.button.save:hover,
.cookie-page-layout .save-choices button.button.save:focus {
	background: #AF126D;
	border-color: #AF126D;
	color: #fff !important;

	box-shadow: 0 12px 28px rgba(175, 18, 109, 0.2);
}

/* Accept All */

.cookie-page-layout .accept-all button.button,
.cookie-page-layout .accept-all button.button.accept-all {
	background: #AF126D;
	border-color: #AF126D;
	color: #fff !important;

	box-shadow: 0 12px 30px rgba(175, 18, 109, 0.22);
}

/* Essential Only */

.cookie-page-layout .refuse-all button.button,
.cookie-page-layout .refuse-all button.button.refuse-all {
	background: #4D4F53;
	border-color: #4D4F53;
	color: #fff !important;

	box-shadow: 0 10px 24px rgba(77, 79, 83, 0.16);
}

.cookie-page-layout .refuse-all button.button:hover,
.cookie-page-layout .refuse-all button.button:focus,
.cookie-page-layout .refuse-all button.button.refuse-all:hover,
.cookie-page-layout .refuse-all button.button.refuse-all:focus {
	background: #fff;
	border-color: #4D4F53;
	color: #4D4F53 !important;

	box-shadow: 0 12px 28px rgba(77, 79, 83, 0.14);
}

/* Remove global decorative arrows/icons from cookie page buttons */

.cookie-page-layout button.button::before,
.cookie-page-layout button.button::after {
	display: none !important;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.cookie-page-layout .textblock h2 {
		font-size: clamp(2.2rem, 14vw, 3.3rem);
	}

	.cookie-page-layout .textblock p {
		font-size: 1rem;
		line-height: 1.62;
	}

	.cookie-page-layout .mod_cookies_component_preferences {
		padding: 1.5rem 1rem;
		border-radius: 22px;
	}

	.cookie-page-layout .layout-component.cookie-selection > .cookie-selection {
		padding: 1.15rem 1.1rem;
		border-radius: 18px;
	}

	.cookie-page-layout .cookie-name {
		font-size: 1rem;
	}

	.cookie-page-layout .description {
		font-size: 0.96rem;
		line-height: 1.55;
	}

	.cookie-page-layout .mod_cookies_component_preferences > .layout-cell:last-child {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.75rem;

		margin-top: 1.5rem;
	}

	.cookie-page-layout .save-choices,
	.cookie-page-layout .accept-all,
	.cookie-page-layout .refuse-all {
		display: block;
		width: 100%;
	}

	.cookie-page-layout button.button,
	.cookie-page-layout button.button.save,
	.cookie-page-layout button.button.accept-all,
	.cookie-page-layout button.button.refuse-all {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 420px) {
	.cookie-page-layout .description {
		padding-left: 0;
	}

	.cookie-page-layout .checkbox {
		align-items: flex-start;
	}

	.cookie-page-layout .checkbox input[type="checkbox"] {
		margin-top: 0.05rem;
	}
}
 /* Begin CSS Part: Crm */

 /* Begin CSS Part: Currency Converter */

 /* Begin CSS Part: Discount */

 /* Begin CSS Part: Email Template */

 /* Begin CSS Part: Faq */

 /* Begin CSS Part: Form */
/* ==========================================
   WATMAN WEB FRAMEWORK
   FORMS
========================================== */

form {
	width: 100%;
}

/* ==========================================
   FORM SHELL
========================================== */

.ww-form {
	position: relative;

	width: 100%;
	min-width: 0;
}

.form-fields,
.form-footer {
	width: 100%;
	min-width: 0;
}

.form-component {
	width: 100%;
	margin-bottom: 1.25rem;
}

.form-component.empty,
.main-config.empty {
	display: none;
}

/* ==========================================
   FORM INTRO
   Use with:
   .form-intro
========================================== */

.ww-form .form-intro {
	position: relative;
	overflow: hidden;

	margin: 0 0 1.5rem;
	padding: 1.1rem 1.25rem 1.1rem 1.45rem;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.07),
			rgba(155, 211, 242, 0.16)
		);
	border: 1px solid rgba(175, 18, 109, 0.12);
	border-radius: 18px;

	color: #4D4F53;

	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035);
}

.ww-form .form-intro::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 6px;
	height: 100%;

	background: linear-gradient(
		180deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);
}

.ww-form .form-intro p {
	margin: 0;

	color: #4D4F53;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.5;
}

/* ==========================================
   LABELS
========================================== */

.form-component label,
.page-section .company-info label {
	display: block;
	margin-bottom: 0.5rem;

	color: var(--ww-color-heading-tertiary, #4D4F53);
	font-size: 0.9rem;
	font-weight: 800;
	line-height: 1.2;
}

.ff-required-star {
	color: #c0392b;
}

/* ==========================================
   INPUTS
========================================== */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="date"],
input[type="time"],
select,
textarea {
	width: 100%;
	min-height: 52px;

	padding: 0.85rem 1rem;

	border: 1px solid var(--ww-color-border, rgba(77, 79, 83, 0.18));
	border-radius: var(--ww-radius-s, 12px);

	background: #fff;
	color: var(--ww-color-text, #4D4F53);

	font: inherit;
	line-height: 1.4;

	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.025);

	transition:
		border-color var(--ww-transition-fast, 0.25s ease),
		box-shadow var(--ww-transition-fast, 0.25s ease),
		background-color var(--ww-transition-fast, 0.25s ease);
}

textarea {
	min-height: 170px;
	resize: vertical;
}

input::placeholder,
textarea::placeholder {
	color: rgba(0, 0, 0, 0.45);
}

/* Focus */

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
select:focus,
textarea:focus {
	border-color: var(--ww-color-primary, #AF126D);
	box-shadow:
		0 0 0 3px rgba(175, 18, 109, 0.14),
		0 8px 20px rgba(0, 0, 0, 0.055);
	outline: none;
}

/* ==========================================
   FORM FIELD LAYOUT
========================================== */

.form-fields > .layout-cell {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ww-space-s, 1.25rem);
	width: 100%;
}

.form-fields > .layout-cell > .form-component {
	min-width: 0;
	margin-bottom: 1.25rem;
}

.form-fields > .layout-cell > .form-component.col1 {
	grid-column: 1 / -1;
}

/* Nested layout cells inside form fields */

.form-fields > .layout-cell > .layout-cell {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--ww-space-s, 1.25rem);

	width: 100%;
	min-width: 0;
}

.form-fields > .layout-cell > .layout-cell.col1,
.form-fields > .layout-cell > .layout-cell > .form-component.col1 {
	grid-column: 1 / -1;
}

/* ==========================================
   CHECKBOX / RADIO
========================================== */

.checkbox .multi-select-container,
.radio .multi-select-container,
.checkbox-value {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

.checkbox input[type="checkbox"],
.radio input[type="radio"] {
	flex: 0 0 auto;

	width: 18px;
	height: 18px;
	margin-top: 0.35rem;

	accent-color: #AF126D;
}

.rt-label p {
	margin: 0;

	color: #4D4F53;
	font-size: 0.95rem;
	line-height: 1.5;
}

.rt-label a,
.rt-label a:visited {
	color: #AF126D;
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.rt-label a:hover,
.rt-label a:focus {
	color: #4D4F53;
}

/* ==========================================
   FILE UPLOAD
   EOS structure:
   .file input[type="file"]
   .file-button
   .file-name
========================================== */

.form-component.file {
	position: relative;

	padding: 1.1rem;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.055),
			rgba(155, 211, 242, 0.14)
		);
	border: 1px dashed rgba(175, 18, 109, 0.34);
	border-radius: 18px;

	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.035);
}

.form-component.file label {
	margin-bottom: 0.8rem;
}

.form-component.file input[type="file"] {
	position: absolute;
	inset: auto;

	width: 1px;
	height: 1px;

	overflow: hidden;

	opacity: 0;
	pointer-events: none;
}

.form-component.file .file-button,
.form-component.file .file-button:visited {
	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	width: auto;
	min-height: 46px;

	margin: 0;
	padding: 0.8rem 1.2rem;

	background: #AF126D;
	border: 2px solid #AF126D;
	border-radius: 999px;

	color: #fff !important;

	font-size: 0.95rem;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;

	cursor: pointer;

	box-shadow: 0 10px 24px rgba(175, 18, 109, 0.18);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.form-component.file .file-button::before {
	content: "↑";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.45rem;
	height: 1.45rem;

	border-radius: 50%;

	background: rgba(255, 255, 255, 0.18);
	color: #fff;

	font-size: 0.95rem;
	font-weight: 900;
	line-height: 1;
}

.form-component.file .file-button:hover,
.form-component.file .file-button:focus {
	background: #4D4F53;
	border-color: #4D4F53;
	color: #fff !important;

	transform: translateY(-2px);

	box-shadow: 0 14px 32px rgba(77, 79, 83, 0.2);
}

.form-component.file .file-name {
	display: block;

	min-height: 1.4rem;
	margin-top: 0.75rem;

	color: #4D4F53;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.4;
}

.form-component.file .file-name:empty::before {
	content: "No file selected";

	color: rgba(77, 79, 83, 0.62);
	font-weight: 600;
}

/* Optional hint-style glow when focused */

.form-component.file:focus-within {
	border-color: rgba(175, 18, 109, 0.58);
	box-shadow:
		0 0 0 3px rgba(175, 18, 109, 0.12),
		0 10px 26px rgba(0, 0, 0, 0.045);
}

/* ==========================================
   CAPTCHA
========================================== */

.captcha-code {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.captcha-code input[type="text"] {
	width: 100%;
	max-width: 220px;
}

.synchronous-captcha-code {
	display: block;
	width: auto;
	max-width: 160px;
	height: auto;

	border: 1px solid var(--ww-color-border, rgba(77, 79, 83, 0.18));
	border-radius: var(--ww-radius-s, 12px);
}

/* ==========================================
   SUBMIT
========================================== */

.submit-button {
	margin-top: 2rem;
}

.submit-button input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 48px;
	min-width: 170px;

	padding: 0.85rem 1.6rem;

	background: #AF126D;
	border: 2px solid #AF126D;
	border-radius: 999px;

	color: #fff;

	font: inherit;
	font-weight: 900;
	line-height: 1;

	cursor: pointer;

	box-shadow: 0 10px 26px rgba(175, 18, 109, 0.22);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.submit-button input[type="submit"]:hover,
.submit-button input[type="submit"]:focus {
	background: #4D4F53;
	border-color: #4D4F53;
	color: #fff;

	transform: translateY(-2px);

	box-shadow: 0 14px 34px rgba(77, 79, 83, 0.22);
}

/* ==========================================
   FORM FOOTER
========================================== */

.form-footer {
	margin-top: 0.5rem;
}

.form-footer > .layout-cell {
	display: grid;
	gap: 1rem;
}

/* ==========================================
   PAGE SECTION FORM CONTEXT
========================================== */

.page-section-form {
	min-width: 0;
	padding: 1rem;

	background: rgba(175, 18, 109, 0.035);
	border-radius: var(--ww-radius-l, 28px);
}

.page-section-form form {
	width: 100%;
}

.page-section-form .ww-form {
	padding: var(--ww-space-l, 2rem);

	background: #fff;

	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--ww-radius-m, 20px);

	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.06);
}

/* ==========================================
   POPUP FORM CONTEXT
   Same form styling, lighter container inside dialog
========================================== */

body .ui-dialog.form-popup form {
	width: 100%;
}

body .ui-dialog.form-popup .ww-form {
	position: relative;

	width: 100%;
	padding: 0;

	background: transparent;
	border: 0;
	box-shadow: none;
}

body .ui-dialog.form-popup .form-fields,
body .ui-dialog.form-popup .form-footer {
	position: relative;
	z-index: 1;
}

body .ui-dialog.form-popup .form-component {
	margin-bottom: 1.1rem;
}

body .ui-dialog.form-popup .form-fields > .layout-cell,
body .ui-dialog.form-popup .form-fields > .layout-cell > .layout-cell {
	gap: 1rem;
}

body .ui-dialog.form-popup .form-intro {
	margin-bottom: 1.25rem;
}

body .ui-dialog.form-popup textarea {
	min-height: 150px;
}

body .ui-dialog.form-popup .captcha-code {
	padding: 1rem;

	background: rgba(155, 211, 242, 0.12);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 16px;
}

body .ui-dialog.form-popup .submit-button {
	margin-top: 1.5rem;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.page-section-form {
		padding: 0.75rem;
	}

	.page-section-form .ww-form {
		padding: var(--ww-space-m, 1.5rem);
	}

	.form-intro {
		padding: 1rem 1rem 1rem 1.2rem;
		border-radius: 16px;
	}

	.captcha-code {
		display: block;
	}

	.captcha-code input[type="text"] {
		margin-bottom: 0.75rem;
	}

	.form-component.file {
		padding: 1rem;
	}

	.form-component.file .file-button {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.form-fields > .layout-cell,
	.form-fields > .layout-cell > .layout-cell {
		grid-template-columns: 1fr;
	}

	body .ui-dialog.form-popup .form-fields > .layout-cell,
	body .ui-dialog.form-popup .form-fields > .layout-cell > .layout-cell {
		grid-template-columns: 1fr;
	}

	.submit-button input[type="submit"],
	body .ui-dialog.form-popup .submit-button input[type="submit"] {
		width: 100%;
	}
}
 /* Begin CSS Part: Google Analytics */

 /* Begin CSS Part: Home */
/* ==========================================
   CUSTOM CARD
========================================== */

.card-custom .component-topper {
	display: block;
	overflow: hidden;
}

.card-custom .component-topper img {
	display: block;
	width: 100%;
	height: auto;

	transition: transform 0.4s ease;
}

.card-custom:hover .component-topper img {
	transform: scale(1.03);
}

.card-custom h2,
.card-custom h3,
.card-custom h4,
.card-custom label,
.card-custom .content,
.card-custom .component-footer {
	padding-inline: var(--ww-space-m);
}

.card-custom h2,
.card-custom h3,
.card-custom h4 {
	margin-top: var(--ww-space-m);
	margin-bottom: 0.5rem;
  font-size: clamp(1.85rem, 1.8vw, 1.8rem);
}

.card-custom label {
	display: block;

	margin-bottom: 1rem;

	color: var(--ww-color-heading-tertiary);
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;

	opacity: 0.7;
}

.card-custom .content {
	flex: 1;
}

.card-custom .content p:last-child {
	margin-bottom: 0;
}

.card-custom .component-footer {
	margin-top: auto;

	padding-top: var(--ww-space-m);
	padding-bottom: var(--ww-space-m);
}

/* Top Colour Strip */

.colour-strip-top {
	position: relative;
}

.colour-strip-top::before {
  z-index: 100;
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 12px;

	background:
		linear-gradient(
			to right,
			#ED8C01 0% 20%,    /* Family & Youth Work */
			#B5CB52 20% 40%,   /* Health & Wellbeing */
			#5DA9DD 40% 60%,   /* Housing */
			#81C3AF 60% 80%,   /* Training & Education */
			#F7BF1F 80% 100%   /* Support & Advice */
		);
}


/* Bottom Colour Strip */

.colour-strip-bottom {
	position: relative;
}

.colour-strip-bottom::after {
  z-index: 100;
	content: "";

	position: absolute;
	bottom: 0;
	left: 0;

	width: 100%;
	height: 12px;

	background:
		linear-gradient(
			to right,
			#ED8C01 0% 20%,    /* Family & Youth Work */
			#B5CB52 20% 40%,   /* Health & Wellbeing */
			#5DA9DD 40% 60%,   /* Housing */
			#81C3AF 60% 80%,   /* Training & Education */
			#F7BF1F 80% 100%   /* Support & Advice */
		);
}

/* ==========================================
   PAGE SECTION IMAGES
========================================== */

.page-section-image {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 4rem;
}

.style-image,
.alert-box,
.info-box {
	width: 100%;
}

.page-section-image .style-image {position:relative;}

.page-section-image .style-image.empty {display:none !important;}


/* Decorative YMCA accent */

.page-section-image .style-image::before {
	content: "";
	position: absolute;
	top: -20px;
	right: -20px;

	width: 120px;
	height: 120px;

	background: #AF126D;
	border-radius: 1.5rem;

	opacity: 0.6;
	z-index: 1;
}

/* Secondary accent */

.page-section-image .style-image::after {
	content: "";
	position: absolute;
	bottom: -20px;
	left: -20px;

	width: 80px;
	height: 80px;

	background: #9BD3F2;
	border-radius: 50%;

	opacity: 0.9;
	z-index: 1;
}

.page-section-image .style-image img {
	position: relative;
	z-index: 2;

	display: block;
	width: 100%;
	height: auto;

	border-radius: 1.5rem;

	box-shadow:
		0 15px 40px rgba(0,0,0,0.12),
		0 5px 15px rgba(0,0,0,0.08);

	transition:
		transform 0.5s ease,
		box-shadow 0.5s ease;
}

.page-section-image .style-image:hover img {
	transform: translateY(-6px);
	box-shadow:
		0 25px 60px rgba(0,0,0,0.15),
		0 10px 25px rgba(0,0,0,0.10);
}


.page-section-image .style-image img {
	border-radius: 1.5rem;
	transform: rotate(-2deg);
}

.page-section-image .style-image:hover img {
	transform: rotate(0deg) translateY(-6px);
}



 /* Begin CSS Part: Image Library */
/* ==========================================
   YMCA GALLERY DISPLAY
   Use with:
   .ww-gallery-display
========================================== */

.page-section-image {
	min-width: 0;
	max-width: 100%;
}

.page-section-image .ww-gallery-display {
	position: relative;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin-top: clamp(1.25rem, 3vw, 2rem);

	overflow: hidden;
}

/* ==========================================
   MAIN GALLERY FRAME
========================================== */

.ww-gallery-display .collation-gallery-image-container {
	position: relative;
	overflow: hidden !important;

	box-sizing: border-box;

	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	aspect-ratio: 4 / 3;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045),
			rgba(155, 211, 242, 0.12)
		),
		#f7f8fa;

	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 26px;

	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.085);
}

.ww-gallery-display .collation-gallery-image-container::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 8;

	width: 100%;
	height: 7px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

/* ==========================================
   SLIDE RAIL
========================================== */

.ww-gallery-display .gallery-slides {
	position: relative !important;
	left: 0 !important;
	top: 0 !important;

	display: flex !important;
	align-items: stretch;
	gap: 0 !important;
	column-gap: 0 !important;
	row-gap: 0 !important;

	box-sizing: border-box;

	width: 100% !important;
	max-width: none !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: visible !important;

	transform: translate3d(var(--ymca-gallery-offset, 0px), 0, 0);
	transition: transform 0.46s cubic-bezier(0.22, 0.61, 0.36, 1);

	will-change: transform;
}

.ww-gallery-display.ymca-gallery-no-transition .gallery-slides,
.ww-gallery-display .gallery-slides.is-dragging {
	transition: none !important;
}

/* ==========================================
   SLIDES
   Exact pixel width is also applied by JS.
========================================== */

.ww-gallery-display .gallery-image {
	position: relative !important;

	float: none !important;

	display: flex !important;
	align-items: center;
	justify-content: center;

	box-sizing: border-box;

	flex: 0 0 var(--ymca-gallery-frame-width, 100%) !important;

	width: var(--ymca-gallery-frame-width, 100%) !important;
	min-width: var(--ymca-gallery-frame-width, 100%) !important;
	max-width: var(--ymca-gallery-frame-width, 100%) !important;
	height: 100% !important;

	margin: 0 !important;
	padding: 0 !important;

	background: #f7f8fa;

	cursor: grab;
	overflow: hidden;

	opacity: 1 !important;
	visibility: visible !important;
}

.ww-gallery-display .gallery-slides.is-dragging .gallery-image {
	cursor: grabbing;
}

.ww-gallery-display .gallery-image.active {
	z-index: 2;
}

.ww-gallery-display .gallery-image img {
	display: block;

	box-sizing: border-box;

	width: calc(100% + 2px) !important;
	max-width: none !important;
	height: 100% !important;
	max-height: none !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover;
	object-position: center center;

	user-select: none;
	-webkit-user-drag: none;
	pointer-events: none;
}

/* ==========================================
   IMAGE TITLES
========================================== */

.ww-gallery-display .gallery-image .image-title {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	z-index: 5;

	display: inline-flex;
	align-items: center;

	max-width: calc(100% - 2rem);

	padding: 0.55rem 0.85rem;

	background: rgba(77, 79, 83, 0.82);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;

	color: #fff;

	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1.15;

	backdrop-filter: blur(5px);

	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);

	pointer-events: none;
}

.ww-gallery-display .gallery-image .image-title:empty,
.ww-gallery-display .image-thumb .image-title:empty {
	display: none !important;
}

/* ==========================================
   GALLERY ARROWS
========================================== */

.ww-gallery-display .gallery-arrow-left,
.ww-gallery-display .gallery-arrow-right {
	position: absolute;
	top: 50%;
	z-index: 9;

	box-sizing: border-box !important;

	display: block !important;

	width: 46px !important;
	height: 46px !important;
	min-width: 46px !important;
	min-height: 46px !important;
	max-width: 46px !important;
	max-height: 46px !important;
	aspect-ratio: 1 / 1;

	padding: 0 !important;
	margin: 0 !important;

	background: rgba(255, 255, 255, 0.94);
	border: 2px solid rgba(255, 255, 255, 0.95);
	border-radius: 50% !important;

	color: #AF126D;

	font-size: 0 !important;
	font-weight: 900;
	line-height: 0 !important;
	text-align: center;
	text-indent: -9999px;

	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);

	cursor: pointer;

	transform: translateY(-50%);

	overflow: hidden;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.ww-gallery-display .gallery-arrow-left {
	left: 1rem;
}

.ww-gallery-display .gallery-arrow-right {
	right: 1rem;
}

.ww-gallery-display .gallery-arrow-left::before,
.ww-gallery-display .gallery-arrow-right::before {
	position: absolute;
	top: 50%;
	left: 50%;

	display: block;

	width: 1em;
	height: 1em;

	margin: 0;
	padding: 0;

	color: inherit;

	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.45rem;
	font-weight: 900;
	line-height: 0.78;
	text-align: center;
	text-indent: 0;

	transform: translate(-50%, -50%);
}

.ww-gallery-display .gallery-arrow-left::before {
	content: "‹";

	margin-left: -0.035em;
	margin-top: -0.015em;
}

.ww-gallery-display .gallery-arrow-right::before {
	content: "›";

	margin-left: 0.035em;
	margin-top: -0.015em;
}

.ww-gallery-display .gallery-arrow-left:hover,
.ww-gallery-display .gallery-arrow-left:focus,
.ww-gallery-display .gallery-arrow-right:hover,
.ww-gallery-display .gallery-arrow-right:focus {
	background: #AF126D;
	border-color: #AF126D;
	color: #fff;

	box-shadow: 0 16px 36px rgba(175, 18, 109, 0.26);
}

.ww-gallery-display .gallery-arrow-left:hover,
.ww-gallery-display .gallery-arrow-left:focus {
	transform: translateY(-50%) translateX(-2px);
}

.ww-gallery-display .gallery-arrow-right:hover,
.ww-gallery-display .gallery-arrow-right:focus {
	transform: translateY(-50%) translateX(2px);
}

/* ==========================================
   ZOOM BUTTON
   Injected by JS
========================================== */

.ww-gallery-display .ymca-gallery-zoom {
	position: absolute;
	right: 1rem;
	bottom: 1rem;
	z-index: 10;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;

	min-height: 44px;

	padding: 0.68rem 1.15rem 0.68rem 0.72rem;

	background: #AF126D;
	border: 2px solid #fff;
	border-radius: 999px;

	color: #fff;

	font: inherit;
	font-size: 0.9rem;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;

	box-shadow: 0 14px 34px rgba(175, 18, 109, 0.24);

	cursor: pointer;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.ww-gallery-display .ymca-gallery-zoom::before {
	content: "↗";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.55rem;
	height: 1.55rem;

	flex: 0 0 1.55rem;

	background: #fff;
	border-radius: 999px;

	color: #AF126D;

	font-size: 0.88rem;
	font-weight: 900;
	line-height: 1;

	transition:
		color 0.25s ease,
		transform 0.25s ease;
}

.ww-gallery-display .ymca-gallery-zoom:hover,
.ww-gallery-display .ymca-gallery-zoom:focus {
	background: #4D4F53;
	color: #fff;

	transform: translateY(-2px);

	box-shadow: 0 16px 38px rgba(77, 79, 83, 0.24);
}

.ww-gallery-display .ymca-gallery-zoom:hover::before,
.ww-gallery-display .ymca-gallery-zoom:focus::before {
	color: #4D4F53;

	transform: translate(1px, -1px) scale(1.08);
}

/* ==========================================
   THUMBNAILS
========================================== */

.ww-gallery-display .collation-item-thumbs {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 0.7rem;

	width: 100%;
	max-width: 100%;
	min-width: 0;

	margin-top: 0.9rem;

	overflow: visible;
}

.ww-gallery-display .image-thumb {
	position: relative;
	overflow: hidden;

	display: block;
	flex: 0 0 auto;

	width: auto;
	max-width: max-content;

	background: #fff;
	border: 2px solid rgba(77, 79, 83, 0.10);
	border-radius: 14px;

	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.045);

	cursor: pointer;

	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.ww-gallery-display .image-thumb::after {
	content: "";

	position: absolute;
	inset: 0;

	background: rgba(175, 18, 109, 0);

	pointer-events: none;

	transition: background-color 0.25s ease;
}

.ww-gallery-display .image-thumb img {
	display: block;

	width: auto !important;
	max-width: 100% !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	object-fit: cover;
	object-position: center center;
}

.ww-gallery-display .image-thumb img:not([width]) {
	width: 80px !important;
}

.ww-gallery-display .image-thumb img:not([height]) {
	height: 60px !important;
}

.ww-gallery-display .image-thumb:hover,
.ww-gallery-display .image-thumb:focus,
.ww-gallery-display .image-thumb.active {
	border-color: #AF126D;

	box-shadow: 0 12px 28px rgba(175, 18, 109, 0.16);

	transform: translateY(-2px);
}

.ww-gallery-display .image-thumb:hover::after,
.ww-gallery-display .image-thumb:focus::after,
.ww-gallery-display .image-thumb.active::after {
	background: rgba(175, 18, 109, 0.12);
}

.ww-gallery-display .image-thumb .image-title {
	position: absolute;
	left: 0.35rem;
	right: 0.35rem;
	bottom: 0.35rem;
	z-index: 2;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 0.25rem 0.35rem;

	background: rgba(77, 79, 83, 0.82);
	border-radius: 999px;

	color: #fff;

	font-size: 0.66rem;
	font-weight: 900;
	line-height: 1;
	text-align: center;

	pointer-events: none;
}

/* ==========================================
   CUSTOM LIGHTBOX
   Injected by JS
========================================== */

body.ymca-gallery-lightbox-open {
	overflow: hidden;
}

.ymca-gallery-lightbox {
	position: fixed;
	inset: 0;
	z-index: 4000;

	display: grid;
	place-items: center;

	padding: clamp(1rem, 3vw, 2rem);

	background: rgba(0, 0, 0, 0.78);
	backdrop-filter: blur(8px);

	animation: ymcaGalleryFadeIn 0.22s ease both;
}

.ymca-gallery-lightbox__panel {
	position: relative;

	width: min(100%, 1500px);
	height: min(100%, 86vh);

	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	gap: 1rem;

	padding: clamp(0.8rem, 2vw, 1.1rem);

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.10),
			rgba(155, 211, 242, 0.10)
		),
		#fff;

	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 28px;

	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
}

.ymca-gallery-lightbox__panel::before {
	display: none !important;
}

.ymca-gallery-lightbox__image-wrap {
	position: relative;
	overflow: hidden;

	display: block;

	min-width: 0;
	min-height: 0;

	background: #f6f7f9;
	border-radius: 20px;

	cursor: grab;
}

.ymca-gallery-lightbox__image-wrap:active {
	cursor: grabbing;
}

.ymca-gallery-lightbox__image-wrap::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 4;

	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.ymca-gallery-lightbox__track {
	position: relative;

	display: flex;
	align-items: stretch;

	width: 100%;
	height: 100%;

	transform: translate3d(var(--ymca-lightbox-offset, 0px), 0, 0);
	transition: transform 0.46s cubic-bezier(0.22, 0.61, 0.36, 1);

	will-change: transform;
	touch-action: pan-y;
}

.ymca-gallery-lightbox__track.is-dragging {
	transition: none !important;
}

.ymca-gallery-lightbox__slide {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	flex: 0 0 100%;

	width: 100%;
	height: 100%;

	min-width: 0;
	min-height: 0;
}

.ymca-gallery-lightbox__image {
	display: block;

	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 100%;

	object-fit: contain;

	user-select: none;
	-webkit-user-drag: none;
	pointer-events: none;
}

.ymca-gallery-lightbox__caption {
	justify-self: center;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: auto;
	max-width: min(100%, 720px);

	margin: 0 auto;
	padding: 0.5rem 0.95rem;

	background: rgba(77, 79, 83, 0.08);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 999px;

	color: #4D4F53;

	font-size: 0.92rem;
	font-weight: 900;
	line-height: 1.15;
	text-align: center;
}

.ymca-gallery-lightbox__caption.is-empty {
	display: none;
}

/* ==========================================
   LIGHTBOX BUTTONS
   True circles with centred pseudo-icons
========================================== */

.ymca-gallery-lightbox__close,
.ymca-gallery-lightbox__prev,
.ymca-gallery-lightbox__next {
	position: absolute;
	z-index: 5;

	box-sizing: border-box !important;

	display: block !important;

	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	min-height: 48px !important;
	max-width: 48px !important;
	max-height: 48px !important;
	aspect-ratio: 1 / 1;

	padding: 0 !important;
	margin: 0 !important;

	background: #AF126D;
	border: 2px solid #fff;
	border-radius: 50% !important;

	color: #fff;

	font: inherit;
	font-size: 0 !important;
	font-weight: 900;
	line-height: 0 !important;
	text-align: center;
	text-indent: -9999px;

	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);

	cursor: pointer;

	overflow: hidden;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.ymca-gallery-lightbox__close {
	top: -0.9rem;
	right: -0.9rem;
}

.ymca-gallery-lightbox__prev {
	top: 50%;
	left: -0.9rem;

	transform: translateY(-50%);
}

.ymca-gallery-lightbox__next {
	top: 50%;
	right: -0.9rem;

	transform: translateY(-50%);
}

.ymca-gallery-lightbox__close::before,
.ymca-gallery-lightbox__prev::before,
.ymca-gallery-lightbox__next::before {
	position: absolute;
	top: 50%;
	left: 50%;

	display: block;

	width: 1em;
	height: 1em;

	margin: 0;
	padding: 0;

	color: inherit;

	font-family: Arial, Helvetica, sans-serif;
	font-weight: 900;
	line-height: 0.78;
	text-align: center;
	text-indent: 0;

	transform: translate(-50%, -50%);
}

.ymca-gallery-lightbox__close::before {
	content: "×";

	font-size: 1.85rem;
	line-height: 0.82;

	margin-top: -0.025em;
}

.ymca-gallery-lightbox__prev::before {
	content: "‹";

	font-size: 2.45rem;

	margin-left: -0.035em;
	margin-top: -0.015em;
}

.ymca-gallery-lightbox__next::before {
	content: "›";

	font-size: 2.45rem;

	margin-left: 0.035em;
	margin-top: -0.015em;
}

.ymca-gallery-lightbox__close:hover,
.ymca-gallery-lightbox__close:focus,
.ymca-gallery-lightbox__prev:hover,
.ymca-gallery-lightbox__prev:focus,
.ymca-gallery-lightbox__next:hover,
.ymca-gallery-lightbox__next:focus {
	background: #4D4F53;
	color: #fff;

	box-shadow: 0 18px 42px rgba(77, 79, 83, 0.32);
}

.ymca-gallery-lightbox__close:hover,
.ymca-gallery-lightbox__close:focus {
	transform: translateY(-2px);
}

.ymca-gallery-lightbox__prev:hover,
.ymca-gallery-lightbox__prev:focus {
	transform: translateY(-50%) translateX(-2px);
}

.ymca-gallery-lightbox__next:hover,
.ymca-gallery-lightbox__next:focus {
	transform: translateY(-50%) translateX(2px);
}

/* ==========================================
   JQUERY UI DIALOG RESCUE
   If native EOS popup slips through
========================================== */

.ui-dialog {
	position: fixed !important;
	top: 50% !important;
	left: 50% !important;
	z-index: 4000 !important;

	width: min(94vw, 1500px) !important;
	height: auto !important;
	max-height: 90vh !important;

	transform: translate(-50%, -50%) !important;
}

.ui-dialog .ui-dialog-content {
	max-height: 82vh !important;
	overflow: auto !important;
}

.ui-dialog .collation-gallery-image-container {
	width: 100% !important;
	max-width: 100% !important;
}

.ui-dialog .collation-gallery-image-container img {
	max-width: 100% !important;
	max-height: 78vh !important;

	object-fit: contain !important;
}

/* ==========================================
   ANIMATION
========================================== */

@keyframes ymcaGalleryFadeIn {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.page-section-image .ww-gallery-display {
		margin-top: 1.25rem;
	}

	.ww-gallery-display .collation-gallery-image-container {
		border-radius: 22px;
	}

	.ww-gallery-display .gallery-image .image-title {
		left: 0.75rem;
		bottom: 0.75rem;

		max-width: calc(100% - 1.5rem);

		font-size: 0.82rem;
	}

	.ww-gallery-display .gallery-arrow-left,
	.ww-gallery-display .gallery-arrow-right {
		width: 40px !important;
		height: 40px !important;
		min-width: 40px !important;
		min-height: 40px !important;
		max-width: 40px !important;
		max-height: 40px !important;
	}

	.ww-gallery-display .gallery-arrow-left {
		left: 0.7rem;
	}

	.ww-gallery-display .gallery-arrow-right {
		right: 0.7rem;
	}

	.ww-gallery-display .gallery-arrow-left::before,
	.ww-gallery-display .gallery-arrow-right::before {
		font-size: 2.2rem;
	}

	.ww-gallery-display .ymca-gallery-zoom {
		right: 0.7rem;
		bottom: 0.7rem;

		min-height: 40px;

		padding: 0.62rem 0.95rem 0.62rem 0.66rem;

		font-size: 0.84rem;
	}

	.ww-gallery-display .ymca-gallery-zoom::before {
		width: 1.42rem;
		height: 1.42rem;

		flex-basis: 1.42rem;
	}

	.ww-gallery-display .collation-item-thumbs {
		gap: 0.55rem;
	}

	.ww-gallery-display .image-thumb {
		border-radius: 12px;
	}

	.ymca-gallery-lightbox {
		padding: 0.85rem;
	}

	.ymca-gallery-lightbox__panel {
		height: min(100%, 82vh);

		border-radius: 22px;
	}

	.ymca-gallery-lightbox__image-wrap {
		border-radius: 16px;
	}

	.ymca-gallery-lightbox__close,
	.ymca-gallery-lightbox__prev,
	.ymca-gallery-lightbox__next {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		min-height: 42px !important;
		max-width: 42px !important;
		max-height: 42px !important;
	}

	.ymca-gallery-lightbox__close {
		top: 0.6rem;
		right: 0.6rem;
	}

	.ymca-gallery-lightbox__prev {
		left: 0.6rem;
	}

	.ymca-gallery-lightbox__next {
		right: 0.6rem;
	}

	.ymca-gallery-lightbox__close::before {
		font-size: 1.55rem;
	}

	.ymca-gallery-lightbox__prev::before,
	.ymca-gallery-lightbox__next::before {
		font-size: 2.2rem;
	}

	.ymca-gallery-lightbox__caption {
		padding: 0.45rem 0.8rem;

		font-size: 0.84rem;
	}
}
 /* Begin CSS Part: Memorial */

 /* Begin CSS Part: Multi User */

 /* Begin CSS Part: News Letter */

 /* Begin CSS Part: Order Manager */

 /* Begin CSS Part: Orders */

 /* Begin CSS Part: Payment Gateway */

 /* Begin CSS Part: Paypal Express */

 /* Begin CSS Part: Qanda */

 /* Begin CSS Part: Redirect */

 /* Begin CSS Part: Review */
/* ==========================================
   CASE STUDY LISTINGS
   Use with:
   .case-study-list
   .case-study-grid
   .case-study
   .collation-item-link.wrap.inflate
========================================== */

.case-study-list {
	position: relative;
}

.case-study-grid .collation-items-list {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

/* ==========================================
   CASE STUDY CARD
========================================== */

.case-study {
	position: relative;
	overflow: hidden;

	background: #fff;
	border-radius: var(--ww-radius-l, 28px);

	box-shadow: 0 14px 38px rgba(0, 0, 0, 0.07);

	transition:
		transform 0.28s ease,
		box-shadow 0.28s ease;
}

.case-study::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;

	width: 100%;
	height: 8px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BC7E3,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

.case-study:hover,
.case-study:focus-within {
	transform: translateY(-6px);
	box-shadow: 0 22px 55px rgba(0, 0, 0, 0.12);
}

/* Main item layout */

.case-study > .layout-cell {
	position: relative;

	display: grid;
	grid-template-columns: minmax(220px, 32%) minmax(0, 1fr);
	align-items: stretch;
	gap: 0;

	min-height: 320px;
}

/* Hide empty EOS output */

.case-study .layout-component.link:empty,
.case-study .layout-component.link.empty,
.case-study .abstract.empty {
	display: none;
}

/* ==========================================
   INFLATE LINK
   Makes the whole card clickable
========================================== */

.case-study .collation-item-link.wrap.inflate {
	position: absolute;
	inset: 0;
	z-index: 5;

	display: block;

	width: 100%;
	height: 100%;

	overflow: hidden;

	color: transparent;
	text-indent: -9999px;
	white-space: nowrap;

	background: transparent;
	border: 0;
	text-decoration: none;
}

/* Accessible focus state for keyboard users */

.case-study .collation-item-link.wrap.inflate:focus {
	outline: none;
}

.case-study:focus-within {
	outline: 3px solid rgba(175, 18, 109, 0.35);
	outline-offset: 5px;
}

/* ==========================================
   CASE STUDY IMAGE CELL
========================================== */

.case-study > .layout-cell > .layout-cell.col3 {
	position: relative;
	z-index: 1;

	min-height: 100%;
}

.case-study .icon {
	position: relative;

	height: 100%;
	min-height: 100%;

	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.08),
			rgba(155, 199, 227, 0.14)
		);
}

.case-study .icon img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;

	transition: transform 0.35s ease;
}

.case-study:hover .icon img,
.case-study:focus-within .icon img {
	transform: scale(1.04);
}

/* ==========================================
   CASE STUDY CONTENT CELL
========================================== */

.case-study > .layout-cell > .layout-cell.col23 {
	position: relative;
	z-index: 1;

	display: flex;
	flex-direction: column;
	justify-content: center;

	padding:
		clamp(2rem, 4vw, 3rem)
		clamp(1.5rem, 4vw, 3rem);
}

/* Reset inner component spacing because content cell handles padding */

.case-study .layout-cell.col23 > .layout-component {
	position: relative;
	z-index: 1;

	padding: 0;
}

/* ==========================================
   DATE BADGE
   Date is now first component above title
========================================== */

.case-study .layout-cell.col23 > .specific-component:not(.title) {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: fit-content;
	margin: 0 0 1rem;
	padding: 0.5rem 0.85rem;

	background: rgba(175, 18, 109, 0.08);
	border: 1px solid rgba(175, 18, 109, 0.18);
	border-radius: 999px;

	color: #AF126D;
	font-size: 0.85rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.03em;
}

.case-study .layout-cell.col23 > .specific-component:not(.title)::before {
	content: "";

	display: block;

	width: 0.45rem;
	height: 0.45rem;
	margin-right: 0.5rem;

	border-radius: 50%;
	background: #AF126D;
}

/* ==========================================
   TITLE
   Supports h1 / h2 / h3 output
========================================== */

.case-study .title h1,
.case-study .title h2,
.case-study .title h3 {
	margin: 0 0 1rem;

	color: #4D4F53;
	font-size: clamp(1.8rem, 3vw, 2.8rem);
	font-weight: 800;
	line-height: 1;
}

/* ==========================================
   ABSTRACT
========================================== */

.case-study .abstract {
	max-width: 760px;
}

.case-study .abstract p {
	margin: 0 0 0.85rem;

	color: #4D4F53;
	font-size: 1.05rem;
	line-height: 1.65;
}

.case-study .abstract p:last-child {
	margin-bottom: 0;
}

/* ==========================================
   VISUAL CTA
   The real clickable link is the inflate link
========================================== */

.case-study .layout-cell.col23::after {
	content: "Read the full story";

	position: relative;
	z-index: 1;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: fit-content;
	margin-top: 1.35rem;
	padding: 0.8rem 1.35rem;

	background: #AF126D;
	color: #fff;
	border-radius: 999px;

	font-weight: 800;
	line-height: 1;
	text-decoration: none;

	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.case-study:hover .layout-cell.col23::after,
.case-study:focus-within .layout-cell.col23::after {
	background: #4D4F53;
	transform: translateX(4px);
}

/* ==========================================
   ALTERNATING LAYOUT
   Desktop only:
   Odd cards = image left, text right
   Even cards = text left, image right
========================================== */

.case-study-grid .case-study:nth-child(even) > .layout-cell {
	grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
}

.case-study-grid .case-study:nth-child(even) > .layout-cell > .layout-cell.col3 {
	order: 2;
}

.case-study-grid .case-study:nth-child(even) > .layout-cell > .layout-cell.col23 {
	order: 1;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 900px) {
	.case-study > .layout-cell,
	.case-study-grid .case-study:nth-child(even) > .layout-cell {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.case-study-grid .case-study:nth-child(even) > .layout-cell > .layout-cell.col3,
	.case-study-grid .case-study:nth-child(even) > .layout-cell > .layout-cell.col23 {
		order: initial;
	}

	.case-study > .layout-cell > .layout-cell.col3 {
		min-height: 0;
	}

	.case-study .icon {
		aspect-ratio: 16 / 10;
		height: auto;
		min-height: 0;
	}

	.case-study > .layout-cell > .layout-cell.col23 {
		padding: 1.75rem 1.5rem;
	}
}

@media (max-width: 560px) {
	.case-study {
		border-radius: 22px;
	}

	.case-study::before {
		height: 6px;
	}

	.case-study .icon {
		aspect-ratio: 4 / 3;
	}

	.case-study .title h1,
	.case-study .title h2,
	.case-study .title h3 {
		font-size: 1.75rem;
	}

	.case-study .abstract p {
		font-size: 1rem;
		line-height: 1.58;
	}

	.case-study .layout-cell.col23 > .specific-component:not(.title) {
		font-size: 0.8rem;
	}

	.case-study .layout-cell.col23::after {
		width: 100%;
	}
}




/* ==========================================
   CUSTOMER QUOTE SECTION
   Use with:
   .page-section.quote
   .customer-quote
   .action-buttons
========================================== */

.page-section.quote {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			rgba(77, 79, 83, 0.88) 0%,
			rgba(77, 79, 83, 0.76) 42%,
			rgba(175, 18, 109, 0.86) 100%
		),
		url("/userfiles/css/images/holder.jpg");

	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;

	color: #fff;
}

/* Soft overlay for readability */

.page-section.quote::before {
	content: "";

	position: absolute;
	inset: 0;
	z-index: -1;

	background:
		radial-gradient(
			circle at 20% 20%,
			rgba(175, 18, 109, 0.32) 0%,
			rgba(175, 18, 109, 0) 42%
		),
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.46) 0%,
			rgba(0, 0, 0, 0.22) 50%,
			rgba(0, 0, 0, 0.50) 100%
		);
}

/* Inner section layout */

.page-section.quote > .i {
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

/* ==========================================
   QUOTE CARD
========================================== */

.customer-quote {
	max-width: 980px;
	margin-inline: auto;
	text-align: center;
}

.customer-quote > .i {
	position: relative;

	padding:
		clamp(2.5rem, 6vw, 5rem)
		clamp(1.5rem, 5vw, 4rem);

	background: rgba(255, 255, 255, 0.10);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--ww-radius-l, 28px);

	backdrop-filter: blur(6px);

	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.24);
}

/* Decorative quote mark */

.customer-quote > .i::before {
	content: "“";

	position: absolute;
	top: -0.28em;
	left: 50%;

	color: rgba(255, 255, 255, 0.18);

	font-size: clamp(8rem, 18vw, 16rem);
	font-weight: 900;
	line-height: 1;

	transform: translateX(-50%);

	pointer-events: none;
}

/* Quote text */

.customer-quote-text {
	position: relative;
	z-index: 1;
}

.customer-quote-text p {
	max-width: 760px;
	margin: 0 auto;

	color: #fff;
	font-size: clamp(1.55rem, 3vw, 2.65rem);
	font-weight: 800;
	line-height: 1.18;
	text-wrap: balance;
}

/* Quote name */

.customer-quote-name {
	position: relative;
	z-index: 1;

	margin-top: 1.5rem;
}

.customer-quote-name h4 {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;

	margin: 0;

	color: #fff;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.customer-quote-name h4::before,
.customer-quote-name h4::after {
	content: "";

	display: block;

	width: 34px;
	height: 3px;

	border-radius: 999px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BC7E3,
		#81C3AF,
		#F7BF1F
	);
}

/* ==========================================
   QUOTE ACTION BUTTONS
========================================== */

.page-section.quote .action-buttons {
	display: flex;
	justify-content: center;
}

.page-section.quote .action-buttons .textblock {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.85rem;
}

/* Standard quote buttons */

.page-section.quote .action-buttons .textblock a.button,
.page-section.quote .action-buttons .textblock a.button:link,
.page-section.quote .action-buttons .textblock a.button:visited {
	background: rgba(255, 255, 255, 0.08);
	border: 2px solid rgba(255, 255, 255, 0.9);
	color: #fff !important;

	backdrop-filter: blur(4px);

	box-shadow: 0 10px 26px rgba(0, 0, 0, 0.16);
}

.page-section.quote .action-buttons .textblock a.button:hover,
.page-section.quote .action-buttons .textblock a.button:focus,
.page-section.quote .action-buttons .textblock a.button:active {
	background: #fff;
	border-color: #fff;
	color: #AF126D !important;

	transform: translateY(-3px);
}

/* Primary quote button: second button / Donate */

.page-section.quote .action-buttons .textblock a.button:nth-of-type(2),
.page-section.quote .action-buttons .textblock a.button:nth-of-type(2):link,
.page-section.quote .action-buttons .textblock a.button:nth-of-type(2):visited {
	background: #fff;
	border-color: #fff;
	color: #AF126D !important;
}

.page-section.quote .action-buttons .textblock a.button:nth-of-type(2):hover,
.page-section.quote .action-buttons .textblock a.button:nth-of-type(2):focus,
.page-section.quote .action-buttons .textblock a.button:nth-of-type(2):active {
	background: #AF126D;
	border-color: #FFFFFF;
	color: #fff !important;

	transform: translateY(-3px);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	.page-section.quote {
		background-position: center center;
	}

	.customer-quote > .i {
		padding: 2.25rem 1.25rem;
		border-radius: 22px;
	}

	.customer-quote-text p {
		font-size: clamp(1.35rem, 7vw, 2rem);
		line-height: 1.22;
	}

	.customer-quote-name h4 {
		font-size: 0.95rem;
	}

	.customer-quote-name h4::before,
	.customer-quote-name h4::after {
		width: 24px;
	}

	.page-section.quote .action-buttons .textblock {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 320px;
		margin-inline: auto;
	}

	.page-section.quote .action-buttons .textblock a.button {
		width: 100%;
	}
}



/* ==========================================
   HIDE EMPTY CUSTOMER QUOTE
   Keeps action buttons visible
========================================== */

.page-section.quote .customer-quote:has(.customer-quote-text.empty),
.page-section.quote .customer-quote:has(.customer-quote-name.no-data) {
	display: none;
}

/* Tighten spacing when only action buttons are showing */

.page-section.quote > .i:has(.customer-quote:has(.customer-quote-text.empty)) {
	gap: 0;
}

.page-section.quote:has(.customer-quote:has(.customer-quote-text.empty)) {
	padding-block: clamp(3rem, 6vw, 5rem);
}
 /* Begin CSS Part: Schema */

 /* Begin CSS Part: Scroller */
/* ==========================================
   ANCHOR OFFSET FOR FIXED HEADER
========================================== */

:root {
	--ww-anchor-offset-desktop: 55px;
	--ww-anchor-offset-mobile: 55px;
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: var(--ww-anchor-offset-desktop);
}

[id] {
	scroll-margin-top: var(--ww-anchor-offset-desktop);
}

@media (max-width: 767px) {
	html {
		scroll-padding-top: var(--ww-anchor-offset-mobile);
	}

	[id] {
		scroll-margin-top: var(--ww-anchor-offset-mobile);
	}
}
 /* Begin CSS Part: Search */

 /* Begin CSS Part: Search Results */

 /* Begin CSS Part: Seo */
/* ==========================================
   SITEMAP TREE
   Use with:
   #sitemap-tree
========================================== */

#sitemap-tree {
	position: relative;

	max-width: 980px;
	margin: 0 auto;

	color: #4D4F53;
	text-align: left;
}

/* ==========================================
   TREE RESET
========================================== */

#sitemap-tree ul {
	margin: 0;
	padding: 0;

	list-style: none;
	text-align: left;
}

#sitemap-tree li {
	position: relative;

	margin: 0;
	padding: 0;

	text-align: left;
}

/* ==========================================
   TOP LEVEL LIST
========================================== */

#sitemap-tree > ul {
	position: relative;

	display: grid;
	gap: 1rem;
}

/* ==========================================
   TOP LEVEL ITEMS
========================================== */

#sitemap-tree > ul > li {
	position: relative;
	overflow: hidden;

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.045),
			rgba(155, 211, 242, 0.12)
		),
		#fff;

	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: var(--ww-radius-m, 22px);

	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.055);

	transition:
		border-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

#sitemap-tree > ul > li::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;

	width: 100%;
	height: 6px;

	background: linear-gradient(
		90deg,
		#ED8C01,
		#B5CB52,
		#9BD3F2,
		#81C3AF,
		#F7BF1F
	);

	pointer-events: none;
}

#sitemap-tree > ul > li::after {
	content: "";

	position: absolute;
	right: -46px;
	bottom: -46px;

	width: 130px;
	height: 130px;

	background: rgba(175, 18, 109, 0.045);
	border-radius: 999px;

	pointer-events: none;
}

#sitemap-tree > ul > li:hover,
#sitemap-tree > ul > li:focus-within {
	border-color: rgba(175, 18, 109, 0.18);

	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.075);

	transform: translateY(-2px);
}

/* ==========================================
   TOP LEVEL LINKS
========================================== */

#sitemap-tree > ul > li > a,
#sitemap-tree > ul > li > a:visited {
	position: relative;
	z-index: 2;

	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.85rem;

	width: 100%;

	margin: 0;
	padding: 1.25rem 1.35rem;

	color: #4D4F53;
	text-align: left;
	text-decoration: none;

	font-size: clamp(1.05rem, 2vw, 1.22rem);
	font-weight: 900;
	line-height: 1.2;

	transition:
		color 0.25s ease,
		background-color 0.25s ease;
}

#sitemap-tree > ul > li > a:hover,
#sitemap-tree > ul > li > a:focus {
	color: #AF126D;
}

/* Top-level ordinary page icon */

#sitemap-tree > ul > li > a:not(.list-expand)::before {
	content: "";

	display: inline-flex;

	width: 0.65rem;
	height: 0.65rem;

	flex: 0 0 0.65rem;

	background: #AF126D;
	border-radius: 999px;

	box-shadow: 0 0 0 4px rgba(175, 18, 109, 0.10);
}

/* ==========================================
   EXPANDABLE SECTION LINKS
========================================== */

#sitemap-tree .list-expand {
	color: #AF126D;
	cursor: pointer;
}

#sitemap-tree .list-expand::before {
	content: "+";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 2rem;
	height: 2rem;

	flex: 0 0 2rem;

	background: #AF126D;
	border-radius: 999px;

	color: #fff;

	font-size: 1.25rem;
	font-weight: 900;
	line-height: 1;

	box-shadow: 0 8px 18px rgba(175, 18, 109, 0.18);

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

/* Remove any default right-side expand icon */

#sitemap-tree .list-expand::after {
	content: none;
	display: none;
}

/* Common possible open states from sitemap scripts */

#sitemap-tree li.open > .list-expand::before,
#sitemap-tree li.active > .list-expand::before,
#sitemap-tree li.expanded > .list-expand::before,
#sitemap-tree .list-expand.open::before,
#sitemap-tree .list-expand.active::before,
#sitemap-tree .list-expand.expanded::before,
#sitemap-tree .list-expand[aria-expanded="true"]::before {
	content: "−";

	background: #4D4F53;
	color: #fff;

	transform: rotate(180deg);
}

/* ==========================================
   CHILD LIST
   Hidden by default
========================================== */

#sitemap-tree .site-map-list {
	position: relative;
	z-index: 2;

	display: none;

	margin: 0 1.35rem 1.35rem;
	padding: 0.8rem;

	background: rgba(255, 255, 255, 0.72);
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 16px;

	text-align: left;

	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
}

/* Show child list when common open states are applied */

#sitemap-tree li.open > .site-map-list,
#sitemap-tree li.active > .site-map-list,
#sitemap-tree li.expanded > .site-map-list,
#sitemap-tree .list-expand.open + .site-map-list,
#sitemap-tree .list-expand.active + .site-map-list,
#sitemap-tree .list-expand.expanded + .site-map-list,
#sitemap-tree .list-expand[aria-expanded="true"] + .site-map-list {
	display: block;
}

/* Soft vertical tree line */

#sitemap-tree .site-map-list::before {
	content: "";

	position: absolute;
	top: 1rem;
	bottom: 1rem;
	left: 1.25rem;

	width: 2px;

	background: linear-gradient(
		180deg,
		rgba(175, 18, 109, 0.24),
		rgba(155, 211, 242, 0.24)
	);

	border-radius: 999px;

	pointer-events: none;
}

#sitemap-tree .site-map-list > li {
	position: relative;

	margin: 0;
	padding: 0 0 0 1.35rem;

	text-align: left;
}

#sitemap-tree .site-map-list > li + li {
	margin-top: 0.45rem;
}

/* Tree branch connector */

#sitemap-tree .site-map-list > li::before {
	content: "";

	position: absolute;
	top: 50%;
	left: 0.15rem;

	width: 0.9rem;
	height: 2px;

	background: rgba(175, 18, 109, 0.24);
	border-radius: 999px;

	transform: translateY(-50%);
}

/* ==========================================
   CHILD LINKS
========================================== */

#sitemap-tree .site-map-list a,
#sitemap-tree .site-map-list a:visited {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.7rem;

	min-height: 46px;

	padding: 0.75rem 0.9rem;

	background: #fff;
	border: 1px solid rgba(77, 79, 83, 0.08);
	border-radius: 12px;

	color: #4D4F53;
	text-align: left;
	text-decoration: none;

	font-size: 0.98rem;
	font-weight: 800;
	line-height: 1.25;

	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.035);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

#sitemap-tree .site-map-list a::before {
	content: "";

	display: inline-flex;

	width: 0.45rem;
	height: 0.45rem;

	flex: 0 0 0.45rem;

	background: #9BD3F2;
	border-radius: 999px;

	box-shadow: 0 0 0 4px rgba(155, 211, 242, 0.14);

	transition:
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

#sitemap-tree .site-map-list a:hover,
#sitemap-tree .site-map-list a:focus {
	background: #AF126D;
	border-color: #AF126D;
	color: #fff;

	box-shadow: 0 12px 28px rgba(175, 18, 109, 0.18);

	transform: translateX(3px);
}

#sitemap-tree .site-map-list a:hover::before,
#sitemap-tree .site-map-list a:focus::before {
	background: #fff;
	box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.16);

	transform: scale(1.15);
}

/* ==========================================
   EMPTY SECTIONS
========================================== */

#sitemap-tree .site-map-list:empty {
	display: none !important;
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 767px) {
	#sitemap-tree > ul {
		gap: 0.85rem;
	}

	#sitemap-tree > ul > li {
		border-radius: 20px;
	}

	#sitemap-tree > ul > li > a,
	#sitemap-tree > ul > li > a:visited {
		padding: 1.1rem;
		font-size: 1.02rem;
	}

	#sitemap-tree .list-expand::before {
		width: 1.8rem;
		height: 1.8rem;

		flex-basis: 1.8rem;

		font-size: 1.12rem;
	}

	#sitemap-tree .site-map-list {
		margin: 0 1rem 1.1rem;
		padding: 0.7rem;
		border-radius: 14px;
	}

	#sitemap-tree .site-map-list a,
	#sitemap-tree .site-map-list a:visited {
		min-height: 44px;
		padding: 0.72rem 0.8rem;

		font-size: 0.94rem;
	}
}
 /* Begin CSS Part: Shipping */

 /* Begin CSS Part: Snippets */

 /* Begin CSS Part: Social Media */

 /* Begin CSS Part: Sub Layout */
/* ==========================================
   OUR VALUES BANNER
   Reusable sublayout
   Use with:
   .our-values
========================================== */

.our-values {
	position: relative;
	isolation: isolate;
	overflow: hidden;

	padding-block: clamp(2.5rem, 5vw, 4.5rem);

	background:
		linear-gradient(
			135deg,
			rgba(175, 18, 109, 0.92),
			rgba(175, 18, 109, 0.78)
		),
		url("/userfiles/css/images/holder.jpg");

	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;

	color: #fff;
}

.our-values::before {
	content: "";

	position: absolute;
	inset: 0;
	z-index: 0;

	background:
		radial-gradient(
			circle at 12% 20%,
			rgba(255, 255, 255, 0.20) 0,
			rgba(255, 255, 255, 0) 26%
		),
		radial-gradient(
			circle at 88% 80%,
			rgba(255, 255, 255, 0.14) 0,
			rgba(255, 255, 255, 0) 30%
		),
		linear-gradient(
			90deg,
			rgba(77, 79, 83, 0.10),
			rgba(77, 79, 83, 0)
		);

	pointer-events: none;
}



.our-values > .i {
	position: relative;
	z-index: 2;

	display: grid;
	grid-template-columns: 1fr;
	align-items: center;
	gap: clamp(1.4rem, 3vw, 2rem);
}

/* ==========================================
   VALUE CARDS ROW
========================================== */

.our-values .value-cards {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1rem);

	width: 100%;
	min-width: 0;
}

.our-values .value-cards .textblock {
	position: relative;
	overflow: hidden;

	display: flex;
	align-items: center;
	justify-content: center;

	min-height: clamp(96px, 10vw, 138px);

	padding: clamp(1rem, 2vw, 1.35rem);

	background: rgba(255, 255, 255, 0.11);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 24px;

	box-shadow:
		0 16px 38px rgba(0, 0, 0, 0.14),
		inset 0 1px 0 rgba(255, 255, 255, 0.16);

	backdrop-filter: blur(5px);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.our-values .value-cards .textblock::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	height: 5px;

	background: rgba(255, 255, 255, 0.55);

	opacity: 0.9;

	pointer-events: none;
}

.our-values .value-cards .textblock::after {
	content: "";

	position: absolute;
	right: -34px;
	bottom: -34px;

	width: 86px;
	height: 86px;

	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;

	pointer-events: none;
}

.our-values .value-cards .textblock:hover,
.our-values .value-cards .textblock:focus-within {
	background: rgba(255, 255, 255, 0.17);
	border-color: rgba(255, 255, 255, 0.34);

	transform: translateY(-4px);

	box-shadow:
		0 20px 46px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Individual colour accents */

.our-values .value-cards .textblock:nth-child(1)::before {
	background: #ED8C01;
}

.our-values .value-cards .textblock:nth-child(2)::before {
	background: #B5CB52;
}

.our-values .value-cards .textblock:nth-child(3)::before {
	background: #9BD3F2;
}

.our-values .value-cards .textblock:nth-child(4)::before {
	background: #81C3AF;
}

.our-values .value-cards .textblock:nth-child(5)::before {
	background: #F7BF1F;
}

/* ==========================================
   VALUE LABELS
========================================== */

.our-values .value-cards label {
	position: relative;
	z-index: 1;

	display: block;

	margin: 0;

	color: #fff;

	font-size: clamp(1.05rem, 1.5vw, 1.45rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.025em;
	text-align: center;
	text-wrap: balance;

	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}

.our-values .value-cards label::before {
	content: "";

	display: block;

	width: 0.55rem;
	height: 0.55rem;

	margin: 0 auto 0.75rem;

	background: #fff;
	border-radius: 999px;

	box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.10);
}

/* ==========================================
   VALUE LINK ROW
========================================== */

.our-values .value-link {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-width: 0;

	margin-top: clamp(0.2rem, 1vw, 0.65rem);
}

.our-values .value-link .textblock {
	margin: 0;
}

.our-values .value-link a,
.our-values .value-link a:visited {
	position: relative;
	overflow: hidden;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;

	min-height: 52px;

	padding: 0.85rem 1.3rem 0.85rem 0.85rem;

	background: #fff;
	border: 2px solid rgba(255, 255, 255, 0.95);
	border-radius: 999px;

	color: #AF126D;
	text-decoration: none;

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;
	white-space: nowrap;

	box-shadow:
		0 16px 38px rgba(0, 0, 0, 0.18),
		inset 0 1px 0 rgba(255, 255, 255, 0.8);

	transition:
		background-color 0.25s ease,
		border-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease,
		box-shadow 0.25s ease;
}

.our-values .value-link a::before {
	content: "→";

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 1.7rem;
	height: 1.7rem;

	flex: 0 0 1.7rem;

	background: #AF126D;
	border-radius: 999px;

	color: #fff;

	font-size: 1rem;
	font-weight: 900;
	line-height: 1;

	transition:
		background-color 0.25s ease,
		color 0.25s ease,
		transform 0.25s ease;
}

.our-values .value-link a:hover,
.our-values .value-link a:focus {
	background: #4D4F53;
	border-color: #fff;
	color: #fff;

	transform: translateY(-2px);

	box-shadow:
		0 20px 46px rgba(0, 0, 0, 0.24),
		0 0 0 5px rgba(255, 255, 255, 0.10);
}

.our-values .value-link a:hover::before,
.our-values .value-link a:focus::before {
	background: #fff;
	color: #4D4F53;

	transform: translateX(2px) scale(1.06);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1100px) {
	.our-values .value-cards {
		grid-template-columns: repeat(5, minmax(120px, 1fr));
		overflow-x: auto;

		padding-bottom: 0.35rem;

		scroll-snap-type: x mandatory;
		scrollbar-width: thin;
	}

	.our-values .value-cards .textblock {
		scroll-snap-align: start;
	}
}

@media (max-width: 767px) {
	.our-values {
		padding-block: clamp(2.25rem, 8vw, 3.25rem);
	}

	.our-values > .i {
		gap: 1.25rem;
	}

	.our-values .value-cards {
		grid-template-columns: 1fr;
		overflow-x: visible;

		padding-bottom: 0;
	}

	.our-values .value-cards .textblock {
		min-height: 78px;

		border-radius: 18px;
	}

	.our-values .value-cards label {
		font-size: clamp(1.1rem, 5vw, 1.35rem);
	}

	.our-values .value-cards label::before {
		display: inline-block;

		width: 0.5rem;
		height: 0.5rem;

		margin: 0 0.55rem 0 0;

		vertical-align: middle;
	}

	.our-values .value-link {
		margin-top: 0.15rem;
	}

	.our-values .value-link a,
	.our-values .value-link a:visited {
		width: 100%;

		min-height: 50px;
	}
}

@media (max-width: 480px) {
	.our-values .value-cards .textblock {
		min-height: 72px;
		padding: 0.95rem;
	}

	.our-values .value-link a,
	.our-values .value-link a:visited {
		font-size: 0.96rem;
	}
}
 /* Begin CSS Part: System Manager */

 /* Begin CSS Part: Traffic */

 /* Begin CSS Part: User */

 /* Begin CSS Part: User Documents */

 /* Begin CSS Part: Warning */