.wsu-logo-lockup--style-campus .wsu-logo-lockup__title-wrapper {
	padding: 0 2em;
}

.wsu-logo-lockup--style-campus .wsu-logo-lockup__title {
	font-size: clamp(1.5rem,4.3vw,3.7rem) !important;
	font-weight: 900 !important;
	color: #333 !important;
	text-transform: uppercase !important;
	line-height: .95 !important;
	letter-spacing: .05em !important;
}

.wsu-wrapper-content {
	max-width: 1600px;
}

.wsu-max-width--hero {
	max-width: 1600px !important;
}

p {
	margin-top: 0;
	margin-bottom: 2.25rem;
	max-width: 1600px !important;
	font-size: 1.125rem;
	position: relative;
}

p~ol li, p~ul li {
	max-width: 1600px;
}

//never touch above
p {
	max-width: 1600px;
}

.wsu-spacing-after--xxmedium,.wsu-spacing-margin-bottom--xxmedium {
	margin-bottom: 2.25rem !important;
}

.wsu-custom-side-nav {
	border-top: 8px solid #ca1237;
	border-left: 1px solid #e6e6e6;
}

.wsu-custom-side-nav::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	left: -30px;
	width: 30px;
	height: auto;
	background: linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,.05) 100%);
}

/*SIDE CARD STARTS HERE*/
/* Base Reset & Card */
.cougar-card-container {
	max-width: 420px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	padding: 28px;
	font-family: "Open Sans", Arial, sans-serif;
	box-shadow: 0 10px 25px rgba(0,0,0,0.08);
	margin: 20px auto;
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}

.card-main-title {
	font-size: 1.4rem;
	margin: 0 0 20px;
	color: #222;
	font-weight: 700;
}

/* Contact Section */
.contact-list {
	font-style: normal;
	margin-bottom: 25px;
}

.contact-row-item {
	display: flex;
	align-items: flex-start;
/* Better for long location text */
	margin-bottom: 15px;
	font-size: .95rem;
}

.contact-row-item i {
	color: #981e32;
	width: 24px;
	margin-right: 10px;
	margin-top: 4px;
	text-align: center;
	font-size: 1.1rem;
}

.contact-row-item a {
	color: #981e32;
	text-decoration: none;
	font-weight: 300;
	transition: .2s;
}

.contact-row-item a:hover {
	text-decoration: underline;
	color: #6e1524;
}

/* Blocks */
.hours-block {
	background: #fcfcfc;
	border: 1px solid #f0f0f0;
	border-radius: 10px;
	padding: 20px;
}

.hours-header {
	font-size: 1.15rem;
	color: #222;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid #981e32;
}

/* Schedule Rows */
.hours-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.hours-row {
	display: flex;
	align-items: baseline;
	padding: 7px 0;
	font-size: .92rem;
	color: #444;
}

.day-group {
	display: flex;
	align-items: center;
}

/* Badges & Dots */
.badge {
	font-size: .7rem;
	background: #eee;
	padding: 2px 6px;
	border-radius: 4px;
	text-transform: uppercase;
	margin-left: 8px;
	color: #555;
}

.dots {
	flex-grow: 1;
	border-bottom: 1px dotted #ccc;
	margin: 0 10px;
	position: relative;
	top: -4px;
}

/* States */
.is-today {
	background: #fff5f6;
	color: #981e32;
	margin: 2px -10px;
	padding: 8px 10px !important;
	border-radius: 6px;
	font-weight: 700;
}

.is-today .dots {
	border-bottom-color: #981e32;
	opacity: .3;
}

.is-closed {
	opacity: .5;
	font-style: italic;
}

/* Facility Layout */
.facility-row {
	display: flex;
	align-items: flex-end;
	padding: 12px 0;
	border-bottom: 1px solid #eee;
}

.facility-row:last-child {
	border-bottom: none;
}

.facility-info {
	display: flex;
	flex-direction: column;
	max-width: 220px;
}

.facility-info strong {
	font-size: .95rem;
	color: #222;
}

.facility-info span {
	font-size: .85rem;
	color: #5e6a71;
}

.facility-time {
	font-weight: 600;
	font-size: .9rem;
	color: #981e32;
	white-space: nowrap;
}

/* Responsive */
@media (max-width: 450px) {
	.cougar-card-container {
		padding: 20px;
	}
	
	.dots {
		display: none;
	}
	
	.hours-row,
																								.facility-row {
		justify-content: space-between;
		border-bottom: 1px solid #f0f0f0;
	}
	
	.facility-info {
		max-width: 60%;
	}
}

