/* -------------------------------------- miscellaneous ------------------------------- */
.gray-background {
	background-color: #EBEBEB;
	padding: 1rem;
	margin: 1rem 0;
}

.back-to-top {
	text-align: right;
}

/* -------------------------------------- image gallery ------------------------------- */
/* remove captions on galleries */
.gallery figcaption {
	display: none;
}

/* less bottom margin */
.gallery figure {
	margin: 0;
}

/** Default Gallery Styles */
.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: auto;
}

.gallery .gallery-item {
	box-sizing: border-box;
	padding: 1rem;
	text-align: center;
}

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

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

.gallery-columns-3 .gallery-item {
	width: 33.333333%;
}

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

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

.gallery-columns-6 .gallery-item {
	width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	width: 14.28%;
}

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

.gallery-columns-9 .gallery-item {
	width: 11.11%;
}

.gallery img {
	border: 2px solid #cfcfcf;
	box-sizing: border-box;
	display: block;
	margin: 0 auto;
}

@media only screen and (max-width: 693px) {
	.gallery-columns-1 .gallery-item, .gallery-columns-2 .gallery-item, .gallery-columns-3 .gallery-item, .gallery-columns-4 .gallery-item, .gallery-columns-5 .gallery-item, .gallery-columns-6 .gallery-item, .gallery-columns-7 .gallery-item, .gallery-columns-8 .gallery-item, .gallery-columns-9 .gallery-item {
		width: 50%;
	}
	
	.gallery-item:nth-child(odd) {
		padding-left: 0;
	}
	
	.gallery-item:nth-child(even) {
		padding-right: 0;
	}
}

/*! ISSUE FIX —» Accordion WDS Components: Fix Broken Layout of Nested Accordions
 *    Author: daniel.rieck@wsu.edu
 */
.wsu-accordion--open .wsu-accordion:not(.wsu-accordion--open) .wsu-accordion__content {
	max-height: 0;
	overflow: hidden;
	transition: max-height cubic-bezier(0,0,.03,1) .3s, visibility 0 .4s;
	visibility: hidden;
}

.wsu-accordion--open .wsu-accordion:not(.wsu-accordion--open) .wsu-accordion__title::before {
	content: "\F137";
}

/*! ISSUE FIX —» List Blocks: A11y Tweak for Better Maximum Line Length
 *    Author: daniel.rieck
 */
ul:not([class]), ol:not([class]) {
	max-width: 70ch;
}

/*! ENHANCEMENT —» Paragraphs and Lists: Adjust default font sizing for body text
 *    Author: daniel.rieck
 */
:is(p:not([class*="wsu-font-size--"]), ul:not([class~="wsu-font-size--"]), ol:not([class*="wsu-font-size--"])) {
	font-size: 1rem;
	line-height: 1.5;
}

/*! ENHANCEMENT —» Accordion WDS Components: Slightly Darken Typography to Help User Interface Elements Stand Out
 *    Author: daniel.rieck@wsu.edu
 */
.wsu-accordion__title-button {
	font-weight: 500;
}

.wsu-accordion__title::before {
	font-weight: 600;
}

/*! CUSTOMIZATION —» Utility Classes: Display Modes
 *    Author: daniel.rieck@wsu.edu
 */
.d5y-none, .d5y-0 {
	display: none !important;
}

/*! CUSTOMIZATION —» Buttons: Skip To Content
 *    Author: daniel.rieck@wsu.edu
 */
.wsu-cta--skip-to-content {
	opacity: 0;
	left: -100vw;
	pointer-events: none;
	position: absolute;
	transition: opacity .3s;
}

.wsu-cta--skip-to-content:has(.wsu-button:focus),.wsu-cta--skip-to-content:has(.wsu-button:active) {
	left: 0;
	opacity: 100%;
	pointer-events: unset;
}

/*! CUSTOMIZATION —» Hero Banners: Dark Mode for Boxed Style
 *    Author: daniel.rieck@wsu.edu
 */
