/*!
Theme Name: McCormick Taylor
Author: Scott Meadows
Description: McCormick Taylor corporate website theme (based on Underscores).
Version: 0.7.4
Tested up to: 5.4
Requires PHP: 5.6
Requires Plugins: advanced-custom-fields-pro
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mccormicktaylor
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

mccormicktaylor is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

:root {
	--mt-lightblue-rgb: 0, 82, 135;
	--mt-lightblue: rgb(var(--mt-lightblue-rgb));
	--mt-blue-rgb: 0, 55, 99;
	--mt-blue: rgb(var(--mt-blue-rgb));
	--mt-darkblue-rgb: 0, 49, 81;
	--mt-darkblue: rgb(var(--mt-darkblue-rgb));
	--mt-deepblue-rgb: 1, 27, 43;
	--mt-deepblue: rgb(var(--mt-deepblue-rgb));
	--mt-green-rgb: 0, 130, 100;
	--mt-green: rgb(var(--mt-green-rgb));
	--mt-lightgreen-rgb: 0, 168, 129;
	--mt-lightgreen: rgb(var(--mt-lightgreen-rgb));
	--mt-deepgreen-rgb: 2, 42, 43;
	--mt-deepgreen: rgb(2, 42, 43);
	--cts-blue-rgb: 70, 204, 237;
	--cts-blue: rgb(var(--cts-blue-rgb));
	--cts-green-rgb: 124, 250, 54;
	--cts-green: rgb(var(--cts-green-rgb));
	--cts-lightblue-rgb: 5, 165, 193;
	--cts-lightblue: rgb(var(--cts-lightblue-rgb));
	--cts-teal-rgb: 102, 151, 183;
	--cts-teal: rgb(var(--cts-teal-rgb));
	--cts-midgreen-rgb: 0, 130, 100;
	--cts-midgreen: rgb(var(--cts-midgreen-rgb));
	--cts-darkgreen-rgb: 0, 78, 60;
	--cts-darkgreen: rgb(var(--cts-darkgreen-rgb));
	--cts-lightgreen-rgb: 29, 232, 131;
	--cts-lightgreen: rgb(var(--cts-lightgreen-rgb));
	--cts-purple-rgb: 183, 45, 252;
	--cts-purple: rgb(var(--cts-purple-rgb));
	--cts-yellowgreen-rgb: 126, 252, 45;
	--cts-yellowgreen: rgb(var(--cts-yellowgreen-rgb));
	--cts-mintgreen-rgb: 118, 203, 179;
	--cts-mintgreen: rgb(var(--cts-mintgreen-rgb));
	--cts-skyblue-rgb: 67, 201, 247;
	--cts-skyblue: rgb(var(--cts-skyblue-rgb));
	--lightgray-rgb: 242, 242, 242;
	--lightgray: rgb(var(--lightgray-rgb));
	/* measurements */
	--wp-admin-bar-height: 32px;
}

/* bootstrap overrides */
:root {
	--bs-body-color: #222;
	--bs-body-font-size: 18px;
	--bs-body-font-family: 'Indivisible', sans-serif;
}

.fs-1 {
	font-size: 2.25rem !important;
}

.gx-6 {
	--bs-gutter-x: 4rem;
}

.btn {
	--bs-btn-font-weight: bold;
	--bs-btn-border-radius: .25em;
	--bs-btn-border-width: 2px;
	--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(100, 100, 255, .5);
}

.text-cts-lightblue {
	color: var(--cts-lightblue) !important;
}

.text-cts-blue {
	color: var(--cts-blue) !important;
}

.text-cts-skyblue {
	color: var(--cts-skyblue) !important;
}

.text-mt-darkblue {
	color: var(--mt-darkblue) !important;
}

.text-mt-blue {
	color: var(--mt-blue) !important;
}

.text-mt-lightblue {
	color: var(--mt-lightblue) !important;
}

.text-cts-darkgreen {
	color: var(--cts-darkgreen) !important;
}

.text-cts-yellowgreen {
	color: var(--cts-yellowgreen) !important;
}

.text-cts-lightgreen {
	color: var(--cts-lightgreen) !important;
}

.text-cts-midgreen {
	color: var(--cts-midgreen) !important;
}

.bg-lightgray {
	background-color: var(--lightgray) !important;
}

.bg-mt-blue {
	background-color: var(--mt-blue) !important;
}

.bg-mt-darkblue {
	background-color: var(--mt-darkblue) !important;
}

.bg-mt-deepblue {
	background-color: var(--mt-deepblue) !important;
}

.bg-mt-green {
	background-color: var(--mt-green) !important;
}

.bg-lightblue {
	background-color: var(--cts-lightblue) !important;
}

