body
{
	font-family: "Inter", Helvetica, Arial, "sans-serif";
	font-size: 16px;
}

input, select, textarea, button { font-family: inherit !important; }
button { white-space: nowrap; }
a:link,a:visited { text-decoration: none; }
a:active,a:hover { text-decoration: underline; }
table
{
	border-collapse: separate;
	border-spacing: 1px;
}
table thead th.count { color: #777; }
th { padding: 5px 10px; font-weight: 500; font-size: 15px; }
td { background-color: #fff; padding: 10px; position: relative; }
table tbody { counter-reset: rowNumber; }
table tbody tr { counter-increment: rowNumber; height:auto !important; }
table tbody tr td:first-of-type.count::before,
table tbody tr td:first-of-type.order::before { content: counter(rowNumber); color: #777; }

p { margin: 10px 0; }

ul,ol { margin-left: 20px; }
h1 { font-size: 1.6rem; margin: 15px 0; font-weight: 500; }
h2 { font-size: 1.5rem; margin: 15px 0; font-weight: 500; }
h3 { font-size: 1.4rem; margin: 15px 0; font-weight: 500; }
h4 { font-size: 1.3rem; margin: 15px 0; font-weight: 500; }
h5 { font-size: 1.2rem; margin: 15px 0; font-weight: 500; }
h6 { font-size: 1.1rem; margin: 15px 0; font-weight: 500; }

header.template
{
	background-color: var(--blue);
	display: flex;
	flex-direction: column;
	position: relative;
	color: #fff;
	overflow: hidden;
	flex: 0 0 auto;
}

	header.template div.header
	{
		width: 100%;
		max-width: 1200px;
		margin: 5px auto;
		display: flex;
		justify-content: space-between;
		position: relative;
	}
	
		header.template div.header a.logo
		{
			background-repeat: no-repeat;
			background-size: contain;
			background-image: url('https://websites.hanover.edu/template/images/hanover-horizontal-white-800w2.png');
			flex: 1 1 auto;
			display: block;
			outline: none;
			width: auto;
			max-width: 250px;
			height: 10vw;
			max-height: 66px;
			min-height: 30px;
		}
		
		header.template div.header a.www
		{
			flex: 0 1 auto;
			text-decoration: none;
			font-size: 14px;
			text-align: right;
			height: 1%;
			color: inherit;
		}
	
	header.template hr 
	{
		margin: 0;
		border-color: var(--lightblue);
		opacity: .3;
	}
	
	div#site_name
	{
		width: 100%;
		position: relative;
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1200px;
		margin: 0 auto;
	}
	
		div#site_name a.site_name
		{
			font-size: 20px;
			font-weight: normal;
			text-transform: uppercase;
			margin: 10px 0;
			color: inherit;
			text-decoration: none;
		}
		
		div#site_name span.welcome
		{
			text-align: right;
		}
	
	div#header_nav
	{
		position: relative;
		background-color: #fff;		
		border-bottom: 1px solid var(--gray);
	}
	
		div#header_nav div.nav_frame
		{
			display: flex;
			margin: 5px auto;
			justify-content:space-between;
			max-width: 1200px;
		}
		
			div#header_nav nav
			{
				display: flex;
				flex-wrap: wrap;
				align-items: center;
			}

				div#header_nav nav a
				{
					display: inline-block;
					text-decoration: none;
					color: var(--blue);
					
				}

				div#header_nav nav a:hover { text-decoration: underline; }

				div#header_nav nav.site a { margin: 5px 10px 5px 5px; }
				
@media (max-width: 1210px) {

	body { font-size: 14px !important; }
	header.template { padding: 0 10px; }
	main.frame { padding: 0 10px; }
	

}	