@media (max-width: 575.98px) {
	.custom-logo-link img.custom-logo {
		max-width: 225px !important;
		margin-left: 12px !important;
		height: auto !important;
		display: block;
	}
}
@media (max-width: 991.98px) {
	.custom-logo-link img.custom-logo {
		margin-left: 1rem !important;
	}
}
@media (max-width: 991.98px) {
	.cato-logo-marquee-outer {
		width: 100vw;
		min-width: 100vw;
		overflow-x: hidden;
	}
	.cato-logo-marquee {
		min-width: 100vw;
	}
}
/* Logo Marquee Animation Fix */
.cato-logo-marquee-outer {
	overflow: hidden;
	width: 100%;
	padding: 1.5rem 0;
	background: transparent;
}
	.cato-logo-marquee {
		display: flex;
		align-items: center;
		width: max-content;
		will-change: transform;
		animation: cato-marquee 60s linear infinite;
		animation-timing-function: linear;
	}
  
	@keyframes cato-marquee {
		0% {
			transform: translate3d(100%, 0, 0);
		}
		100% {
			transform: translate3d(-100%, 0, 0);
		}
	}
@keyframes cato-marquee {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}

/* Larger, bolder nav links on desktop */
@media (min-width: 992px) {
	.navbar .nav-link {
		font-size: 1.43rem !important;
		font-weight: 700 !important;
	}
	.navbar .dropdown-item {
		font-size: 1.43rem !important;
		font-weight: 700 !important;
	}
}
@media (max-width: 991.98px) {
	/* Stack about panel columns vertically on mobile */
	.row.align-items-stretch.flex-nowrap.p-4.py-5 {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		gap: 1.5rem !important;
	}
	.col-lg-6.mb-4.mb-lg-0.d-flex.justify-content-center {
		margin-bottom: 1rem !important;
		justify-content: center !important;
	}
	.col-lg-6 {
		width: 100% !important;
		max-width: 100% !important;
	}
	.img-fluid.rounded.shadow {
		max-width: 100% !important;
		width: auto !important;
		border-radius: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
		display: block !important;
		/* No extra padding, just contain image */
	}
}
/* === Desktop Nav Sizing (50% increase) === */
.navbar-nav .nav-link {
	font-size: 1.5rem;
}

/* === Responsive Navigation for Mobile === */
@media (max-width: 991.98px) {
	.navbar {
		flex-direction: column;
		align-items: flex-start;
		padding: 0.5rem 1rem;
	}
	.navbar .container {
		flex-direction: row;
		align-items: center;
		width: 100%;
		padding: 0;
		position: relative;
	}
	.navbar-toggler {
		display: block;
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translateY(-50%);
		font-size: 2rem;
		border: none;
		background: transparent;
		margin: 0;
		z-index: 10;
	}
	.navbar-collapse {
		width: 100%;
		background: #fff;
		border-radius: 0 0 10px 10px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		margin-top: 0.5rem;
	}
	.navbar-nav {
		flex-direction: column;
		width: 100%;
		background: #fff;
		border-radius: 0 0 10px 10px;
		box-shadow: 0 4px 12px rgba(0,0,0,0.08);
		padding: 0.5rem 0;
	}
	.navbar-nav .nav-item {
		width: 100%;
		text-align: left;
		margin: 0;
	}
	.navbar-nav .nav-link {
		padding: 0.75rem 1rem;
		font-size: 1.375rem;
		width: 100%;
		display: block;
	}
	.navbar-nav .dropdown-menu {
		position: static;
		float: none;
		width: 100%;
		box-shadow: none;
		border-radius: 0;
		background: #f8f9fa;
		margin: 0;
	}
	.navbar-nav .dropdown-menu .dropdown-item {
		padding-left: 2rem;
		width: 100%;
	}
	.custom-logo {
		max-width: 200px;
		height: auto;
		margin-bottom: 0.5rem;
	}
}

/* === CATO Dropdown Custom Highlight === */
.navbar-nav .dropdown-menu .dropdown-item:hover,
.navbar-nav .dropdown-menu .dropdown-item:focus,
.navbar-nav .dropdown-menu .dropdown-item.active {
	background-color: #e43d31 !important; /* CATO Red */
	color: #fff !important;
}

/* Remove Bootstrap default gray hover for dropdown */
.navbar-nav .dropdown-menu .dropdown-item {
	background-color: #fff;
	color: #064589;
	transition: background 0.15s, color 0.15s;
}

/* Highlight parent nav-link when dropdown is open or child is hovered/focused/active */
.navbar-nav .nav-item.show > .nav-link,
.navbar-nav .nav-item:focus-within > .nav-link,
.navbar-nav .nav-item:hover > .nav-link {
	background-color: #e43d31 !important;
	color: #fff !important;
}