.bg-cts-darkgreen {
	background-color: var(--cts-darkgreen) !important;
}

.bg-cts-lightgreen {
	background-color: var(--cts-lightgreen) !important;
}

.border-midgreen {
	--bs-border-color: var(--cts-midgreen);
}

.border-cts-darkgreen {
	--bs-border-color: var(--cts-darkgreen);
}

.border-mt-darkblue {
	--bs-border-color: var(--mt-darkblue);
}

.border-cts-skyblue {
	--bs-border-color: var(--cts-skyblue);
}

.bg-cts-teal {
	background-color: var(--cts-teal) !important;
}

.ratio-13x11 {
	--bs-aspect-ratio: calc((11 / 13) * 100%);
}

.list-mt-lightblue>li::marker {
	color: var(--mt-lightblue);
}

/* BS components */
.btn-cts-skyblue {
	--bs-btn-color: var(--mt-blue);
	--bs-btn-bg: var(--cts-skyblue);
	--bs-btn-border-color: var(--cts-skyblue);
	--bs-btn-hover-color: var(--mt-blue);
	--bs-btn-hover-bg: var(--cts-lightblue);
	--bs-btn-hover-border-color: var(--cts-lightblue);
	--bs-btn-active-color: var(--cts-skyblue);
	--bs-btn-active-bg: var(--mt-blue);
	--bs-btn-active-border-color: var(--cts-skyblue);
}

.btn-outline-cts-skyblue {
	--bs-btn-color: var(--cts-skyblue);
	--bs-btn-bg: transparent;
	--bs-btn-border-color: var(--cts-skyblue);
	--bs-btn-hover-color: white;
	--bs-btn-hover-bg: transparent;
	--bs-btn-hover-border-color: white;
	--bs-btn-active-color: var(--mt-blue);
	--bs-btn-active-bg: var(--cts-skyblue);
	--bs-btn-active-border-color: var(--cts-skyblue);
}

.btn-cts-lightgreen {
	--bs-btn-color: var(--mt-deepblue);
	--bs-btn-bg: var(--cts-lightgreen);
	--bs-btn-border-color: var(--mt-deepblue);
	--bs-btn-hover-color: var(--mt-darkblue);
	--bs-btn-hover-bg: var(--cts-green);
	--bs-btn-hover-border-color: var(--mt-darkblue);
	--bs-btn-active-color: var(--mt-deepblue);
	--bs-btn-active-bg: var(--cts-lightgreen);
	--bs-btn-active-border-color: var(--mt-deepblue);
}

.btn-cts-darkgreen {
	--bs-btn-color: white;
	--bs-btn-bg: var(--cts-darkgreen);
	--bs-btn-border-color: var(--cts-darkgreen);
	--bs-btn-hover-color: var(--cts-darkgreen);
	--bs-btn-hover-bg: var(--cts-lightgreen);
	--bs-btn-hover-border-color: var(--cts-darkgreen);
	--bs-btn-active-color: var(--cts-darkgreen);
	--bs-btn-active-bg: var(--cts-green);
	--bs-btn-active-border-color: var(--cts-darkgreen);
}

.btn-mt-blue {
	--bs-btn-color: white;
	--bs-btn-bg: var(--mt-blue);
	--bs-btn-border-color: var(--mt-blue);
	--bs-btn-hover-color: white;
	--bs-btn-hover-bg: var(--mt-lightblue);
	--bs-btn-hover-border-color: var(--mt-lightblue);
	--bs-btn-active-color: var(--mt-blue);
	--bs-btn-active-bg: white;
	--bs-btn-active-border-color: var(--mt-blue);
}

.btn-transparent-light {
	--bs-btn-color: white;
	--bs-btn-bg: transparent;
	--bs-btn-border-color: white;
	--bs-btn-hover-color: var(--mt-darkblue);
	--bs-btn-hover-bg: white;
	--bs-btn-hover-border-color: white;
	--bs-btn-active-color: var(--mt-darkblue);
	--bs-btn-active-bg: white;
	--bs-btn-active-border-color: white;
}

.btn-transparent-dark {
	--bs-btn-color: var(--mt-darkblue);
	--bs-btn-bg: transparent;
	--bs-btn-border-color: var(--mt-darkblue);
	--bs-btn-hover-color: white;
	--bs-btn-hover-bg: var(--mt-darkblue);
	--bs-btn-hover-border-color: var(--mt-darkblue);
	--bs-btn-active-color: white;
	--bs-btn-active-bg: var(--mt-deepblue);
	--bs-btn-active-border-color: var(--mt-deepblue)
}

