/* #region Variables */
	:root {
		--lift-primary-teal: #82FFFF;
		--lift-primary-teal-text-color: var(--lift-primary-green);

		--lift-primary-green: #1F454A;
		--lift-primary-green-text-color: #FFF;

		--lift-primary-grey: #F2F0F0;
		--lift-primary-grey-text-color: var(--lift-primary-green);
		--slightly-darker-grey: #D2D0D0;

		--lift-primary-white: #FFF;
		--lift-primary-white-text-color: var(--lift-primary-green);

		--lift-primary-black: #FFF;
		--lift-primary-black-text-color: var(--lift-primary-teal);

		--lift-secondary-pink: #FF5278;
		--lift-secondary-pink-text-color: #FFF;

		--lift-secondary-blue: #1A2957;
		--lift-secondary-blue-text-color: #FFF;

		--primary-color: var(--lift-primary-green);
		--primary-text-color: var(--lift-primary-green-text-color);

		--secondary-color: var(--lift-secondary-pink);
		--secondary-text-color: var(--lift-secondary-pink-text-color);

		--tertiary-color: var(--lift-primary-teal);
		--tertiary-text-color: var(--lift-primary-teal-text-color);

		--danger-color: #FF0000;
		--danger-text-color: #FFF;

		--main-border-radius: .25rem;
		--btn-padding-y: .5rem;
		--btn-padding-x: 3rem;

		--btn-border-radius: 200px;
		--btn-primary-color: var(--lift-secondary-pink);
		--btn-secondary-color: var(--lift-secondary-pink-text-color);

		--accessible-outline: 2px solid var(--secondary-color);
		--accessible-outline-offset: 2px;
		--accessible-shadow: none;
		/*0 0 0.5rem rgba(83, 26, 156, 0.6);*/

		--h1-size: clamp(2.25rem, 3.5vw + 1rem, 4rem);
		--h1-line-height: 1.1;
		--h1-font-weight: 700;
		--h1-color: var(--lift-primary-teal);

		--h2-size: clamp(1.75rem, 2.5vw + 0.8rem, 3rem);
		--h2-line-height: 1.15;
		--h2-font-weight: 700;
		--h2-color: var(--lift-primary-green);

		--h3-size: clamp(1.375rem, 1.8vw + 0.6rem, 2.25rem);
		--h3-line-height: 1.2;
		--h3-font-weight: 400;
		--h3-color: var(--lift-secondary-pink);

		--h4-size: clamp(1.1875rem, 1.2vw + 0.5rem, 1.75rem);
		--h4-line-height: 1.3;
		--h4-font-weight: 700;
		--h4-color: var(--lift-primary-green);

		--h5-size: clamp(1.0625rem, 0.6vw + 0.5rem, 1.35rem);
		--h5-line-height: 1.4;
		--h5-font-weight: 400;
		--h5-color: var(--lift-primary-green);

		--h6-size: clamp(0.9375rem, 0.3vw + 0.5rem, 1.15rem);
		--h6-line-height: 1.5;
		--h6-font-weight: 400;
		--h6-color: var(--lift-primary-green);
        .headings-small {
    		--h1-size: clamp(1.75rem, 2.5vw + 0.8rem, 3rem);
    		--h1-line-height: 1.15;
    		--h2-size: clamp(1.375rem, 1.8vw + 0.6rem, 2.25rem);
    		--h2-line-height: 1.2;
    		--h3-size: clamp(1.1875rem, 1.2vw + 0.5rem, 1.75rem);
    		--h3-line-height: 1.3;
    		--h4-size: clamp(1.0625rem, 0.6vw + 0.5rem, 1.35rem);
    		--h4-line-height: 1.4;
    		--h5-size: clamp(0.9375rem, 0.3vw + 0.5rem, 1.15rem);
    		--h5-line-height: 1.5;
        }

		&:has(.home--banner) {
			--h1-size: clamp(2.75rem, 5vw + 1rem, 5rem);
			--h2-size: clamp(2.25rem, 4vw + 0.8rem, 4.5rem);
			--h3-size: clamp(1.625rem, 2.5vw + 0.6rem, 2.75rem);
			--h4-size: clamp(1.375rem, 1.5vw + 0.5rem, 2rem);
			--h5-size: clamp(1.125rem, 0.8vw + 0.5rem, 1.5rem);
			--h6-size: clamp(1rem, 0.4vw + 0.5rem, 1.25rem);
		}

		--codelist-box-color: var(--secondary-color);
		--codelist-box-text-color: var(--secondary-text-color);

		--icon-location: "\f64f";
		--icon-region: "\f3c5";
		--icon-subject: "\f02d";
		--icon-department: "\f1ad";
		--icon-role-type: "\f0c0";
		--icon-school: "\f549";
		--icon-attachment: "\f15b";

		--icon-start-date: "\f274"; /* string-field-8 */
		--icon-closing-date: "\f253";
		--icon-salary-description: "\f571"; /* string-field-10 */
		--icon-salary-from: "\f53a"; /* string-field-11 */
		--icon-req-identifier: "\f5ab";

        --icon-pensions: "\e2c5";
        --icon-weeks-per-year: "\f784";

		--transition-time: .25s;
		--delay-increment: .25s;

		@media (min-width: 768px) { --search-results-cols: 2; }

		@media (min-width: 576px) {
			--offset-margin-left: calc(50vw - (var(--container-width, 100vw - 15px) / 2) + var(--offset-margin-left-additional, 0px));
			--offset-margin-left-fix: -1rem;
			--offset-width: calc(3 * (var(--container-width, 100%) / 4));
			--container-width: 540px;
		}

		--container-width: 100%;
		@media (min-width: 576px) { --container-width: 540px; }
		@media (min-width: 768px) { --container-width: 720px; }
		@media (min-width: 992px) { --container-width: 960px; }
		@media (min-width: 1200px) { --container-width: 1140px; }
		@media (min-width: 1400px) { --container-width: 1320px; }
		@media (min-width: 1600px) { --container-width: 1500px; }
		@media (min-width: 1920px) { --container-width: 1800px; }

		--carousel-item-background: #FFF;
		--carousel-chevron-color: var(--lift-secondary-pink);

		--z-index-accessibility: 998;
		--z-index-sticky-apply: 999;
		--z-index-header: 1000;
		--z-index-modal: 1001;
      
        scroll-behavior: smooth;
	}
