/*
Theme Name: WSCOE Bravo Theme
Theme URI: https://www.engr.colostate.edu/operations/web/
Author: WSCOE DATI team, Russell Dickerson lead developer 
Author URI: https://www.engr.colostate.edu/operations/web/
Description: This theme is for units within the Walter Scott, Jr. College of Engineering, and is CSU-branded. 
The theme features an additional widget area for the upper footer.
Version: 4.3.2
Text Domain: wscoe-bravo
Tags:

Acknowledgements:
wscoe-bravo is based in part on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/

 /* 
 *********************** 
 	set all defaults for content 
 	and general requirements for layouts
 */

	/*  -moz-		WebKit-based browsers will ignore this.
	*   -webkit-	Mozilla-based browsers will ignore this. */

	/* Inherit box-sizing and font sizes to more easily change it's value on a component level. */
	*,
	*::before, 
	*::after {
		box-sizing: inherit;
	}

	/* default to font-size medium, based on general browser defaults of 16px as of 0723 */
	* {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box; 
		font-family: "Poppins", sans-serif;
		font-size: medium;
		line-height: 1.5;
		font-weight: normal;
	}

	/* shows the universal focus indicator only when elements receive keyboard focus */
	:focus-visible {
	    outline-offset: 3px;
	    outline: 5px auto Highlight;
		outline: 5px auto -webkit-focus-ring-color;
	}

	/* adjust certain global navigation and footer element font sizes to medium across plugins, widgets, and code  */
	nav *, .UpperFooterWidgetArea ul li {
		font-size: medium;
	}

	html {
		-webkit-text-size-adjust: 100%;
	}

	body {
	  padding: 0;
	  margin: 0;
	  background: #f1f1f1; 
	  display: grid;
	  color: #000000;
	 }
	/* limit content for ultrawide screens*/
		@media (min-width:2500px) {
			body {
				justify-content: center;
				transition: all 1s ease-out;
			}
		} 
	main, form, header, nav, footer {
		display: grid;
	}

 /* 
 ***********************  form styles and grid layouts 
 */

	input, textarea, select, button, output {
		font-family: inherit;
		box-sizing: border-box;
		display: grid;
		grid-column: 2 / 4;
		width: auto;
		padding: 0.25rem;
		margin: 0 0.25rem 1rem 0.25rem;
	}
	form div {
		display: grid;
		grid-template-columns: 1fr 1rem 2fr;
		grid-gap: 0.3rem 0.6rem;
		grid-auto-flow: dense;
		align-items: start;
	}
	input[type="checkbox"], input[type="radio"] {
		grid-column: 1 / 3;
		justify-self: end;
	}
	label, input[type="checkbox"] + label, input[type="radio"] + label {
		width: auto;
	}
	textarea + label {
		align-self: start;
	}
	@media (max-width:480px) {
		form div {
			grid-template-columns: 100%;
			grid-gap: 0.3rem;
		}
		input, output, textarea, select, button {
			grid-column: 1;
		}
	}
 /* 
 *********************** image and table fixes
 */
	img {
		max-width: 100%;
		height: auto;
	}	
	table {
		width: 100%;
		border-collapse: collapse;
	} 

/* heading styles, using css clamp (min, preferred, max) for responsive text */  
	h1, h2, h3, h4, h5, h6 {
		color: #1e4d2b;  
		line-height: 1.5;
	}
	h1 {
		font-size: clamp(1.8rem, 8vw - 2rem, 2.3rem);
		line-height: 1.8;
	}	
	h2 {
		font-size: clamp(1.5rem, 8vw - 2rem, 2.0rem);
		line-height: 1.7;
	}
	h3 {
		font-size: clamp(1.3rem, 8vw - 2rem, 1.7rem);
		line-height: 1.6;
	}
	h4 {
		font-size: clamp(1.3rem, 8vw - 2rem, 1.4rem);
	}
	h5, h6 {
		font-size: clamp(1.2rem, 8vw - 2rem, 1.2rem);
		font-weight: normal;
	}
	h6 {
		font-style: italic;
	}
/* 	list styles  */  
	li,	dl {
		margin: .5rem auto; 
	}
	ul {
		list-style-type: circle;
	}

	/* ************** legacy intro text class; to be removed post-Bravo4 2025 ************* */
	.intro p, .intro h3 {
		text-align: center;
		font-size: 1.5em;
		line-height: 1.7; 
	  	font-weight: 300;  
	}
	@media (max-width: 600px) {
		.intro p, .intro h3 {
			font-size: 1.2em;
			line-height: 1.3; 
		}
	}

