/* WordPress Gallery
------------------------------------------ */

.gallery {
	margin-left: -0.5em;
	margin-right: -0.5em;
}

.gallery:after {
	display: table;
	content: "";
	clear: both;
}

.gallery-item {
	margin: 0;
	float: left;
	padding: 0.5em;
}

.gallery-item img {
	width: 100%;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
	float: none;
}

.gallery-columns-2 .gallery-item {
	width: 50%
}

.gallery-columns-3 .gallery-item {
	width: 33.3333%
}

.gallery-columns-4 .gallery-item {
	width: 25%
}

.gallery-columns-5 .gallery-item {
	width: 20%
}

.gallery-columns-6 .gallery-item {
	width: 16.6667%
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%
}

.gallery-columns-8 .gallery-item {
	width: 12.5%
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

/* =WordPress Core
-------------------------------------------------------------- */
.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #fff;
	border: 1px solid #f0f0f0;
	max-width: 96%; /* Image does not overflow the content area */
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption p.wp-caption-text {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	white-space: nowrap;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}


.logged-in.admin-bar .l-header-variable,
.logged-in.admin-bar .l-header-minimal {
	top: 0px;
}

.mw_wp_form_confirm .c-forms__privacy {
	display: none !important;
}

.mw_wp_form_confirm #zipauto,
.mw_wp_form_confirm .c-forms__note,
.mw_wp_form_confirm .c-forms__block.is-privacy-policy {
	display: none !important;
}

.mw_wp_form_confirm .c-forms__privacy a,
.mw_wp_form_confirm .c-forms__block a {
	text-decoration: none !important;
	color: inherit !important;
	pointer-events: none !important;
}

.c-block-special__inner.is-text-full .c-block-special__content {
	width: 100% !important;
}

.c-box-member__name {
	line-height: 1.6;
}
.c-box-member__name span {
	display: block;
}
.c-box-member__name small {
	margin-left: 0;
}

.mw_wp_form .horizontal-item  {
	margin-left: 0 !important;
	min-width: 130px;
}

.mw_wp_form .horizontal-item label  {
	min-width: 130px;
	margin-right: 0;
}
.mw_wp_form .c-forms__checkbox {
	width: 100%;

}

/* ------------------------------------------
   Mobile overflow fixes
   - Prevent horizontal scroll on small screens
   - Avoid header clipping the hamburger/menu
------------------------------------------ */
@media screen and (max-width: 59.3125em) {
	html,
	body {
		overflow-x: hidden !important;
	}

	/* Header should not clip contents on mobile */
	.l-header-variable {
		overflow: visible !important;
	}

	/* Prevent known full-bleed blocks from extending layout width */
	.c-banners-lg__block,
	.c-card-lg__overflow,
	.c-block-message__image,
	.c-block-interview__mainimage,
	.c-hero-block__image,
	.c-hero-block__bnr,
	.c-main-visual__image,
	.c-card-interview__inner,
	.c-card__inner,
	.c-hero-block-line__image {
		max-width: 100vw !important;
		overflow: hidden !important;
	}

	/* Ensure slidebar container cannot create horizontal scroll when closed */
	.c-slidebar-container {
		overflow-x: hidden !important;
	}

	/* Fix breadcrumb causing horizontal overflow on mobile */
	.c-breadcrumb__inner {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		box-sizing: border-box !important;
	}
	.c-breadcrumb {
		overflow-x: hidden !important;
	}

	/* Reserve space for hamburger and prevent logo overlap */
	.l-header-variable {
		padding-right: 4.375rem !important; /* width of hamburger button area */
	}
	.l-header-variable__heading a,
	.l-header-variable__heading img {
		height: 4.375rem !important; /* match header height */
		max-width: 100% !important; /* allow full width within padded container */
		width: auto !important;
		/* object-fit removed to avoid unexpected shrink */
	}
}

/* Center page header title vertically within the image */
.l-page-header__inner {
	position: absolute;
	top: 0 !important;
	left: 0;
	right: 0;
	bottom: 0;
	margin-top: 0 !important;
	-webkit-transform: none !important;
	transform: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 59.3125em) {
	/* Ensure page header image sits below fixed header on mobile */
	.l-page-header {
		margin-top: 4.375rem !important; /* match .l-header-variable height */
	}

	/* Homepage hero: ensure it sits below the fixed header */
	.c-main-visual {
		margin-top: 4.375rem !important; /* match mobile header height */
	}
}

@media screen and (min-width: 59.375em) {
	/* Ensure page header image sits below fixed header on desktop */
	.l-page-header {
		margin-top: 7.25rem !important; /* adjust as needed if the desktop header height differs */
	}

	/* Homepage hero: ensure it sits below the fixed header */
	/* .c-main-visual {  */
	/* 	margin-top: 7.25rem !important; */ /* match desktop header height */
	/* } */
}