/* #endregion */
/* #region General / Fixes / Overrides */
	body:has(.editing) {
		.page-row-border {
			position: relative;
		}
	}

    body.pojo-a11y-high-contrast,
    body.pojo-a11y-negative-contrast,
    body.pojo-a11y-light-background {
        --accessible-effect-color: transparent;
    }

	html,
	body {
		overflow-x: hidden;
		font-weight: 400;
	}

	html {
		background-color: #00000088;
		&:has(.show-as-popup) {
			overflow-y: hidden;
			scrollbar-gutter: stable;
		}
	}

	body {
		background-color: #FFF;
		padding-top: calc(var(--extra-padding, 1rem) + var(--header-height, 89px));
		&:has(.row--banner, .page-banner) {
			--extra-padding: 0rem;
		}

		&:has(.row--banner:last-child) footer {
			margin-top: 0;
		}

		&:has(.editing) {
			.sticky-apply,
			nav[class*="pojo-a11y-toolbar"] {
				display: none;
			}
		}
	}

	.page-row {
		.container-fluid {
			.block-image {
				margin-left: -.75rem;
				margin-right: -.75rem;
			}
		}
	}
	
	:focus-visible, .nav-link:focus-visible {
		outline: var(--accessible-outline);
		outline-offset: var(--accessible-outline-offset, 0);
		box-shadow: var(--accessible-shadow);
	}

	a {
		text-decoration: none;
		color: var(--secondary-color);

		&:hover {
			color: var(--secondary-color);
			text-decoration: underline;
		}

		&:visited {
			color: var(--secondary-color);
		}

		&:focus-visible {
			text-decoration: none;
		}
	}

	strong a {
		font-weight: bold;
	}

	p, li {
		font-size: calc(1rem * var(--font-size-multiplier, 1));
		color: var(--lift-primary-green);
		line-height: 1.9rem;
		margin-block-end: 0;
		&:where(.page-row:has(.block-image) .block-html p),
		&:where(.page-row:has(.block-image) .block-html li) {
			--font-size-multiplier: 1;
			/* .8 */
		}
	}

	h1, .h1 {
		font-size: var(--h1-size);
		line-height: var(--h1-line-height);
		letter-spacing: 0;
		font-weight: var(--h1-font-weight);
		color: var(--h1-color, #000);
		&:has(+ h2, + .h2) {
			margin-block-end: 0;
		}
	}

	h2, .h2 {
		font-size: var(--h2-size);
		line-height: var(--h2-line-height);
		letter-spacing: 0;
		font-weight: var(--h2-font-weight);
		color: var(--h2-color, #000);
		&:where(h1 + h2, h1 + .h2, .h1 + h2, .h1 + .h2) {
			margin-block-start: 0;
		}
      
		&:has(+ h3, + .h3) {
			margin-block-end: 0;
		}
	}

	h3, .h3 {
		font-size: var(--h3-size);
		line-height: var(--h3-line-height);
		letter-spacing: 0;
		font-weight: var(--h3-font-weight);
		color: var(--h3-color, #000);
		&:where(h2 + h3, h2 + .h3, .h2 + h3, .h2 + .h3) {
			margin-block-start: 0;
		}
	}

	h4, .h4 {
		font-size: var(--h4-size);
		line-height: var(--h4-line-height);
		letter-spacing: 0;
		font-weight: var(--h4-font-weight);
		color: var(--h4-color, #000);
        font-family: "Fira Sans", Helvetica, Arial, sans-serif;
	}

	h5, .h5 {
		font-size: var(--h5-size);
		line-height: var(--h5-line-height);
		letter-spacing: 0;
		font-weight: var(--h5-font-weight);
		color: var(--h5-color, #000);
        font-family: "Fira Sans", Helvetica, Arial, sans-serif;
	}

	h6, .h6 {
		font-size: var(--h6-size);
		line-height: var(--h6-line-height);
		letter-spacing: 0;
		font-weight: var(--h6-font-weight);
		color: var(--h6-color, #000);
        font-family: "Fira Sans", Helvetica, Arial, sans-serif;
	}

	ul, p, h1, h2, h3, h4, h5, h6 {
		+ h1, + h2, + h3, + h4, + h5, + h6 {
			margin-top: 1rem;
		}
	}

	.scrolling-down header {
		--translate-y: -100%;
	}

	.scrolling-up header,
    header:has(.navbar-collapse.show) {
		--translate-y: 0;
	}

	.restricted-container {
		.container-fluid {
			@media (min-width: 768px) {
				max-width: 90%;
			}
		}
	}

	[class*="p-t-"] {
		padding-block-start: 0 !important;
		.page-row-and-new-button {
			padding-block-start: calc(var(--p-t, 0px) / 2) !important;
			@media (min-width: 768px) { padding-block-start: var(--p-t, 0px) !important; }
		}
	}

	[class*="p-b-"] {
		padding-block-end: 0 !important;
		.page-row-and-new-button {
			padding-block-end: calc(var(--p-b, 0px) / 2) !important;
			@media (min-width: 768px) { padding-block-end: var(--p-b, 0px) !important; }
		}
	}

	.p-t-5 { --p-t: 5px; }
	.p-t-10 { --p-t: 10px; }
	.p-t-15 { --p-t: 15px; }
	.p-t-20 { --p-t: 20px; }
	.p-t-25 { --p-t: 25px; }
	.p-t-30 { --p-t: 30px; }
	.p-t-35 { --p-t: 35px; }
	.p-t-40 { --p-t: 40px; }
	.p-t-45 { --p-t: 45px; }
	.p-t-50 { --p-t: 50px; }
	.p-t-55 { --p-t: 55px; }
	.p-t-60 { --p-t: 60px; }
	.p-t-65 { --p-t: 65px; }
	.p-t-70 { --p-t: 70px; }
	.p-t-75 { --p-t: 75px; }
	.p-t-80 { --p-t: 80px; }
	.p-t-85 { --p-t: 85px; }
	.p-t-90 { --p-t: 90px; }
	.p-t-95 { --p-t: 95px; }
	.p-t-100 { --p-t: 100px; }
	.p-b-5 { --p-b: 5px; }
	.p-b-10 { --p-b: 10px; }
	.p-b-15 { --p-b: 15px; }
	.p-b-20 { --p-b: 20px; }
	.p-b-25 { --p-b: 25px; }
	.p-b-30 { --p-b: 30px; }
	.p-b-35 { --p-b: 35px; }
	.p-b-40 { --p-b: 40px; }
	.p-b-45 { --p-b: 45px; }
	.p-b-50 { --p-b: 50px; }
	.p-b-55 { --p-b: 55px; }
	.p-b-60 { --p-b: 60px; }
	.p-b-65 { --p-b: 65px; }
	.p-b-70 { --p-b: 70px; }
	.p-b-75 { --p-b: 75px; }
	.p-b-80 { --p-b: 80px; }
	.p-b-85 { --p-b: 85px; }
	.p-b-90 { --p-b: 90px; }
	.p-b-95 { --p-b: 95px; }
	.p-b-100 { --p-b: 100px; }

	.container {
		@media (min-width: 1600px) { max-width: 1500px; }
		@media (min-width: 1920px) { max-width: 1800px; }
		&:where(.editing .container) {
			@media (min-width: 1900px) { max-width: 1800px; }
		}
	}
/* #endregion */
/* #region Header */
	header:not(.chatbot-header) {
		background-color: #FFF;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: var(--z-index-header);
		transform: translateY(var(--translate-y, 0));
		transition: transform .25s;
		/* border-block-end: 1px solid #CCC; */
		@media (prefers-reduced-motion: reduce) {
			transition: none;
		}

		.logo-header {
			width: 100%;
			max-width: 200px;
		}

		.navbar-brand {
			color: #1F454A;

			&:hover,
			&:focus,
			&:active,
			&:visited {
				color: #1F454A;
			}
		}

		.nav-item {
			display: flex;
			align-items: stretch;
		}

        @media (min-width: 1400px) {
            .navbar-expand-xl .navbar-nav a.nav-link {
                padding: 1rem;
            }
        }

		a.nav-link {
			color: #1F454A;
			font-weight: bold;
			/* text-transform: uppercase; */
			text-underline-offset: 2px;
			text-decoration-thickness: 2px;
            line-height: 1.2;
            padding: 1rem 1rem;
            @media (min-width: 1200px) {
    			text-align: center;
            }
          
			&:hover,
			&:focus,
			&:active,
			&:visited {
				color: #1F454A;
			}

			&:has(.icon) {
				display: flex;
				gap: .5rem;
				align-items: center;
				justify-content: center;

				@media (min-width: 1200px) {
					gap: 0;

					.text {
						text-indent: -9999px;
					}
				}

				&.search-link {
					--fa: "\f002";
				}

				&.profile-link {
					--fa: "\f007";
				}

				&:hover {
					text-decoration: none;

					.text {
						text-decoration: underline;
						text-decoration-thickness: 2px;
						text-underline-offset: 2px;
					}
				}

				.icon:before {
					font-family: var(--fa-family, "Font Awesome 7 Free");
					content: var(--fa, "");
				}
			}
		}

		.nav-link {
			&:has(.icon) {
				display: flex;
				align-items: center;
				gap: 0;

				@media (min-width: 1200px) {
					gap: .5rem;

					.text {
						text-indent: -9999px;
					}

					.icon:before {
						font-family: var(--fa-pro-family);
						font-weight: 900;
						line-height: 1;
						content: var(--fa);
						display: inline-block;
						color: var(--color, inherit);
					}
				}
			}

			&.sign-in {
				--fa: "\f2f6";
			}

			&.sign-out {
				--fa: "\f08b";
			}

			&.my-account {
				--fa: "\f007";
			}

			&.nav-refresh-link {
				--fa: "\f021";
				--color: var(--lift-secondary-pink);
			}

			&.css-refresh-link {
				--fa: "\f1fc";
				--color: var(--lift-secondary-pink);
			}
		}
	}
/* #endregion */
/* #region Accessibility */
	#pojo-a11y-toolbar.pojo-a11y-toolbar-right {
		z-index: var(--z-index-accessibility);
	}

	.pojo-a11y-toolbar-toggle,
	.pojo-a11y-toolbar-overlay {
		background-color: #FFF;
	}

	body.pojo-a11y-grayscale {
		filter: none;
		-webkit-filter: none;
		-moz-filter: none;
		-ms-filter: none;
		-o-filter: none;
	}

	body.pojo-a11y-grayscale header,
	body.pojo-a11y-grayscale main,
	body.pojo-a11y-grayscale footer,
	body.pojo-a11y-grayscale #pojo-a11y-toolbar {
		-webkit-filter: grayscale(100%);
		-webkit-filter: grayscale(1);
		-moz-filter: grayscale(100%);
		-ms-filter: grayscale(100%);
		-o-filter: grayscale(100%);
		filter: grayscale(100%);
	}

	body:not(.earcu):has(.sticky-apply) #pojo-a11y-toolbar {
		top: calc(var(--header-height, 0px) + var(--sticky-apply-height, 0px) + var(--additional-sticky-apply-padding, 0px));
	}
/* #endregion */
/* #region Footer */
	footer {
		background-color: #F2F0F0;
		padding-block-start: 2rem;
		margin-block-start: 2rem;

		@media (min-width: 1200px) {
			--gap: 1rem;
			--alignment: start;
		}

		.logo-footer {
			width: 100%;
			max-width: 200px;
		}

		.col-md-6:nth-child(1),
		.col-md-6:nth-child(2) {
			@media (min-width: 768px) { margin-block-end: 1rem; }
			@media (min-width: 1200px) { margin-block-end: 0; }
		}

		ul {
			list-style: none;
			display: flex;
			flex-wrap: wrap;
			gap: var(--gap, 0);
			padding: 0;
			margin: 0;

			li {
				list-style: none;
				width: 100%;
				text-align: var(--alignment, center);

				h3 {
					color: #FF5278;
					font-size: 1rem;
					font-weight: bold;
				}

				a {
					color: #1F454A;
					font-weight: bold;
					text-underline-offset: 2px;
					text-decoration-thickness: 2px;

					&:hover,
					&:focus,
					&:active,
					&:visited {
						color: #1F454A;
					}
				}
			}

			&.careers-list {
				--gap: 0;
				margin-block: 2rem;

				@media (min-width: 1200px) {
					margin-block: 0;
				}

				li a {
					font-weight: normal;
				}

				h3 {
					margin: 0;
					padding: 0;
					line-height: 1.5rem;
				}
			}
		}

		.socials {
			text-align: var(--alignment, center);

			a {
				color: #FF5278;
                font-size: 2rem;
				&:hover,
				&:focus,
				&:active,
				&:visited {
					color: #FF5278;
				}
			}
		}

		.logo-container {
			text-align: var(--alignment, center);
			padding-block: 1rem;

			@media (min-width: 1200px) {
				padding-block: 0;
			}
		}

		.footer--bottom {
			border-top: 1px solid var(--slightly-darker-grey);
			margin-block-start: 2rem;
			padding-block: .75rem;
		}

        .footer--bottom-copyright {
            text-align: center;
            @media (min-width: 1200px) {
                text-align: start;
            }
        }

		.footer--bottom-links {
			display: flex;
			@media (min-width: 1200px) { justify-content: end; }
            ul {
                width: 100%;
                justify-content: end;
                @media (min-width: 1200px) { --gap: 1rem; }
            }

			ul,
			li {
				list-style: none;
				margin: 0;
				padding: 0;
			}

			li {
				width: 100%;
				@media (min-width: 1200px) { width: auto; }
				a {
					color: var(--lift-primary-green);
					font-weight: 400;
					font-size: 1rem;
				}
			}
		}
	}

    body:has(.mobile-button a) {
        --additional-chatbot-indent: 65px;
        @media (min-width: 768px) { --additional-chatbot-indent: 0px; }
      
        footer {
            margin-block-end: 70px;
            @media (min-width: 768px) {
                margin-block-end: 0;
            }
        }
    }

    :root, :host {
        --chatbot-window-indent: calc(var(--chatbot-launcher-indent) + var(--chatbot-launcher-height) + 15px + var(--additional-chatbot-indent, 0px));
        --chatbot-header-btn-color: #000;
        --chatbot-launcher-text: #000;
    }

    .chatbot-launcher {
        bottom: calc(var(--chatbot-launcher-indent) + var(--additional-chatbot-indent, 0px));
    }

    .chatbot-message-notifications {
        bottom: calc(var(--chatbot-launcher-indent) + var(--additional-chatbot-indent, 0px));
    }

    .chatbot-chat-window {
        transition: height .25s;
        height: calc(100vh - 120px - var(--additional-chatbot-indent, 0px));
        max-height: none;
    }

    .chatbot-launcher:not(.opened) .chatbot-launcher-icon,
    .chatbot-launcher.opened .chatbot-launcher-icon {
        filter: brightness(0);
    }

    .chatbot-body-frame {
        .chatbot-body {
            .chatbot-prompt {
                button {
                    --padding: var(--individual-btn-padding-y, var(--btn-padding-y)) var(--individual-btn-padding-x, var(--btn-padding-x));
                    background-color: var(--btn-primary-color);
                    color: var(--btn-secondary-color);
                    border: 2px solid var(--btn-primary-color);
                    padding: var(--padding);
                    border-radius: var(--btn-border-radius);
                    transition: var(--transition, all .25s ease);
                    transition-delay: var(--transition-delay, 0ms);
                    height: auto;
                    line-height: 1.5;
                    font-size: .75rem;
                    text-transform: uppercase;
                    font-weight: 600;
                    letter-spacing: 2px;
                    text-align: center;
                    &:hover {
                        background-color: var(--btn-secondary-color);
                        color: var(--btn-primary-color);
                        border: 2px solid var(--btn-primary-color);
                        text-decoration: none;
                    }
                }
            }
        }
    }
/* #endregion */
/* #region Colours */
	.background-color--grey,
	.background-colour--grey {
		.page-row-and-new-button {
			background-color: var(--lift-primary-grey);
		}

        .carousel-item-block {
            box-shadow: 0 -.0625rem .125rem #302e4033, 0 .125rem .25rem #302e401a;
        }
	}

	.accent--green {
		--accent-color: var(--lift-primary-green);
		--accent-text-color: var(--lift-primary-green-text-color);
		--accent-heading-color: var(--lift-primary-teal);
		--accent-icon-color: var(--lift-primary-teal);
		--carousel-item-background: var(--lift-primary-green);
		--carousel-item-text: var(--lift-primary-green-text-color);
	}

	.accent--pink {
		--accent-color: var(--lift-secondary-pink);
		--accent-text-color: var(--lift-secondary-pink-text-color);
		--carousel-item-background: var(--lift-secondary-pink);
		--carousel-item-text: var(--lift-secondary-pink-text-color);
		--accent-icon-color: var(--lift-secondary-pink);
	}
/* #endregion */
/* #region Utils / Helpers */
	/* #region Boxes */
		[class*="box--padded"] {
			.container,
			.container-fluid {
				.page-row-and-new-button {
					padding: var(--box-padding-block, 0) var(--box-padding-inline, 0);
					overflow: hidden;
				}
			}

			&.box--padded-sm {
				--box-padding-block: .5rem;
				--box-padding-inline: .5rem;
				@media (min-width: 768px) {
					--box-padding-block: 1rem;
					--box-padding-inline: 1rem;
				}
			}

			&.box--padded {
				--box-padding-block: 1rem;
				--box-padding-inline: 1rem;
				@media (min-width: 768px) {
					--box-padding-block: 2rem;
					--box-padding-inline: 2rem;
				}
			}

			&.box--padded-lg {
				--box-padding-block: 2rem;
				--box-padding-inline: 2rem;
				@media (min-width: 768px) {
					--box-padding-block: 4rem;
					--box-padding-inline: 4rem;	
				}
			}

			&:has(+ [class*="box--padded"]) {
				.container,
				.container-fluid {
					.page-row-and-new-button {
						padding-block-end: 0;
					}
				}
			}

			+ [class*="box--padded"] {
				.container,
				.container-fluid {
					.page-row-and-new-button {
						padding-block-start: 0;
					}
				}
			}

			&.box--padded-block { --box-padding-inline: 0; }
			&.box--padded-inline { --box-padding-block: 0; }
		}

		[class*="box--rounded"] {
			.container,
			.container-fluid {
				.page-row-and-new-button {
					border-radius: var(--box-border-radius, 0);
					overflow: hidden;
				}
			}

			&.box--rounded-sm { --box-border-radius: 1rem; }
			&.box--rounded { --box-border-radius: 2rem; }
			&.box--rounded-lg { --box-border-radius: 4rem; }
			&:not(.box--rounded-single) {
				&:has(+ [class*="box--rounded"]:not(.box--rounded-single)) {
					.container,
					.container-fluid {
						.page-row-and-new-button {
							border-end-start-radius: 0;
							border-end-end-radius: 0;
						}
					}
				}

				+[class*="box--rounded"]:not(.box--rounded-single) {
					.container,
					.container-fluid {
						.page-row-and-new-button {
							border-start-start-radius: 0;
							border-start-end-radius: 0;
						}
					}
				}
			}
		}

		.not-editing .box--separator {
			display: none;
		}
	/* #endregion */
	.padded-box {
		.container,
		.container-fluid {
			.page-row-and-new-button {
				padding: var(--box-padding, 2rem);
			}
		}
	}

	.padded-box--x {
		.container,
		.container-fluid {
			.page-row-and-new-button {
				padding-inline: var(--box-padding, 2rem);
			}
		}
	}

	.padded-box--y {
		.container,
		.container-fluid {
			.page-row-and-new-button {
				padding-block: var(--box-padding, 2rem);
			}
		}
	}

	.padded-box--sm { --box-padding: 1rem; }
	.padded-box--lg { --box-padding: 4rem; }

	.padding--sm {

		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding: 1rem;
		}
	}

	.padding,
	.padding--md {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding: 2rem;
		}
	}

	.padding--lg {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding: 4rem;
		}
	}

	.padding-top--sm {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-start: 1rem;
		}
	}

	.padding-top,
	.padding-top--md {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-start: 2rem;
		}
	}

	.padding-top--lg {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-start: 4rem;
		}
	}

	.padding-bottom--sm {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-end: 1rem;
		}
	}

	.padding-bottom,
	.padding-bottom--md {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-end: 2rem;
		}
	}

	.padding-bottom--lg {
		&:where(.page-row) .page-row-and-new-button,
		&:where(:not(.page-row)) {
			padding-block-end: 4rem;
		}
	}

	.block-wrapper {
		&.padding {
			--padding: 2rem;
			padding: var(--padding);

			@media (min-width: 992px) {
				--padding: 4rem;
			}
		}

		&.padding--small {
			--padding: 1rem;
			padding: var(--padding);

			@media (min-width: 992px) {
				--padding: 2rem;
			}
		}

		&.padding--large {
			--padding: 3rem;
			padding: var(--padding);

			@media (min-width: 992px) {
				--padding: 6rem;
			}
		}
	}

	.margin--sm .page-row-and-new-button {
		margin-inline: 1rem;
	}

	.margin .page-row-and-new-button,
	.margin--md .page-row-and-new-button {
		margin-inline: 2rem;
	}

	.margin--lg .page-row-and-new-button {
		margin-inline: 4rem;
	}

	.font--small {
		--font-size-multiplier: 1;
	}

	.font--large {
		--font-size-multiplier: 1.2;
	}

	/*
	[class*="align-button"] {
		.button {
			width: 100%;
			text-align: center;
		}

        @media (min-width: 992px) {
			position: relative;
			.button {
				position: absolute;
				width: auto;
			}

			&.align-button--right .button { right: var(--button-offset-right, 0); }
			&.align-button--bottom-right .button { bottom: 0; right: var(--button-offset-right, 0); }
			&.align-button--bottom .button { bottom: 0; }
			&.align-button--bottom-left .button { bottom: 0; left: 0; }
			&.align-button--left .button { left: 0; }
			&.align-button--top-right .button { top: 0; right: var(--button-offset-right, 0); }
			&.align-button--top .button { top: 0; }
			&.align-button--top-left .button { top: 0; left: 0; }
			&.align-button--center-left .button { top: 50%; transform: translateY(-50%); left: 0; }
			&.align-button--center-right .button { top: 50%; transform: translateY(-50%); right: var(--button-offset-right, 0); }
		}
	}
    */

	.block-wrapper {
		&.p-margin--small {
			--margin-block-start: .25rem;
		}

		p + p {
			margin-block-start: var(--margin-block-start, 1rem);
		}
	}

	.not-editing .row-reverse .row,
	.not-editing .page-row-border.row-reverse {
		flex-direction: row-reverse;
	}

	.block--text {
		padding: 0 0 2rem;

		@media (min-width: 768px) {
			padding: 2rem;
		}

		@media (min-width: 1200px) {
			padding: 4rem;
		}

		p, li {
			color: var(--text-block--color, #000);
		}
	}

    .block--box {
        border-radius: 0 2rem;
        padding: 2rem;
        background-color: var(--lift-primary-grey);
        margin-block-start: 2rem;
        @media (min-width: 992px) {
            /* padding: 4rem; */
        }
    }

	.bullets--stars {
		ul {
			list-style: none;
			padding-inline-start: 0;
            margin-block: 1rem;
			margin-inline-start: 0;
			li {
				list-style: none;
				padding-inline-start: 2rem;
				margin-inline-start: 0;
                margin-block-end: .5rem;
                line-height: 1.4;
				&:before {
					font-family: "Font Awesome 7 Free";
					content: "\f005";
					color: var(--accent-icon-color, #333);
					font-weight: bold;
					display: inline-block;
                    margin-inline-end: .45rem;
                    margin-inline-start: -1.5rem;
				}
			}
		}
	}

	.image-uncropped-full-width {
		&:where(.border-radius--trbl img) { border-radius: 0 2rem; }
		&:where(.border-radius--brtl img) { border-radius: 2rem 0; }
		&:where(.width--auto img) { width: auto; max-width: 100%; }
	}

	/* #region Slanted shape */
		.shape--slanted p {
			background-color: var(--lift-primary-green);
			color: var(--lift-primary-teal);
			padding: 1rem 4rem;
			text-align: center;
			font-family: sans-serif;
			width: fit-content;
			clip-path: polygon(0% 0%, 97% 0%, 100% 100%, 1.5% 100%);
			margin: 1rem auto;
		}
	/* #endregion */
	/* #region Vertically Centred */
		.vertically-centred {
			display: flex;
			align-items: center;
			width: 100%;

			.page-row-inner {
				width: 100%;

				[class*="col-"]:has(> .block-wrapper) {
					display: flex;
					align-items: center;
					flex-wrap: wrap;

					>* {
						width: 100%;
					}
				}
			}
		}
	/* #endregion */
	/* #region Transitions */
		.reveal-element {
			opacity: 0;
			transform: translateY(30px);
			transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;
			transition-delay: var(--delay, 0ms);
            &.reveal-from-left {
                transform: translateX(-60px);
            }
          
            &.reveal-from-right {
                transform: translateX(60px);
            }
          
			&.is-visible {
				opacity: 1;
				transform: translateY(0) translateX(0);
			}
		}
	/* #endregion */
	/* #region Image Blocks */
		.page-row:has(.block-image) {
			&:has(.block-html):not(.banner--split, .home--banner) {
				/* Text / image combo */
				display: flex;
				align-items: center;
				width: 100%;

				.page-row-inner {
					width: 100%;
					[class*="col-"]:has(> .block-wrapper:not([class*="tabs--"])) {
						display: flex;
						align-items: center;
						flex-wrap: wrap;

						> * {
							width: 100%;
						}
					}
				}
			}

			.block-html:not(.block--text .block-html) {
				@media (min-width: 768px) {
					/* max-width: calc(100% - 4rem); */
					&:where(.page-row.row-reverse .block-html) {
						margin-left: auto;
					}
				}
			}
		}
	/* #endregion */
/* #endregion */
/* #region Pages */
	/* #region Search Results */
        .search-results--grey {
            --search-results-card--filter: none;
            --search-results-card--background: var(--lift-primary-grey);
            --search-results-card--color: var(--lift-primary-green);
            --search-results-card--icon-color: var(--lift-secondary-pink);
        }

		.block-job-search-results {
			.job-search-results {
				.job-search-dropdown-filters {
					padding-top: 0;
					.filters-list {
						display: flex;
						flex-wrap: wrap;

						li {
							width: 100%;
							flex: 0 0 100%;
							margin: .25rem 0;

							@media (min-width: 992px) {
								width: calc(100% / 3);
								flex: 0 0 calc(100% / 3);
							}

							select {
								width: 100%;
								padding: .5rem;
								border: 1px solid #DEE2E6;
								margin: 0;
							}
						}
					}

					.job-search-collapse {
						display: none !important;
						+ .collapse {
							display: block !important;
						}
					}
				}

				.job-search-collapse,
				.job-search-results-sort-by-dropdown {
					font-size: 1rem;
				}

				.job-search-filter-groups {
					width: 100%;
					background-color: transparent;
					padding: 0;
					.list-unstyled {
						overflow-x: hidden;
					}

					section {
						display: flex;
						flex-wrap: wrap;
						gap: 0.5rem;
					}
					
					.job-search-filter {
						background-color: var(--lift-primary-grey);
						border: 2px solid var(--lift-primary-green);
						padding: 0;
						border-radius: 1rem 0;
						overflow: hidden;
						margin-bottom: 0;
						width: 100%;
						transition: border-radius var(--transition-time), transform var(--transition-time) max(0.05s, calc(mod(var(--index, 1), var(--search-results-cols, 1)) * var(--delay-increment))), opacity var(--transition-time) max(0.05s, calc(mod(var(--index, 1), var(--search-results-cols, 1)) * var(--delay-increment)));
						transform: translateY(20px);
						opacity: 0;
						&.is-visible {
							transform: translateY(0);
							opacity: 1;
						}

						h4, .h4 {
							font-size: 1.25rem;
							margin-bottom: 0;
							background-color: var(--lift-primary-green);
							padding: 0.6rem 1rem;
							color: #FFF;
							cursor: pointer;
							margin-top: 0;
							font-weight: 600;
							position: relative;
							line-height: 1.5;
							&:after {
								position: absolute;
								right: 1rem;
								top: 50%;
								transform: translateY(-50%);
								font-family: var(--fa-family, "Font Awesome 7 Free");
								font-weight: 900;
								line-height: 1;
								margin-right: 1rem;
								color: #FFF;
								margin-right: 0;
								content: "\f078";
							}
						}

						&:last-child {
							margin-bottom: 0;
						}

						&.filter-collapsed {
							border-radius: 0 1rem;
							h4, .h4 {
								background-color: var(--primary-color);
								&:after { content: "\f077"; }
							}

							.search-filter,
							.job-search-list-items li:not(:has(input:checked)) {
								display: none;
							}

							&:not(:has(input:checked)) {
								h4 {
									margin-bottom: 0;
								}

								fieldset {
									display: none;
								}
							}
						}
					}

					.search-filter {
						padding-left: 0.5rem;
						width: calc(100% - 1rem);
						margin: 0.5rem auto 0 !important;

						&#search_workplace_types {
							display: none;
						}
					}

                    fieldset {
                        padding-block-end: .5rem;
                    }

					.job-search-list-items {
						overflow: auto;
						scrollbar-gutter: stable;
						display: flex;
						flex-wrap: wrap;
						gap: 0;
						padding: 0.5rem 0 0 0.5rem;
						margin-bottom: 0;
                        max-height: 16.9rem;
						li {
							display: flex;
							flex-wrap: wrap;
							flex: 0 0 100%;
							width: 100%;
							align-items: center;
							margin: 0;

							label {
								font-size: 1rem;
								padding: 0;
								flex: 1;
								display: flex;
								justify-content: start;
								justify-items: start;
								text-overflow: clip;
								white-space: normal;
								max-width: 100%;
								overflow: hidden;

								.job-search-list-item-label {
									max-width: calc(100% - 3rem);
									text-overflow: ellipsis;
									white-space: nowrap;
									overflow: hidden;
								}
							}

							.badge {
								font-size: 1.125rem;
								padding: 0.5rem 1rem;
								display: inline-block;
								border-radius: 4px;
								width: auto;
								margin-left: auto;
								color: var(--lift-primary-green-text-color);
								float: none;
								min-width: 53px;
								background-color: var(--lift-primary-green);
								margin-top: 0.2rem;
							}
						}
					}
				}

				.job-search-results-filter {
					min-width: 15px;
					margin-right: .5rem;
					align-self: start;
					margin-top: .25rem;
					flex: 0 0 30px;
					width: 30px;
					margin-right: 0;
					display: flex;
					flex-wrap: nowrap;
					height: 15px;

					&:where(select) {
						width: 100%;
						height: auto;
						flex: 1 1 auto;
					}
				}

				.job-search-results-card-col {
					margin-bottom: 1.5rem;
					transform: translateY(30px);
					opacity: 0;
					/* will-change: transform, opacity; */
					transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease;

					/* Leverages the JS-computed delay, defaults to 0ms on load or fallback */
					transition-delay: var(--delay, 0ms);
                    width: 100%;
                    max-width: none;

					&.is-visible {
						opacity: 1;
						transform: translateY(0);
					}

					@media (min-width: 768px) {
						/* max-width: 100%;
						flex: 0 0 100%; */
					}

					@media (min-width: 992px) {
						/* max-width: 50%;
						flex: 0 0 50%; */
					}
				}

				.pagination {
					justify-content: center;

					.prev,
					.next {
						position: relative;

						.page-link {
							color: var(--lift-primary-green);
						}
					}

					.page-link {
						color: var(--lift-primary-green);

						&:hover {
							color: var(--lift-primary-green);
						}
					}

					>.active>a,
					>.active>span,
					>.active>a:hover,
					>.active>span:hover,
					>.active>a:focus,
					>.active>span:focus {
						background-color: var(--lift-primary-green);
						border-color: var(--lift-primary-green);
						color: #FFF;
					}
				}

				.table-counts p {
					text-align: center;
				}

				.job-search-control {
					margin-top: 1rem;
					@media (min-width: 768px) {
						margin-top: 0;
					}
				}
			}
		}

		.card.job-search-results-card {
    		background-color: var(--search-results-card--background, var(--lift-primary-green));
			color: var(--search-results-card--color, var(--lift-primary-green-text-color));
			transition: box-shadow .3s ease-out;
			border-radius: .125rem;
			border: none;
			padding: 1rem;
			font-size: 1rem;
			min-height: min(30vh, 300px);
			border-radius: 0 2rem;
			position: relative;
			@media (min-width: 768px) {
				padding: 1rem;
			}
          
            .job-search-results-card-body {
    			background-repeat: no-repeat;
    			background-size: contain;
    			background-position: top right;
            }

			.card-body {
				padding: 0;
			}

			h3 a {
				/*font-size: var(--wp--preset--font-size--h-4);*/
				line-height: 1.35;
				text-decoration: none;
				font-weight: 500;
				color: var(--search-results-card--color, #FFF);
				text-underline-offset: 3px;
				text-decoration-thickness: 2px;
				transition: text-decoration-color .5s ease;

				&:before {
					content: "";
					position: absolute;
					top: 0;
					left: 0;
					right: 0;
					bottom: 0;
					z-index: 1;
				}

				&:hover {
					text-decoration: underline;
					text-decoration-color: var(--search-results-card--color, #FFF);
				}
			}

			.job-component-details {
				font-size: 1rem;
				line-height: 1;

				p,
				li {
					color: var(--search-results-card--color, var(--lift-secondary-green-text-color));
					line-height: 1.8;
				}

				.job-component-list-location>p {
					display: none;
				}

				.job-component-location .fa,
				.job-component-location .fas {
					--fa: var(--icon-location);
				}

				.job-component-department .fa,
				.job-component-department .fas {
					--fa: var(--icon-vacancy-type);
				}

				.job-component-dropdown-field-1 .fa,
				.job-component-dropdown-field-1 .fas {
					--fa: var(--icon-region);
				}

				.job-component-dropdown-field-2 .fa,
				.job-component-dropdown-field-2 .fas {
					--fa: var(--icon-subject);
				}

				.job-component-dropdown-field-3 .fa,
				.job-component-dropdown-field-3 .fas {
					--fa: var(--icon-department);
				}

				.job-component-dropdown-field-4 .fa,
				.job-component-dropdown-field-4 .fas {
					--fa: var(--icon-role-type);
				}

				.job-component-dropdown-field-7 .fa,
				.job-component-dropdown-field-7 .fas {
					--fa: var(--icon-pensions);
				}

				.job-component-dropdown-field-8 .fa,
				.job-component-dropdown-field-8 .fas {
					--fa: var(--icon-weeks-per-year);
				}

				.job-component-string-field-7 .fa,
				.job-component-string-field-7 .fas {
					--fa: var(--icon-school);
				}

				.job-component-string-field-8 .fa,
				.job-component-string-field-8 .fas {
					--fa: var(--icon-start-date);
				}

				.job-component-string-field-9 .fa,
				.job-component-string-field-9 .fas {
					--fa: var(--icon-start-date);
				}

				.job-component-string-field-10 .fa,
				.job-component-string-field-10 .fas {
					--fa: var(--icon-salary-description);
				}

				.job-component-string-field-11 .fa,
				.job-component-string-field-11 .fas {
					--fa: var(--icon-salary-from);
				}
			}

			.job-component-icon-and-text {
				display: list-item;
				position: relative;
				padding-left: 30px;
                &.job-component-string-field-7 { display: none; }
				i {
					color: var(--search-results-card--icon-color, var(--lift-secondary-green-text-color));
					width: 1.25rem;
					position: absolute;
					left: 0;
					top: .3rem;
					width: 30px;
					margin-right: .5rem;
				}
			}

			.card-footer {
				display: none;
			}

			&:hover {
				box-shadow: 0 .125rem .25rem #302e401a;/* 0 .75rem 1.75rem #302e401a; */
			}
		}
	/* #endregion */
	/* #region Search Control */
		.job-search-control {
			margin-inline: 0;
			padding-inline: 0;

			.row,
			.row .col {
				margin-inline: 0;
				padding-inline: 0;
			}

			.input-group {
				display: flex;
				align-items: stretch;
				flex-wrap: wrap;
				gap: .5rem;

				> :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
					margin-left: 0;
				}

				input,
				button {
					height: auto;
					width: 100%;

					@media (min-width: 992px) {
						width: auto;
					}
				}

				.input-group-btn {
					display: flex;
					align-items: stretch;
					width: calc(50% - .25rem);

					@media (min-width: 992px) {
						width: auto;
					}

					button {
						width: 100%;
					}
				}

				@media (min-width: 992px) {
					flex-wrap: nowrap;
				}
			}

			.near-me-control {
				margin-left: 0;
				display: flex;
				align-items: stretch;
				width: 100%;
			}
		}
	/* #endregion */
	/* #region Job Description */
		.block-job-description {
			h3.job-title {
				display: none;
			}

			p {
				color: var(--lift-primary-green);
			}

			p:has(strong:first-child:last-child),
			h2,
			h3 {
				color: var(--lift-primary-green);
				font-weight: bold;
				font-size: var(--h4-size);
			}

			.job-description-controls {
				.btn {
					--transition: transform .25s, opacity .25s, background-color .25s, color .25s;
					--transition-delay: var(--delay, 0ms), var(--delay, 0ms), 0ms, 0ms;
					padding: var(--padding) !important;
					line-height: 1.5;
					transform: translateY(-30px);
					opacity: 0;

					&.is-visible {
						transform: translateY(0);
						opacity: 1;
					}
				}
			}

            .job-description {
                margin-block-end: 2rem;
                @media (min-width: 992px) {
                    padding-inline-end: 2rem;
                    margin-block-end: 0;
                }
            }
		}

		.page-row:has(.block-job-description) .col-lg-4 {
			background-color: var(--lift-primary-green);
			border-radius: 0 2rem;
			display: flex;
			flex-wrap: wrap;
			flex-direction: column;
			align-items: start;
			gap: .5rem;

			h2 {
				color: var(--lift-primary-teal);
				font-size: var(--h3-size);
			}

			* {
				color: #FFF;
			}

			.fa,
			.fas,
			.far {
				color: var(--lift-primary-teal);
			}

			.block-wrapper {
				width: 100%;

				&:not(.mobile-button) {
					padding: 1rem;
					transform: translateX(30px);
					opacity: 0;
					transition: transform .25s, opacity .25s;
					transition-delay: var(--delay, 0ms);
				}

				p+p {
					margin-block-start: 1rem;
				}

				&.is-visible {
					transform: translateX(0);
					opacity: 1;
				}
			}

			.job-component-details {
				font-size: 1.2rem;
                display: flex;
                flex-wrap: wrap;
                flex-direction: column;
                .job-component-icon-and-text {
                    display: flex;
                    gap: .25rem;
                    &.job-component-string-field-7 { display: none; }
                    .fa, .fas, .far {
                        display: flex;
                		justify-content: center;
                		padding-top: .35rem;
                        min-width: 1.75rem;
                    }
                }
              
				.job-component-dropdown-field-1 .fa,
				.job-component-dropdown-field-1 .fas {
					--fa: var(--icon-region);
				}

				.job-component-dropdown-field-2 .fa,
				.job-component-dropdown-field-2 .fas {
					--fa: var(--icon-subject);
				}

				.job-component-dropdown-field-3 .fa,
				.job-component-dropdown-field-3 .fas {
					--fa: var(--icon-department);
				}

				.job-component-dropdown-field-4 .fa,
				.job-component-dropdown-field-4 .fas {
					--fa: var(--icon-role-type);
				}

				.job-component-dropdown-field-7 .fa,
				.job-component-dropdown-field-7 .fas {
					--fa: var(--icon-pensions);
				}

				.job-component-dropdown-field-8 .fa,
				.job-component-dropdown-field-8 .fas {
					--fa: var(--icon-weeks-per-year);
				}

				.job-component-string-field-7 .fa,
				.job-component-string-field-7 .fas {
					--fa: var(--icon-school);
				}

				.job-component-string-field-8 .fa,
				.job-component-string-field-8 .fas {
					--fa: var(--icon-start-date);
				}

				.job-component-string-field-9 .fa,
				.job-component-string-field-9 .fas {
					--fa: var(--icon-start-date);
				}

				.job-component-string-field-10 .fa,
				.job-component-string-field-10 .fas {
					--fa: var(--icon-salary-description);
				}

				.job-component-string-field-11 .fa,
				.job-component-string-field-11 .fas {
					--fa: var(--icon-salary-from);
				}

                .job-component-list {
                    width: 100%;
                    order: 4;
                    &.job-component-list-location { order: 1; }
                    &.job-component-list-employment_type { order: 3; }
                    &:has(li[class*="job-component-string"], li[class*="job-component-dropdown"]) {
                        order: 2;
                        ul {
                            display: flex;
                            flex-wrap: wrap;
                            flex-direction: column;
                            li {
                                width: 100%;
                                &.job-component-string-field-7 { order: 1; }
                                &.job-component-string-field-11 { order: 2; }
                                &.job-component-dropdown-field-7 { order: 3; }
                                &.job-component-string-field-12 { order: 4; }
                                &.job-component-dropdown-field-8 { order: 5; }
                                &.job-component-string-field-8 { order: 6; }
                                &.job-component-string-field-9 { order: 7; }
                                &.job-component-dropdown-field-4 { order: 8; }
                            }
                        }
                    }
                }
			}

			.job-title,
			.job-summary {
				color: #FFF;
			}

			a[href="#apply"] {
				&:where(.not-editing .mobile-button a) {
					position: fixed;
					bottom: 0;
					left: 0;
					right: 0;
					width: auto;
					border-radius: 0;
                    z-index: 10002;
                    padding-block: 1.5rem;
				}

				/*
					&:where(body:has(.show-as-popup) a) {
						right: 15px;
					}
					*/
			}

			p:has(a[href="#apply"]) {
				&:not(:where(.mobile-button p)) {
					display: none;

					@media (min-width: 768px) {
						display: block;
					}
				}
			}

			.mobile-button:where(.not-editing .block-wrapper) {
				@media (min-width: 768px) {
					display: none;
				}
			}

			.block-map {
				.google-map {
					height: 300px;
				}
			}
		}

		.page-body:not(.editing) {
			.row--apply-cta,
			.row--job-alerts-cta {
				display: none;
				position: fixed;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
				background-color: #00000088;
				z-index: var(--z-index-modal);
				opacity: var(--opacity, 0);
				transition: opacity .25s .2s;

				&.show-as-popup {
					--transform: -50%;
					--opacity: 1;
				}

				.block-wrapper {
					width: clamp(min(400px, 100vw), min(600px, 100vw), 800px);
					background-color: #FFF;
					position: fixed;
					top: 50vh;
					left: 50vw;
					transform: translate(-50%, var(--transform, calc(-50% - 25px)));
					transition: transform .25s, opacity .25s;
					opacity: var(--opacity, 0);
					padding: clamp(2rem, .1vw, 4rem);
					overflow-y: auto;
					max-height: 100vh;

					.close {
						position: absolute;
						top: 0;
						right: 0;
						padding: 1rem;
						background-color: var(--lift-secondary-pink-text-color);
						color: var(--lift-secondary-pink);
						transition: background-color .25s, color .25s;
						z-index: 1;

						&:before {
							font-family: var(--fa-family, "Font Awesome 7 Free");
							content: "\58";
							font-weight: 700;
						}

						&:hover {
							text-decoration: none;
							background-color: var(--lift-secondary-pink);
							color: var(--lift-secondary-pink-text-color);
						}
					}
				}
			}
		}

		.component--downloads {
			ul, li {
				padding-inline-start: 0;
				margin-block-end: 0;
			}

			.job-component-attachment {
                list-style: none;
                a {
    				display: flex;
    				/* flex-wrap: wrap; */
    				gap: .25rem;
    				--fa: var(--icon-attachment);
    
    				&:before {
    					font-family: "Font Awesome 7 Free";
    					content: var(--fa, "");
    					width: 1.75rem;
    					font-weight: bold;
    					display: flex;
    					justify-content: center;
    					color: var(--lift-primary-teal);
    				}
                }
			}
		}
	/* #endregion */
	/* #region Candidate Settings */
		.candidate-settings-panel {
			background-color: var(--lift-primary-grey);
			border-radius: 0 2rem;
		}
	/* #endregion */
/* #endregion */
/* #region Components */
	/* #region Buttons */
		a, input, button {
			&.btn-primary,
			&.btn-success,
			&.btn,
			&.button.button1,
			&.button.button2,
			&.button.button3,
			&.button.button4 {
				--btn: "primary";
				--padding: var(--individual-btn-padding-y, var(--btn-padding-y)) var(--individual-btn-padding-x, var(--btn-padding-x));
				background-color: var(--btn-primary-color);
				color: var(--btn-secondary-color);
				border: 2px solid var(--btn-primary-color);
				padding: var(--padding);
				border-radius: var(--btn-border-radius);
				transition: var(--transition, all .25s ease);
				transition-delay: var(--transition-delay, 0ms);
				height: auto;
				line-height: 1.5;
				font-size: .75rem;
				text-transform: uppercase;
				font-weight: 600;
				letter-spacing: 2px;
				text-align: center;
				width: 100%;
				&:where(.button-alt *) {
					background-color: var(--btn-secondary-color);
					color: var(--btn-primary-color);
				}

                &:where(.clear-filters-button) {
                    width: 100%;
                }

				&:hover {
					background-color: var(--btn-secondary-color);
					color: var(--btn-primary-color);
					border: 2px solid var(--btn-primary-color);
					text-decoration: none;
					&:where(.button-alt *) {
						background-color: var(--btn-primary-color);
						color: var(--btn-secondary-color);
					}
				}

				&[href="#apply"],
				&[href="#job-alerts"] {
                    &:where(body:has(.job-description) a) {
    					width: 100%;
                    }
				}

				&:has(+ .button) {
					margin-block-end: .5rem;
					@media (min-width: 992px) {
						margin-block-end: 0;
					}
				}

				@media (min-width: 992px) {
					width: auto;
				}
			}

			&.button.button2,
            &.button.button4 {
				--btn: "secondary";
				background-color: var(--btn-secondary-color);
				color: var(--btn-primary-color);
				border: 2px solid var(--btn-primary-color);
				position: relative;

				&:hover {
					background-color: var(--btn-primary-color);
					color: var(--btn-secondary-color);
					border: 2px solid var(--btn-primary-color);
				}
			}
          
			&.button.button3,
			&.button.button4 {
                --btn-primary-color: var(--lift-primary-green);
                --btn-secondary-color: var(--lift-primary-white);
            }
		}

		.button--list {
			margin-block-end: 2rem;
			p:has(.button) {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				gap: .5rem;
			}
		}
	/* #endregion */
	/* #region Accordion */
		.accordion {
			margin-block: 1rem;
			h1, h2, h3, h4, h5, h6 {
				margin-block-end: 0;
			}
		}

		.accordion-item,
		.accordion-button {
			background-color: transparent;
		}

		.accordion-item {
			border-width: 1px 0 0;

			&:not(:first-of-type) {
				border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
			}
		}

		.accordion-button {
			font-weight: bold;
            color: var(--lift-primary-green);
            &:not(.collapsed) {
                background-color: var(--lift-secondary-pink);
                color: #FFF;
            }

            &:focus, &:active {
                outline: var(--accessible-outline);
                box-shadow: var(--accessible-shadow);
            }
		}
	/* #endregion */
	/* #region Tabs */
		[class*="tabs--"].placeholder-links {
			.page-block {
				display: flex;
				justify-content: center;
				gap: 1rem;
				flex-wrap: wrap;

				.nav-tabs {
					display: flex;
					flex-wrap: wrap;
					border: none;
					padding-inline-end: var(--padding-inline-end, 0);
					margin-block-end: 2rem;

					@media (min-width: 768px) { margin-block-end: 0; }
					@media (min-width: 992px) { --padding-inline-end: 2rem; }
					@media (min-width: 1400px) { --padding-inline-end: 4rem; }

					li { width: 100%; }

					&:where(.col-md-12 .nav-tabs) {
						--padding-inline-end: 0;
						gap: 1.5rem;
						justify-content: center;
						margin-block-end: 2rem;

						@media (min-width: 768px) {
							margin-block-end: 2rem;
						}

						li {
							@media (min-width: 992px) {
								width: auto;
							}
						}
					}
				}

				.tab-link {
					border-block-start: none;
					border-block-end: 1px solid var(--slightly-darker-grey);
					border-inline: none;
					color: var(--lift-primary-green);
					padding: 1.25rem 1rem;
					width: 100%;
					font-weight: bold;
					transition: color .25s, background-color .25s, border-color .25s;
					text-align: start;
					background-color: transparent;
					font-size: 1.25rem;
					&.active,
					&:hover,
					&:focus,
					&:active {
						color: var(--lift-secondary-pink);
					}

					&:where(.col-md-12 .tab-link) {
						border: 2px solid var(--lift-primary-green);
						color: var(--lift-primary-green);
						padding: .25rem 1rem;
						border-radius: 1.5rem;
						transition: color .25s, background-color .25s;
						text-align: center;
						font-size: 1rem;

						&.active,
						&:hover,
						&:focus,
						&:active {
							background-color: var(--lift-primary-green);
							color: var(--lift-primary-white);
						}
					}
				}
			}
		}

		.tab-pane {
			display: none;

			&.active {
				display: block;
			}

			img:where(:not(.carousel img)) {
				margin-block-end: 1.25rem;
			}

			.block-wrapper + .block-wrapper {
				margin-block-start: 1rem;
			}

			.page-row-border + .page-row-border {
				margin-block-start: 2rem;
			}

			h3:where(:not(.carousel h3)) {
				margin-block-start: 1rem;
				margin-block-end: 0;
			}

            .col-md-6 {
                @media (min-width: 768px) and (max-width: 1199.98px) {
                    width: 100%;
                    .block-wrapper {
                        margin-block-start: 2rem;
                    }
                }
            }

            .carousel-item-block {
                box-shadow: 0 .125rem .25rem #302e401a;
            }
		}

		.nav-tabs {
			align-items: start;
		}

		body:has(.not-editing) {
			[class*='tabs--'][class*='pane-'] {
				display: none;

				&.active {
					display: block;
				}

				.page-row-and-new-button {
					padding-inline: 2rem;

					@media (min-width: 992px) {
						padding-inline: 4rem;
					}
				}
			}
		}

        .row:has(.nav-tabs):has(.tab-pane) {
            .nav-tabs, .tab-pane {
                @media (min-width: 768px) { margin-block: 2rem; }
            }
        }
	/* #endregion */
	/* #region Forms */
		.selectize-control.multi .selectize-input>div {
			background-color: var(--lift-primary-green);
			color: var(--lift-primary-green-text-color);
			padding: .25rem .5rem;

			&.active {
				background-color: var(--lift-secondary-pink);
				color: var(--lift-secondary-pink-text-color);
			}
		}

		.selectize-control.multi .selectize-input.has-items {
			padding-inline: 6px;
		}

		.selectize-dropdown .active {
			background-color: var(--lift-secondary-pink);
			color: var(--lift-secondary-pink-text-color);
		}

		.block-call-to-action {
			.form-call-to-action {
				margin: 0 auto;
				@media (min-width: 768px) {
					max-width: min(50vw, 700px);
				}
			}

			form {
				max-width: 100%;
			}

			input:not([type='submit']),
			textarea,
			select,
			.selectize-input {
				border-radius: 200px;
			}
		}

		.form-template-field-consent {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: .5rem;
			align-items: start;

			input[type="checkbox"] {
				margin-top: .125rem;
			}

			label,
			span {
				line-height: 1;
			}

			p {
				font-size: .875rem;
				line-height: 1.5;
			}
		}

        .form-control,
        .selectize-input,
        .easy-autocomplete input {
            border: 2px solid var(--lift-primary-green);
            color: var(--lift-primary-green);
        }
	/* #endregion */
	/* #region Job Lists */
		.jobs-list {
			--background-color: var(--accent-primary-color, var(--lift-primary-grey));
			--color: var(--accent-secondary-color, var(--lift-primary-grey-text-color));
          	--item-width: 100%;
    		display: grid;
    		grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--item-width)), 1fr));
    		gap: 1rem;
            @media (min-width: 992px) { --item-width: calc((100% - 1rem) / 2); }
          	@media (min-width: 1400px) { --item-width: calc((100% - 3rem) / 4); }
            .job {
                display: grid;
                grid-template-rows: subgrid;
                grid-row: span 4;
                a {
                    display: contents;
                }
            }

			.job-field {
				display: grid;
				gap: .5rem;
				grid-template-columns: auto 1fr;
				align-items: start;
				color: var(--color);
				margin-block-end: .5rem;
				font-size: 1rem;
				/* .8rem; */
				font-weight: 300;

				&:before {
					font-family: var(--fa-family, "Font Awesome 7 Free");
					content: var(--fa);
					font-weight: bold;
					display: flex;
					align-items: center;
					justify-content: center;
					min-width: 1.25rem;
					color: var(--icon-color, var(--lift-secondary-pink));
				}

				&.job-region { --fa: var(--icon-region); }
				&.job-subject { --fa: var(--icon-subject); }
				&.job-role-type { --fa: var(--icon-role-type); }
				&.job-location { --fa: var(--icon-location); }
				&.job-department { --fa: var(--icon-department); }
				&.job-school { --fa: var(--icon-school); }
				&.job-start-date { --fa: var(--icon-start-date); }
				&.job-salary-from { --fa: var(--icon-salary-from); }
				&.job-salary-range { --fa: var(--icon-salary-from); }
				&.job-salary-description { --fa: var(--icon-salary-description); }
				&.job-employment-type { --fa: var(--icon-role-type); }
				&.job-requisition-identifier { --fa: var(--icon-req-identifier); }

				a {
					color: var(--lift-primary-green-text-color);
				}
			}

			h3.job-field {
				font-size: 1.5rem;
			}

			.job-field--list {
				/* margin-top: auto; */
			}

			.job {
				position: relative;
				margin-block-end: 0;
				align-items: stretch;
				flex-wrap: wrap;

				h1, h2, h3, h4, h5, h6 {
					&.job-title {
						font-weight: bold;
						color: var(--color);
					}
				}

				a {
					/*display: flex;
					flex-wrap: wrap;
					flex-direction: column;*/
					color: #000;
					width: 100%;

					&:after {
						content: "";
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						bottom: 0;
					}
				}

				&:hover a {
					.job-title {
						text-decoration: underline;
					}
				}

				.job-summary {
					color: var(--lift-primary-green);
					font-size: 1rem;
					/* .8rem; */
					/* margin: 1rem 0; */
					width: 100%;
					font-weight: 300;
				}
			}

			&:where(.jobs-list--100 .jobs-list) {
				--item-width: 100%;
				display: grid;
				grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--item-width)), 1fr));
				gap: 1rem;

				@media (min-width: 992px) {
					--item-width: calc((100% - 1rem) / 2);
				}

				@media (min-width: 1400px) {
					--item-width: calc((100% - 3rem) / 4);
				}

				.job {
					background-color: var(--background-color);
					border-radius: 0 2rem;
					padding: 1rem;
				}
			}

			&:where(.jobs-list--arrows .jobs-list) {
				.job {
					padding-block-end: 3rem;

					&:where(.arrows--teal .job) {
						--arrow-background-color: var(--lift-primary-teal);
						--arrow-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/arrow-black.png");
					}

					&:where(.arrow--green .job, .arrows--green .job) {
						--arrow-background-color: var(--lift-primary-green);
					}

					&:where(.arrow--blue .job, .arrows--blue .job) {
						--arrow-background-color: var(--lift-primary-blue);
					}

					&:after {
						background-image: var(--arrow-url, url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/arrow-white.png"));
						background-size: 100% 100%;
						background-color: var(--arrow-background-color, var(--lift-secondary-pink));
						content: "";
						position: absolute;
						bottom: 0;
						right: 0;
						min-width: 3rem;
						min-height: 3rem;
						display: flex;
						align-items: center;
						justify-content: center;
						font-weight: bold;
						font-size: 2rem;
						pointer-events: none;
					}
				}
			}
		}
	/* #endregion */
	/* #region Tiles */
		.block-tile-layout {
			margin: 2rem 0;
			.tiles {
				gap: .5rem;
				@media (min-width: 1200px) { gap: 2rem; }
				.card {
					display: flex;
					background-color: transparent;
					border: none;
					/*
					@media (max-width: 767.8px) {
						grid-column: span 12 !important;
					}

					@media (min-width: 768px) and (max-width: 1199.8px) {
						grid-column: span 6 !important;
					}
					*/
					> .tile-link {
						height: auto;
					}

					img.card-img-top {
						width: auto;
						height: auto;
						margin: 0 auto;
						max-width: 80px;
                        @media (min-width: 768px) { max-width: 120px; }
					}

					.card-body {
                        --bs-card-spacer-y: .5rem;
                        --bs-card-spacer-x: .5rem;
						text-align: center;
                        @media (min-width: 768px) {
                            --bs-card-spacer-y: 1rem;
                            --bs-card-spacer-x: 1rem;
                        }
                      
						.card-title {
							color: var(--lift-primary-green);
							font-weight: bold;
						}

						.card-text { display: none; }
						.tile-link { color: var(--lift-primary-green); }
					}

					&:hover .card-body .tile-link {
						text-decoration: underline;
					}
				}
			}
		}

		@supports (container-type: inline-size) {
			.tiles { container-type: inline-size; }
		}

		[class*="tile-col-span-"] {
			--override-tile-col-span: var(--full-count, 12);
			@supports (container-type: inline-size) {
				@container (min-width: 768px) { --override-tile-col-span: var(--half-count, 6); }
				@container (min-width: 992px) { --override-tile-col-span: var(--default-tile-col-span, var(--full-count, 12)); }
			}

			@supports not (container-type: inline-size) {
				@media (min-width: 992px) { --override-tile-col-span: var(--half-count, 6); }
				@media (min-width: 1200px) { --override-tile-col-span: var(--default-tile-col-span, var(--full-count, 12)); }
			}
		}

		.col-count-10 {
			--full-count: 10;
			--half-count: 5;
			.block-tile-layout {
				.tiles {
					grid-template-columns: repeat(10, 1fr);
					@media (min-width: 1200px) {
						&:where(:not(.full-width .tiles)) {
							max-width: calc(500% / 6);
							margin: 0 auto;
						}
					}
				}
			}
		}

		.col-count-8 {
			--full-count: 8;
			--half-count: 4;
			.block-tile-layout {
				.tiles {
					grid-template-columns: repeat(8, 1fr);
					@media (min-width: 1200px) {
						&:where(:not(.full-width .tiles)) {
							max-width: calc(500% / 6);
							margin: 0 auto;
						}
					}
				}
			}
		}

		.block-wrapper {
			&.tile-layout--icons {
				.block-tile-layout {
					margin-bottom: 4rem;

					.tiles {
						.card {
							background-color: #FFF;
							border-radius: 0 2rem;
							padding: 2rem;
							display: flex;
							flex-wrap: wrap;
							gap: 1rem;

							&:where(.tile-layout--green .card) {
								background-color: var(--lift-primary-green);
								/* aspect-ratio: 1 / 1; */
							}

							img.card-img-top {
								max-width: 80px;
								max-height: 80px;
								width: auto;
								height: auto;
								object-fit: contain;
								margin: 0 auto;
							}

							.card-body {
								padding: 0;
								width: 100%;
								margin-top: auto;
								display: flex;
								align-items: end;
								justify-content: center;

								h3,
								h4,
								h5,
								h6 {
									font-size: var(--h5-size);
									line-height: var(--h5-line-height);
									margin-bottom: 0;
									font-weight: bold;
								}

								&:where(.tile-layout--green .card-body) {

									h3,
									h4,
									h5,
									h6 {
										color: #FFF;
									}
								}
							}
						}
					}
				}

				&:last-child .block-tile-layout {
					margin-bottom: 0;
				}
			}

			&.tile-layout--cubes {
				.block-tile-layout {
					margin-bottom: 4rem;

					.tiles {
						.card {
							background-color: #FFF;
							border-radius: 0 2rem;
							padding: 2rem;
							display: flex;
							flex-wrap: wrap;
							gap: 1rem;

							&:where(.tile-layout--green .card) {
								background-color: var(--lift-primary-green);
								color: #FFF;

								.card-body {
									padding: 0;
									width: 100%;
									margin-top: auto;
									display: flex;
									align-items: center;
									justify-content: center;

									h3,
									h4,
									h5,
									h6 {
										font-size: var(--h5-size);
										line-height: var(--h5-line-height);
										margin-bottom: 0;
										font-weight: bold;
										color: #FFF;
									}
								}
							}
						}
					}
				}

				&:last-child .block-tile-layout {
					margin-bottom: 0;
				}
			}
		}
	/* #endregion */
	/* #region Carousels */
		.min-carousel-height-400 { --min-carousel-item-height: 400px; }
		.min-carousel-height-450 { --min-carousel-item-height: 450px; }
		.min-carousel-height-500 { --min-carousel-item-height: 500px; }
		.min-carousel-height-550 { --min-carousel-item-height: 550px; }
		.min-carousel-height-600 { --min-carousel-item-height: 600px; }
		.min-carousel-height-650 { --min-carousel-item-height: 650px; }
		.min-carousel-height-700 { --min-carousel-item-height: 700px; }
		.min-carousel-height-750 { --min-carousel-item-height: 750px; }
		.min-carousel-height-800 { --min-carousel-item-height: 800px; }
		.min-carousel-height-850 { --min-carousel-item-height: 850px; }
		.min-carousel-height-900 { --min-carousel-item-height: 900px; }
		.min-carousel-height-950 { --min-carousel-item-height: 950px; }
		.min-carousel-height-1000 { --min-carousel-item-height: 1000px; }
		.carousel {
			/*&:has(.button-container) {
				padding-block-end: 2rem;
				@media (min-width: 768px) { padding-block-end: 0; }
			}*/

			.button-container {
				--fa: "\f054";
				position: static;
				bottom: 0;
				right: 0;
				width: 100%;
				display: flex;
				justify-content: center;
				@media (min-width: 768px) { position: static; }
				.carousel-control-next,
				.carousel-control-prev {
					--transition-distance: 30px;
					opacity: 1;
					width: 50px;
					position: static;

					&:hover {
						opacity: 1;
					}

					&:before {
						font-family: var(--fa-family, "Font Awesome 7 Free");
						content: var(--fa);
						background-color: var(--carousel-chevron-color);
                        color: #FFF;
						font-weight: bold;
						font-size: 2rem;
						transition: transform .25s ease-in, color .25s ease-in;
                        aspect-ratio: 1 / 1;
                        border-radius: 200px;
                        display: flex;
                        line-height: 1;
                        padding: .5rem;
                        min-width: 3.5rem;
                        align-items: center;
                        justify-content: center;
					}

					&:hover:before {
						transform: scale(1.2); /* translateX(var(--transition-distance)); */
					}

					@media (min-width: 768px) {
						position: absolute;
					}
				}

				.carousel-control-prev {
					--fa: "\f053";
					--transition-distance: -30px;
				}

				[class*="-icon"] {
					display: none;
				}
			}

			.row {
				&:where(.centred .row) {
					justify-content: center;
				}
			}

            &:where(.celebrate .carousel) {
                .carousel-item:last-child p {
                    font-size: 1.5rem;
                }
            }
		}

		.carousel-item-block {
			background-color: var(--carousel-item-background, transparent);
			color: var(--carousel-item-text, #000);
			position: relative;
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: start;
			border-radius: 0 2rem;
			&:not(:has(:first-child)) {
				background-color: transparent;
			}

			&:where(.links--block .carousel-item-block) {
				a:before {
					content: "";
					position: absolute;
					left: 0;
					right: 0;
					top: 0;
					bottom: 0;
				}
			}

			h1, h2, h3, h4, h5, h6, p {
				color: var(--carousel-item-text, #000);
			}

			&:where(.border-radius--trbl .carousel-item-block) {
				border-radius: 0 2rem;
			}

			&:where(.border-radius--brtl .carousel-item-block) {
				border-radius: 2rem 0;
			}
		}

		.carousel-item .row {
			display: flex;
			flex-wrap: wrap;
			gap: 16px;
			overflow: hidden;
			padding: 16px 0;
			margin-inline: 0;
			.carousel-item-block { flex: 0 0 100%; }
			&:where(:has(.carousel-item-block:last-child:nth-child(1))) .carousel-item-block {
				min-height: var(--min-carousel-item-height, none);
			}

			@media (min-width: 768px) {
				&:where(:has(.carousel-item-block:last-child:nth-child(2n))) .carousel-item-block {
					flex: 0 0 calc(50% - 8px);
					min-height: var(--min-carousel-item-height, none);
				}
			}

			@media (min-width: 1200px) {
				&:where(:has(.carousel-item-block:last-child:nth-child(2))) .carousel-item-block {
					flex: 0 0 calc(50% - 8px);
					min-height: var(--min-carousel-item-height, none);
				}

				&:where(:has(.carousel-item-block:last-child:nth-child(3))) .carousel-item-block {
					flex: 0 0 calc(33.333% - 11px);
					min-height: var(--min-carousel-item-height, none);
				}

				&:where(:has(.carousel-item-block:last-child:nth-child(4))) .carousel-item-block {
					flex: 0 0 calc(25% - 12px);
					min-height: var(--min-carousel-item-height, none);
				}
			}
		}

		.carousel--cards,
		.carousel--icons,
		.carousel--quotes,
        .carousel--modelling-maxims {
			.carousel-caption {
				position: static !important;
				width: 100%;
				left: auto;
				right: auto;
				bottom: auto;
				text-align: center;

				p, h1, h2, h3, h4, h5, h6 {
					text-align: center;
				}

				&:not(:has(> *)) {
					display: none;
				}
			}

			.carousel-inner {
				width: 100%;
				margin: 0 auto;

				@media (min-width: 768px) {
					width: calc(100% - 150px);
				}
			}

			.carousel-item-block {
				&:where(.carousel-item--grey .carousel-item-block) {
					--carousel-item-background: var(--lift-primary-grey);
				}
			}

			p:first-child:where(.first-paragraph--strong p) {
				font-weight: bold;
				font-size: 1.125rem;
				color: var(--lift-primary-green);
			}
		}
		
		.carousel--cards {
			&.with--arrows .carousel-item-block {
				padding-block-end: 3rem;

				&:where(.arrows--teal .carousel-item-block) {
					--arrow-background-color: var(--lift-primary-teal);
					--arrow-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/arrow-black.png");
				}

				&:where(.arrow--green .carousel-item-block) {
					--arrow-background-color: var(--lift-primary-green);
				}

				&:where(.arrow--blue .carousel-item-block) {
					--arrow-background-color: var(--lift-primary-blue);
				}

				&:after {
					background-image: var(--arrow-url, url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/arrow-white.png"));
					background-size: 100% 100%;
					background-color: var(--arrow-background-color, var(--lift-secondary-pink));
					content: "";
					position: absolute;
					bottom: 0;
					right: 0;
					min-width: 3rem;
					min-height: 3rem;
					display: flex;
					align-items: center;
					justify-content: center;
					font-weight: bold;
					font-size: 2rem;
					pointer-events: none;
				}
			}

			&.key-highlights {
				.carousel-item-block {
					.carousel-caption {
						p:has(+ ul) {
							margin-block-start: 1.5rem;
							font-size: 1.25rem;
							color: var(--lift-primary-teal);
						}

                        h3 {
                            @media (min-width: 1200px) { min-height: 8rem; }
                            @media (min-width: 1400px) { min-height: 6rem; }
                            + p {
                                @media (min-width: 1200px) { min-height: 15rem; }
                                @media (min-width: 1400px) { min-height: 11rem; }
                                @media (min-width: 1920px) { min-height: 7rem; }
                            }
                        }
					}
				}
			}

			.carousel-item-block {
				padding-inline: 0;
				overflow: hidden;
				flex-direction: column;
				justify-content: start;
                gap: 1.5rem;
				&:last-child:first-child {
					justify-content: center;
				}

				&:where(.image-max--300 .carousel-item-block) {
					max-width: 300px;
				}

				&:where(.image-max--400 .carousel-item-block) {
					max-width: 400px;
				}

				.carousel-item-block-image {
					width: 100%;
					&:where(.capped-image-width .carousel-item-block-image) {
						max-width: 400px;
                        margin: 0 auto;
					}

					&:where(.image--2-1 .carousel-item-block-image) {
						aspect-ratio: 2 / 1;
						object-fit: cover;
						object-position: top center;
						&[src*="logo_footer"] {
							aspect-ratio: unset;
							object-fit: contain;
							width: auto;
							margin: 2rem auto 0;
							+ .carousel-caption {
								h3, p {
									text-align: center;
								}
							}
						}
					}

					&:where(.image--1-1 .carousel-item-block-image) {
						aspect-ratio: 1 / 1;
						object-fit: cover;
						object-position: top center;
					}

					&:where(.image--1-2 .carousel-item-block-image) {
						aspect-ratio: 1 / 2;
						object-fit: cover;
						object-position: top center;
					}
				}

				.carousel-caption {
					text-align: start;
					padding-inline: 1rem;
					@media (min-width: 992px) {
						padding: 0 2rem 1.5rem;
					}
				}

				h3 {
					color: var(--accent-heading-color, var(--accent-text-color, var(--lift-primary-green)));
					margin-bottom: 0;
					text-align: start;
                    &:where(body:has(.home--banner) .carousel-item-block h3) {
                        font-size: var(--h4-size);
                        line-height: var(--h4-line-height);
                    }
				}

				p, li {
					font-size: 1rem;
					/* .8rem; */
					font-weight: 300;
					text-align: start;
					line-height: 1.9;
					color: var(--accent-text-color, var(--lift-primary-green));
				}

				p, ul {
					margin-top: .5rem;
				}
			}
		}

        .carousel--modelling-maxims {
            .carousel-item {
                background-color: var(--lift-secondary-blue);
                padding: 0 1rem;
            }

            .carousel-item-block-image {
                border-radius: 0 1.5rem 0 0;
            }
          
            .carousel-item-block {
                --carousel-item-background: var(--lift-secondary-pink);
                --carousel-item-color: var(--lift-primary-white);
                background-color: var(--carousel-item-background);
                padding: 1rem;
                &:nth-child(2) { --carousel-item-background: var(--lift-primary-teal); --carousel-item-color: var(--lift-primary-green); }
                &:nth-child(3) { --carousel-item-background: var(--lift-primary-grey); --carousel-item-color: var(--lift-primary-green); }
                /* &:nth-child(4) { --carousel-item-background: var(--lift-primary-pink); } */

                p, h3 {
                    color: var(--carousel-item-color);
                }

                h3 {
                    margin-block-end: 0;
                    + p {
                        font-size: clamp(0.875rem, 0.23vw + 0.8288rem, 1rem);
                        font-weight: bold;
                        margin-block-start: 0;
                        + p {
                            font-size: clamp(1.25rem, 0.45vw + 1.16rem, 1.5rem);
                            font-style: italic;
                        }
                    }
                }
              
    			&:not(:has(:first-child)) {
    				display: none;
    			}

                .carousel-caption {
                    padding: 1rem 0 0;
                }
            }
        }

		.carousel--icons {
			.carousel-item-block {
				padding: 1.5rem .5rem;
                @media (min-width: 768px) {
                    padding: 3rem 1rem;
                }

                .carousel-caption {
                    padding-block-end: 0;
                }

                p, li {
                    font-size: clamp(0.875rem, 0.23vw + 0.8288rem, 1rem);
                }
			}

			img.carousel-item-block-image {
				max-width: 50px;
				margin: 0 auto;
                @media (min-width: 768px) {
                    max-width: 100px;
                }
			}
		}

		.carousel--quotes {
			.carousel-caption {
				padding: 2rem 1rem;
				text-align: start;
				&:before {
					font-family: "Font Awesome 7 Free";
					content: "\f10d";
					font-weight: bold;
					font-size: 3rem;
					color: var(--accent-text-color, var(--lift-secondary-pink));
				}

				p, h1, h2, h3, h4, h5, h6 {
					text-align: start;
				}

				p:last-child {
					color: var(--accent-text-color, var(--lift-secondary-pink));
				}
			}

            &.carousel--quotes-with-highlights {
                p:first-child {
                    font-style: italic;
                }

                p:last-child {
                    color: var(--lift-primary-green);
                    strong {
                        font-weight: inherit;
                        color: var(--lift-secondary-pink);
                    }
                }
            }
		}

        .carousel--quotes-with-job-titles {
            .carousel-item-block {
                p {
                    font-weight: bold;
                    font-size: 1.5rem;
                    &:nth-last-child(2) {
                        font-weight: normal;
                        font-size: 1rem;
                        color: var(--lift-primary-teal);
                    }
                  
                    &:last-child {
                        font-weight: normal;
                        font-size: 1.125rem;
                        margin-block-start: 0;
                    }
                }
            }
        }

		[class*="col-"]:has(.carousel--cards:not(.tab-pane .carousel--cards)) .block-wrapper:not(.carousel--cards),
		[class*="col-"] .tab-pane:has(.carousel--cards) .block-wrapper:not(.carousel--cards) {
            --button-offset-right: 30px;
            padding-inline: 30px;
            @media (min-width: 992px) {
    			--button-offset-right: 75px;
    			padding-inline: 75px;
            }
		}
	/* #endregion */
	/* #region In-page Nav */
		.in-page-nav {
			/* border-top: 1px solid var(--lift-primary-grey); */
			border-bottom: 1px solid var(--lift-primary-grey);
			p {
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				gap: 1rem 0;
				/* margin-top: 1rem; */
				margin-bottom: 1rem;
				line-height: 1;
                gap: .5rem;
			}

			a {
                background-color: #FFF;
				color: var(--lift-secondary-pink);
                border: 2px solid var(--lift-secondary-pink);
                border-radius: 200px;
				text-transform: uppercase;
				display: inline-block;
				padding: .5rem 1rem;
				width: 100%;
				font-weight: bold;
				font-size: .75rem;
                letter-spacing: 2px;
                transition: background-color .25s, color .25s;
				@media (min-width: 1200px) {
					width: auto;
				}

                &:hover {
                    background-color: var(--lift-secondary-pink);
                    color: #FFF;
                    text-decoration: none;
                }
			}
		}
	/* #endregion */
	/* #region Sticky Apply */
		a.sticky-apply {
			display: inline-block;
			position: fixed;
			top: var(--header-height);
			right: calc(0px + var(--offset-right, 0px));
			text-indent: -9999px;
			width: var(--sticky-apply-width);
			height: var(--sticky-apply-height);
			background-image: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/sticky-job-search.png");
			background-repeat: no-repeat;
			background-position: top right;
			background-size: cover;
			z-index: var(--z-index-sticky-apply);
		}

		/* body:has(.block-job-description) {
			&:has(.sticky-apply-job-description) {
				--sticky-apply-width: 90px;
				--sticky-apply-height: 108px;
				--additional-sticky-apply-padding: 1rem;
				@media (min-width: 768px) {
					--sticky-apply-width: 120px;
					--sticky-apply-height: 143px;
				}
			}

			a.sticky-apply-search-results {
				display: none;
			}
		} */

		body/*:not(:has(.block-job-description))*/ {
			&:has(.sticky-apply-search-results) {
				--sticky-apply-width: 90px;
				--sticky-apply-height: 108px;
				--additional-sticky-apply-padding: 1rem;
				@media (min-width: 768px) {
					--sticky-apply-width: 120px;
					--sticky-apply-height: 143px;
				}
			}

			a.sticky-apply-job-description {
				display: none;
			}
		}
	/* #endregion */
/* #endregion */
/* #region Banners */
	.row--banner {
		min-height: min(600px, 30vh);

		&:last-child {
			min-height: min(600px, 50vh);
		}

		/*.block-wrapper {
			transform: translateX(60px);
			transition: transform .5s;

			&.is-visible {
				transform: translateX(0);
			}
		}*/

		&.home--banner {
			--h2-size: clamp(2.25rem, 4vw + 0.8rem, 3.125rem);
			position: relative;
			margin: 1rem auto 0;
			max-width: calc(100% - 1.5rem);
			.block-image {
				border-top-left-radius: 2rem;
				border-top-right-radius: 2rem;
				overflow: hidden;
				@media (min-width: 1400px) {
					border-radius: 2rem;
				}
			}

            .block-image-cover {
                @media (min-width: 1400px) {
                    background-position-y: 65% !important;
                }
            }

			.block-image-uncropped-full-width {
				max-height: none;
				@media (min-width: 992px) {
					max-height: 600px;
					overflow: hidden;
				}
			}

			img {
				object-fit: cover;
				object-position: center center;
				aspect-ratio: 3 / 2;
			}

			.main-heading {
				background-color: var(--lift-primary-green);
				position: relative;
				left: unset;
				right: unset;
				top: unset;
				bottom: unset;
				/* transform: none; */
				padding: 30px .75rem 30px var(--offset-margin-left, .75rem);
				margin-inline: -.75rem;
				border-bottom-left-radius: 2rem;
				border-bottom-right-radius: 2rem;
				@media (min-width: 1400px) {
					border-radius: 0;
					position: absolute;
					top: auto;
					bottom: 0;
					left: .75rem;
					max-width: 100%;
					width: 100%;
					padding: 30px 40% 30px var(--offset-margin-left, 0);
					clip-path: polygon(0% 0%, 60% 10%, 65% 40%, 70% 100%, 0% 100%);
				}

				h1 {
					color: var(--lift-primary-teal);
				}

				h2 {
					color: #FFF;
					font-weight: 500;
				}
			}
		}

		&.banner--split {
			.container-fluid {
				@media (min-width: 768px) {
					max-width: 90%;
				}
			}

			.col-md-6:has(.block-html) {
				display: flex;
				align-items: stretch;

				.block-wrapper {
					display: flex;
					align-items: center;
					width: 100%;
					padding: 2rem 2rem 2rem 0;
					border-radius: 2rem;
					background-color: var(--lift-primary-grey);
					min-height: 200px;

					@media (min-width: 768px) {
						padding: 4rem;
						border-radius: 4rem 4rem 4rem 0;
					}

					.block-html {
						width: 100%;
					}

					h1 {
						color: var(--lift-primary-green);
						text-align: center;

						&:first-child:last-child {
							margin-bottom: 0;
						}
					}
				}
			}

			.block-image {
				margin-inline: 0;
			}

			.block-image-cover {
				margin-top: 1rem;
				border-radius: 2rem;

				@media (min-width: 768px) {
					margin-top: 0;
					border-radius: 4rem;
				}
			}
		}
	}

	/* .home--search { */
		.job-search-control {
			max-width: var(--container-width, 100%);
			margin: 1rem auto;
			.input-group {
				display: grid;
				grid-template-columns: 1fr;
				@media (min-width: 576px) { grid-template-columns: 1fr 1fr; }
				@media (min-width: 1200px) { grid-template-columns: 1fr 1fr 1fr 1fr; }
				.easy-autocomplete, input[type="text"]:not(.easy-autocomplete input) {
					width: 100% !important;

					@media (min-width: 576px) {
						grid-column: span 2;
					}
				}

				.input-group-btn {
					width: 100%;
				}

				input,
				button {
					width: 100%;
					border-radius: 200px;

					@media (min-width: 992px) { width: 100%; }

					&.btn-primary {
						--btn-primary-color: var(--lift-primary-green);
						--btn-secondary-color: var(--lift-primary-green-text-color);
					}
				}

                &:not(.has-validation)>input:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
  					border-radius: 200px;
                }
			}
		}
	/* } */
/* #endregion */
/* #region Offset Container */
	.container-fluid [class*="col-"] .container-offset {
		.block-image-text,
		.block-html {
			padding-left: 1rem;
			text-align: left;
			@media (min-width: 576px) {
				--container-width: 540px;
				margin-left: calc(50vw - (var(--container-width, 100vw - 15px) / 2) + 2rem);
				width: calc(3 * (var(--container-width, 100%) / 4));
				padding-left: 0;
				&:where(.banner--job-description .block-image-text, .banner--job-description .block-html) {
					width: calc(.5 * var(--container-width, 100%));
				}
			}
		}
	}
/* #endregion */
/* #region Effects */
	[class*="col-"]:has(+ [class*="col-"] .block-wrapper[class*="effect--"]) {
		.block-wrapper {
			max-width: 600px;
			margin: 0 auto;
		}
	}

	[class*="col-"]:has(.block-wrapper[class*="effect--"]) {
		display: flex;
		align-items: stretch;

		.block-wrapper {
			width: 100%;
		}
	}

	.block-wrapper[class*="effect--abstract"] {
		margin-block-start: 2rem;
		position: relative;
		display: flex;
		align-items: center; /* stretch; */
		justify-content: center;
		@media (min-width: 992px) { margin-block-start: 0; }
		&.effect-color--green { --effect-color: var(--lift-primary-green); }
		&.effect-color--blue { --effect-color: var(--lift-primary-blue); }
		&.effect-color--pink { --effect-color: var(--lift-secondary-pink); }
		&.effect-color--teal { --effect-color: var(--lift-primary-teal); }
		&.effect--abstract-v1 {
            --polygon: polygon(85% 10%, 10% 0%, 0% 95%, 92% 90%);
            /* --effect-color: var(--lift-secondary-pink); */
        }
      
		&.effect--abstract-v2 {
            --polygon: polygon(90% 10%, 15% 0%, 8% 95%, 100% 90%);
            /* --effect-color: var(--lift-primary-teal); */
        }
      
		&.effect--abstract-v3 {
            --polygon: polygon(10% 90%, 85% 100%, 92% 5%, 0% 10%);
            /* --effect-color: var(--lift-secondary-pink); */
        }
      
		&.effect--abstract-v4 {
            --polygon: polygon(0% 12%, 78% 0%, 100% 99%, 5% 80%); /* polygon(10% 10%, 85% 10%, 92% 85%, 5% 80%); */
            /* --effect-color: var(--lift-primary-teal); */
        }
		.block-image {
			width: 100%;
			height: 100%;
			min-width: min(400px, calc(100% - 30px));
			min-height: 400px;
			max-width: min(600px, calc(100% - 60px));
			max-height: 600px;
			position: relative;
			display: inline-block;
            margin: 0 auto;
            &:where(.col-md-6:has(.accordion) + .col-md-6 .block-image) {
                height: auto;
                align-self: start;
            }
          
            @media (min-width: 992px) {
    			min-width: min(400px, calc(100% - 60px));
            }
          
			&:before {
				content: "";
				position: absolute;
				top: -20px;
				left: -20px;
				right: -20px;
				bottom: -20px;
				background-color: var(--accessible-effect-color, var(--effect-color, var(--lift-primary-teal)));
				z-index: 0;
				/* border-radius: 80px 40px 60px 0px; */
				clip-path: var(--polygon, polygon(10% 10%, 85% 0%, 92% 95%, 0% 90%));
			}

			.block-image-cover,
			.block-image-uncropped-full-width {
				width: 100%;
				height: 100%;
				min-width: min(400px, 100%);
				min-height: 400px;
				max-width: 600px;
				max-height: 600px;
				display: block;
				object-fit: cover;
				border-radius: 2rem 0;
				transform: rotate(-2deg);
				overflow: hidden;
				&:where(.row-reverse *) {
					border-radius: 0 2rem;
					transform: rotate(2deg);
				}
			}

            :where(.image--top .block-image-cover) {
                background-position: top center !important;
            }
		}

        &.image--1-1 .block-image { aspect-ratio: 1 / 1; }
        &.image--3-2 .block-image { aspect-ratio: 3 / 2; }
        &.image--2-3 .block-image { aspect-ratio: 2 / 3; }
        &.image--4-5 .block-image { aspect-ratio: 4 / 5; min-height: auto; }
        &.image--left .block-image-cover { background-position-x: left !important; }
        &.image--right .block-image-cover { background-position-x: right !important; }
	}

    .block-wrapper {
        &.image--h-300 img { height: 300px; object-fit: cover; }
    }

	.block-wrapper.tab-banner {
		&.border-radius-brtl { --tab-image-border-radius: 2rem 0; }
		&.border-radius-trbl { --tab-image-border-radius: 0 2rem; }
		.block-image {
			max-height: 200px;
			overflow: hidden;
			border-radius: var(--tab-image-border-radius, 0);
		}
	}
/* #endregion */
/* #region Video */
    .page-row:not(:has(.tab-pane)):has(.block-video),
    .tab-pane .row:has(.block-video)  {
        .col-md-4, .col-md-8 {
            @media (min-width: 768px) and (max-width: 991.98px) {
                width: 100%;
                .block-video {
                    padding: 0 2rem;
                }
            }
        }
    }

    .block-wrapper.video--auto {
        .video-js {
            height: auto;
        }
        
        .clinch-video-player.video-js {
            @media (max-width: 1199px) { height: auto; }
            @media (max-width: 767px) { height: auto; }
            @media (min-width: 767px) { height: auto; }
        }

        .video-js .vjs-tech {
            height: auto;
            position: static;
            top: initial;
            left: initial;
        }

        [class*="video_player_"] {
            height: auto !important;
        }
    }
/* #endregion */
/* #region Miscellaneous */
	.page-row.hide-school {
		.job-component-string-field-7 {
			display: none;
		}
	}

    .job-field.job-school,
    .job-component-string-field-7 {
        display: none;
    }
/* #endregion */
/* #region Logos */
	.job, .job-search-results-card-col, [class*="col-"]:has(> .component--codelists) {
		--default-logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/logo_footer.svg");
		--logo-background-height: 128px; /* 7rem */
		--logo-background-position: -10px -20px;
		--job-description-logo-background-height: 128px; /* 10rem; */
	}

	.job a, .job-search-results-card-col .job-search-results-card-body, [class*="col-"]:has(> .component--codelists) {
		&:before {
			content: "";
			width: 100%;
			height: 6rem;
			background-image: var(--logo-url, var(--default-logo-url));
			background-size: auto var(--background-height, 3rem);
			background-repeat: no-repeat;
			background-position: var(--background-position, 0 15px);
		}
	}

	[class*="col-"]:has(> .component--codelists) {
		padding-block-end: .75rem;
		&:before {
			margin-top: 1rem;
			background-position: left center;
			height: 8rem;
			background-size: auto var(--job-description-background-height, 4rem);
		}
	}

	.job-search-results-card-col .job-search-results-card-body:before,
    [class*="col-"]:has(> .component--codelists):before {
		filter: var(--search-results-card--filter, brightness(0) invert(1));
	}

	[data-school*="Lift Anglesey"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-anglesey.png?v=1"); }
	[data-school*="Lift Ashingdon"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-ashingdon.png?v=1"); }
	[data-school*="Lift Aylward"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-aylward.png?v=1"); }
	[data-school*="Lift Barton Hill"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-barton-hill.png?v=1"); }
	[data-school*="Lift Beacon"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-beacon.png?v=1"); }
	[data-school*="Lift Beacon High"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-beacon-high.png?v=1"); }
	[data-school*="Lift Berkeley"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-berkeley.png?v=1"); }
	[data-school*="Lift Bexleyheath"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-bexleyheath.png?v=1"); }
	[data-school*="Lift Broadlands"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-broadlands.png?v=1"); }
	[data-school*="Lift Brockworth"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-brockworth.png?v=1"); }
	[data-school*="Lift Caldicotes"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-caldicotes.png?v=1"); }
	[data-school*="Lift Callowell"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-callowell.png?v=1"); }
	[data-school*="Lift Columbus"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-columbus.png?v=1"); }
	[data-school*="Lift Charles Warren"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-charles-warren.png?v=1"); }
	[data-school*="Lift Clacton"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-clacton.png?v=1"); }
	[data-school*="Lift Cottingley"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-cottingley.png?v=1"); }
	[data-school*="Lift Crescent View"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-ridge.png?v=1"); }
	[data-school*="Lift East Wichel"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-east-wichel.png?v=1"); }
	[data-school*="Lift Feversham"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-feversham.png?v=1"); }
	[data-school*="Lift Firth Park"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-firth-park.png?v=1"); }
	[data-school*="Lift Four Dwellings Primary"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-four-dwellings-primary.png?v=1"); }
	[data-school*="Lift Four Dwellings Secondary"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-four-dwellings-secondary.png?v=1"); }
	[data-school*="Lift Green Way"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-green-way.png?v=1"); }
	[data-school*="Lift Greensward"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-greensward.png?v=1"); }
	[data-school*="Lift Greenwood"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-greenwood.png?v=1"); }
	[data-school*="Lift Hall Road"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-hall-road.png?v=1"); }
	[data-school*="Lift Hamford"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-hamford.png?v=1"); }
	[data-school*="Lift Hazelwood"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-hazelwood.png?v=1"); }
	/* [data-school*="Lift Hillview"] { --logo-url: url(""); } */
	[data-school*="Lift Hockley"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-hockley.png?v=1"); }
	[data-school*="Lift Kingsley"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-kingsley.png?v=1"); }
	[data-school*="Lift Kingswood"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-kingswood.png?v=1"); }
	[data-school*="Lift Lea Forest"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-lea-forest.png?v=1"); }
	[data-school*="Lift Maltings"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-maltings.png?v=1"); }
	[data-school*="Lift Meadstead"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-meadstead.png?v=1"); }
	[data-school*="Lift Montgomery"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-montgomery.png?v=1"); }
	[data-school*="Lift New Forest"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-new-forest.png?v=1"); }
	[data-school*="Lift New Rickstones"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-new-rickstones.png?v=1"); }
	[data-school*="Lift Newington"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-newington.png?v=1"); }
	[data-school*="Lift Newlands"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-newlands.png?v=1"); }
	[data-school*="Lift Noel Park"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-noel-park.png?v=1"); }
	[data-school*="Lift North Ormesby"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-north-ormesby.png?v=1"); }
	[data-school*="Lift North Thoresby"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-north-thoresby.png?v=1"); }
	[data-school*="Lift Offa's Mead"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-offa-s-mead.png?v=1"); }
	[data-school*="Lift Percy Shurmer"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-percy-shurmer.png?v=1"); }
	/* [data-school*="Lift Pioneer"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/Logo_-_Pioneer.png?1784123536"); } */
	[data-school*="Lift Plumberow"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-plumberow.png?v=1"); }
	[data-school*="Lift Rawlett"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-rawlett.png?v=1"); }
	[data-school*="Lift Richmond Park"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-richmond-park.png?v=1"); }
	[data-school*="Lift Ryde"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-ryde.png?v=1"); }
	[data-school*="Lift Shafton"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-shafton.png?v=1"); }
	[data-school*="Lift Sir Herbert Leon"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-sir-herbert-leon.png?v=1"); }
	[data-school*="Lift St Helen's"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-st-helen-s.png?v=1"); /* --background-height: 100%; */ }
	[data-school*="Lift St James the Great"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-st-james-the-great.png?v=1"); }
	[data-school*="Lift Tamworth"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-tamworth.png?v=1"); }
	[data-school*="Lift Tendring"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-tendring.png?v=1"); }
	[data-school*="Lift Trinity"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-trinity.png?v=1"); }
	[data-school*="Lift Unity City"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-unity-city.png?v=1"); }
	[data-school*="Lift Utterby"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-utterby.png?v=1"); }
	[data-school*="Lift Westerings"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-westerings.png?v=1"); }
	[data-school*="Lift Winton"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-winton.png?v=1"); }
	[data-school*="Lift Wishmore"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-wishmore.png?v=1"); }
	/* [data-school*="Lift Schools"] { --logo-url: url(""); } */
	[data-school*="Marling School"] { --logo-url: url("https://d36rd0l160k43h.cloudfront.net/c55d7af92f137d0df53a49e9dfae8348/a23213408afd73ab2889dc0ce3a2cc04/img/school-logos/logo-lift-marling.png?v=1"); }
	/* [data-school*="Central Team"] { --logo-url: url(""); } */

	[data-school*="Lift Anglesey"], [data-school*="Lift Ashingdon"], [data-school*="Lift Aylward"], [data-school*="Lift Barton Hill"],
	[data-school*="Lift Beacon"], [data-school*="Lift Beacon High"], [data-school*="Lift Berkeley"], [data-school*="Lift Bexleyheath"],
	[data-school*="Lift Broadlands"], [data-school*="Lift Brockworth"], [data-school*="Lift Caldicotes"], [data-school*="Lift Callowell"],
	[data-school*="Lift Columbus"], [data-school*="Lift Charles Warren"], [data-school*="Lift Clacton"], [data-school*="Lift Cottingley"],
	[data-school*="Lift Crescent View"], [data-school*="Lift East Wichel"], [data-school*="Lift Feversham"], [data-school*="Lift Firth Park"],
	[data-school*="Lift Four Dwellings Primary"], [data-school*="Lift Four Dwellings Secondary"], [data-school*="Lift Green Way"], [data-school*="Lift Greensward"],
	[data-school*="Lift Greenwood"], [data-school*="Lift Hall Road"], [data-school*="Lift Hamford"], [data-school*="Lift Hazelwood"],
	/* [data-school*="Lift Hillview"], */ [data-school*="Lift Hockley"], [data-school*="Lift Kingsley"], [data-school*="Lift Kingswood"],
	[data-school*="Lift Lea Forest"], [data-school*="Lift Maltings"], [data-school*="Lift Meadstead"], [data-school*="Lift Montgomery"],
	[data-school*="Lift New Forest"], [data-school*="Lift New Rickstones"], [data-school*="Lift Newington"], [data-school*="Lift Newlands"],
	[data-school*="Lift Noel Park"], [data-school*="Lift North Ormesby"], [data-school*="Lift North Thoresby"], [data-school*="Lift Offa's Mead"],
	[data-school*="Lift Percy Shurmer"], [data-school*="Lift Pioneer"], [data-school*="Lift Plumberow"], [data-school*="Lift Rawlett"],
	[data-school*="Lift Richmond Park"], [data-school*="Lift Ryde"], [data-school*="Lift Shafton"], [data-school*="Lift Sir Herbert Leon"],
	[data-school*="Lift St Helen's"], [data-school*="Lift St James the Great"], [data-school*="Lift Tamworth"], [data-school*="Lift Tendring"],
	[data-school*="Lift Trinity"], [data-school*="Lift Unity City"], [data-school*="Lift Utterby"], [data-school*="Lift Westerings"],
	[data-school*="Lift Winton"], [data-school*="Lift Wishmore"], /* [data-school*="Lift Schools"], */ [data-school*="Marling School"]
	/* [data-school*="Central Team"] { */ {
		--background-position: var(--logo-background-position);
		--background-height: var(--logo-background-height);
		--job-description-background-height: var(--job-description-logo-background-height);
	}
/* #endregion */
/* #region Editor Helpers */
	.editing {
		.mobile-button {
			--content: "Sticky button for mobile";
		}

		.component--codelists {
			--content: "Codelists placeholder";
		}

		.row-reverse .page-row-container {
			--content: "The following row will be reversed on desktop"
		}

		.col-md-6 .font--small {
			--content: "Small font class applied"
		}

		.mobile-button,
		.component--codelists,
		.row-reverse .page-row-container,
		.col-md-6 .font--small {
			&:before {
				content: var(--content);
				background-color: beige;
				border: 1px solid #333;
				color: #333;
				padding: .5rem;
				display: block;
				text-align: center;
			}
		}
	}
/* #endregion */
/* #region UAT */
    p img[src*="badge-employer.png"] {
        display: block;
        margin: 0 auto;
        /*@media (min-width: 992px) {
        	float: left;
    		margin: .5rem 1rem 0 0;
        }*/
    }

    .candidate-unsubscribe-row {
        .col-md-4, .col-md-8 {
            width: 100%;
        }
    }

    .candidate-settings-panel .label-success {
        border: 2px solid var(--lift-secondary-pink);
        color: var(--lift-secondary-pink);
        background-color: #FFF;
        padding: .25rem .5rem;
        border-radius: 200px;
    }

    span[id*="candidate_email_"] {
        word-break: break-all;
    }

    .dropdown-toggle {
        white-space: wrap;
    }

    /*.navbar-collapse.show,
    .navbar-toggler:not(.collapsed) + .navbar-collapse.collapsing {
        height: 100vh;
    }*/


    @media (max-width: 1199.98px) { /* Match your navbar-expand breakpoint */
      /* 1. Reset Bootstrap's collapse overflow default */
      .navbar-collapse.collapsing,
      .navbar-collapse.show {
        position: fixed;
        top: var(--header-height, 0px); /* Height of your navbar header */
        left: 0;
        right: 0;
        height: calc(100vh - var(--header-height, 0px)) !important;
        background-color: #ffffff; /* Match your menu background */
        overflow-y: auto;
        
        max-height: 100vh;
        opacity: 1;
        
        /* Smooth CSS slide-down animation */
        transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out !important;
      }
    
      /* 2. Closed state */
      .navbar-collapse:not(.show) {
        display: block !important; /* Keep in DOM for smooth transition */
        max-height: 0;
        opacity: 0;
        overflow: hidden;
      }
    }

    body:has(.editing) bugherd-sidebar {
        display: none !important;
    }

    .not-editing .d-none--public {
        display: none;
    }

    .editing .d-none--public {
        background-color: #888 !important;
        .page-row-and-new-button:before {
            content: "This section has been hidden from candidates.";
            color: #FFF;
        }
    }

    .job-search-results-card-row {
        --item-width: 100%;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--item-width)), 1fr));
        gap: 1rem;
        @media (min-width: 1400px) { --item-width: calc((100% - 1rem) / 2); }
        /* @media (min-width: 1400px) { --item-width: calc((100% - 3rem) / 4); } */
        .card {
            width: 100%;
        }
      
        .job-search-results-card-col,
        .job-search-results-card {
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 4;
            gap: 0;
        }
      
        .card-body {
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 3;
        }

        .card-footer {
            display: grid;
            grid-template-rows: subgrid;
            grid-row: span 1;
        }
    }

    .block-job-search-results {
    	.job-search-results {
    		.job-search-results-card-col {
                display: grid;
            }
        }
    }
/* #endregion */