/* 	link styles (adjusts for Elementor too) */ 	
	a,
	 :is(h1, h2, h3, h4, h5, h6, p, span) a,
	 .elementor :is(h1, h2, h3, h4, h5, h6, p, span) a,
	  .elementor-icon-box-content .elementor-icon-box-title a,
	  .elementor ul li > a,
	   .linkunderlines :is(h1, h2, h3, h4, h5, h6, p, span) a {
		font: inherit;
		color: #1e4d2b; 
		font-weight: 500;
		/**/
		text-decoration: underline;
		text-decoration-style: dashed;
		text-decoration-color: #1e4d2b;
		text-decoration-thickness: 0.05rem;
		background-color: transparent;
	}  
	a:hover, a:focus {
		text-decoration-color: #1e4d2b; 
	} 

	/* 	Adjusts for very long links in paragraphs  */ 
		p a {
			overflow-wrap: anywhere;
			hyphens: auto;
		}

	/* 	remove broader text-decoration: underline for specific needs  */ 
		.give a, ul.elementor-nav-menu li > a.elementor-item {
			text-decoration: unset;
		}

	/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
	sub, sup {
		font-size: .75rem;
		line-height: 0;
		position: relative;
		vertical-align: baseline;
	}

	sub {
		bottom: -0.25em;
	}

	sup {
		top: -1em;
	}


/* =WordPress Core CSS defaults for images and captions
-------------------------------------------------------------- */
	.alignnone, a img.alignnone, .wp-caption .alignnone, .wp-caption .alignleft, .wp-caption .alignright,
	.alignright, a img.alignright, .alignleft, a img.alignleft, .wp-block-image .aligncenter > figcaption, .wp-block-image .alignleft > figcaption, .wp-block-image .alignright > figcaption, 
	.wp-block-image.is-resized > figcaption {  
		margin: .5rem 1rem;
		text-align: left;
	}

	.aligncenter,  div.aligncenter {
		display: grid;
		margin: .5rem auto;
	}
	.alignright, a img.alignright {
		float: right;
	}
	.alignleft, a img.alignleft {
		float: left;
	}
	.wp-block-image figure  {
		margin: 1rem;
	}
	.wp-caption .wp-element-caption {
		border: 1px solid #dddddd;
		max-width: 96%; /* Image does not overflow the content area */
		padding: .5rem;
	}
	.wp-caption img, .wp-block-image img {
		border: 0 none;
		height: auto;
		margin: 0;
		max-width: 95%;
		padding: 0;
		width: auto;
	}
	.wp-caption .wp-caption-text, .wp-block-image :where(figcaption) {
		font-size: .8em;
		line-height: 1.3;
		margin: .25rem 0;
		padding: 0;
	}  
	/* adjust images and captions for mobile */
		@media (max-width:500px) {
			.wp-caption {
				float: none;
			}
		}

/* 
*********************** WSCOE header layout 
*/
	.site-header { 
		background: #1e4d2b;
		color: #fff;
		padding: 0;
	}
	#masthead {
		display: grid; 
		grid-auto-flow: row dense; 
		grid-template-columns: 1fr; 
		gap: 0 1em; 
		align-items: center;
		padding: 2vh 2vw;
		position: sticky;
		top: 0;
		z-index: 50;
		min-height: 70px;
		/* disable or adjust brushstroke in header below */
			background-image: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/CSU_FindYourEnergy_BrushStrokeTexture_Raster_RGB-F1version.webp");
			background-repeat:no-repeat;
			background-size: cover;
		    background-position: 40% 40%;
		    background-blend-mode: color-burn;
	    border-bottom: solid thin #C8C372;
	}
	/* Contains BrandLogo and wpheadertitle divs 
	*  appears first/left through css and second in header code
	*/
	#leftmasthead {
		display: grid; 
		grid-auto-flow: column; 
		grid-auto-rows: max-content; 
		grid-template-rows: 1fr; 
		gap: 0 1em; 
		align-items: center;
		justify-content: start;
		padding-right: 5vw;
		order: 1;
	}
	/* Contains WP site title and tagline within leftmasthead */
	#wpheadertitle {
		border-left: solid 2px #fff;
		padding-left: 2vw;
		display: grid; 
		grid-auto-flow: row dense; 
		grid-auto-rows: max-content; 
		grid-template-rows: 1fr; 
		gap: .5em .5em; 
		align-items: center;
		justify-content: start;
	}
	/* Contains menu/toggle and content */
	#rightmasthead {
		display: grid; 
		grid-auto-flow: column; 
		grid-auto-rows: max-content; 
		grid-template-columns: 1fr 1fr; 
		gap: 0 1em; 
		order: 2;
	}