.wsu-hero.wsu-hero--style-boxed.wsu-hero--dark .wsu-hero__title-wrapper, .wsu-hero.wsu-style--boxed.wsu-hero--dark .wsu-hero__title-wrapper {
	background: linear-gradient(125deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.75) 65%,rgba(0,0,0,.5) 100%);
}

.wsu-hero.wsu-hero--style-boxed.wsu-hero--dark .wsu-hero__title, .wsu-hero.wsu-style--boxed.wsu-hero--dark .wsu-hero__title {
	color: white;
	text-shadow: 0 0 8px #000;
}

.wsu-hero.wsu-hero--style-boxed.wsu-hero--dark .wsu-hero__title::before, .wsu-hero.wsu-style--boxed.wsu-hero--dark .wsu-hero__title::before {
	background-color: transparent;
	border-right: 10px solid transparent;
	border-top: 10px solid #ca1237;
	height: 0;
}

@media all and (min-width: 1025px) {
	.wsu-hero.wsu-hero--style-boxed.wsu-hero--dark h1.wsu-hero__title, .wsu-hero.wsu-style--boxed.wsu-hero--dark h1.wsu-hero__title {
		font-size: 5.125rem;
	}
}

/*! CUSTOMIZATION —» Classroom Layouts: Specs and Layout Diagrams
 *    Author: daniel.rieck@wsu.edu
 */
@media screen and (min-width: 861px) {
	.wsu-row--halves.wsu-row--specs-and-layout .wsu-column:first-child {
		margin-right: .875rem;
		width: calc(50% - .875rem);
	}
	
	.wsu-row--halves.wsu-row--specs-and-layout .wsu-column:last-child {
		margin-left: .875rem;
		width: calc(50% - .875rem);
	}
}

.wp-block-image--classroom-layout-diagram {
	text-align: center;
}

.wp-block-image--classroom-layout-diagram figcaption {
	display: inline-block;
}

/*! CUSTOMIZATION —» Embeds: Pullman Campus Map
 *    Author: daniel.rieck@wsu.edu
 */
.p5n-c4s-map-e3d-area {
	background-color: #404040;
	height: 0;
	margin-bottom: 1.75rem;
	padding-bottom: 56.25%;
	position: relative;
	width: 100%;
}

@media all and (max-width: 768px) {
	.p5n-c4s-map-e3d-area {
		padding-bottom: 100%;
	}
}

@media all and (max-width: 576px) {
	.p5n-c4s-map-e3d-area {
		padding-bottom: 133.33%;
	}
}

.p5n-c4s-map-e3d-area__map {
	background-color: #f0f0f0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.p5n-c4s-map-e3d-area_editor-message {
	display: none !important;
}

/* DOCUMENT FRAGMENT TARGETS: Anchor Link Destination Indicators for Headings (Customization)
 *  (Author: daniel.rieck@wsu.edu)
 * --------------------------------------------------------------------------
 * Mark headings that have become the target element of the active document
 *  with a hash symbol.
 */
:is(h2, h3, h4, h5, h6):target {
	position: relative;
}

:is(h2, h3, h4, h5, h6):not(.wsu-heading--mark-top):target::before,
:is(h2, h3, h4, h5, h6).wsu-heading--mark-top:target::after {
	background-color: transparent;
	content: "# –";
	color: #680222;
	display: block;
	font-size: 1.25rem;
	font-weight: 600;
	left: -2.2rem;
	position: absolute;
	top: calc(50% + 0.125rem);
	transform: translateY(-50%);
}

:is(h2, h3, h4, h5, h6).wsu-heading--style-marked:not(.wsu-heading--mark-top):target::before,
:is(h2, h3, h4, h5, h6).wsu-heading--style-marked.wsu-heading--mark-top:target::after {
	display: block;
	height: auto;
	width: auto;
	border: 0;
}

:is(h2, h3, h4, h5, h6).wsu-heading--style-marked:target::before {
	top: calc(50% + 0.125rem - 0.375rem - 3px);
}

:is(h2, h3, h4, h5, h6).wsu-heading--style-marked.wsu-heading--mark-top:target::after {
	margin: 0 !important;
	top: calc(1rem + 6px);
}