.btn-mt-darkblue {
	--bs-btn-color: white;
	--bs-btn-bg: var(--mt-darkblue);
	--bs-btn-border-color: var(--mt-darkblue);
	--bs-btn-hover-color: white;
	--bs-btn-hover-bg: var(--mt-blue);
	--bs-btn-hover-border-color: var(--mt-blue);
	--bs-btn-active-color: var(--mt-blue);
	--bs-btn-active-bg: white;
	--bs-btn-active-border-color: var(--mt-blue);
}

.btn-mt-green {
	--bs-btn-color: white;
	--bs-btn-bg: var(--mt-green);
	--bs-btn-border-color: var(--mt-green);
	--bs-btn-hover-color: white;
	--bs-btn-hover-bg: var(--mt-lightgreen);
	--bs-btn-hover-border-color: var(--mt-lightgreen);
	--bs-btn-active-color: var(--mt-green);
	--bs-btn-active-bg: white;
	--bs-btn-active-border-color: var(--mt-green);
}

.btn-slow {
	transition: color .25s ease-in-out,
		background-color .25s ease-in-out,
		border-color .25s ease-in-out,
		box-shadow .25s ease-in-out;
}

.site-header {
	--nav-height: 74px;

	.navbar-container {
		padding: 0;
	}

	.navbar {
		--bs-navbar-padding-y: 0;
	}

	.navbar-brand {
		height: var(--nav-height);
		--padding: .8125rem;
		--bs-navbar-brand-padding-y: var(--padding);
		padding-left: var(--padding);
	}

	.navbar-brand img {
		display: inline-block;
		max-width: max(50vw, 200px);
		max-width: calc(100vw - var(--nav-height) - var(--padding) - var(--bs-navbar-brand-margin-end));
		max-height: 48px;
		object-fit: contain;
	}

	.navbar-toggler {
		--bs-navbar-toggler-border-radius: 0;
		border: none;
		border-image-width: 0;
		height: var(--nav-height);
		aspect-ratio: 1 / 1;
		color: black;
	}

	.navbar-toggler:not(.collapsed) {
		background-color: var(--mt-deepblue);
		color: white;
		box-shadow: none;
	}

	.navbar-toggler>* {
		font-size: 1.5em;
	}

	.navbar-toggler.collapsed .navbar-toggler-icon-close {
		display: none;
	}

	.navbar-toggler:not(.collapsed) .navbar-toggler-icon-open {
		display: none;
	}

	.nav-link {
		--bs-nav-link-font-weight: bold;
		--bs-navbar-nav-link-padding-x: 1rem;
		padding-top: calc((var(--nav-height) - 30px) / 2);
		--bs-nav-link-color: black;
		--bs-nav-link-hover-color: var(--mt-blue);
		height: var(--nav-height);
	}

	a.nav-link:active,
	a.dropdown-item:active {
		color: var(--mt-blue);
	}

	.nav-item .nav-link::after,
	.nav-item.dropdown .dropdown-item::after {
		--height: 4px;
		content: ' ';
		display: block;
		width: 0;
		height: var(--height);
		border-radius: calc(var(--height) / 2);
		border: none;
		margin: 0;
		background-color: var(--cts-lightblue);
		transition: width .25s ease-in-out, background-color .25s ease-in-out;
	}

	.nav-item .nav-link:hover::after,
	.nav-item.dropdown .dropdown-item:hover::after {
		background-color: var(--cts-skyblue);
		width: 100%;
	}


	.nav-item.dropdown .nav-link.dropdown-toggle.show::after,
	.nav-item.active .nav-link::after,
	.nav-item.dropdown .dropdown-item.active::after {
		width: 100%;
	}

	.nav-item form.nav-link::after {
		display: none;
	}

	.nav-item .dropdown-toggle .dropdown-icon,
	.services-nav-item .nav-link .dropdown-icon {
		transition: transform .15s ease-in-out;
	}

	.nav-item.dropdown .dropdown-toggle.show .dropdown-icon,
	.services-nav-item .nav-link:not(.collapsed) .dropdown-icon {
		transform: rotate(180deg);
	}

	.nav-item.dropdown .dropdown-menu {
		--bs-dropdown-spacer: 0;
		--bs-dropdown-bg: var(--mt-darkblue);
		--bs-dropdown-link-active-bg: var(--mt-darkblue);
		--bs-dropdown-link-hover-bg: var(--mt-darkblue);
	}

	.nav-item.dropdown .dropdown-item:hover {
		color: inherit;
		background-color: inherit;
	}

	.nav-item.dropdown .nav-link {
		height: 100%;
	}

	.nav-item.dropdown .nav-link.dropdown-toggle.show {
		background-color: var(--mt-darkblue);
		color: white;
	}
}