/* 
*********************** WSCOE header font and image styles
*/
	#wpheadertitle .blog-identifier, #wpheadertitle span > a, #wpheadertitle span {
		letter-spacing: .1rem;
		text-transform: uppercase;
		text-decoration: none;
		color: #fff;
		background: none;
		padding: 0;
		margin: 0;
		font-size: clamp(1.1rem, 8vw - 2rem, 1.2rem);
		font-weight: 400;
		line-height: 1.3;
	}
	#wpheadertitle .blog-identifier a, a.visited {
		color: #fff;
	}
	#wpheadertitle .blog-descriptor, .mastheadsubtitle .blog-descriptor {
		letter-spacing: .1rem;
		margin: 0;
		padding: 0;
		text-transform: uppercase;
		color: #fff;
		background: none;
		font-size: clamp(0.9rem, 8vw - 2rem, 0.9rem);
		line-height: 1;
	}

	/* Header CSU unit ID settings */
	img.CSUheaderlogo {
		width: 15vw;
		min-width: 200px;
		max-width: 400px;
	}
	#BrandLogo {
		padding-right: 2vw;
	}
	#BrandLogo > a picture  {
		display: grid;
	}

	@media (max-width:800px) { 
		#masthead {
			grid-auto-flow: column; 
			grid-template-columns: 1fr; 
			gap: .5em .5em; 
			padding: 1vh 2vw;
		}
		#leftmasthead {
			grid-auto-columns: 1fr; 
			grid-template-columns: 1fr; 
			grid-auto-flow: row;
			gap: initial;

		}
		#wpheadertitle .blog-identifier, #wpheadertitle span > a, #wpheadertitle span {
			letter-spacing: 0.05rem;
			font-size: clamp(1rem, 8vw - 2rem, 1rem);
		}
		#wpheadertitle .blog-descriptor, .mastheadsubtitle .blog-descriptor {
			font-size: clamp(.9rem, 8vw - 2rem, .9rem);
		}
		#wpheadertitle {
			border-left: unset;
		    padding-left: .5rem;
		}
		img.CSUheaderlogo {
		    width: 50vw;
		}
		#BrandLogo {
			padding: 1vh 1vw;
		}
	}
	@media (max-width:480px) { 
		#wpheadertitle .blog-descriptor, .mastheadsubtitle .blog-descriptor {
			display: none;
		}
		img.CSUheaderlogo {
			width: 70vw;
		}
	}

