/*
 * C3 public live-site theme
 *
 * The legacy site already provides the core layout in styles.css. This file
 * restores the live palette, typography, dimensions, and spacing for the
 * current template markup while retaining the improved dropdown/off-canvas
 * navigation behavior and the current footer structure.
 */
:root {
	--c3-live-blue: #19388a;
	--c3-live-blue-hover: #5db8e8;
	--c3-live-gray: #9fa1a4;
	--c3-live-black: #231f20;
	--c3-live-footer: #4a4a4a;
	--c3-live-ink: #222;
	--c3-live-link: #19388a;
	--c3-live-white: #fff;
}

html,
body {
	font-family: "Droid Sans", Arial, Helvetica, sans-serif;
	font-size: 100%;
	line-height: 20px;
	color: var(--c3-live-ink);
	background: #fff;
}

html {
	min-height: 100%;
}

body {
	display: flex;
	flex-direction: column;
	height: auto;
	min-height: 100vh;
	margin: 0;
}

body > header.site-header,
body > article,
body > #shadow,
body > #subcontent_wrapper,
body > footer.site-footer,
body > .slider-wrapper,
body > #banner_wrapper {
	flex-shrink: 0;
}

body > article {
	box-sizing: border-box;
	flex: 1 0 auto;
	width: 100%;
}

header.site-header {
	box-sizing: border-box;
	height: 206px;
	margin: 0 0 16px;
	padding: 0 10px;
	border-top: 8px solid var(--c3-live-black);
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
	background: #fff;
}

header.site-header .header_container {
	position: relative;
	box-sizing: content-box;
	width: auto;
	max-width: 1040px;
	height: 206px;
	margin: -1px auto 10px;
	padding: 1px 0 0;
}

#logo {
	position: absolute;
	top: 30px;
	left: 0;
	display: block;
	box-sizing: border-box;
	width: 172px;
	height: 160px;
	margin: 0;
	padding: 0;
}

#logo img {
	display: block;
	width: 172px;
	height: 160px;
	max-width: none;
	object-fit: contain;
}

#top_nav {
	position: absolute;
	top: 1px;
	right: 0;
	z-index: 120;
	box-sizing: border-box;
	height: 27px;
	margin: 0;
	padding: 0;
	border-radius: 0 0 8px 8px;
	background: var(--c3-live-black);
}

#top_nav * {
	float: left;
}

#top_nav > img {
	display: block;
	height: 27px;
	width: auto;
}

#top_nav > div {
	display: block;
	padding: 0;
}

#top_nav a {
	display: inline-block;
	box-sizing: border-box;
	color: #fff;
	font: bold 1em/27px Arial, Helvetica, sans-serif;
	text-transform: lowercase !important;
	text-decoration: none;
}

#top_nav a:hover {
	color: var(--c3-live-blue-hover);
}

#top_nav a:nth-child(1n) {
	padding-right: 10px;
	padding-left: 10px;
	border-left: 1px dotted #666;
}

#top_nav a:first-child {
	padding-left: 0;
	border-left: 0;
}

#top_nav a:last-child {
	padding-right: 0;
}

#top_nav .c3-logout-form {
	display: block;
	margin: 0;
	padding: 0;
}

#top_nav .c3-logout-link {
	box-sizing: border-box;
	padding: 0 10px;
	border: 0;
	border-left: 1px dotted #666;
	background: transparent;
	color: #fff;
	font: bold 1em/27px Arial, Helvetica, sans-serif;
	text-transform: lowercase;
	cursor: pointer;
}

#top_nav .c3-logout-link:hover {
	color: var(--c3-live-blue-hover);
}

/* Desktop navigation: the dimensions and blue/gray palette match the live site. */
#nav {
	display: inline-block;
	position: absolute;
	top: 137px;
	right: 0;
	margin: 0;
	padding: 0;
}

#nav ul.menu {
	position: relative;
	margin: 0;
	padding: 0;
}

#nav ul.menu ul {
	display: none;
	position: absolute;
	left: 0;
	margin: 0;
	padding: 20px 0 10px;
	border: 0;
	background: #fff;
	top: 100%;
	box-shadow: none;
	opacity: 0;
}

#nav ul.menu li {
	position: relative;
	display: inline-block;
	z-index: 100;
	padding: 0 6px 0 10px;
	border-left: 1px dotted #ccc;
	vertical-align: top;
}