.footer-navigation {
	.dropdown-toggle::after {
		display: none;
	}

	.dropdown-toggle .dropdown-icon {
		transition: transform .15s ease-in-out;
	}

	.dropdown-toggle.show .dropdown-icon {
		transform: rotate(180deg);
	}
}

.footer-navigation .nav-link:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .5);
}

.footer-grid {
	display: grid;
	grid-template-areas: "logo        logo"
		"description description"
		"sitemap     locations"
		"sitemap     locations"
		"socials     socials";
	grid-template-columns: 1fr 1fr;
	row-gap: 1.5rem;
	column-gap: 1rem;
}

#footer-logo {
	grid-area: logo;
}

#footer-description {
	grid-area: description;
}

#footer-site-map {
	grid-area: sitemap;
	font-size: 1rem;
}

#footer-locations {
	grid-area: locations;
	font-size: 1rem;
}

#footer-locations a,
#footer-site-map a {
	color: white;
	background-color: transparent;
	text-decoration: none;
}

#footer-locations a:hover,
#footer-site-map a:hover {
	text-decoration: underline;
}

#footer-socials {
	grid-area: socials;
}

.footer-social-icon {
	color: white;
	text-decoration: none;
}

.footer-social-icon:hover {
	text-decoration: underline;
}

.footer-social-icon .dashicons {
	width: 3rem;
	height: 3rem;
	font-size: 3rem;
}

.small-text {
	font-size: 12px;
}

.icon-link>i {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	fill: currentcolor;
	transition: .2s ease-in-out transform;
}

.icon-link>i::before {
	display: inline-block;
}

.pagination {
	--bs-pagination-padding-x: .5rem;
	--bs-pagination-padding-y: .5rem;
	--bs-pagination-color: white;
	--bs-pagination-bg: var(--mt-blue);
	--bs-pagination-border-color: white;
	--bs-pagination-hover-bg: var(--mt-darkblue);
	--bs-pagination-hover-color: white;
	--bs-pagination-focus-bg: var(--mt-darkblue);
	--bs-pagination-focus-color: white;
	--bs-pagination-active-bg: var(--bs-secondary-bg);
	--bs-pagination-active-color: var(--bs-secondary);
	--bs-pagination-active-border-color: white;

	.page-link {
		width: 3.5rem;
		height: 3.5rem;
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
	}
}

.custom-desktop-search {
	display: none;
}

@media screen and (min-width: 425px) {

	#footer-site-map,
	#footer-locations {
		font-size: 1.125rem;
	}
}

@media screen and (min-width: 768px) {
	.fs-1 {
		font-size: 3rem !important;
	}
}

@media screen and (min-width: 992px) {
	.footer-grid {
		grid-template-areas: "logo . sitemap . locations"
			"description . sitemap . locations"
			"socials . sitemap . locations"
			". . sitemap . locations";
		grid-template-columns: 4fr .5fr 1fr .5fr 3fr;
		column-gap: 0;
		row-gap: 2rem;
	}

	#footer-locations ul {
		column-count: 2;
	}

	.small-text {
		font-size: 14px;
	}
}

@media screen and (max-width: 1049.98px) {

	.site-header .nav-item .nav-link::after,
	.site-header .nav-item.dropdown .dropdown-item::after {
		--height: 0;
	}

	.site-header .navbar-collapse.show,
	.site-header .navbar-collapse.collapsing {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;

		.nav-item {
			background-color: var(--mt-darkblue);
			border-top: 1px solid var(--cts-lightblue);
		}

		.nav-link {
			color: white;
			vertical-align: middle;
			padding: 1rem 1rem;
			line-height: 1em;
			height: auto;
		}

		.nav-item.dropdown .nav-link.dropdown-toggle.show::after {
			width: 0%;
		}

		.nav-item.dropdown .dropdown-menu {
			--bs-dropdown-bg: var(--mt-deepblue);
			--bs-dropdown-padding-y: .75rem;
		}
	}
}

@media screen and (min-width: 1050px) {
	.site-header-sticky {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 1200;
		box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25);
	}

	body.admin-bar .site-header-sticky {
		top: var(--wp-admin-bar-height);
	}

	.site-header .navbar-brand img {
		max-width: 25vw;
	}

	/** desktop navbar */
	.navbar-expand-custom .navbar-toggler {
		display: none;
	}

	.navbar-expand-custom .navbar-collapse {
		display: flex !important;
		flex-basis: auto;
	}

	.navbar-expand-custom .navbar-nav {
		flex-direction: row;
	}

	.navbar-expand-custom .navbar-nav .nav-link {
		padding-right: var(--bs-navbar-nav-link-padding-x);
		padding-left: var(--bs-navbar-nav-link-padding-x);
	}

	.navbar-expand-custom .navbar-nav .dropdown-menu {
		position: absolute;
	}

	.custom-mobile-search {
		display: none;
	}

	.custom-desktop-search {
		display: block;
	}
}