/* navigation container and burger Russ 0525 
*  contained in rightmasthead
*/
	/* overall container controls */
	.containerMAX {
		width: 100%;
		height: 100%;
	}

	.containerMAX * {
		transition: 2s all, background-color 0s;
	}

	/* Burger toggle styling  */
	.btnMAX {
		top: 0;
		right: 0;
		height: 100%;
		width: 70px;
		padding: .6rem;
		background: #FFC038;
		position: absolute;
		display: flex;
		justify-items: center;
		flex-direction: column;
		align-items: center;
		cursor: pointer;
		border: none;
	}
	.btnMAX button, #btnMAXToggle {
		margin-right: 0;
		padding-right: 8px;
	}
	.btnMAX .menuMAXtext {
		font-size: small;
		color: #000;
		text-transform: uppercase;
		margin-top: .3rem;
	}
	@media (min-width:600px) {
		.btnMAX {
			border-right: solid 10px #008FB3;
			height: 90%;
			/* for btnMAX notch editing, use second and third to last values */
				clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 80%, 100% 100%, 20% 100%, 0% 85%, 0% 20%);
		}
	}	
	@media (min-width:1600px) {
		.btnMAX {
			border-right: solid 10px #008FB3;
			height: 80%;
		}
	}	
	@media (max-width:599px) {
		.btnMAX {
			display: grid;
			align-content: space-evenly;
			justify-items: end;
			height: 40px;
			width: 40px;
			padding: .3rem 0 .3rem .3rem;
			/* for btnMAX lower-left notch editing, use second and third to last values */
			    clip-path: polygon(0 0, 100% 0, 100% 20%, 100% 80%, 100% 100%, 20% 100%, 0% 80%, 0% 20%);
		}
		/* on mobile put btnMAX text offscreen for accessibility and screen readers */
			.btnMAX .menuMAXtext {
				position: absolute;
				top: -10000em;
				width: 1px;
				height: 1px;
				overflow: hidden;
			}
	}

	/* shows a focus indicator on the toggle when it receives keyboard focus; 
		* hidden by clip-path otherwise */
	.btnMAX:focus-visible {
		box-shadow: inset 2px 0px 0 7px #fff;
		box-shadow: inset 2px 0px 0 7px -webkit-focus-ring-color;
		transition: all 0s;
		outline-offset: -5px;
		outline: 5px inset Highlight;
		outline: 5px inset -webkit-focus-ring-color;
	}

	/* close button styles */
	.close-btnMAX {
		top: 0;
		right: 0;
		height: auto;
		width: 70px;
		padding: .5rem;
		background: transparent;
		position: absolute;
		display: flex;
		justify-content: space-evenly;
		align-items: center;
		flex-direction: column;
		cursor: pointer;
		z-index: 99;
		border: none;
	}

	/* Hamburger menu svg version 2; russ 061325 */
		/* firefox requires class instead of svg */
	svg, .hamburger-icon {
	  max-width: 80%;
	  vertical-align: baseline;
	  max-height: 100%;
	  max-height: -webkit-fit-content;
	}
	/* sets default values for following styles */
		:root {
		  --icon-body-bg-color: #2f3542;
		  --icon-body-color: #747d8c;
		  --icon-active-color: #2ed573;
		  --icon-size: 48;
		  --icon-bar-size: 8;
		  --icon-translation-size: calc((var(--icon-size) - var(--icon-bar-size)) / 2);
		}
	.hamburger-icon rect {
		transition: all 0.3s ease-in-out;
		height: 12px;
	}
	.close-btnMAX .hamburger-icon .top,
	.close-btnMAX .hamburger-icon .bottom {
		transform-origin: center;
	}
	.close-btnMAX .hamburger-icon .top {
		transform: rotate(45deg)
		translate(0, calc(var(--icon-translation-size) * 2px));
	}
	.close-btnMAX .hamburger-icon .bottom {
		transform: rotate(-45deg)
		translate(0, calc(var(--icon-translation-size) * -2px));
	}
	.close-btnMAX .hamburger-icon .middle {
		opacity: 0;
	}


	/* ------------- Hide menu to start ----------- */
	.menuMAX {
		display: none;
	}

	/*  Menu and popup styling; open-Max is the overall window 
		*	1. to reset right header widget in menu, set grid-template-columns: 1fr 1fr; 
		*	2. reactivate widget area
		*/
	.open-menuMAX {
		width: 70vw;
		height: 100vh;
		/* disable or adjust brushstroke in menu below */
			background: #FFC038;
			background-image: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/CSU_FindYourEnergy_BrushStrokeTexture_Raster_RGB-F1version.webp");
			background-repeat:no-repeat;
			background-size: cover;
			background-position: 50% 40%;
			background-blend-mode: soft-light;
		display: grid;
		grid-auto-flow: row dense;
		grid-template-columns: 1fr;
		gap: 1em 1em;
		align-items: center;
		align-content: space-evenly;
		padding: 3rem;
		transition: 5s all;
		top: 0;
		right: 0;
		position: fixed;
		border-image: url(https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/htblue_color_bar_header_VERT_0525.webp) 10;
		border-image-width: 0 0 0 2vw;
	}
	/* menu list styles for standard WP navigation without plugins */
	.open-menuMAX ul {
		display: flex;
		justify-content: center;
		align-items: start;
		flex-direction: column;
	}
	.open-menuMAX li, .open-menuMAX dl {
		margin: .2rem;
	}
	.open-menuMAX ul li {
		list-style: none;
		padding: .1rem;
	}
	.open-menuMAX ul li a {
		text-decoration: none;
		text-styling: none;
		font-size: clamp(1rem, 1.1rem, 1.2rem);
		line-height: 1.5;
		font-weight: 800;
		color: #000;
	}
	.open-menuMAX ul li a:hover, .open-menuMAX ul li a:focus-within {
		border-bottom: 5px solid #000;
		transition: 0.2s all;
	}
	.open-menuMAX .sub-menu ul {
		column-count: 2;
		column-gap: 1rem;
	}
	.open-menuMAX .sub-menu a {
		font-size: clamp(1.2rem, 8vw - 2rem, 1.2rem);
		line-height: 1.5;
		font-weight: 600;
	}

	.open-menuMAX .sub-menu ul li a {
		font-size: clamp(1.1rem, 8vw - 2rem, 1.1rem);
		line-height: 1.5;
		font-weight: 400;
	}
	@media (max-width:600px) {
		.open-menuMAX {
		  width: 90vw;
		  height: 100vh;
		  grid-auto-flow: row;
		  grid-template-columns: 1fr;
		  gap: .5em .5em;
		  padding: 1.5rem;
		  align-content: start;
		}
		.open-menuMAX li, .open-menuMAX dl {
		  margin: .1rem 0;
		}
		.open-menuMAX .sub-menu {
			margin: 0;
			padding: .2rem;
		}
		svg, .hamburger-icon {
			height: 2rem;
		}
		#menusubhead {
		  max-width: -moz-min-content;
		}
	}
	@media (min-width:1500px) {
		.open-menuMAX {
		  border-image-width: 0 0 0 1vw;
		  grid-template-columns: 1fr 1fr;
		}
	}

	/*	header search styling, reset input defaults for search box */
	.headersearch input, .headersearch button {
		grid-column: auto;
		width: max-content;
		border-radius: .5rem;
		max-width: 60%;
	}
	/* header search grid area */
	.headersearch {
		display: grid;
		grid-template-columns: 1fr;
		grid-auto-flow: row;
		justify-items: center;
	}
	.headersearch-form {
		display: grid;
		grid-template-columns: 1fr;
		grid-auto-flow: row;
	}
	#headerinputgrid {
		display: grid;
		grid-template-columns: 2fr 1fr;
		grid-auto-flow: row;
		justify-items: start;
		grid-gap: 0;
		align-items: stretch;
	}
	@media (max-width: 480px) {
		#headerinputgrid {
			grid-template-columns: 1fr;
		}
	}
	.headsearchbox {
		border: 1px solid #1e4d2b;
		background: #fff; 
	}
	.headsearchbox::placeholder {
		color: #000;
	}
	.headersearchicon {
		color: #000;
		font-size: 1.2rem;
	}
	.headersearchicon::before {
		content: "\1F50D";
	}