#nav ul.menu > li:first-child {
	padding-left: 0;
	border-left: 0;
}

#nav ul.menu li a {
	color: var(--c3-live-gray);
	font: bold 17.92px/normal Arial, Helvetica, sans-serif;
	text-transform: lowercase !important;
	text-decoration: none;
	white-space: nowrap;
}

#nav ul.menu li a:hover {
	color: var(--c3-live-blue);
}

#nav ul.level-0 > li:first-child > a {
	padding-left: 0;
}

#nav ul.level-0 ul {
	padding: 20px 0 10px;
	left: 0;
}

#nav ul.level-0 ul li {
	box-sizing: border-box;
	display: block;
	width: 100%;
	padding: 0 10px;
	border-top: 1px solid #fff;
	font-size: 1em;
	white-space: nowrap;
}

#nav ul.level-0 ul li a {
	display: block;
	padding: 6px 25px 6px 7px;
	background: var(--c3-live-blue);
	color: #fff;
	font: 300 17.92px/normal Arial, Helvetica, sans-serif;
	font-weight: 300;
	text-transform: lowercase !important;
}

#nav ul.level-0 ul li a:hover {
	background: var(--c3-live-blue-hover) !important;
	color: #fff;
}

#nav ul.level-0 ul.level-1 ul {
	top: 0;
	left: 100%;
	margin: 0;
}

/* Retain the newer parent indicator, recolored for the live theme. */
#nav ul.menu li.parent > div > a {
	padding-right: 2px;
}

#nav ul.menu li.parent > div > a::after {
	display: inline-block;
	width: 6px;
	height: 6px;
	margin: -3px 0 0 7px;
	border-right: 2px solid var(--c3-live-blue);
	border-bottom: 2px solid var(--c3-live-blue);
	content: "";
	vertical-align: middle;
	transform: rotate(45deg);
}

/* Improved off-canvas menu behavior, using the old blue palette. */
#mobile_nav_overlay {
	display: none;
}

.mobile_utility_nav {
	display: none;
}

#mobile_nav_icon {
	display: none;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1202;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: var(--c3-live-blue);
}

#mobile_nav_icon span {
	position: absolute;
	left: 6px;
	width: 32px;
	height: 3px;
	margin: 0;
	background: #fff;
	transition: transform .2s ease, opacity .2s ease, top .2s ease;
}

#mobile_nav_icon span:nth-child(1) { top: 11px; }
#mobile_nav_icon span:nth-child(2) { top: 20px; }
#mobile_nav_icon span:nth-child(3) { top: 29px; }

/* The shell is only active at the responsive breakpoint; desktop keeps the legacy nav. */
#mobile_nav {
	position: absolute;
	z-index: 1200;
	top: 100%;
	right: 0;
	width: 200px;
	overflow: hidden;
}

#mobile_nav ul {
	position: absolute;
	top: 0;
	right: -100%;
	display: none;
	width: 100%;
	margin: 0;
	padding: 20px 0 10px;
	background: #fff;
	opacity: 0;
}

#mobile_nav ul li {
	position: relative;
	padding: 0 10px;
	border-top: 1px solid #fff;
}

#mobile_nav ul li.parent > div {
	position: relative;
}

#mobile_nav ul li a {
	display: block;
	box-sizing: border-box;
	min-height: 42px;
	padding: 10px 44px 8px 5px;
	background: var(--c3-live-blue) !important;
	color: #fff;
	font: bold 1.15em/20px Arial, Helvetica, sans-serif;
	text-transform: lowercase !important;
	text-decoration: none;
}

#mobile_nav ul li a:hover {
	background: var(--c3-live-blue-hover) !important;
}

#mobile_nav ul ul {
	right: -100%;
}

#mobile_nav .children {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
	display: block;
	width: 44px;
	height: 42px;
	min-height: 0;
	padding: 0;
	background: var(--c3-live-blue) !important;
}

#mobile_nav .children::before,
#mobile_nav .children::after {
	position: absolute;
	top: 20px;
	left: 14px;
	width: 16px;
	height: 2px;
	background: #fff;
	content: "";
}

#mobile_nav .children::after {
	transform: rotate(90deg);
	transition: transform .18s ease;
}

#mobile_nav .children.is-open::after {
	transform: rotate(0);
}

#mobile_nav .go_back {
	display: none !important;
}