/*SIDE CARD END HERE*/
/* START: Animated Card Group Styles */
#marcom-1 {
	padding: clamp(3.75rem,7.82vw,6.25rem) 1rem;
	font-family: "Source Sans 3", sans-serif;
}

.wsuv-animated-card-group-container {
	max-width: 80rem;
	margin: auto;
	display: flex;
	flex-direction: column;
}

.wsuv-animated-card-group-card-group {
	display: grid;
	grid-template-columns: repeat(12,1fr);
	padding: 0;
	list-style: none;
	margin: 0;
}

/* Mobile Stacking Logic */
.wsuv-animated-card-group-item {
	grid-column: span 12;
/* margin-top handles vertical spacing since gap is removed */
	margin-top: 3.5rem;
}

/* Desktop Logic */
@media (min-width: 48rem) {
	.wsuv-animated-card-group-item {
		grid-column: span 6;
	}
	
	/* Negative margin on parent to simulate horizontal gap */
	.wsuv-animated-card-group-card-group {
		margin-left: -1rem;
		margin-right: -1rem;
	}
	
	.wsuv-animated-card-group-item {
		margin-left: 1rem;
		margin-right: 1rem;
	}
}

.wsuv-animated-card-group-link {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 2.5rem 4rem;
	background-color: #f7f7f7;
	border-radius: 1rem;
	text-decoration: none;
	transition: background-color .3s;
	z-index: 1;
}

.wsuv-animated-card-group-icon-wrapper {
	width: 5.5rem;
	height: 5.5rem;
	background-color: #4d4d4d;
	margin: -2.75rem 0 2rem;
	border-radius: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color .3s;
}

.wsuv-animated-card-group-icon {
	width: 2.5rem;
	height: 2.5rem;
	filter: brightness(0) invert(1);
	transition: filter .3s;
}

.wsuv-animated-card-group-background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	background: #4d4d4d;
	border-radius: 1rem;
	overflow: hidden;
	z-index: -1;
	transition: opacity .3s;
}

.wsuv-animated-card-group-graphic {
	position: absolute;
	bottom: -3rem;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: bottom;
	opacity: 0;
	transition: opacity 0.5s, bottom .5s;
}

.wsuv-animated-card-group-fake-link {
	position: relative;
	display: inline-block;
	width: fit-content;
	color: #4d4d4d;
	font-weight: 700;
	font-size: .9rem;
	text-transform: uppercase;
	transition: color 0.3s, padding .3s;
	z-index: 1;
}

.wsuv-animated-card-group-fake-link::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #981f31;
	border-radius: .5rem;
	z-index: -1;
	transform: scaleX(0);
	transition: transform .3s;
}

.wsuv-animated-card-group-item-text,
.wsuv-animated-card-group-h3 {
	color: #4d4d4d;
}

/* HOVER STATES */
.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-background {
	opacity: 1;
}

.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-graphic {
	opacity: 1;
	bottom: 0;
}

.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-icon {
	filter: grayscale(1) brightness(0.6);
}

.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-icon-wrapper {
	background-color: #981f31;
}

.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-h3,
.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-item-text {
	color: #fff;
}

.wsuv-animated-card-group-item:hover .wsuv-animated-card-group-fake-link {
	color: #fff;
	padding: .6rem 1.2rem;
}

.wsuv-animated-card-group-item:hover
	.wsuv-animated-card-group-fake-link::before {
	transform: scaleX(1);
}

/* END: Animated Card Group Styles */
/*
.wsu-sticky-nav--style-crimson .wsu-anchor-menu {
	justify-content: center;
}
*/
/* ----------------------------- WSU Sticky Nav -------------------------------- */
.wsu-sticky-box:not(.wsu-sticky-box--stuck)::before {
	content: '';
	width: 130px;
	height: auto;
	top: 0;
	bottom: 0;
	position: absolute;
	right: 100%;
	z-index: 1031;
	background: -moz-linear-gradient(left,rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%);
	background: -webkit-linear-gradient(left,rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%);
	background: linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#4d000000',GradientType=1);
	opacity: .2;
}

