
a:link, a:active, a:visited { color: var(--blue); }
a:hover { color: var(--red); }

ul { list-style-position: outside; margin: 10px 0 10px 25px; }	
ol { list-style-position: outside; margin: 10px 0 10px 25px; }

ul li, ol li { margin: 5px 0; }

h1, h2, h3, h4, h5, h6 { margin: 15px 0; color: #111; }
			
dl { margin: 10px 5px; }
dl dt { display: block; font-weight: bold; margin: 10px 0; }
dl dd { display: block; text-indent: 20px; margin: 10px 0; }

@media screen and (min-width:650px) {

header.header div.alt_links { display: flex; position: absolute; right: 0; font-size: 14px;  }

main.main { margin: 0 auto; position: relative; display: flex; flex-direction: column; align-items: center; }

	section.section { padding: 0 10px; position: relative; max-width: 1200px; flex: 1 1 auto; width: 100%; }
	
		header.section_header { position: relative; margin: 15px 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;  }
		
			header.section_header .title { display: inline-block; margin: 5px 0; font-size: 22px; font-weight: 500; flex: 1 1 auto; color: var(--darkblue); }
	
		div.section_content { margin: 10px 0; }

/*header.header nav.site_nav a#print { position: absolute; right: 0; font-size: .9em; top:1px; }*/

footer.footer { border-top: 1px solid var(--lighterblue); margin-top: 10px; padding: 10px 0; }
footer.footer div.footer_content { max-width: 1200px; width: 100%; margin: 0 auto; }

main#catalog {}

	section.catalog img { max-width:50%; float:right; padding: 0 0 10px 10px; }
	
	section.catalog header.section_header { margin: 0; position: sticky; top: -1px; z-index: 999; background-color: #fff; }

	section.catalog header.section_header a.title { color: var(--darkblue); border-bottom: 1px solid transparent; text-decoration: none; display: block; background-position: 99% center; background-size: 3%; padding: 10px 0; }

	section.catalog header.section_header a.title:hover { color: var(--blue); border-bottom: 1px solid #ddd; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtZGFzaGFycmF5PSIxMCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyIDE1bC01IC01TTEyIDE1bDUgLTUiPjxhbmltYXRlIGZpbGw9ImZyZWV6ZSIgYXR0cmlidXRlTmFtZT0ic3Ryb2tlLWRhc2hvZmZzZXQiIGR1cj0iMC4zcyIgdmFsdWVzPSIxMDswIi8+PC9wYXRoPjwvc3ZnPg=='); }

	section.catalog div.section_content { margin: 0; height: 0; overflow: hidden; position: relative; }

		section.catalog div.section_content a.content_anchor { margin-top: -55px; display: block; height: 1px; position: absolute; }

	section.catalog.show div.section_content { height: 100%; overflow: visible; }
		
	section.catalog.show header.section_header a.title { border-bottom-color: #ddd; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtZGFzaGFycmF5PSIxMCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyIDlsLTUgNU0xMiA5bDUgNSI+PGFuaW1hdGUgZmlsbD0iZnJlZXplIiBhdHRyaWJ1dGVOYW1lPSJzdHJva2UtZGFzaG9mZnNldCIgZHVyPSIwLjNzIiB2YWx1ZXM9IjEwOzAiLz48L3BhdGg+PC9zdmc+'); }

	section#programs div.program { margin: 5px 0; }
	
		section#programs div.program_header { position: sticky; top: 48px; z-index: 899; background-color: #fff; }
			
			section#programs div.program_header a.program { color: #111; font-size: 20px; border-bottom: 1px solid transparent; text-decoration: none; display: block; background-position: 99% center; background-size: 3%; padding: 10px 0;  }
			
			section#programs div.program_header a.program:hover { border-bottom-color: #ccc; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtZGFzaGFycmF5PSIxMCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyIDE1bC01IC01TTEyIDE1bDUgLTUiPjxhbmltYXRlIGZpbGw9ImZyZWV6ZSIgYXR0cmlidXRlTmFtZT0ic3Ryb2tlLWRhc2hvZmZzZXQiIGR1cj0iMC4zcyIgdmFsdWVzPSIxMDswIi8+PC9wYXRoPjwvc3ZnPg==');}
			
		section#programs div.program_content { height: 0; overflow: hidden; position: relative; border: 1px solid transparent; }
		
			section#programs div.program_courses {}
			
				section#programs div.program_courses div.program_course { margin: 15px 0; }
				
					section#programs div.program_courses p.program_course span.course_code,
					section#programs div.program_courses p.program_course span.course_name { font-weight: 600; }
		
	section#programs div.program.show div.program_content { height: 100%; overflow: visible; /*border-bottom-color: #ccc;*/ }
	
	section#programs div.program.show a.program { border-bottom-color: #ddd; background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtZGFzaGFycmF5PSIxMCIgc3Ryb2tlLWRhc2hvZmZzZXQ9IjEwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTEyIDlsLTUgNU0xMiA5bDUgNSI+PGFuaW1hdGUgZmlsbD0iZnJlZXplIiBhdHRyaWJ1dGVOYW1lPSJzdHJva2UtZGFzaG9mZnNldCIgZHVyPSIwLjNzIiB2YWx1ZXM9IjEwOzAiLz48L3BhdGg+PC9zdmc+');}

	section#personnel h2 { text-transform: uppercase; }	
		
	section#personnel h3 { text-transform: uppercase; }
	
	/*section#programs div.program_course { margin: 15px 0; }

		section#programs div.program_course span.course_code { text-transform: uppercase; font-weight: bold; }
		section#programs div.program_course span.course_name { font-weight: bold; }
		section#programs div.program_course span.course_descrition {}

		section#programs h2.program { position: sticky; top: 49px; background-color: #fff; padding: 10px 0; border-bottom: 1px solid #eee;  }*/

	/*main#catalog section.intro {  }
	main#catalog section.intro header.section_header { margin: 10px 0 15px 0; position: relative; display: flex; justify-content: space-between; align-content: center; }
	main#catalog section.intro header.section_header a.print { font-size: 14px; text-decoration: none; }*/

main#programs {}

main#program {}
	
	main#programs div.programs
	{
		padding: 5px 0;
	}
	
	main#program table caption
	{
		font-weight: bold;
		text-align: left;
		margin-bottom: 5px;
	}
	
	main#program table td.code { width: 10%; text-align: center; white-space: nowrap; }
	main#program table td.name { width: 60%; }
	main#program table td.units { width: 10%; text-align: center; }
	main#program table td.note { text-align: center;}
	
main#gradprograms {}
		
	main#programs div.programs
	{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		/*justify-content: center;*/
		gap: 20px;
	}
	
		main#programs div.programs div.program
		{
			flex: 1 1 auto;
			/*max-width: 400px;*/
			min-width: 200px;
			height: 65px;
			position: relative;			
		}
					
			main#programs div.programs a 
			{ 
				border-radius: 5px;
				align-items: center;
				padding: 5px;
				border: 1px solid var(--blue);
				text-decoration: none;
				display: flex;
				justify-content: center;
				height: 100%;
				background-color: #fff;
			}
			
			main#programs div.programs a:hover
			{
				color: #fff;
				background-color: var(--blue);
			}
			
main#courses {}
	
	main#courses form.courses_search
	{
		display: flex;
		align-items: center;
		gap: 10px;
		flex: 1 1 auto;
		flex-wrap: wrap;
	}
	
		form.courses_search div.name { flex: 1 1 auto;  }
			form.courses_search input.course_name { width: 100%; min-width: 300px; }
		form.courses_search div.programs { flex: 0 1 auto;  }
			form.courses_search select.course_program { width: auto; min-width: 350px; }
		form.courses_search div.buttons { flex: 0 1 auto;  }
		
		form.courses_search label { display: flex; width: inherit; align-items: center; gap: 5px; white-space: nowrap; }
		
	main#courses table.courses_list { border-spacing: 0; }
	
		table.courses_list thead { position: sticky; top: 1px; background-color: #eaeaea; }
		
		table.courses_list tbody tr { }
		table.courses_list tbody td { padding: 15px; }
		table.courses_list tbody td span { font-weight: bold; }
		table.courses_list th.course_code { width: 10%; }
		table.courses_list th.course_name { width: 50%; }
		table.courses_list th.course_program { width: 30%; }
		table.courses_list th.course_credit_hours { width: 10%; }
		
		table.courses_list td.course_code { white-space: nowrap; border-left: 1px solid #ddd; border-top: 1px solid #ddd; background-color: #fafafa; }
		table.courses_list td.course_name { background-color: #fafafa; border-top: 1px solid #ddd; }
		table.courses_list td.course_program { background-color: #fafafa; border-top: 1px solid #ddd; }
		table.courses_list td.course_credit_hours { white-space: nowrap; text-align: center; border-right: 1px solid #ddd; border-top: 1px solid #ddd; background-color: #fafafa; }
		
		table.courses_list td.course_description { width: 100%; padding: 0; }
		
			table.courses_list div.course_description { font-weight: normal; border-bottom: 1px solid #ddd; border-left: 1px solid #ddd; border-right: 1px solid #ddd; margin-bottom: 20px;}
				table.courses_list div.course_description span { display:inline-block; padding: 15px; font-weight: normal; }
		
		table.courses_list td.hide { position: absolute; z-index: -1000; opacity: 0; display: none; }
		
		/*table.courses_list tr.even td { background-color: #eee; }*/
		
		th.asc { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAMlJREFUWEft1UEOgjAQheGZtR5KdxwD93oHvYK6x2N0p0fxELiuwSjRWNqZR7ExGfbwf7ykwFT44sJ9MoAt8N8LzKpN3Z2imzuc0NMEL/CMN12YiXet228RBAR4j7+iKEINCMXHIFSAWBxFiAGSOIIQATRxLSIJQOIaRBQwJi5FDAJyxCWIICBnPIX4AkwRjyE+AFPGhxA94BfxEOIBmFfrhSc+Iz8T9B4mv2zd8VIKcGXyqx6AvkWO+5JfwhyR2DMMYAvYAsUXuAMAmVQh6LhTFQAAAABJRU5ErkJggg==); background-size:15px; background-position:98% center;} 
		
		th.desc { background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAMhJREFUWEft1sENgkAQheGZsxalN8qQu9qC9iAFUAY3LcUi9DxmNZKQXZaZYdnlMFw4kf/LC2FBKHxh4T4YwBawBdaxwLY67gjwnvGb8ESg+tU1j+8CBQCAQPse8EOcrwR0ybRC/e5urWsN3oFMiD7uATIsMYgHAQsivPgoYAFEMB4FJESMxicBCRDROAswAzEZZwMUCFZcBBAg2HExgIEQxVWACEIcVwMCCFV8FsA9vKlOB3f/Hyyag2wdPyQaeapnbAFboPgCH2FybiEni7HYAAAAAElFTkSuQmCC); background-size:15px; background-position:98% center; }

}

@media print 
{
	body { font-size: 14px; }
	header.header { display: none; }
	
	main.main, footer.footer { display: block; }
	
	a { text-decoration: none !important; color: #000 !important; }
	
	img { display: none; }

	main#catalog div.section_content { height: 100%; }
}

@media screen and (max-width:650px)
{
	body { font-size: 14px; }
	
	header.header div.alt_links { display: none; }
	
	main.main { padding: 10px; }
	
	img { display: none; }
	
	footer.footer { border-top: 1px solid var(--lighterblue); margin: 10px; padding: 10px 0; }
	
	main .title
	{
		display: block;
		font-size: 18px;
		text-decoration: none;
		font-weight: bold;
		cursor: default;
		margin: 5px 0 15px 0;
	}
	
		main a.title:hover { color: var(--blue); }
		
	main#catalog section.section.intro { margin: 0; }
	main#catalog section.section { margin: 20px 0; }
	
	main#programs div.program { margin: 10px 0; } 
	
	main#courses form.courses_search { display: block; }
		
		main#courses form.courses_search div { margin: 10px 0; }
		main#courses form.courses_search div.buttons { padding-top: 5px; }
		main#courses form.courses_search label { display: flex; flex-direction: column;  flex: 1 1 auto; width: 100%; }
		
		main#courses table { border-top: 1px solid #ddd; margin-top: 20px;  }
			
			main#courses table tr { border: none; padding: 0; }
			
			main#courses table tr.even td.course_description,
			main#courses table tr.odd td.course_description { border-bottom: 1px solid #ddd; margin-bottom: 10px; }
			
			main#courses table tr.even td { background-color: #fafafa; }
			
			main#courses table td { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-start; }
			main#courses table td::before
			{
				display: block;
				flex: 0 0 auto;
				font-size: 12px;
				font-weight: bold;
				margin-right: 5px;
			}
			main#courses table td span { display: block; flex: 1 1 auto; }
			main#courses table td.course_description span { margin: 5px;}
			
			main#courses table td.course_code::before
			{
				content : 'Course Code:';
			}
			
			main#courses table td.course_name::before
			{
				content : 'Course Name:';
			}
			
			main#courses table td.course_program::before
			{
				content : 'Course Program:';
			}
			
			main#courses table td.course_credit_hours::before
			{
				content : 'Course Units:';
			}
			
			main#courses table td.course_description::before
			{
				content : 'Course Description:';
			}
}