body.fixed-header .header-overlay-bottom {
	background: rgba(255, 255, 255, .76);
	border-bottom: 1px solid rgba(255, 255, 255, .34);
	box-shadow: 0 16px 45px rgba(14, 28, 43, .12);
	-webkit-backdrop-filter: saturate(160%) blur(18px);
	backdrop-filter: saturate(160%) blur(18px);
}

body.admin-bar.fixed-header .header-overlay-bottom {
	top: 32px;
}

.header-banner-contact-form-wrapper {
	overflow: hidden;
}

body.fixed-header .header-menu > ul > li > a,
body.fixed-header .header-contact-info a,
body.fixed-header .header-appointment-button > a {
	text-shadow: 0 1px 0 rgba(255, 255, 255, .35);
}

.header-menu > ul > li > a,
.footer-links a,
ul.footer-city-services a,
.footer-phone a,
.footer-email a,
.footer-location a,
.page-content a,
article a,
section.page-section p a,
section.page-section ul a,
a.arrow-link {
	text-underline-offset: .18em;
}

.header-menu > ul > li > a,
.dark-button a,
.light-button a,
.arrow-link,
.footer-links a,
ul.footer-city-services a,
.footer-social-icons a {
	display: inline-block;
	position: relative;
}

.references {
	margin-top: 3rem;
	overflow-wrap: break-word;
}

.references h2 {
	margin-bottom: 1rem;
}

.references ul {
	margin: 0 0 0 1.25rem;
	padding: 0;
	list-style: disc;
}

.references li {
	margin-bottom: .65rem;
	padding: 0;
	line-height: 1.55;
	list-style: disc;
	overflow-wrap: anywhere;
}

.references li::before {
	content: none !important;
}

.references a {
	color: #0a6f9d;
	overflow-wrap: anywhere;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(10, 111, 157, .45);
	text-underline-offset: .24em;
}

.references a:hover,
.references a:focus-visible {
	color: var(--primary-color);
	text-decoration-color: currentColor;
}

.references li::marker {
	color: #0a6f9d;
}

.service-page-main table,
.references table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.5rem 0 2rem;
	color: #353535;
	font-size: 16px;
}

.service-page-main table th,
.service-page-main table td,
.references table th,
.references table td {
	padding: 12px 16px;
	border: 1px solid #e8e9ea;
	text-align: left;
	vertical-align: top;
}

.service-page-main table th,
.references table th {
	background-color: var(--primary-color);
	color: #fff;
	font-weight: 700;
}

.service-page-main table tr:nth-child(even),
.references table tr:nth-child(even) {
	background-color: #f7f9fa;
}

.service-page-main table tr:hover,
.references table tr:hover {
	background-color: #f1f1f1;
}