/* end of bootstrap overrides */


/* utility classes */
.h-gradient {
	--start-color: #000;
	--end-color: #fff;
	background: linear-gradient(to right, var(--start-color), var(--end-color));
}

.link-unstyled {
	color: inherit;
	text-decoration: none;
}

.minh-0 {
	min-height: 0;
}

.minw-0 {
	min-width: 0;
}

.clearfix::after {
	content: ' ';
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/* end of utility classes */


/* global */
.post-title.post-title-small {
	font-size: 1.5rem;
	line-height: 1.25em;
}

.post-excerpt {
	font-size: 1rem;
}

.post-link-wrapper {
	display: block;
	color: inherit;
	text-decoration: inherit;
}

.post-link-wrapper:focus-visible {
	text-decoration: underline;
}

.post-link-icon {
	transition: transform .25s ease-in-out;
}

.post-link-wrapper:hover .post-link-icon {
	transform: scale(1.25);
}

.post-link-wrapper:active .post-link-icon {
	/* this causes the arrow to shrink when clicked, giving it a button press effect */
	transform: scale(1.1);
}

.project-thumbnail,
.award-thumbnail {
	aspect-ratio: unset;
	height: 300px;
}

.h2-border-left-dark,
.h2-border-left-light {
	color: white;
	font-size: 30px;
	font-weight: bold;
	line-height: 1em;
	margin: 0;
	border-left: 6px solid #1de883;
	padding-left: .4em;
}

.h2-border-left-dark {
	color: #003764;
}

@media screen and (min-width: 768px) {

	.h2-border-left-dark,
	.h2-border-left-light {
		font-size: 40px;
	}
}

/* end of global */

/* service-single page */
a:focus-visible>.project-card :where(.project-card-name, .project-card-location) {
	text-decoration: underline;
}

.card.project-card {
	--bs-card-border-radius: 0;
	--bs-card-inner-border-radius: 0;
	--bs-card-bg: var(--mt-deepblue);
	--bs-card-color: white;
	--bs-card-border-color: var(--cts-lightblue);
	--bs-card-border-width: 2px;
}

.project-card-img-wrapper {
	aspect-ratio: 4 / 5;
}

.project-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.project-card-body {
	padding: 150px .5rem .5rem .5rem;
	background: linear-gradient(to top, rgba(var(--cts-darkgreen-rgb), .89) 50%, rgba(var(--cts-darkgreen-rgb), 0));
}

.col:nth-of-type(odd) .project-card-body {
	background: linear-gradient(to top, rgba(var(--cts-darkgreen-rgb), .89) 50%, rgba(var(--cts-darkgreen-rgb), 0));
}

.col:nth-of-type(even) .project-card-body {
	background: linear-gradient(to top, rgba(0, 82, 135, .89) 50%, rgba(0, 82, 135, 0));
}

.project-card-name {
	font-size: 1.125rem;
	margin: 0;
}

.project-card-location {
	font-size: .875rem;
	line-height: 1.5rem;
}

.project-card .post-link-icon {
	font-size: 1.25em;
}

.project-card-wrapper:nth-of-type(4n + 1) .project-card-body,
.project-card-wrapper:nth-of-type(4n + 4) .project-card-body {
	background: linear-gradient(to top, rgba(var(--cts-darkgreen-rgb), .89) calc(100% - 150px), rgba(var(--cts-darkgreen-rgb), 0));
}

.project-card-wrapper:nth-of-type(4n + 2) .project-card-body,
.project-card-wrapper:nth-of-type(4n + 3) .project-card-body {
	background: linear-gradient(to top, rgba(0, 82, 135, .89) calc(100% - 150px), rgba(0, 82, 135, 0));
}

@media screen and (min-width: 425px) {
	.project-card-name {
		font-size: 1.25rem;
	}

	.project-card-location {
		font-size: 1rem;
	}
}

@media screen and (min-width: 576px) {
	.project-card-name {
		font-size: 1.125rem;
	}
}

@media screen and (min-width: 768px) {
	.project-card-name {
		font-size: 1.25rem;
	}
}

@media screen and (min-width: 992px) {
	.project-card-name {
		font-size: 1.375rem;
	}

	.project-card .post-link-icon {
		font-size: 1.5em;
	}
}

@media screen and (min-width: 1200px) {
	.project-card-body {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.project-card-name {
		font-size: 1.5rem;
	}
}

.card.requisition-card {
	--bs-card-border-radius: 1rem;
	--bs-card-inner-border-radius: 0;
	--bs-card-bg: var(--bs-light);
	--bs-card-color: var(--bs-body-color);
	--bs-card-spacer-y: 2rem;
	--bs-card-spacer-x: 1.5rem;
	--bs-card-border-width: 0;
}

.product-card-img {
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/* end of service-single page */

.blog-post-excerpt {
	font-size: 1rem;
	line-height: 1.3em;
}

.blog-post-sub {
	font-size: 1rem;
}

.blog-post-brief-hover:hover {
	background-color: #00000008;
	outline: .5rem solid #00000008;
}

/* HTMX */
.htmx-indicator-hide {
	display: none;
}

.htmx-request .htmx-indicator-hide {
	display: inline;
}

.htmx-request.htmx-indicator-hide {
	display: inline;
}

.htmx-indicator-hide-inverse {
	display: inline;
}

.htmx-request .htmx-indicator-hide-inverse {
	display: none;
}

.htmx-request.htmx-indicator-hide-inverse {
	display: none;
}

/* Project block patterns */
.project-attribute-list {
	width: 100vw;
	position: relative;
	padding: 2rem 0;

	p,
	ul {
		margin: 0;
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		font-weight: light;
	}

	strong {
		color: var(--mt-green);
	}
}

/* sitewide search */
.sitewide-search {
	position: relative;
}

.sitewide-search input::placeholder {
	font-size: 14px;
	font-weight: bold;
	color: var(--mt-deepblue);
}

.sitewide-search input::-webkit-textfield-decoration-container {
	margin-right: 1rem;
}

.sitewide-search button {
	position: absolute;
	right: .5rem;
	top: 50%;
	transform: translateY(-50%);
	background-color: transparent;
	color: var(--mt-deepblue);
	padding: 1rem;
	border: none;
}

/* brief leadership profile */
.brief-leadership-profile {
	aspect-ratio: 1 / 1;
	display: block;
	width: 100%;
	max-width: 400px;
	height: auto;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	z-index: 0;
	background-color: var(--bs-dark);
}

.brief-leadership-profile-bg-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	z-index: -1;
	object-fit: cover;
	background-color: var(--bs-dark);
	transition: transform .25s ease-in-out;
}

a.post-link-wrapper:focus-visible .brief-leadership-profile :where(.brief-leadership-profile-name, .brief-leadership-profile-job-title) {
	text-decoration: underline;
}

.post-link-wrapper:hover .brief-leadership-profile-bg-img,
.post-link-wrapper:active .brief-leadership-profile-bg-img,
.post-link-wrapper:focus-visible .brief-leadership-profile-bg-img {
	transform: scale(1.025);
}

.brief-leadership-profile-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 50%;
	z-index: -1;
	background-image: linear-gradient(to bottom, rgba(var(--cts-darkgreen-rgb), 0), rgba(0, 0, 0, .8) 75%);
}

.brief-leadership-profile-content {
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-rows: 1fr auto auto;
	row-gap: .25rem;
	padding: .75rem;
}

.brief-leadership-profile-name {
	grid-row: 2 / 3;
	align-self: end;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1em;
}

.brief-leadership-profile-job-title {
	grid-row: 3 / 4;
	font-size: 1rem;
	line-height: 1em;
}

@media screen and (min-width: 425px) {
	.brief-leadership-profile-name {
		font-size: 1.375rem;
	}
}

@media screen and (min-width: 576px) {
	.brief-leadership-profile {
		max-width: none;
	}

	.brief-leadership-profile-wide {
		aspect-ratio: 7 / 6;
	}

	.brief-leadership-profile-tall {
		aspect-ratio: 4 / 5;
	}

	.brief-leadership-profile-tall .brief-leadership-profile-name {
		font-size: 1.25rem;
	}

	.brief-leadership-profile-wide .brief-leadership-profile-name {
		font-size: 1.5rem;
	}
}

@media screen and (min-width: 992px) {
	.brief-leadership-profile-tall .brief-leadership-profile-name {
		font-size: 1.5rem;
	}

	.brief-leadership-profile-wide .brief-leadership-profile-name {
		font-size: 1.75rem;
	}

	.brief-leadership-profile-job-title {
		font-size: 1rem;
	}
}

/* end of leadership profile breif */

/* MT blue nav tabs theme */
.nav-tabs.nav-tabs-mt-blue {
	--bs-nav-link-padding-y: .75rem;
	--bs-nav-link-color: white;
	--bs-nav-link-hover-color: white;
	--bs-nav-link-bg: var(--mt-darkblue);
	--bs-nav-tabs-border-width: 2px;
	--bs-nav-tabs-border-color: var(--cts-skyblue);
	--bs-nav-tabs-link-active-color: var(--cts-lightgreen);
	--bs-nav-tabs-link-active-bg: var(--mt-deepblue);
	--bs-nav-tabs-link-active-border-color: var(--cts-skyblue);
}

.nav-tabs.nav-tabs-mt-blue .nav-item .nav-link {
	background-color: var(--bs-nav-link-bg);
	border-width: var(--bs-nav-tabs-border-width);
	border-style: solid;
	border-color: var(--bs-nav-tabs-border-color);
	font-weight: bold;
	margin-left: calc(-1 * var(--bs-nav-tabs-border-width));
	width: calc(100% + var(--bs-nav-tabs-border-width));
}

.nav-tabs.nav-tabs-mt-blue li:first-child .nav-link {
	border-left: 2px solid #43c9f7;
	border-top-left-radius: var(--bs-nav-tabs-border-radius);
	margin-left: 0;
	width: 100%;
}

.nav-tabs.nav-tabs-mt-blue .nav-item .nav-link:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .5);
}

