/* #region Root styling & variables */
	:root {
		--primary-color-1: #024384;
		--primary-color-2: #5C94C9;
		--primary-color-3: #85B0D6;
		--primary-color-3-tint-20: #E7EFF7;
		--primary-color-4: #3368BD;

		--secondary-color-1: #00283E;
		--secondary-color-2: #E1A500;
		--secondary-color-3: #FFF;
		--secondary-color-4: #55A591;
		overflow-x: hidden;

        --nav-font-size: 1.125rem;
	}
/* #endregion */
/* #region Row styling */
	/* #region Primary colours */
		.primary-color-1 {
			background-color: var(--primary-color-1);
		}

		.primary-color-2 {
			background-color: var(--primary-color-2);
		}

		.primary-color-3 {
			background-color: var(--primary-color-3);
		}

		.primary-color-3-tint-20 {
			background-color: var(--primary-color-3-tint-20);
		}

		.primary-color-4 {
			background-color: var(--primary-color-4);
		}
	/* #endregion */
	/* #region Secondary colours */
		.secondary-color-1 {
			background-color: var(--secondary-color-1);
		}

		.secondary-color-2 {
			background-color: var(--secondary-color-2);
		}

		.secondary-color-3 {
			background-color: var(--secondary-color-3);
		}

		.secondary-color-4 {
			background-color: var(--secondary-color-4);
		}
	/* #endregion */
    /* #region Fixes for default colours */
        .row-foreground-brand_color_5 a,
        .row-foreground-brand_color_5 a:hover,
        .row-foreground-brand_color_5 a:focus {
            color: #FFF;
        }
    /* #endregion */
/* #endregion */
/* #region Heading & link styling */
	h1, h2, h3, h4, h5, h6 {
		letter-spacing: 0;
		line-height: 1.2;
		font-weight: 700;
	}

	h1 {
		font-size: clamp(2rem, 1.5rem + 4vw, 6rem);
	}

	h2 {
		font-size: clamp(1.5rem, 1rem + 4vw, 4rem);
	}

	h3 {
		font-size: clamp(1.25rem, 1rem + 1vw, 2rem);
	}

	a, a:visited, a:hover {
		color: #000;
	}

    strong a {
        font-weight: bold;
    }

    .row-foreground-brand_color_1 a:visited {
        color: #024384;
    }
/* #endregion */

.centred .col-md-6:not(:has(.block-image)) {
	display: flex;
	align-items: center;
	.block-wrapper {
		width: 100%;
	}
}