/* 
*********************** accessibility css 
*/
   	/*hides accessibility text offscreen, for screen readers only */
	.icon-screenonly {
		position: absolute;
		top: -10000em;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		white-space: nowrap;
		clip: rect(0,0,0,0);
		border: 0;
	}
	.skip-link, .screen-reader-text {
		position: absolute;
		top: -10000em;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		white-space: nowrap;
		clip: rect(0,0,0,0);
		border: 0; 
	} 
	a.screen-reader-text:focus, a.skip-link:focus,
	a.screen-reader-text:active, a.skip-link:active
	{
		position: static;
		width: 50vw;
		height: auto;
		border: solid 2px #fff;
		color: #1e4d2b;
		padding: 1rem;
		margin: 1rem;
	}
	a#skipnav:focus, a#skipnav:active, a#skipcontent:focus, a#skipcontent:active
	{
		border: solid 2px #1e4d2b;
		background-color: #fff;
		color: #000;
	}

/* 
*********************** page styles and layouts 
*/
	#page {
		margin: 5vh auto;
		padding: 0 5vw;
		display: grid;
		width: 100%;
		width: -moz-available;          /* WebKit-based browsers will ignore this. */
		width: -webkit-fill-available;  /* Mozilla-based browsers will ignore this. */
		width: fill-available;
	}
	.single #page {
		margin: 5vh auto;
		display: grid;
		max-width: 90vw;
	}
	.page #primary, .archive #primary, .search #primary {
			margin: 0 auto;
			padding: 2vh 2vw; 
	}
	.single #primary {
			margin: 0 auto;
			padding: 2vh 2rem;
			border: solid thin #d9d9d9;
			background: #f1f1f1;
		}
	/* limit content for ultrawide screens*/
	@media (min-width:2500px) {
		#page {
			max-width: 2500px;
			border-right: solid thin #dddddd;
			border-left: solid thin #dddddd;
			margin: 0 auto;
		}
	} 
	/* remove margins for Elementor pages */
	.elementor-page #page {
		margin: unset;
		padding: unset;
	}

	/*	create css for archive template    */
	#archive-grid {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
		grid-gap: 3rem;
	}
	#archive-grid article {
		padding: 1rem;
		border: solid thin #d9d9d9;
	}
	#archive-grid h2, .search h2 {
		font-size: 1.3rem;
		line-height: 1.5;
	}
	/*	adjusts thumbnail on archive articles	*/
	img.archive-thumb {
		float: left;
		margin: 0.5rem;
		width: 5rem;
		max-width: 7rem;
	}
	/*	fixes archive span and archive page title	*/
	h1 > span {
		font-size: clamp(1.8rem, 8vw - 2rem, 2.3rem);
		line-height: 2.5;
	}	
	.archive .page-header {
		margin-bottom: 7vh;
	}
	/*	adjusts archive "read more" link */
		.read-more {
			margin-left: .5rem;
		}