/* Banners retain the current controls but use the original shadow image. */
.slider-wrapper.theme-default {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	aspect-ratio: var(--c3-banner-aspect, 1226 / 280);
	max-width: 100%;
	max-height: var(--c3-banner-height, 280px);
	margin: 10px auto 0 !important;
	overflow: hidden;
	background: transparent;
}

.slider-wrapper .nivoSlider {
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	margin: 0;
}

/* Nivo's legacy stylesheet uses desktop min-widths and left offsets. Those
   intentionally cropped the old banners on phones; keep the full banner in
   view and scale it to the responsive slider box instead. */
.theme-default .nivoSlider > img,
.theme-default .nivoSlider > a > img,
.theme-default .nivoSlider > img.nivo-main-image {
	left: 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: fill;
}

.theme-default .nivo-slice img,
.theme-default .nivo-box img {
	min-width: 0 !important;
	max-width: none !important;
}

.theme-default .nivo-directionNav a {
	display: block;
	position: absolute;
	box-sizing: border-box;
	width: 48px;
	height: 64px;
	top: 50%;
	margin-top: -32px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 6px;
	background: rgba(25, 56, 138, .88) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
	opacity: 0;
	pointer-events: none;
	text-indent: -9999px;
	transition: background .16s ease, opacity .16s ease, transform .16s ease;
}

.theme-default:hover .nivo-directionNav a,
.theme-default .nivo-directionNav a:focus-visible {
	opacity: .92;
	pointer-events: auto;
}

.theme-default .nivo-directionNav a:hover,
.theme-default .nivo-directionNav a:focus-visible {
	background: var(--c3-live-blue-hover) !important;
	opacity: 1;
	outline: none;
}

.theme-default .nivo-directionNav a::after {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	margin: -9px 0 0 -9px;
	border: solid #fff;
	border-width: 0 3px 3px 0;
	content: "";
}

.theme-default a.nivo-prevNav { left: 18px; }
.theme-default a.nivo-nextNav { right: 18px; }
.theme-default a.nivo-prevNav::after { transform: rotate(135deg); }
.theme-default a.nivo-nextNav::after { transform: rotate(-45deg); }

@media (hover: none) {
	.theme-default .nivo-directionNav a {
		opacity: .92;
		pointer-events: auto;
	}
}

#shadow {
	box-sizing: border-box;
	width: 100%;
	height: 34px;
	margin: 0;
	background: url("../images/shadow.jpg") repeat-x;
}

/* Restore the live 1040px content rhythm and legacy typography. */
article {
	box-sizing: border-box;
	width: auto;
	margin-bottom: 1em;
	padding: 0 2%;
}

article .main_container,
article .main_container.cms-custom-styled {
	position: relative;
	box-sizing: content-box;
	width: auto;
	max-width: 1040px;
	margin: -1px auto 0;
	padding: 1px 0 30px;
}

article .main_container.c3-full-bleed {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h1,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h2,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h3,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h4,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h5,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h6 {
	font-family: Arial, Helvetica, sans-serif;
	color: var(--c3-live-ink);
}

article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h1 {
	margin: 0 0 1.25em;
	font-size: 1.25em;
	line-height: normal;
}

article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) h2 {
	margin-top: 2%;
	padding-bottom: .5%;
	border-bottom: 1px solid #ccc;
	font: normal 1.15em/20px "Droid Sans", Arial, Helvetica, sans-serif;
}

article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) p,
article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) li {
	color: #231f20;
	font-size: .8em;
	line-height: 1.4;
}

article .main_container:not(.cms-custom-styled):not(.c3-full-bleed) p {
	margin: 1.4em 0;
}

article a {
	color: var(--c3-live-link);
	text-decoration: none;
}

article a:hover {
	color: var(--c3-live-blue-hover);
}