@media (prefers-reduced-motion: no-preference) {
	body.fixed-header .header-overlay-bottom {
		transition:
			background-color 300ms ease,
			box-shadow 300ms ease,
			backdrop-filter 300ms ease,
			-webkit-backdrop-filter 300ms ease;
	}

	.motion-ready .home-header-banner .header-banner-content > *,
	.motion-ready .home-header-banner .header-banner-contact-form {
		animation: bluebird-fade-up 750ms cubic-bezier(.2, .7, .2, 1) forwards;
	}

	.motion-ready .page-section,
	.motion-ready .page-section .section-heading,
	.motion-ready .page-section .section-description,
	.motion-ready .page-section .row > [class*='col-'],
	.motion-ready .page-section .service-grid-item,
	.motion-ready .page-section .project-grid-item,
	.motion-ready .page-section .regional-office__single,
	.motion-ready .page-section .gallery_item,
	.motion-ready .page-section .testimonial,
	.motion-ready .page-section iframe {
		opacity: 1;
		transform: none;
		transition: none;
		will-change: auto;
	}

	.motion-ready .home-header-banner .header-banner-content > *:nth-child(2) {
		animation-delay: 90ms;
	}

	.motion-ready .home-header-banner .header-banner-content > *:nth-child(3) {
		animation-delay: 180ms;
	}

	.motion-ready .home-header-banner .header-banner-content > *:nth-child(4),
	.motion-ready .home-header-banner .header-banner-contact-form {
		animation-delay: 270ms;
	}

	.motion-ready .page-section.is-visible .section-heading,
	.motion-ready .page-section.is-visible .section-description,
	.motion-ready .page-section.is-visible .row > [class*='col-'],
	.motion-ready .page-section.is-visible .service-grid-item,
	.motion-ready .page-section.is-visible .project-grid-item,
	.motion-ready .page-section.is-visible .regional-office__single,
	.motion-ready .page-section.is-visible .gallery_item,
	.motion-ready .page-section.is-visible .testimonial,
	.motion-ready .page-section.is-visible iframe {
		animation: bluebird-fade-up 650ms cubic-bezier(.2, .7, .2, 1) both;
		animation-delay: var(--motion-delay, 0ms);
	}

	.service-grid-item,
	.project-grid-item,
	.regional-office__single,
	.gallery_item,
	.blog-grid-item,
	.dark-button a,
	.light-button a,
	.arrow-link,
	.header-contact-info a,
	.footer-links a,
	.footer-phone a,
	.footer-email a,
	.footer-location a,
	.footer-social-icons a,
	ul.footer-city-services a {
		transition:
			transform 250ms ease,
			box-shadow 250ms ease,
			background-color 250ms ease,
			color 250ms ease,
			border-color 250ms ease;
	}

	.header-menu > ul > li > a::after {
		position: absolute;
		right: 0;
		bottom: 22px;
		left: 0;
		height: 2px;
		content: "";
		background: currentColor;
		border-radius: 999px;
		opacity: .85;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 260ms cubic-bezier(.2, .7, .2, 1);
	}

	.header-menu > ul > li:hover > a::after,
	.header-menu > ul > li:focus-within > a::after,
	.header-menu > ul > li.current-menu-item > a::after {
		transform: scaleX(1);
		transform-origin: left;
	}

	.header-menu ul li:hover > ul.sub-menu,
	.header-appointment-button:hover .dropdown-menu {
		animation: bluebird-menu-in 220ms cubic-bezier(.2, .7, .2, 1) both;
	}

	.header-menu ul li:hover > ul.sub-menu > li > a,
	.header-appointment-button .dropdown-menu a {
		transition:
			transform 220ms ease,
			background-color 220ms ease,
			color 220ms ease;
	}

	.header-menu ul li:hover > ul.sub-menu > li:hover > a,
	.header-menu ul li:hover > ul.sub-menu > li:focus-within > a,
	.header-appointment-button .dropdown-menu a:hover,
	.header-appointment-button .dropdown-menu a:focus-visible {
		transform: translateX(4px);
	}

	.service-grid-item:hover,
	.service-grid-item:focus-within,
	.project-grid-item:hover,
	.project-grid-item:focus-within,
	.regional-office__single:hover,
	.regional-office__single:focus-within,
	.gallery_item:hover,
	.gallery_item:focus-within,
	.blog-grid-item:hover,
	.blog-grid-item:focus-within {
		transform: translateY(-8px);
	}

	.dark-button a:hover,
	.dark-button a:focus-visible,
	.light-button a:hover,
	.light-button a:focus-visible,
	.arrow-link:hover,
	.arrow-link:focus-visible,
	.header-contact-info a:hover,
	.header-contact-info a:focus-visible,
	.footer-phone a:hover,
	.footer-phone a:focus-visible,
	.footer-email a:hover,
	.footer-email a:focus-visible,
	.footer-location a:hover,
	.footer-location a:focus-visible,
	.footer-social-icons a:hover,
	.footer-social-icons a:focus-visible {
		transform: translateY(-2px);
	}

	.dark-button a,
	.light-button a {
		overflow: hidden;
	}

	.dark-button a::after,
	.light-button a::after {
		position: absolute;
		inset: 0;
		content: "";
		background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, .28) 45%, transparent 70%);
		pointer-events: none;
		transform: translateX(-120%);
		transition: transform 520ms ease;
	}

	.dark-button a:hover::after,
	.dark-button a:focus-visible::after,
	.light-button a:hover::after,
	.light-button a:focus-visible::after {
		transform: translateX(120%);
	}

	.page-content a,
	article a,
	section.page-section p a,
	section.page-section ul a {
		background-image: linear-gradient(currentColor, currentColor);
		background-position: 0 100%;
		background-repeat: no-repeat;
		background-size: 0 1px;
		text-decoration-color: transparent;
		transition:
			background-size 260ms ease,
			color 220ms ease;
	}

	.page-content a:hover,
	.page-content a:focus-visible,
	article a:hover,
	article a:focus-visible,
	section.page-section p a:hover,
	section.page-section p a:focus-visible,
	section.page-section ul a:hover,
	section.page-section ul a:focus-visible {
		background-size: 100% 1px;
	}

	.footer-links a:hover,
	.footer-links a:focus-visible,
	ul.footer-city-services a:hover,
	ul.footer-city-services a:focus-visible {
		transform: translateX(4px);
	}

	.media-image img,
	.gallery-thumbnail img,
	.blog-grid-image img,
	.service-grid-image img {
		transition: transform 500ms cubic-bezier(.2, .7, .2, 1);
	}

	.media-image:hover img,
	.gallery_item:hover .gallery-thumbnail img,
	.blog-grid-item:hover .blog-grid-image img,
	.service-grid-item:hover .service-grid-image img {
		transform: scale(1.035);
	}
}

@media screen and (max-width: 782px) {
	body.admin-bar.fixed-header .header-overlay-bottom {
		top: 46px;
	}
}

@keyframes bluebird-menu-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

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

@keyframes bluebird-fade-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

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