/*	post template for new branding 0723    */
	.post-template-single_brand #page {
		margin: .5rem 0;
		background: linear-gradient(to left, transparent 60%, #1e4d2b 40%);
	}
	.post-template-single_brand #content {
		background: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/CSU_FindYourEnergy_BrushStrokeTexture_Raster_RGB-F1version.webp");
		background-size: contain;
		padding: 2rem;
	}
	/*	Make adjustments for mobile widths*/
	@media (max-width:600px) {
		.page-template-page_narrow #primary {
			width: 95vw;
		}
		.single #content {
			width: 100%;
		}
		.single #primary {
			width: 90vw;
			padding: 1.5rem;
		}
		#page, .single #page {
			margin: 1rem;
		}
		.post-template-single_brand #content {
			padding: 0;
			background: none;
		}
		.post-template-single_brand #page {
			background: none;
		}	
		.post-template-single_brand .operFooter {
		margin-top: .5rem;
		}
		.entry-content figure {
			width: 100%;
		}
	}

	#sidebarpage-primary {
		width: 90vw;
		margin: 7vh auto;
		display: grid;
		grid-template-columns: 3fr 1fr;
		grid-gap: 4rem; 
	}
	#sidebarmain {
		border-right: solid thin #d9d9d9;
		padding-right: 3rem;
	}
		@media (max-width:700px) {
			#sidebarmain {
				border-right: unset;
				padding-right: unset;
			}
			#sidebarpage-primary { 
				grid-template-columns: 100%;
			}
	}
	/* error 404 page styles */
	.error404 #main {
		border-right: none;
	}
	#error404block {
		max-width: 1000px;
		margin: 0 auto 3% auto;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-content: flex-start;
	}
	.error404area {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		margin: 0 auto;
		padding: 0 1rem 1rem 1rem;
		text-align: left;
	}
	.error404 .search-form {
		justify-content: center
	}
	section.error-404.not-found {
		text-align: center;
		margin: 3% auto;
		width: 90%;
	}
	.error-404.not-found img {
		width: auto;
		margin: auto;
	}
	@media (max-width:800px) {
		.error-404.not-found img {
			max-width: 500px;
		}
	}
	@media (max-width:500px) {
		.error-404.not-found img {
			max-width: 260px;
			padding: 0;
			margin: 0 auto;
		}
		.error404area {
			padding: 0 1rem;
		}
		#error404block {
			margin: 0 auto;
		}
	}
	/* search page styles */
		.search .searchonpage {
			max-width: 60vw;
			display: flex;
			flex-direction: column;
			flex-wrap: wrap;
			align-content: center;
			align-items: center;
			border-top: solid thin #c8c372;
			text-align: center;
			margin: 3rem auto;
		}
		@media (max-width:600px) {
			.search .searchonpage {
				max-width: 80vw;
			}
		}
		/* sets row styles and alternate colors search results */
			.search article {
				margin: 1rem;
				padding: 1rem;
				border-left: solid thin #c8c372;
			}
			.search article:nth-child(odd) {
				background-color: #f7f7f7;
			}
	/* style for divider on post page meta info */
	.post-meta-divider {
		width: 30vw;
		margin: 2rem 0;
		text-align: left;
	}

	/* post navigation grid design */
	.nav-links {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
		grid-gap: 4rem; 
		border: solid thin #b3b3b3;
		background: #f7f7f7;
		padding: 1rem;
		margin: 2rem;
	}
	.nav-previous a::before {
		content: '\25C4 \00A0';
	}
	.nav-next a::after {
		content: '\00A0 \25BA';
	}
	@media (max-width:700px) {
		.nav-links {
			padding: .25rem;
			margin: 0;
		}
	}
	/* fixes faculty and E-days page width  */
	.page-template-page_directory #page, .page-template-page_edays #page, .page-template-page-edays-php #page {
	max-resolution: ;gin: 3vh auto;
	}
	/* sets max faculty content width  */  
	.page-template-page_directory #main {
		max-width: 2000px;
		margin: 3vh auto;
	}