.button,
a.button,
input.button {
	border: 0;
	border-radius: 7px;
	padding: 10px 13px;
	background: linear-gradient(to bottom, #555 0%, #000 100%);
	color: #fff;
	font: normal .8em "Droid Sans", Arial, sans-serif;
	text-transform: none;
}

.button:hover,
a.button:hover,
input.button:hover {
	background: linear-gradient(to bottom, #5b78c3 0%, var(--c3-live-blue) 100%);
	color: #fff;
}

/* Use the legacy float treatment for the standard content pages. */
.public-standard-content article .main_container {
	display: block;
	width: auto;
	max-width: 1040px;
	margin: -1px auto 0;
	padding: 1px 0 30px;
}

.public-standard-content article .left_column {
	margin-right: 325px;
}

.public-standard-content article .content_image {
	display: block;
	float: right;
	box-sizing: content-box;
	width: auto;
	max-width: 300px;
	margin: 0;
	padding: 0 0 2% 2%;
	border: 0;
	background: #fff;
	box-shadow: none;
}

.public-standard-content article .content_image img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 0;
}

.public-standard-content article .content_image p {
	margin: 0 0 1em;
	color: #231f20;
	font-size: .8em;
}

/* Contact content keeps its authored structure but uses the live palette. */
.c3-contact-page {
	color: var(--c3-live-ink);
	background: #fff;
	font-family: "Droid Sans", Arial, Helvetica, sans-serif;
}

.c3-contact-hero,
.c3-public-hero {
	background-color: var(--c3-live-black);
	color: #fff;
}

.c3-contact-hero::after,
.c3-public-hero::after {
	display: none;
}

.c3-contact-hero h1,
.c3-contact-page h2,
.c3-contact-section-title {
	font-family: Arial, Helvetica, sans-serif;
}

.c3-contact-hero h1,
.c3-contact-eyebrow,
.c3-contact-person-role,
.c3-contact-follow-card:hover,
.c3-contact-follow-card strong {
	color: var(--c3-live-blue-hover);
}

.c3-contact-hero h1 {
	color: #fff;
}

.c3-contact-main,
.c3-contact-map,
.c3-contact-follow {
	background: #fff;
}

.c3-contact-company,
.c3-contact-person,
.c3-contact-follow-card {
	border: 1px solid #ccc;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.c3-contact-company h2,
.c3-contact-page h2 {
	padding-bottom: .5em;
	border-bottom: 1px solid #ccc;
	color: var(--c3-live-ink);
}

.c3-contact-company h2::after,
.c3-contact-people > h2::after,
.c3-contact-section-title::after {
	display: none;
}

.c3-contact-person--primary {
	border-color: var(--c3-live-blue);
	box-shadow: inset 3px 0 0 var(--c3-live-blue);
}

.c3-contact-detail,
.c3-contact-person-links,
.c3-contact-person h3,
.c3-contact-company-name {
	color: var(--c3-live-ink);
}

.c3-contact-detail a:hover,
.c3-contact-person a:hover {
	color: var(--c3-live-blue-hover);
}

.c3-contact-follow-card::before {
	background: var(--c3-live-blue);
}

.c3-contact-follow-card::after {
	background: #fff;
}

.c3-contact-follow-card:hover {
	border-color: var(--c3-live-blue);
	background: #f5f7fc;
}

/* Current footer structure, restored to the legacy palette and font. */
footer.site-footer {
	box-sizing: border-box;
	margin: 0;
	padding: 0 2%;
	border-top: 1px solid #666;
	background: var(--c3-live-footer) url("../images/footer_bg.jpg") repeat-x;
	color: #fff;
}

footer.site-footer .footer_container {
	display: grid;
	grid-template-columns: minmax(170px, 1.15fr) minmax(105px, .72fr) minmax(110px, .75fr) minmax(175px, 1fr) minmax(130px, .78fr);
	gap: 18px;
	box-sizing: border-box;
	width: auto;
	max-width: 1040px;
	min-height: 210px;
	margin: -1px auto 0;
	padding: 38px 0 0;
}

.c3-footer-logo {
	display: block;
	width: 172px;
	height: 160px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.c3-footer-brand {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.c3-footer-iaa {
	display: flex;
	gap: 4px;
	align-items: flex-start;
	margin-top: auto;
	padding-top: 12px;
	flex-direction: column;
}

.c3-footer-iaa span {
	max-width: none;
	padding: 0;
	color: #fff;
	font: bold .8em/1.2 Arial, Helvetica, sans-serif;
	text-transform: lowercase;
}

.c3-footer-iaa img {
	display: block;
	width: auto;
	max-width: 138px;
	max-height: 40px;
}

.c3-footer-nav-group h2,
.c3-footer-contact h2,
.c3-footer-follow h2 {
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	color: #fff;
	font: bold 18px/20px Arial, Helvetica, sans-serif;
	text-transform: lowercase;
}

.c3-footer-nav-group ul {
	margin: 0;
	padding: 0;
}

.c3-footer-nav-group li {
	padding: 0 0 5px;
}

.c3-footer-nav-group a,
.c3-footer-contact p,
.c3-footer-social-links a {
	color: #ccc;
	font-family: "Droid Sans", Arial, Helvetica, sans-serif;
}

.c3-footer-nav-group a {
	font-size: 1.3em;
	line-height: 1.35;
	text-transform: lowercase;
}

.c3-footer-contact p {
	margin: 0 0 8px;
	font-size: .8em;
	line-height: 20px;
}

.c3-footer-nav-group a:hover,
.c3-footer-contact a:hover,
.c3-footer-social-links a:hover {
	color: var(--c3-live-blue-hover);
}

.c3-footer-social-links {
	display: grid;
	gap: 7px;
	margin-top: 0;
}

.c3-footer-social-links a {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 7px;
	align-items: center;
	width: auto;
	height: auto;
	background: none;
	font-size: .8em;
	line-height: 1.25;
	text-decoration: none;
}

.c3-footer-social-links a::before {
	display: block;
	width: 16px;
	height: 16px;
	background-color: var(--c3-live-blue-hover);
	content: "";
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.c3-footer-social--linkedin::before { -webkit-mask-image: url("../images/icons/social-linkedin.svg"); mask-image: url("../images/icons/social-linkedin.svg"); }
.c3-footer-social--facebook::before { -webkit-mask-image: url("../images/icons/social-facebook.svg"); mask-image: url("../images/icons/social-facebook.svg"); }
.c3-footer-social--youtube::before { -webkit-mask-image: url("../images/icons/social-youtube.svg"); mask-image: url("../images/icons/social-youtube.svg"); }
.c3-footer-social--instagram::before { -webkit-mask-image: url("../images/icons/social-instagram.svg"); mask-image: url("../images/icons/social-instagram.svg"); }
.c3-footer-social--twitter::before { -webkit-mask-image: url("../images/icons/social-twitter.svg"); mask-image: url("../images/icons/social-twitter.svg"); }
.c3-footer-social--bidspotter::before { -webkit-mask-image: url("../images/icons/social-bidspotter.svg"); mask-image: url("../images/icons/social-bidspotter.svg"); }

.footer_copyright {
	box-sizing: border-box;
	width: 95%;
	margin: 24px auto 0;
	padding: 10px 0;
	border-top: 1px solid #666;
	box-shadow: 0 -1px #333;
	color: #888;
	font-size: .9em;
	text-align: center;
}

.footer_copyright a {
	color: #fff;
}

/* Legacy home slider is still available and keeps its original texture/arrows. */
#subcontent_wrapper {
	background: url("../images/subcontent_bg.jpg") repeat-x;
}

/* Responsive menu and layout. */
@media (max-width: 1180px) {
	body.mobile-menu-open {
		overflow: hidden;
	}

	header.site-header,
	header.site-header .header_container {
		height: 90px;
	}

	#logo {
		top: 8px;
		width: 178px;
		height: 82px;
	}

	#logo img {
		width: 170px;
		height: 82px;
	}

	.c3-footer-logo {
		width: 170px;
		height: 82px;
	}

	#top_nav,
	#nav {
		display: none;
	}

	#mobile_nav_icon {
		top: 27px;
		bottom: auto;
		display: block;
	}

	body.mobile-menu-open #mobile_nav_icon {
		position: fixed;
		top: 27px;
		right: 18px;
	}

	body.mobile-menu-open #mobile_nav_icon span:nth-child(1) { top: 20px; transform: rotate(45deg); }
	body.mobile-menu-open #mobile_nav_icon span:nth-child(2) { opacity: 0; }
	body.mobile-menu-open #mobile_nav_icon span:nth-child(3) { top: 20px; transform: rotate(-45deg); }

	#mobile_nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		display: block !important;
		box-sizing: border-box;
		width: min(82vw, 330px);
		height: 100vh !important;
		padding: 76px 18px 28px;
		overflow-x: hidden;
		overflow-y: auto;
		background: #fff;
		box-shadow: -18px 0 40px rgba(0, 0, 0, .25);
		transform: translateX(105%);
		transition: transform .24s ease;
	}

	body.mobile-menu-open #mobile_nav {
		transform: translateX(0);
	}

	#mobile_nav > ul {
		position: static;
		display: block !important;
		box-sizing: border-box;
		width: 100%;
		padding: 0;
		opacity: 1 !important;
		background: transparent;
	}

	#mobile_nav ul li {
		padding: 0;
		border-top: 1px solid #fff;
	}

	#mobile_nav ul li a {
		min-height: 42px;
		padding: 10px 44px 8px 5px;
		font: bold 1.15em/20px Arial, Helvetica, sans-serif;
		text-transform: lowercase;
	}

	#mobile_nav ul ul {
		position: static;
		display: none;
		box-sizing: border-box;
		width: 100%;
		padding: 0 0 8px 14px;
		opacity: 1;
		background: transparent;
	}

	#mobile_nav ul ul li a {
		min-height: 36px;
		padding: 8px 6px;
		background: var(--c3-live-blue-hover) !important;
		font-size: 1em;
	}

	.mobile_utility_nav {
		display: flex;
		flex-wrap: wrap;
		gap: 8px 16px;
		margin-top: 24px;
		padding-top: 18px;
		border-top: 1px solid #ccc;
	}

	.mobile_utility_nav a {
		color: var(--c3-live-blue);
		font: bold 1em/20px Arial, Helvetica, sans-serif;
		text-transform: lowercase !important;
	}

	.mobile_utility_nav .c3-logout-form {
		margin: 0;
	}

	.mobile_utility_nav .c3-logout-link {
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--c3-live-blue);
		font: bold 1em/20px Arial, Helvetica, sans-serif;
		text-transform: lowercase;
		cursor: pointer;
	}

	#mobile_nav_overlay {
		position: fixed;
		inset: 0;
		z-index: 1190;
		display: block;
		width: 100%;
		height: 100%;
		padding: 0;
		border: 0;
		background: rgba(0, 0, 0, .55);
		opacity: 0;
		pointer-events: none;
		transition: opacity .24s ease;
	}

	body.mobile-menu-open #mobile_nav_overlay {
		opacity: 1;
		pointer-events: auto;
	}

	footer.site-footer .footer_container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 26px 34px;
	}
}