.wsu-sticky-box:not(.wsu-sticky-box--stuck)::after {
	content: '';
	width: 130px;
	height: auto;
	top: 0;
	bottom: 0;
	position: absolute;
	left: 100%;
	z-index: 1031;
	background: -moz-linear-gradient(left,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(left,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to right,rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#4d000000',endColorstr='#00000000',GradientType=1);
	opacity: .2;
}

.wp-site-blocks,
.wp-block-group,
.wp-block-post-content {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

/* WSU TABLE */
.wp-block-table table {
	margin-bottom: .5rem;
	overflow-x: visible !important;
}

/* 2 Button Group WSU Vancouver */
.wsu-vancouver-btn-group-container {
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 20px 0;
}

/* Individual Button Styling */
.wsu-vancouver-btn-item {
	flex: 1;
/* Makes both buttons equal width */
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1em calc(2.25rem + .25rem);
	text-align: center;
	text-decoration: none;
	background-color: #f8f9fa;
	color: #666;
	border: 1px solid #b2b2b2;
	border-radius: 6px;
	transition: all .3s ease;
	font-family: Montserrat, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	cursor: pointer;
	margin: 5px;
}

/* Hover Effects */
.wsu-vancouver-btn-item:hover {
	background-color: #fff;
	color: #ca1237;
	border-color: #ca1237;
	transform: translateY(-2px);
	box-shadow: 0 5px 14px rgba(0,0,0,.4);
}

.wsu-vancouver-btn-item strong {
	font-size: 1.1rem;
	margin-bottom: 4px;
}	
}

/* Responsive adjustment for small screens */
@media (max-width: 600px) {
	.wsu-vancouver-btn-group-container {
		flex-direction: column;
	}
}

/*Profile list*/
.wsu-vancouver-person-disciplines-label {
	font-weight: bold;
	margin-top: 15px;
	font-size: .95rem;
	color: #555;
}

.wsu-vancouver-person-disciplines-list {
	margin-top: 5px;
	padding-left: 20px;
	font-size: .85rem;
}

/* Title for College or Department heads */
.wsu-card__content-banner {
	background: #efefef;
/* Your original grey */
	padding: 1rem;
	text-align: center;
/* Flip the red line to the top */
	border-top: 4px solid #ca1237;
	margin-top: auto;
}

.wsu-card__content-banner-title {
	font-size: .9rem;
	line-height: 1.2;
	font-weight: 600;
	color: #333;
/* Darker text for better contrast on light grey */
	letter-spacing: 1px;
}

/* --- SIDEBAR SUB-NAV FIX --- */
.wsu-menu--style-sidebar .menu-item-has-children > a {
	border-bottom: none !important;
}

.wsu-menu--style-sidebar .sub-menu {
	margin: 0 !important;
	padding: 0 0 10px 1.2rem !important;
	list-style: none !important;
	border-left: 2px solid #d8d8d8;
}

.wsu-menu--style-sidebar li a {
	text-decoration: none;
	color: #a60f2d;
	font-size: 1rem;
	line-height: 1.5;
	border-top: 1px solid #ddd;
	display: block;
	padding: .2rem 0;
	position: relative;
}

/*.wsu-menu--style-sidebar li:last-child a {
	border-bottom: 1px solid #fff;
}*/
.wsu-menu--style-sidebar li:first-child a {
	border-top: 0;
}

.wsu-menu--style-sidebar .sub-menu li a {
	font-weight: 400 !important;
	font-size: .85rem !important;
	color: #666 !important;
	border-top: none !important;
	border-bottom: none !important;
	padding: .3rem 0 !important;
}

.wsu-menu--style-sidebar .sub-menu li a:hover {
	text-shadow: 0 0 1px #666;
}

.wsu-menu--style-sidebar .sub-menu li.current-menu-item > a {
	font-weight: 700 !important;
	color: #a60f2d !important;
}

.wsu-menu--style-sidebar .sub-menu li.current-menu-item > a::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	bottom: 0;
	height: auto;
	width: 6px;
	background-color: #ca1237;
	left: -1.2rem;
}

.wsu-menu--style-sidebar .sub-menu li a:hover::before {
	background-color: #ca1237;
	left: -1.2rem;
/* Ensures hover bar is also aligned */
}

/* ==========================================================================
   WSU VANCOUVER CAMPUS FOOTER
   ========================================================================== */
/* Base Footer Container */
.wsu-footer-site {
	background-color: #1a1a1a;
	color: #ffffff;
	padding: 6rem 4rem;
/* border-top: 4px solid #981E32;*/
/* Official WSU Crimson */
	box-sizing: border-box;
}

.wsu-footer-site * {
	box-sizing: border-box;
}

.wsu-footer-site__content {
	max-width: 1600px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	position: relative;
/* Context anchor for layout-safe absolute positioning on desktop */
}

/* Deep Links Navigation Grid */
.wsu-menu-deep-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit,minmax(350px,1fr));
}