/* 
footer styles and layout 
*/
	/* overall footer class */
	.operFooter {
		background-color:rgb(230, 230, 230);
		margin-top: 8vh;
	}

	/* upper footer widget area for departments and units */
	.footerbanner {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(min(100vw, 18rem), 1fr));
		grid-gap: 2rem;
		padding: 3rem 2rem;
		justify-items: center;
		align-items: start;
		border-top: solid thin #C8C372;
		/* disable or adjust brushstroke in upper footer below */
			background-image: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/CSU_FindYourEnergy_BrushStrokeTexture_Raster_RGB-F1version.webp");
			background-repeat:no-repeat;
			background-size: cover;
			background-position: top;
			background-blend-mode: soft-light;
	}
	.UpperFooterWidgetArea {
		display: grid;
		justify-items: center;
	}
	/* adjusts department logo stack in footer and WP Widgets screen */
	div .is-layout-flex.deptLogoFtrStack {
		text-align: center;
		display: grid;
		justify-items: center;
	}

	/* WSCOE MIDfooter styles */
	.collegefooter {
		background-color: #1e4d2b;
		padding: 2rem;
		/* disable or adjust brushstroke in college-mid footer below */
			background-image: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/CSU_FindYourEnergy_BrushStrokeTexture_Raster_RGB-F1version.webp");
			background-repeat:no-repeat;
			background-size: cover;
			background-position: left;
			background-blend-mode: color-burn;
		border-image: url(https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/htblue_color_bar_header_0525.webp) 10;
		border-image-width: 2vh 0 0 0;
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-gap: .2rem;
		justify-items: center;
		align-items: center;
	}
	.collegefooter img {
		max-width: 30vw;
		transition: 2s all;
	}
	.collegefooter ul {
		display: inline-grid;
		grid-template-columns: 1fr 1fr 1fr;
		padding: .5rem;
	}
	.collegefooter ul li {
		list-style-type: none;
		text-align: center;
		padding: 1rem;
	}
	.collegefooter ul li > a {
		color: #fff;
		text-decoration-color: inherit;
	}
	@media (max-width: 800px) {
		.collegefooter {
			grid-template-columns: 1fr;
		}
		.collegefooter img {
			max-width: 60vw;
		}
		.collegefooter ul {
			grid-template-columns: 1fr;
		}
		.collegefooter ul li {
			padding: .1rem;
		}
	}	
	@media (min-width: 1200px) {
		.collegefooter img {
			max-width: 400px;
		}
	}