.text-below-image {
	[class*="col-"] {
		&:has(.on-page-invisible-image) {
			.block-image {
				position: relative;
				padding-bottom: 65px;
				.block-image-cover {
					background-size: 100%;
					height: auto;
					aspect-ratio: var(--aspect-ratio, 5 / 3);
					background-position: top left !important;
					.block-image-text {
						position: absolute;
						top: auto;
						bottom: 0;
						left: 0;
						right: 0;
						background-color: #FFF;
						-webkit-transform: none;
						-moz-transform: none;
						-ms-transform: none;
						-o-transform: none;
						transform: none;
						padding: 1rem 2rem;
						transition: background-color .2s;
						h3 {
							color: var(--primary-color-1);
							margin-bottom: 0;
						}

						h3, p {
							transition: color .2s;
						}
					}
				}

				&:hover {
					.block-image-cover.linked-block-image {
						.block-image-text {
							background-color: var(--primary-color-1);
							h3, p {
								color: #FFF;
							}
						}
					}
				}
			}
		}
	}

	.block-wrapper {
		box-shadow: 0px 4px 5px 0px var(--box-shadow-color, #00000033);
		overflow: hidden;
	}

	.image-uncropped-full-width {
		display: block;
	}

	.block-image-uncropped-full-width .block-image-text {
		position: relative;
		padding: 1rem;
		left: auto;
		top: auto;
		transform: none;
		display: block;
		h3 {
			color: var(--primary-color-1);
			margin-bottom: 0;
		}
	}

	&.row-background-brand_color_1 {
		--box-shadow-color: #FFFFFF33;
		.block-image-text {
			background-color: #FFF;
			* {
				color: var(--primary-color-1);
			}
		}
	}
}

.input-group input,
.input-group-btn button {
	height: auto;
}

.header-row {
	.job-search-control {
		.easy-autocomplete {
			position: relative;
			display: flex;
			flex-wrap: wrap;
			width: 100% !important;
			margin-bottom: 1rem;
			@media (min-width: 992px) {
				width: 50% !important;
				margin-bottom: 0;
			}
	
			&:before {
				font-family: "Font Awesome 6 Pro";
				position: absolute;
				left: 0;
				top: 0;
				bottom: 0;
				content: "\f002";
				color: var(--primary-color-1);
				display: flex;
				font-size: 1.2rem;
				justify-content: center;
				align-items: center;
				width: 3rem;
				line-height: 1;
			}
	
			input[type=text] {
				padding-left: 3rem;
				border: none;
				&.form-control::placeholder {
					color: var(--primary-color-1);
				}
			}

			.eac-category {
				background-color: var(--primary-color-1);
				color: #FFF;
				font-weight: bold;;
			}

			li {
				background-color: #FFF;
				.autocomplete-value,
				.autocomplete-value b,
				.autocomplete-count {
					color: var(--primary-color-1);
					text-decoration: none;
				}

				&.selected {
					background-color: var(--primary-color-1);
					.autocomplete-value,
					.autocomplete-value b,
					.autocomplete-count {
						color: #FFF;
						text-decoration: underline;
					}
				}
			}
		}

		.input-group-btn {
			width: calc(100% - 60px);
			flex: 1 0 auto;
			@media (min-width: 992px) {
				width: calc(50% - 60px);
			}

			&:last-child {
				width: auto;
			}

			button {
				width: 100%;
				padding: 1rem !important;
				text-align: center;
			}

			.near-me-control {
				margin-left: 0;
				button {
					padding: 0 !important;
				}
			}
		}
	}
}

a.button,
a.btn,
button.btn {
	&.button1,
	&.button2,
	&.button3,
	&.button4,
	&.btn-primary {
		font-size: .875rem;
		line-height: 1.2;
		&:hover {
			text-decoration: none;
		}
	}

	&.button1,
	&.btn-primary,
	&.btn-success,
	&.btn-info,
	&.btn-light {
		--bg-color-1: rgb(2,67,132);
		--bg-color-2: rgba(51,104,189,1);
		background: var(--bg-color-1);
		background: linear-gradient(147.6689deg, var(--bg-color-1) 0%, var(--bg-color-2) 50%, var(--bg-color-1) 100%);
		background-size: 200% 200%;
		background-position: 0 0;
		transition: background-position .5s;
		border: none;
		color: var(--text-color, #FFF);
		padding: var(--padding, 1rem 5rem);
		* {
			color: inherit;
		}

		&:hover {
			background: var(--bg-color-1);
			background: linear-gradient(147.6689deg, var(--bg-color-1) 0%, var(--bg-color-2) 50%, var(--bg-color-1) 100%);
			background-size: 200% 200%;
			background-position: 100% 100%;
			border: none;
			color: var(--text-color, #FFF);
			transition: background-position .5s;
		}
	}

    &.button4 {
        color: var(--primary-color-1);
        border: 1px solid var(--primary-color-1);
        &:hover {
            background-color: var(--primary-color-1);
            color: #FFF;
        }
    }
	
	&.btn-info {
		--bg-color-1: rgb(255,0,0);
		--bg-color-2: rgba(208,0,0,1);
	}

	&.btn-light {
		--text-color: #000;
		--bg-color-1: rgb(240,240,240);
		--bg-color-2: rgba(192,192,192,1);
	}

    &[id*="link_delete_favourite"] {
        padding: 0;
        color: var(--primary-color-1);
        background: none;
        &:hover,
        &:active,
        &:focus {
            color: var(--primary-color-1);
            text-decoration: underline;
            background: none;
        }
    }
}

.full-width-buttons {
    a.button,
    a.btn,
    button.btn {
        width: 100%;
    }
}

.modal {
	a.button,
	a.btn,
	button.btn {
		&.button1,
		&.btn-primary,
		&.btn-success,
		&.btn-info,
		&.btn-light {
			--padding: 1rem 2rem;
		}
	}
}

.block-job-description .job-description-controls .btn {
	padding: 1rem 5rem !important;
	width: 100%;
	&:last-child {
		margin-top: 1rem;
	}

	@media (min-width: 992px) {
		width: auto;
		&:last-child {
			margin-top: 0;
		}
	}

	i {
		display: none;
	}
}

.small-buttons {
	a.button, button.btn {
		&.button1,
		&.btn-primary,
		&.btn-success {
			padding: 1rem 2rem;
		}
	}
}

.near-me-control button.btn.btn-success {
	background: none;
	background-color: transparent;
	color: transparent;
	padding: 0;
	font-size: 0;
	transition: transform .2s;
	&:before {
		font-family: "Font Awesome 6 Pro";
		content: "\f3c5";
		color: var(--secondary-color-2);
		font-weight: bold;
		font-size: 2rem;
	}

	&:hover {
		transform: scale(1.2);
	}
}

/* #region Carousels */
	.carousel {
		.carousel-control-prev-icon,
		.carousel-control-next-icon {
			display: none;
		}

		.carousel-control-prev,
		.carousel-control-next {
			opacity: 1;
			&:before {
				font-family: "Font Awesome 6 Pro";
				font-size: 3rem;
				color: var(--primary-color-1);
			}

			&:hover {
				opacity: 1;
			}
		}

		.carousel-control-prev {
			left: auto;
			right: 85%;
			&:before {
				content: "\f053";
			}
		}

		.carousel-control-next {
			right: auto;
			left: 85%;
			&:before {
				content: "\f054";
			}
		}

		.carousel-indicators {
			top: 100%;
			bottom: auto;
			padding-top: 2rem;
			[data-bs-target] {
				width: 8px;
				height: 8px;
				border-radius: 100px;
				background-color: #FFF;
				border: 1px solid var(--primary-color-1);
				opacity: 1;
				&.active {
					background-color: var(--primary-color-1);
					opacity: 1;
				}
			}
		}

		.carousel-item .row {
			padding: 1rem;
		}

		.carousel-inner {
			width: 100%;
			@media (min-width: 768px) {
				width: 70%;
				margin: 0 auto;
			}

			.carousel-item {
				--col-3-cols: 1;
				--col-4-cols: 1;
				--gap: 1rem;
				--col-3-width: calc((100% / var(--col-3-cols, 1)) - (((var(--col-3-cols, 1) - 1) * var(--gap, 0)) / var(--col-3-cols, 1)));
				--col-4-width: calc((100% / var(--col-4-cols, 1)) - (((var(--col-4-cols, 1) - 1) * var(--gap, 0)) / var(--col-4-cols, 1)));
				@media (min-width: 768px) {
					--col-3-cols: 2;
				}

				@media (min-width: 992px) {
					--col-4-cols: 3;
				}

				@media (min-width: 1200px) {
					--col-3-cols: 4;
				}

				.col-3 {
					width: var(--col-3-width, 100%);
				}

				.col-4 {
					width: var(--col-4-width, 100%);
				}

				.row {
					gap: var(--gap, 0rem);
				}
			}
		}

		@media (max-width: 767.9px) {
			.carousel-control-prev,
			.carousel-control-next {
				display: none;
			}
		}
	}
/* #endregion */

.block-wrapper.with-mobile-padding {
	@media (max-width: 767.9px) {
        padding-top: 70px;
        padding-bottom: 70px;
	}
  
	@media (max-width: 575.9px) {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}

.page-row {
	&.gradient-background {
		.col-md-6:first-child {
			background: rgb(2,67,132);
			background: linear-gradient(147.6689deg, rgba(2,67,132,1) 0%, rgba(51,104,189,1) 100%);
			padding-left: 30px;
			padding-right: 30px;
            @media (min-width: 576px) {
    			padding-left: 70px;
    			padding-right: 70px;
            }
          
			@media (min-width: 1200px) {
				padding-left: 100px;
				padding-right: 100px;
			}
		}
	}

	&.row-employee-spotlight {
		[class*="col-"] {
			.block-image {
				position: relative;
				.block-image-uncropped-full-width {
					background-size: 100%;
					height: auto;
					background-position: top left !important;
					transition: background-color .2s;
					.block-image-text {
						position: static;
						top: auto;
						bottom: auto;
						left: auto;
						right: auto;
						background-color: #FFF;
						-webkit-transform: none;
						-moz-transform: none;
						-ms-transform: none;
						-o-transform: none;
						transform: none;
						padding: 1rem;
						> * {
							width: 100%;
						}

						h3 {
							color: var(--primary-color-1);
						}

						p {
							color: #000;
							margin-bottom: 0;
							/*&:first-child {
								font-family: "Playfair Display", Helvetica, Arial, sans-serif;
								font-size: 1.2rem;
								line-height: 1.2;
								font-weight: bold;
							}*/

							/*&:nth-child(2) {
								font-size: 0.875rem;
								color: var(--primary-color-1);
							}*/
						}

						strong {
							color: inherit;
						}

						a {
							color: var(--primary-color-1);
						}

						h3, p {
							transition: color .2s;
						}
					}

                    img.image-uncropped-full-width {
                        min-height: 600px !important;
                        max-height: 600px !important;
                        height: 600px !important;
                        @media (min-width: 768px) {
                            min-height: 300px !important;
                            max-height: 300px !important;
                            height: 300px !important;
                        }
                      
                        @media (min-width: 992px) {
                            min-height: 400px !important;
                            max-height: 400px !important;
                            height: 400px !important;
                        }
                    }
				}

				&:hover {
					.block-image-cover.linked-block-image {
						.block-image-text {
							background-color: var(--primary-color-1);
							h3, p {
								color: #FFF;
							}
						}
					}
				}
			}

			&:not(:has(.posts-cards)) {
				.block-wrapper {
					box-shadow: 0px 4px 5px 0px #00000033;
					overflow: hidden;
				}
			}

			.posts-cards {
				.card {
					box-shadow: 0px 4px 5px 0px #00000033;
					border-radius: 0;
				}
			}
		}
	}

	&.row-tiles {
		.block-image {
			position: relative;
			padding-bottom: 65px;
			.block-image-cover {
				background-size: 100%;
				height: auto;
				aspect-ratio: 5 / 4;
				background-position: top left !important;
				.block-image-text {
					position: absolute;
					top: auto;
					bottom: 0;
					left: 0;
					right: 0;
					background-color: #FFF;
					-webkit-transform: none;
					-moz-transform: none;
					-ms-transform: none;
					-o-transform: none;
					transform: none;
					h3 {
						color: var(--primary-color-1);
					}
				}
			}
		}

		.carousel-item-block {
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
			background-color: #FFF;
			.carousel-item-block-image {
				display: block;
				margin: 2rem auto 0;
				width: 110px;
				object-fit: contain;
				height: 200px;
			}
		}
	
		.block-wrapper:not(:has(.carousel)) {
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
		}
	}

	&.row-categories {
		+ .row-categories {
			@media (max-width: 767.9px) {
				padding-top: 1rem !important;
			}
		}

		&:has(+ .row-categories) {
			@media (max-width: 767.9px) {
				padding-bottom: 0 !important;
			}
		}
	}

	&.row-carousel-cards {
		.block-image {
			position: relative;
			padding-bottom: 65px;
			.block-image-cover {
				background-size: 100%;
				height: auto;
				aspect-ratio: 5 / 4;
				background-position: top left !important;
				.block-image-text {
					position: absolute;
					top: auto;
					bottom: 0;
					left: 0;
					right: 0;
					background-color: #FFF;
					-webkit-transform: none;
					-moz-transform: none;
					-ms-transform: none;
					-o-transform: none;
					transform: none;
					h3, p {
						color: var(--primary-color-1);
					}
				}
			}
		}

		.carousel-item-block {
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
			background-color: #FFF;
			.carousel-item-block-image {
				display: block;
				margin: 2rem auto 0;
				width: 110px;
				object-fit: contain;
				height: 200px;
			}
		}

		.carousel .block-wrapper {
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
		}
	}

	&.flush-columns {
		[class*="col-"] {
			padding-left: 0;
			padding-right: 0;
		}

		.text-block {
			padding: 2rem;
			@media (min-width: 1200px) {
				padding: 4rem;
			}
		}
	}

	.container-fluid,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl,
	.container-xxl {
		.block-image {
			margin-left: calc(-0.5 * var(--bs-gutter-x));
			margin-right: calc(-0.5 * var(--bs-gutter-x));
		}
	}
}

.page-body {
	&.not-editing {
		.page-row {
			&.row-reverse .row {
				flex-direction: row-reverse;
			}
		}
	}

	&.editing {
		.page-row {
			&.row-reverse {
				.container, .container-fluid {
					position: relative;
					&:before {
						content: "This row will be reversed on desktop.";
						position: absolute;
						top: .5rem;
						left: .5rem;
						background-color: var(--primary-color-1);
						color: #FFF;
						padding: .5rem 1rem;
						border-radius: 50px;
					}
				}
			}
		}
	}
}

.col-md-6 .block-image-cover,
.col-md-4 .block-image-cover,
.col-md-8 .block-image-cover {
	@media (min-width: 767px) {
		height: 600px;
	}
}

.card {
	--bs-card-inner-border-radius: 0;
}

.accordion {
	--bs-accordion-btn-color: var(--primary-color-1);
	--bs-accordion-btn-bg: var(--primary-color-3-tint-20);
	--bs-accordion-border-color: var(--primary-color-1);
	--bs-accordion-border-radius: 0;
	--bs-accordion-inner-border-radius: 0;
	--bs-accordion-active-color: #FFF;
	--bs-accordion-active-bg: var(--primary-color-1);
}

.posts-cards .card-columns {
	grid-template-columns: 1fr;
	row-gap: 1.25rem;
	@media (min-width: 992px) {
		grid-template-columns: 1fr 1fr 1fr;
	}
}

.row-cards .row {
	gap: 1rem;
	@media (min-width: 768px) {
		gap: 0;
	}
}

.page-row:not(.row-cards) {
	[class*="col-"] {
		&:has(.block-image-cover) {
			display: flex;
			align-items: stretch;
            .block-wrapper.qr-code {
                --width: 300px;
                --height: 300px;
                --min-height: 300px;
                --background-position: contain;
                --margin: 0 auto;
                .block-image {
                    align-items: center;
                }
              
                .block-image-cover {
                    aspect-ratio: 1 / 1;
                }
            }
          
			.block-wrapper, .block-image, .block-image-cover {
				display: flex;
				align-items: stretch;
				width: 100%;
			}

			.block-image-cover {
				width: var(--width, 100%);
				height: var(--height, auto);
                min-height: var(--min-height, 300px);
                background-position: var(--background-position, cover);
                margin: var(--margin, 0);
                @media (min-width: 768px) {
    				min-height: var(--min-height, 600px);
                }
			}
		}
	}
}

.page-row.row-cards {
	[class*="col-"]:has(.block-image-uncropped-full-width) {
		display: flex;
		align-items: stretch;
		.block-wrapper, .block-image, .block-image-cover {
			display: flex;
			align-items: stretch;
			width: 100%;
		}

		.block-image-uncropped-full-width {
			display: flex;
			flex-direction: column;
			.block-image-text {
				flex: 1 1 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				flex-wrap: wrap;
			}

			/*&.linked-block-image {*/
                width: 100%;
                img {
                    object-fit: cover;
                    object-position: top center;
                    min-height: 200px;
                    height: 200px;
                    max-height: 200px;
                }
              
				.block-image-text {
					background-color: #FFF;
					transition: background-color .2s;
					h3, p {
						color: var(--primary-color-1);
						transition: color .2s;
					}

					strong {
						color: inherit;
					}
				}

				&:hover {
					.block-image-text {
						background-color: var(--primary-color-1);
						h3, p {
							color: #FFF;
						}
					}
				}
			/*}*/
		}
	}

	&.align-top {
		[class*="col-"]:has(.block-image-uncropped-full-width) {
			.block-image-uncropped-full-width {
				.block-image-text {
					flex-direction: column;
					justify-content: start;
					padding: 1rem 2rem;
				}
			}
		}
	}
}

.page-row [class*="col-"]:has(.align-image-centre) {
    display: flex;
    align-items: center;
}

.g-0 {
	.container-fluid,
	.container,
	.row {
		--bs-gutter-y: 0;
		--bs-gutter-x: 0;
	}
}

.call-to-action {
	@media (max-width: 767.9px) {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}
}

.col-md-6:has(.call-to-action) {
	@media (min-width: 768px) {
		padding: 2rem;
	}
}

.iti {
	width: 100%;
}

.job-search-control {
	.near-me-control {
		margin-left: 1rem;
	}
}

.block-job-search-results .job-search-results .job-search-filter-groups {
	width: 100%;
}

.job-search-collapse {
	padding-left: 0.25rem;
}

.block-job-search-results .job-search-results {
    --padding: 1rem 2rem;
    @media (min-width: 992px) {
        --padding: 1rem 5rem;
    }
  
	.job-search-collapse,
	.job-search-results-sort-by-dropdown {
		font-size: 1.25rem;
	}

	.job-search-dropdown-filters .filters-list > li {
		width: 100%;
	}

	.job-search-results-filter {
		min-width: 0;
		margin-right: 0.5rem;
		align-self: start;
		margin-top: 0.3rem;
		flex: 0 0 30px;
		margin-right: 0;
		display: flex;
		flex-wrap: nowrap;
		height: auto;
		width: 100%;
		padding: .5rem;
	}

	.job-search-filter-groups {
		width: 100%;
	}
	
	.job-search-control .col {
        @media (max-width: 575.9px) {
            input[type="text"].form-control {
                width: 100%;
                margin-bottom: .5rem;
            }

            .input-group-btn {
                width: calc(100% - 60px);
                button.btn.btn-primary {
                    width: 100%;
                }
              
                &:has(.near-me-control) {
                    width: auto;
                    max-width: 60px;
                    .near-me-control {
                        display: block;
                        width: 100%;
                        button {
                            width: 100%;
                        }
                    }
                }
            }
        }

        @media (min-width: 768px) {
    		padding-left: 0;
    		padding-right: 0;
        }
	}

	.list-unstyled {
		overflow-x: hidden;
	}
}

.block-job-search-results .job-search-control {
	margin-top: 1rem;
	@media (min-width: 768px) {
		margin-top: 0;
	}
}

.block-job-search-results .job-search-filter-groups {
	background-color: transparent;
	padding: 0;
	section {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
	}

	.job-search-filter {
		background-color: #F1F1F1;
		padding: 0;
		border-radius: 0;
		overflow: hidden;
		margin-bottom: 0;
		width: 100%;
		h4, .h4 {
			font-size: 1.25rem;
			margin-bottom: 0;
			background: rgb(2,67,132);
			background: linear-gradient(147.6689deg, rgba(2,67,132,1) 0%, rgba(51,104,189,1) 100%);
			padding: 0.6rem 1rem;
			color: #FFF;
			cursor: pointer;
			margin-top: 0;
			font-weight: 600;
			letter-spacing: 0;
			position: relative;
			line-height: 1.5;
			&:after {
				position: absolute;
				right: 1rem;
				top: 50%;
				transform: translateY(-50%);
				font-family: "Font Awesome 6 Pro";
				font-weight: 900;
				line-height: 1;
				margin-right: 1rem;
				color: #FFF;
				margin-right: 0;
				content: "\f078";
				transition: transform .2s;
				transform-origin: 50% 25%;
			}
		}

		&:last-child {
			margin-bottom: 0;
		}

		&.filter-collapsed {
			h4, .h4 {
				&:after {
					transform: rotate(180deg);
				}
			}

			.search-filter,
			.job-search-list-items li:not(.is-checked) {
				display: none;
			}

			&:not(.has-checked-items) {
				h4 {
					margin-bottom: 0;
				}

				fieldset {
					display: none;
				}
			}
		}
	}

	.search-filter {
		padding-left: 0.5rem;
		width: calc(100% - 1rem);
		margin: 0.5rem auto 0 !important;
	}

	.job-search-list-items {
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem;
		padding: 0.5rem 3px 0.5rem 0.5rem;
		margin-bottom: 0;
		li {
			display: flex;
			flex-wrap: wrap;
			flex: 0 0 100%;
			width: 100%;
			align-items: start;
			label {
				font-size: 1.125rem;
				padding: 5px 0;
				flex: 1;
				display: flex;
				justify-content: start;
				justify-items: start;
				text-overflow: clip;
				white-space: normal;
				max-width: 100%;
				overflow: visible;
			}

			.badge {
				font-size: 1.125rem;
				padding: 0.5rem 1rem;
				display: inline-block;
				border-radius: 0;
				width: auto;
				margin-left: auto;
				color: #FFF;
				float: none;
				min-width: 53px;
				background: rgb(2,67,132);
				margin-top: 0.2rem;
			}
		}
	}
}

.job-search-results {
	.job-search-results-card-col {
		.card {
			border: none; /*1px solid #00000033;*/
			border-radius: .5rem;
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
			.card-footer {
				border-radius: 0;
				background-color: var(--primary-color-1);
				a {
					color: #FFF;
				}
			}
		}
	}
}

.block-jobs {
	.jobs-list {
		--cols: 1;
		--gap: 1rem;
		--item-width: calc((100% / var(--cols, 1)) - (((var(--cols, 1) - 1) * var(--gap, 0)) / var(--cols, 1)));
		display: flex;
		flex-wrap: wrap;
		gap: var(--gap);
		@media (min-width: 768px) {
			--cols: 2;
		}

		@media (min-width: 1200px) {
			--cols: 3;
		}

		.job {
			width: var(--item-width, 100%);
			border: none; /*1px solid #00000033;*/
			border-radius: .5rem;
			box-shadow: 0px 4px 5px 0px #00000033;
			overflow: hidden;
			padding: 1rem 1rem 2rem;
			position: relative;
			a {
				&:after {
					background-color: var(--primary-color-1);
					color: #FFF;
					content: "Read more >";
					padding: .75rem;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
				}

				&:hover {
					&:after,
					h3 {
						text-decoration: underline;
					}
				}
			}

			h3 {
				font-size: clamp(1.25rem, 1rem + 1vw, 2rem);
				font-weight: normal;
				margin-bottom: .5rem;
			}

			.job-location,
			.job-department,
			.job-employment-type {
				display: block;
				font-size: 90%;
				margin-bottom: .5rem;
				line-height: 1.5;
				font-weight: 300;
				&:before {
					font-family: "Font Awesome 6 Pro";
					width: 1.75rem;
					font-weight: 900;
					display: inline-block;
					font-size: 90%;
				}
			}

			.job-location:before {
				content: "\f124";
			}

			.job-department:before {
				content: "\f500";
			}

			.job-employment-type:before {
				content: "\f017";
				font-weight: 400;
			}

			.job-summary {
				color: #000;
				font-size: 1rem;
				line-height: 1.9;
			}
		}
	}
}

.page-row:has(.job-description) .block-map .google-map {
	height: 300px;
}

.pagination {
	.page-item {
		> a {
			border-color: var(--primary-color-1);
			background-color: #FFF;
			color: var(--primary-color-1);
		}

		&.active > a {
			border-color: var(--primary-color-1);
			background-color: var(--primary-color-1);
			color: #FFF;
		}

		&.disabled > a {
			border-color: #CCC;
			background-color: #CCC;
			color: var(--primary-color-1);
		}
	}
}

.row-background-brand_color_1 {
    a.button {
    	&.button1,
    	&.button2,
    	&.button3,
    	&.button4 {
            border-color: #FFF;
            color: #FFF;
            &:hover {
                background-color: #FFF;
                color: var(--primary-color-1);
            }
        }
    }
}

.job-component-list .fa-asterisk:before {
    content: "\f1ad";
}

.job-component-list .job-component-string-field-6 .fa-asterisk:before {
    content: "\f154";
}

/* #region Nav, header, footer, animations */
	.navbar-nav {
		--bs-nav-link-hover-color: #000;
		--bs-navbar-color: #000;
		--bs-navbar-hover-color: #000;
		--bs-link-color-rgb: 0, 0, 0;
        --bs-navbar-nav-link-padding-x: 1rem;
	}

	header {
		.navbar-brand img {
			max-width: 125px;
		}

		a.button.button1.btn-search,
        a.button.button1.btn-account,
        a.button.button1.btn-internal {
			font-family: "Mulish", Helvetica, Arial, sans-serif;
			border-color: var(--secondary-color-2);
			background: var(--secondary-color-2);
			color: #000;
			padding: 1rem;
			font-size: var(--nav-font-size); /*.75rem;*/
			line-height: 1.2;
            @media (min-width: 1400px) {
                padding: 1rem 2rem;
            }
          
			&:hover {
				border-color: var(--secondary-color-2);
				background: var(--secondary-color-2);
				color: #000;
			}
		}

        a.button.button1.btn-search,
        a.button.button1.btn-account{
            @media (min-width: 1200px) {
                margin-left: .5rem;
            }
        }

		.nav-item {
			display: flex;
			align-items: stretch;
			flex-wrap: wrap;
			border-bottom: 1px solid #F9F9F9
		}

		.nav-link {
			font-family: "Playfair Display", Helvetica, Arial, sans-serif;
			display: flex;
			align-items: center;
			font-weight: bold;
			font-size: var(--nav-font-size); /*.75rem;*/
			line-height: 1.4;
			text-decoration: none;
			&:not(.btn-search, .btn-account, .btn-internal) {
				width: 100%;
				@media (min-width: 1200px) {
					width: auto;
				}
			}

			&:hover {
				text-decoration: none;
			}
		}

        .dropdown-item {
            font-family: "Playfair Display", Helvetica, Arial, sans-serif;
            font-size: var(--nav-font-size); /*.75rem;*/
            &:active {
                background-color: var(--primary-color-1);
            }
        }

		.dropdown-toggle {
			text-decoration: none;
			width: 100%;
			@media (min-width: 1200px) {
				width: auto;
			}

			&:hover {
				text-decoration: none;
			}

			&:after {
				font-family: "Font Awesome 6 Pro";
				content: "\f078";
				border: none;
				font-size: var(--nav-font-size); /*.75rem;*/
				margin-left: auto;
                @media (min-width: 1200px) {
                    margin-left: .25rem;
                }
			}

			&.show:after {
				content: "\f077";
			}
		}

		.dropdown-menu {
			--bs-dropdown-min-width: 100%;
			background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
			border: none;
            @media (min-width: 1200px) {
                padding-top: 0;
                padding-bottom: 0;
            }
		}
	}

	footer {
		.top-row {
			padding: 30px 0;
			background-color: var(--primary-color-1);
		}

		.logo-container {
			display: flex;
			@media (min-width: 1200px) {
				justify-content: center;
			}

			img {
				max-width: 250px;
				@media (min-width: 1200px) {
					max-width: 180px;
				}

				@media (min-width: 1400px) {
					max-width: 250px;
				}
			}
		}

		.social-container {
			display: flex;
			gap: .2rem;
			padding-top: 2rem;
			@media (min-width: 992px) {
				justify-content: center;
			}

			.social {
				color: #FFF;
				font-size: 1.5rem;
			}
		}

		.footer-column {
			h2 {
				font-size: 1.5rem;
				color: #FFF;
				line-height: 1.2;
				margin-bottom: 1rem;
				margin-top: 1rem;
			}

			p {
				color: #FFF;
				margin-bottom: 0;
			}

			a {
				color: #FFF;
				&:hover {
					color: #FFF;
				}
			}

			ul {
				list-style: none;
				padding: 0;
				margin: 0 0 1rem;
				li {
					padding: 0;
					margin: 0;
				}
			}

			.has-multiple-lists {
				[class*="col-"]:not(:last-child) {
					ul {
						margin-bottom: 0;
						@media (min-width: 992px) {
							margin-bottom: 1rem;
						}
					}
				}
			}
		}

		.bottom-row {
			padding-top: .5rem;
			padding-bottom: .5rem;
			p {
				margin-bottom: 0;
			}

			p, a, a:hover, a:visited {
				color: var(--primary-color-1);
			}
		}
	}

	dotlottie-player {
		margin: 0 auto;
	}

    .chatbot-header-img {
        width: 3.5rem;
    }

    .chatbot-header-name {
        color: #FFF;
    }

    .form-call-to-action {
        padding-left: 1rem;
        padding-right: 1rem;
        @media (min-width: 992px) {
            padding-left: 0;
            padding-right: 0;
        }
    }

    .block-job-description {
        .job-component-details {
            display: flex;
            flex-wrap: wrap;
            .job-component-list {
                width: 100%;
                &:has(.job-component-string-field-5) {
                    order: 1;
                }
              
                &.job-component-list-location {
                    order: 2;
                }
              
                &.job-component-list-department {
                    order: 3;
                }
              
                &.job-component-list-employment_type {
                    order: 4;
                }
            }
        }
    }

    .easy-autocomplete-container {
        top: 100%;
    }

    .small-text {
        margin-top: .25rem;
        font-size: .95rem;
    }
/* #endregion */