/* Category Headers (Top Level li or span) */
.wsu-menu-deep-links > li {
	display: flex;
	flex-direction: column;
	width: 90%;
}

.wsu-menu-deep-links > li > span,
.wsu-menu-deep-links > li > a:not(.sub-menu a) {
	font-size: 1.05rem;
	font-weight: 700;
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: .06em;
	text-decoration: none;
	border-bottom: 2px solid #5e6a71;
/* Official WSU Cool Gray */
	padding-bottom: .5rem;
	margin-bottom: .25rem;
	display: block;
}

.wsu-menu-deep-links > li > a:not(.sub-menu a):hover {
	color: #981e32;
	border-bottom-color: #981e32;
}

/* Sub Menu Lists */
.wsu-menu-deep-links .sub-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.wsu-menu-deep-links .sub-menu a {
	color: #d1d5db;
	text-decoration: none;
	font-size: .82rem;
	transition: color .2s ease;
	line-height: 1.2;
	display: inline-block;
}

.wsu-menu-deep-links .sub-menu a:hover {
	color: #ffffff;
	text-decoration: underline;
}

/* Social Media Icons Section */
.wsu-social-icons {
	list-style: none;
	padding: 2rem 0;
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-right: 120px;
}

.wsu-social-icons li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background-color: rgba(255,255,255,0.06);
	border-radius: 50%;
	color: #ffffff;
	transition: background-color .2s ease, transform .2s ease;
}

.wsu-social-icons li a:hover {
	background-color: #981e32;
	transform: translateY(-2px);
}

/* Embedded Social SVG Handling */
.wsu-social-icons svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
	display: block;
}

/* Accessibility Utility Rule */
.screen-reader-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}

/* Contained Address and Logo Strip Wrapper */
.wsu-meta-address {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: 2rem;
	margin-top: 0;
	display: flex;
	justify-content: space-between;
/* Pushes text left and aligns document stream split */
	align-items: center;
	font-size: .95rem;
	color: #d1d5db;
	line-height: 1.6;
	flex-wrap: nowrap;
}

/* Clean Inline Phone Alignment Strategy */
.wsu-meta-address a {
	color: #ffffff;
	text-decoration: none;
	font-weight: 600;
	transition: color .2s ease;
	display: inline-block;
/* Re-integrates smoothly into the running text stream */
	white-space: nowrap;
/* Guarantees the phone digits don't split awkwardly across lines */
	vertical-align: baseline;
}

.wsu-meta-address a:hover {
	color: #981e32;
	text-decoration: underline;
}

/* WSU Cougar Head SVG - Upper Right Dot Position Layout-Safe */
.wsu-footer-site .wsu-coug-head {
	width: 75px;
	height: 75px;
	flex-shrink: 0;
/* Keeps the logo perfectly square */
	fill: #ffffff;
	opacity: .2;
/* Absolute Positioning for Tablet/Desktop Dot Placement */
	position: absolute;
	bottom: .5rem;
/* Vertically centered relative to the social icon block alignment zone */
	right: 0;
	transition: opacity .2s ease, transform .2s ease;
}

.wsu-footer-site .wsu-coug-head:hover {
	opacity: .4;
	transform: scale(1.03);
}

/* Responsive Structural Breakpoints */
@media (max-width: 768px) {
	.wsu-footer-site {
		padding: 4rem 1.5rem;
	}
	
	.wsu-menu-deep-links {
		grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
	}
	
	.wsu-social-icons {
		padding-right: 0;
	/* Clear alignment gutters on smaller interfaces */
	}
	
	/* Clean vertical stack for mobile viewports */
	.wsu-meta-address {
		flex-direction: column;
		align-items: flex-start;
	}
	
	/* Snaps logo back into flow block safely beneath address links on mobile viewports */
	.wsu-footer-site .wsu-coug-head {
		position: static;
	/* Disables absolute float overlay mechanics */
		align-self: flex-start;
		width: 65px;
		height: 65px;
		order: 2;
	/* Places the logo directly below the text block on mobile */
	}
}