/* CSU subfooter styles */
	.bottom-footer {
		background-color: #1e4d2b;
		border-top: solid thin #C8C372;
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
		grid-gap: 2rem;
		padding: 2rem 2rem 0 2rem;
		justify-items: center;
		align-items: center;
		color: #fff;
	}
	.bottom-footer a, #CSUCopyright {
		color: #fff;
		text-decoration-color: inherit;
	}
	#csulinks, #CSUbottomlogo, #CSUCopyright {
		display: grid;
		justify-items: center;
		text-align: center;
	}
	.CSUCopyrightdivider {
		width: 10vw;
		margin: 1rem auto;
		border: solid thin #C8C372;
	}
	#csuLinks ul {
		padding: 0;
		text-align: center;
	}
	#csuLinks ul li {
		display: inline-grid;
		padding: .1rem 1rem .1rem 0;
	}
	.bottomlogo img {
		width: 30vw;
		max-width: 500px;
	}
	.bottom-footer .give {
		width: 15vw;
		background: #c9d845;
		margin: 1rem;
		padding: 1rem 2rem;
		display: grid;
		justify-content: center;
	}
	.bottom-footer .give a {
		text-align: center;
		font-weight: bold;
		font-size: large;
		letter-spacing: .2rem;
		color: #1e4d2b;
	}
	@media (min-width:700px ) and (max-width:900px) {
		.bottomlogo img {
			width: 40vw;
		}
	}
	@media (max-width:699px) {
		.bottomlogo img {
			width: 70vw;
		}
		.bottom-footer .give  {
			width: 50vw;
		}
		.bottom-footer .give a {
			text-align: center;
			font-size: medium;
			color: #1e4d2b;
		}
		.bottom-footer {
			grid-template-columns: 1fr;
			padding: .5rem;
			justify-items: center;
		}
		.footerbanner {
			padding: .25rem;
			margin: .25rem;
		}
		#csuLinks ul li {
			padding: .5rem .5rem 0 0;
			text-align: center;
		}
	}
 /* 
 ***********************  floating "to top" button css and corresponding js
 */
	.topbutton {
		height:80px;
		width:80px;
		position:fixed;
		right: 1rem;
		bottom: 1rem;
		z-index:1;
		background-image: url("https://atlas.colostate.edu/wp-content/themes/wscoe-bravo/css/logo-topbutton-arrow.webp");
		background-repeat:no-repeat;
		background-size: contain;
	}
	@media (max-width:480px) {
		.topbutton {
			height:50px;
			width:50px;
			z-index:1;
		}
	}
	 /* 
 ***********************  event shortcode form styles and grid layouts 
 */
	.wscoe_event_container {
		width: 90vw;
		padding-left: 1rem;
	}
	.shortcode_event_form {
		width: 80vw;
		padding-left: 1rem;
	}
	.shortcode_event_form form div {
		margin: .25rem;
		padding: .5rem;
	}
	.shortcode_event_form form div:nth-child(odd) {
		background-color: #f7f7f7;
	}
	/* styling for AJAX response on success */
	.wscoe-event-response {
		font-weight: bold;
		font-size: 1.33em;
		background-color: #c8c372;
		color: #000;
		padding: 2em;
	}
	/* styling for AJAX response on failure */	
	.wscoe-event-error {
		font-weight: bold;
		font-size: 1.33em;
		color: #ff0000;
		padding: 2em;
	}

/*  Elementor fixes and adjustments 0823  */

	/*	fixes elementor font overrides    */
	.elementor-icon-box-title > span {
		font: inherit; /* Line 69 contains font-size: medium for "*" - a global setting.  Setting this to "revert" undoes that setting. RTY 2023-08-17 */
	}
	/*	fixes elementor icon size conflict    */
	.elementor-icon i, .elementor-icon svg {
		font-size: revert; /* Line 69 contains font-size: medium for "*" - a global setting.  Setting this to "revert" undoes that setting. RTY 2023-08-17 */
	}
	/*	fixes elementor title font size anchor conflict    */
	.elementor-icon-box-title a {
		font: inherit !important; /* Line 69 contains font-size: medium for "*" - a global setting.  Setting this to "revert" undoes that setting. RTY 2023-08-17 */
	}
	/*	fixes elementor anchor image conflict    */
	.elementor-widget-image a {
		display: inherit !important;
	}

/* 	Custom styling for code snippets; styling for category shortcode output */
	div .category_shortcode_item {
		clear: inline-end;
		padding: 1rem;
	}	
	.monospace {
		font-family: monospace;
		background-color: #a1a1a1;
		color: #000;
	}
	ul .admin li {
		list-style: disc !important;
	}
	.hide {
		display: none;
	}
/* adjusts WP Block Theme widgets for footer and other areas */
	.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
		font-size: 1rem;
		color: #1e4d2b;
	}
	.wp-block-social-links .wp-block-social-link.wp-social-link {
		background-color: transparent;
	}
	.wp-block-social-links .wp-social-link svg {
		height: 2em;
		width: 2em;
	}
	.wp-block-social-link-anchor svg > path {
		color: #008FB3;
	}