.nav-tabs.nav-tabs-mt-blue .nav-item .nav-link.active {
	background-color: var(--bs-nav-tabs-link-active-bg);
	border-bottom: none;
	height: calc(100% + var(--bs-nav-tabs-border-width));
}

.tab-content.tab-content-mt-blue {
	--bs-border-color: var(--cts-skyblue);
}

/* end of MT blue nav tabs theme */

/* MT blue accordion theme */
.accordion.accordion-mt-blue {
	--bs-accordion-border-width: 2px;
	--bs-accordion-border-color: var(--cts-skyblue);
	--bs-accordion-color: white;
	--bs-accordion-bg: var(--mt-darkblue);
	--bs-accordion-btn-color: white;
	--bs-accordion-active-color: var(--cts-lightgreen);
	--bs-accordion-active-bg: var(--mt-deepblue);
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.accordion.accordion-mt-blue>.accordion-item {
	border-radius: var(--bs-accordion-border-radius);
	border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
	overflow: hidden;
}

.accordion.accordion-mt-blue>.accordion-item>.accordion-header>.accordion-button {
	border-radius: 0;
	font-weight: bold;
	font-size: 1.25rem;
}

.accordion.accordion-mt-blue>.accordion-item>.accordion-header>.accordion-button::after {
	content: '\f107';
	font-family: var(--fa-family-classic);
	text-align: center;
	background: none;
}

.accordion.accordion-mt-blue>.accordion-item>.accordion-collapse>.accordion-body {
	background-color: var(--mt-deepblue);
}

/* end of MT blue accordion theme */

/* white accordion theme */
.accordion.accordion-white {
	--bs-accordion-border-width: 2px;
	--bs-accordion-border-color: var(--mt-green);
	--bs-accordion-color: rgb(41, 41, 41);
	--bs-accordion-bg: white;
	--bs-accordion-btn-color: rgb(41, 41, 41);
	--bs-accordion-active-color: rgb(41, 41, 41);
	--bs-accordion-active-bg: white;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.accordion.accordion-white>.accordion-item {
	border-radius: var(--bs-accordion-border-radius);
	border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
	overflow: hidden;
}

.accordion.accordion-white>.accordion-item>.accordion-header>.accordion-button {
	border-radius: 0;
	font-weight: bold;
	font-size: 1.25rem;
}

.accordion.accordion-white>.accordion-item>.accordion-header>.accordion-button {
	box-shadow: none;
}

.accordion.accordion-white>.accordion-item>.accordion-header>.accordion-button::after {
	content: '\f107';
	font-family: var(--fa-family-classic);
	text-align: center;
	background: none;
}

.accordion.accordion-white>.accordion-item>.accordion-collapse>.accordion-body {
	background-color: white;
}

/* end of white accordion theme */


/* service cards */

.service-card {
	aspect-ratio: 5 / 4;
	width: 100%;
	height: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem;
	margin: 0 auto;
	border: 2px solid var(--cts-skyblue);
	border-radius: .25rem;
	transition: all .25s ease;
}

:not(.coming-soon)>.service-card:hover {
	transform: scale(1.05);
	box-shadow: 0px 2px 14px 2px rgba(67, 201, 247, 0.49);
}

.service-card-centered {
	justify-content: center;
}

.service-card-icon {
	width: 50px;
	min-width: 50px;
	height: 50px;
	min-height: 50px;
	mask-size: 100%;
	background-color: var(--cts-lightgreen);
}

.service-card-title {
	font-size: 1.25rem;
}

.service-card-subtitle {
	font-size: .875rem;
}

.service-card-hover.coming-soon {
	cursor: default;
}

.service-card-hover:not(.coming-soon):hover .service-card {
	background-color: #f2f2f2;
}

[data-bs-theme='dark'] .service-card-hover:hover .service-card {
	background-color: var(--mt-darkblue);
}

@media screen and (min-width: 546px) {
	.service-card {
		aspect-ratio: 4 / 5;
		width: 100%;
		height: auto;
		padding: 2.5rem 1.5rem 1rem 1.5rem;
	}
}

/* end of service cards */

/* filter form components */
.form-filter-select-wrapper {
	position: relative;
}

.form-filter-select-wrapper select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	font-size: 1rem;
	font-weight: bold;
	padding: .5rem 2rem .5rem 1rem;
	text-overflow: ellipsis;
	color: var(--mt-blue);
	border-color: var(--mt-blue);
	border-radius: 10rem;
	cursor: pointer;
}

.form-filter-select-wrapper::after {
	/* custom caret icon */
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
	content: '\f107';
	font-family: "Font Awesome 7 Pro";
	color: var(--mt-blue);
	pointer-events: none;
}

.form-filter-button {
	font-size: 1rem;
	background-color: var(--mt-blue);
	color: white;
	border: 1px solid var(--mt-blue);
	border-radius: 10rem;
	padding: .5rem 1rem;
	transition: all .25s ease-in-out;
}

.form-filter-button:hover {
	background-color: var(--mt-lightblue);
	border-color: var(--mt-lightblue);
}

.filter-accordion .accordion-button {
	--bs-accordion-btn-color: var(--mt-blue);
	--bs-accordion-active-color: var(--mt-blue);
	--bs-accordion-active-bg: white;
}

.filter-accordion .accordion-button::after {
	display: none;
}

.filter-accordion .accordion-button .filter-accordion-dropdown {
	margin-left: .5rem;
}

.filter-accordion .accordion-button .filter-accordion-dropdown::after {
	display: flex;
	justify-content: center;
	align-items: center;
	content: '\f107';
	font-family: "Font Awesome 7 Pro";
	font-size: 1.25rem;
	flex-shrink: 0;
	width: var(--bs-accordion-btn-icon-width);
	height: var(--bs-accordion-btn-icon-width);
	transition: var(--bs-accordion-btn-icon-transition);
}

.filter-accordion .accordion-button:not(.collapsed) .filter-accordion-dropdown::after {
	transform: var(--bs-accordion-btn-icon-transform);
}

.filter-option-counter {
	width: 2.25rem;
	height: 2.25rem;
	background-color: var(--mt-blue);
	color: white;
	font-size: 18px;
	font-weight: bold;
	border-radius: 10rem;
	display: flex;
	justify-content: center;
	align-items: center;
}

img.loading,
img.loaded {
	opacity: 0;
	animation-name: fade-in;
	animation-play-state: paused;
	animation-duration: .5s;
	animation-delay: 0s;
	animation-direction: normal;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}

img.loaded {
	animation-play-state: running;
}

@keyframes fade-in {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.btn-back-to-top {
	position: fixed;
	bottom: .5rem;
	right: .5rem;
	z-index: 1000;
}

.btn-back-to-top-hide {
	opacity: 1;
	transition: opacity .25s ease-in-out;
}

.btn-back-to-top-hide.hide {
	opacity: 0;
}

.btn-back-to-top-hide:focus-visible {
	opacity: 1;
	outline: .25rem solid rgba(100, 100, 255, .5);
}

@media screen and (min-width: 545px) {
	.btn-back-to-top {
		bottom: 1rem;
		right: 1rem;
	}
}

@media screen and (min-width: 1620px) {
	.btn-back-to-top {
		left: calc(1320px + (100vw - 1320px) / 2);
		right: auto;
	}
}

.wp-block-image figcaption {
	font-size: .85em;
}

.requisition-card .card-body {
	padding: 1.5rem;
}

@media screen and (min-width: 576px) {
	.requisition-card .card-body {
		padding: 2rem;
	}
}

@media screen and (min-width: 768px) {
	.card.requisition-card {
		--bs-card-border-radius: 2rem;
	}
}

@media (prefers-reduced-motion: reduce) {

	/* disable all animation */
	*,
	*::after,
	*::before {
		animation-duration: 0s !important;
		transition-duration: 0s !important;
	}

	html:not(.no-js) [data-aos^=fade][data-aos^=fade] {
		opacity: 1;
	}

	html:not(.no-js) [data-aos=fade-up] {
		-webkit-transform: none;
		transform: none;
	}

	[data-aos] {
		pointer-events: auto;
	}
}