@media (max-width: 580px) {
	header.site-header,
	header.site-header .header_container {
		height: 82px;
	}

	#logo {
		top: 8px;
		width: 158px;
		height: 74px;
	}

	#logo img {
		width: 150px;
		height: 74px;
	}

	.c3-footer-logo {
		width: 150px;
		height: 74px;
	}

	#mobile_nav_icon,
	body.mobile-menu-open #mobile_nav_icon {
		top: 23px;
	}

	article .main_container,
	article .main_container.cms-custom-styled {
		width: auto;
		max-width: none;
	}

	.public-standard-content article .left_column {
		margin-right: 0;
	}

	.public-standard-content article .content_image {
		float: none;
		max-width: 100%;
		padding: 0;
	}

	footer.site-footer .footer_container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 420px) {
	.theme-default .nivo-directionNav a {
		width: 42px;
		height: 58px;
		margin-top: -29px;
	}

	.theme-default .nivo-directionNav a::after {
		top: 50%;
		left: 50%;
		width: 14px;
		height: 14px;
		margin: -7px 0 0 -7px;
	}

	.theme-default a.nivo-prevNav { left: 8px; }
	.theme-default a.nivo-nextNav { right: 8px; }
}

/* Keep the authored contact page usable after returning to the live rhythm. */
.c3-public-section-inner {
	box-sizing: border-box;
	width: auto;
	max-width: 1040px;
	margin: 0 auto;
}