/* Remove Bootstrap default gray hover for nav-link */
.navbar-nav .nav-link {
	background-color: transparent;
	color: #064589;
	transition: background 0.15s, color 0.15s;
}

/* Ensure dropdown-toggle caret stays white on highlight */
.navbar-nav .nav-item.show > .nav-link.dropdown-toggle::after,
.navbar-nav .nav-item:hover > .nav-link.dropdown-toggle::after,
.navbar-nav .nav-item:focus-within > .nav-link.dropdown-toggle::after {
	color: #fff !important;
}
.wpcf7 .screen-reader-response {
	position: absolute;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	word-wrap: normal !important;
}

.wpcf7 form .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
	border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
	position: relative;
}

.wpcf7-not-valid-tip {
	color: #dc3232; /* Red */
	font-size: 1em;
	font-weight: normal;
	display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
	position: relative;
	top: -2ex;
	left: 1em;
	z-index: 100;
	border: 1px solid #dc3232;
	background: #fff;
	padding: .2em .8em;
	width: 24em;
}

.wpcf7-list-item {
	display: inline-block;
	margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
	content: " ";
}

.wpcf7-spinner {
	visibility: hidden;
	display: inline-block;
	background-color: #23282d; /* Dark Gray 800 */
	opacity: 0.75;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 100%;
	padding: 0;
	margin: 0 24px;
	position: relative;
}

form.submitting .wpcf7-spinner {
	visibility: visible;
}

.wpcf7-spinner::before {
	content: '';
	position: absolute;
	background-color: #fbfbfc; /* Light Gray 100 */
	top: 4px;
	left: 4px;
	width: 6px;
	height: 6px;
	border: none;
	border-radius: 100%;
	transform-origin: 8px 8px;
	animation-name: spin;
	animation-duration: 1000ms;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7-spinner::before {
		animation-name: blink;
		animation-duration: 2000ms;
	}
}

@keyframes spin {
	from {
		transform: rotate(0deg);
	}

	to {
		transform: rotate(360deg);
	}
}

@keyframes blink {
	from {
		opacity: 0;
	}

	50% {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

.wpcf7 [inert] {
	opacity: 0.5;
}

.wpcf7 input[type="file"] {
	cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
	cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
	cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
	direction: ltr;
}

.wpcf7-reflection > output {
	display: list-item;
	list-style: none;
}

.wpcf7-reflection > output[hidden] {
	display: none;
}

/* ============================================================
   RESPONSIVE: Tablet & Phone overrides (shared across all pages)
   ============================================================ */

/* Prevent horizontal scroll from 100vw breakouts */
/* Note: overflow-x:hidden breaks position:sticky on nav; use clip instead */
html, body {
	overflow-x: clip;
}

@media (max-width: 768px) {
	/* Scale down "Join CATO" mega-buttons */
	.btn-join-cato {
		font-size: 1.6rem !important;
		padding: 0.4em 1em !important;
	}

	/* Scale section titles */
	h2.section-title,
	.section-title {
		font-size: 2rem !important;
	}

	/* Scale down large headings */
	h1 {
		font-size: 2rem !important;
	}
	h2 {
		font-size: 1.8rem !important;
	}
	h3, h4 {
		font-size: 1.4rem !important;
	}

	/* Scale body text from 1.7rem to something readable on mobile */
	p {
		font-size: 1.1rem !important;
	}

	/* Reduce hero section fixed heights */
	[style*="height: 500px"],
	[style*="height:500px"] {
		height: auto !important;
		min-height: 300px !important;
	}
	[style*="height: 400px"],
	[style*="height:400px"] {
		height: auto !important;
		min-height: 250px !important;
	}
	[style*="min-height: 600px"],
	[style*="min-height:600px"] {
		min-height: 350px !important;
	}

	/* Reduce oversized vertical margins */
	[style*="margin-top: 100px"] {
		margin-top: 40px !important;
	}
	[style*="margin-top: 120px"],
	[style*="margin-bottom: 120px"] {
		margin-top: 40px !important;
		margin-bottom: 40px !important;
	}
	[style*="margin-top: 6rem"] {
		margin-top: 2rem !important;
	}
	[style*="margin-bottom: 6rem"] {
		margin-bottom: 2rem !important;
	}

	/* Fix About page principle icon boxes */
	.bs-icon-lg.bs-icon-primary {
		width: 5rem !important;
		height: 5rem !important;
	}
	.bs-icon-lg .form-label {
		font-size: 4rem !important;
	}
}

/* Extra small phones */
@media (max-width: 480px) {
	.btn-join-cato {
		font-size: 1.3rem !important;
		padding: 0.3em 0.8em !important;
	}
	h2.section-title,
	.section-title {
		font-size: 1.6rem !important;
	}
	h1 {
		font-size: 1.6rem !important;
	}
	h2 {
		font-size: 1.5rem !important;
	}
}