.c3-contact-hero {
	padding: 26px 0 24px;
}

.c3-contact-eyebrow {
	margin: 0 0 5px;
	color: var(--c3-live-blue-hover);
	font: bold .8em/20px Arial, Helvetica, sans-serif;
	text-transform: lowercase;
}

.c3-contact-hero h1 {
	margin: 0 0 8px;
	color: #fff;
	font: bold 2em/1.1 Arial, Helvetica, sans-serif;
	text-transform: uppercase;
}

.c3-contact-hero p:last-child {
	margin: 0;
	color: #ccc;
	font-size: .9em;
	line-height: 1.4;
}

.c3-contact-main,
.c3-contact-follow,
.c3-contact-map {
	padding: 30px 0;
}

.c3-contact-grid {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 25px;
	align-items: start;
}

.c3-contact-company {
	box-sizing: border-box;
	padding: 20px;
}

.c3-contact-company h2,
.c3-contact-people > h2 {
	margin: 0 0 16px;
	font: bold 1.2em/1.2 Arial, Helvetica, sans-serif;
}

.c3-contact-company-name {
	margin: 0 0 14px;
	font-size: .9em;
	font-weight: bold;
}

.c3-contact-details {
	display: grid;
	gap: 10px;
}

.c3-contact-detail {
	position: relative;
	min-height: 32px;
	margin: 0;
	padding-left: 34px;
	font-size: .8em;
	line-height: 1.4;
}

.c3-contact-detail::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 24px;
	height: 24px;
	background-color: var(--c3-live-blue);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 18px;
	content: \"\";
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.c3-contact-detail--location::before { -webkit-mask-image: url(\"../images/icons/contact-location.svg\"); mask-image: url(\"../images/icons/contact-location.svg\"); }
.c3-contact-detail--phone::before { -webkit-mask-image: url(\"../images/icons/contact-phone.svg\"); mask-image: url(\"../images/icons/contact-phone.svg\"); }
.c3-contact-detail--fax::before { -webkit-mask-image: url(\"../images/icons/contact-fax.svg\"); mask-image: url(\"../images/icons/contact-fax.svg\"); }

.c3-contact-people-list {
	display: grid;
	gap: 10px;
}

.c3-contact-person {
	display: grid;
	grid-template-columns: minmax(205px, .8fr) minmax(0, 1.75fr);
	grid-template-rows: auto auto;
	gap: 1px 18px;
	align-items: center;
	box-sizing: border-box;
	min-height: 74px;
	padding: 13px 16px;
}

.c3-contact-person h3 {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	font: bold 1.12em/1.18 Arial, Helvetica, sans-serif;
}

.c3-contact-person-role {
	grid-column: 1;
	grid-row: 2;
	margin: 0;
	color: var(--c3-live-blue);
	font-size: .8em;
	font-weight: bold;
	line-height: 1.2;
}

.c3-contact-person-links {
	display: grid;
	grid-column: 2;
	grid-row: 1 / span 2;
	grid-template-columns: minmax(145px, 1.05fr) minmax(82px, .55fr) minmax(0, 1.4fr);
	gap: 6px 18px;
	align-items: center;
	width: 100%;
	margin: 0;
	font-size: .8em;
	line-height: 1.3;
}

.c3-contact-person-links a {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	color: var(--c3-live-ink);
	white-space: nowrap;
}

.c3-contact-person-links a[href^=\"tel:\"]::before,
.c3-contact-person-links a[href^=\"mailto:\"]::before,
.c3-contact-person-linkedin::before {
	display: inline-block;
	width: 16px;
	height: 16px;
	background-color: var(--c3-live-blue);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: \"\";
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.c3-contact-person-links a[href^=\"tel:\"]::before { -webkit-mask-image: url(\"../images/icons/contact-phone.svg\"); mask-image: url(\"../images/icons/contact-phone.svg\"); }
.c3-contact-person-links a[href^=\"mailto:\"]::before { -webkit-mask-image: url(\"../images/icons/contact-mail.svg\"); mask-image: url(\"../images/icons/contact-mail.svg\"); }
.c3-contact-person-linkedin::before { -webkit-mask-image: url(\"../images/icons/social-linkedin.svg\"); mask-image: url(\"../images/icons/social-linkedin.svg\"); }

.c3-contact-follow-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 13px;
	max-width: 1040px;
	margin: 24px auto 0;
}

.c3-contact-follow-card {
	position: relative;
	display: grid;
	grid-template-columns: 42px 1fr auto;
	gap: 12px;
	align-items: center;
	box-sizing: border-box;
	min-height: 76px;
	padding: 12px 14px;
	color: var(--c3-live-ink);
}

.c3-contact-follow-card::before {
	display: block;
	width: 42px;
	height: 42px;
	background: var(--c3-live-blue);
	content: \"\";
}

.c3-contact-follow-card::after {
	position: absolute;
	top: 50%;
	left: 21px;
	width: 24px;
	height: 24px;
	background: #fff;
	content: \"\";
	pointer-events: none;
	transform: translateY(-50%);
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.c3-contact-follow-card[href*=\"linkedin.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-linkedin.svg\"); mask-image: url(\"../images/icons/social-linkedin.svg\"); }
.c3-contact-follow-card[href*=\"facebook.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-facebook.svg\"); mask-image: url(\"../images/icons/social-facebook.svg\"); }
.c3-contact-follow-card[href*=\"youtube.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-youtube.svg\"); mask-image: url(\"../images/icons/social-youtube.svg\"); }
.c3-contact-follow-card[href*=\"instagram.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-instagram.svg\"); mask-image: url(\"../images/icons/social-instagram.svg\"); }
.c3-contact-follow-card[href*=\"x.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-twitter.svg\"); mask-image: url(\"../images/icons/social-twitter.svg\"); }
.c3-contact-follow-card[href*=\"bidspotter.com\"]::after { -webkit-mask-image: url(\"../images/icons/social-bidspotter.svg\"); mask-image: url(\"../images/icons/social-bidspotter.svg\"); }

.c3-contact-follow-card strong {
	display: block;
	color: var(--c3-live-ink);
	font: bold .9em/1.2 Arial, Helvetica, sans-serif;
}

.c3-contact-follow-card small {
	display: block;
	margin-top: 3px;
	color: #666;
	font-size: .75em;
	line-height: 1.3;
}

.c3-contact-follow-arrow {
	color: var(--c3-live-blue);
	font-size: 1.2em;
}

/* Contact-page social links use the same six footer icon assets at a larger,
 * icon-only size. Keep the row compact and accessible through each link's
 * aria-label. */
.c3-contact-social-links,
.c3-contact-follow-grid {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: 18px;
	max-width: none;
	margin: 24px 0 32px;
}

.c3-contact-social-links a,
.c3-contact-follow-card {
	position: relative;
	display: inline-flex;
	width: 42px;
	height: 42px;
	flex: 0 0 42px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--c3-live-blue-hover);
	text-decoration: none;
	transition: opacity .18s ease;
}

.c3-contact-social-links a > span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	border: 0;
	white-space: nowrap;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}

.c3-contact-social-links a::before,
.c3-contact-follow-card::after {
	position: static;
	display: block;
	width: 34px;
	height: 34px;
	background-color: var(--c3-live-blue-hover);
	content: "";
	transform: none;
	-webkit-mask-position: center;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.c3-contact-follow-card::before {
	display: none;
}

.c3-contact-follow-card > span {
	display: none;
}

.c3-contact-social-links a:hover,
.c3-contact-social-links a:focus-visible,
.c3-contact-follow-card:hover,
.c3-contact-follow-card:focus-visible {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
	opacity: .72;
}

.c3-contact-social-links a:hover::before,
.c3-contact-social-links a:focus-visible::before,
.c3-contact-follow-card:hover::after,
.c3-contact-follow-card:focus-visible::after {
	background-color: var(--c3-live-blue-hover);
}

.c3-contact-social-links a:focus-visible,
.c3-contact-follow-card:focus-visible {
	outline: 2px solid var(--c3-live-blue-hover);
	outline-offset: 4px;
}

@media (max-width: 820px) {
	.c3-contact-grid {
		grid-template-columns: 1fr;
	}

	.c3-contact-person {
		grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr);
	}
}

@media (max-width: 580px) {
	.c3-public-section-inner {
		width: auto;
		margin-right: 16px;
		margin-left: 16px;
	}

	.c3-contact-person {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 3px;
	}

	.c3-contact-person h3,
	.c3-contact-person-role,
	.c3-contact-person-links {
		grid-column: auto;
		grid-row: auto;
	}

	.c3-contact-person-links {
		grid-template-columns: 1fr;
		gap: 6px;
		margin-top: 7px;
	}

	.c3-contact-follow-grid {
		gap: 10px;
		justify-content: space-between;
	}

	.c3-contact-social-links {
		gap: 10px;
		justify-content: space-between;
	}

	.c3-contact-social-links a,
	.c3-contact-follow-card {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.c3-contact-social-links a::before,
	.c3-contact-follow-card::after {
		width: 32px;
		height: 32px;
	}
}

@media (max-width: 380px) {
	.c3-contact-social-links,
	.c3-contact-follow-grid {
		gap: 5px;
	}

	.c3-contact-social-links a,
	.c3-contact-follow-card {
		width: 36px;
		height: 36px;
		flex-basis: 36px;
	}

	.c3-contact-social-links a::before,
	.c3-contact-follow-card::after {
		width: 28px;
		height: 28px;
	}
}
