@import url('/websites/css/fonts/Inter/inter.css');
@import url('/websites/css/forms.css');

hr { height:1px; background-color:#ccc; border:none; display:block; clear:both; margin:25px 0; width:100%; overflow: hidden; line-height: 1; }
.frame { max-width: 1200px; margin-left: auto; margin-right: auto; width:100%; position:relative; white-space:normal; clear: both; }

body
{
	background-color:#fff;
	color: #000;
	font-family: "Inter", Helvetica, Arial, "sans-serif";
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
}

header.header
{
	background-color: var(--blue);
	border-bottom: 1px solid var(--lighterblue);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	align-items: center;	
	width: 100%;
	color:#fff;
	line-height: 1;
}

	header.header div.header_upper
	{
		flex: 1 1 auto;
		width: 100%;
		max-width: 1200px;
		color: #fff;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding: 0 10px;
		margin: 5px 0;
	}
	
		header.header div.header_upper a { color: #fff; font-size: .9em; text-decoration: none; }
		
		header.header div.site_hc_logo
		{
			flex: 0 0 auto;
			width: 230px;
			height: 60px;
			background-size: contain;
			background-position: center left;
			background-image: url('/websites/images/hanover-horizontal-white-800w.png');
			display: block;
			outline: none;
		}
	
	header.header div.header_middle
	{
		flex: 1 1 auto;
		width: 100%;
		max-width: 1200px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		color: #fff;
		margin: 15px 0;
		padding: 0 10px;
		gap: 20px;
	}
	
		header.header div.header_middle a { color: #fff; text-decoration: none; }			
		header.header div.header_middle a:hover{ text-decoration: none;  }
		
		header.header div.site_title,
		header.header div.site_name
		{		
			flex: 1 1 auto;
			/*font-size: calc(1vw + 1vh);*/
			text-transform: uppercase;
			white-space: nowrap;
			font-size: 1.3em;
			color: #fff;
		}
		
		header.header div.site_options,
		header.header div.site_links
		{
			flex: 0 0 auto;
			display: flex;
			gap: 15px;
			align-items: center;
		}
		
	header.header div.header_lower
	{
		flex: 1 1 auto;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		color: var(--blue);
		background-color: #f9f9f9;
		position: relative;
	}
		
		header.header div.header_lower a { color: var(--blue); text-decoration: none; }
		header.header div.header_lower a:hover { text-decoration: underline; }
		
		header.header nav.site_nav
		{
			max-width: 1200px;
			display: flex;
			width: 100%;
			padding: 0 10px;
			align-items: center;		
			flex-wrap: wrap;
			position: relative;
			margin: 5px 0;
			gap: 5px;
		}
		
			header.header nav.site_nav:empty { display: none; }
		
			header.header nav.site_nav a
			{
				color: var(--blue);
				display: block;
				white-space: nowrap;
				font-size: 1em;
				margin: 5px 15px 5px 0;
			}
	
table { background-color: #e3e3e3; border-spacing: 1px; border-collapse: separate; }
table thead { background-color: #eee; }
table thead th { padding: 5px 10px; font-size: .9em; font-weight: 500; outline: 1px solid #ddd; cursor: default; vertical-align: middle; }
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); }
table tbody td { background-color: #fff; padding: 10px; vertical-align: middle;  }

.left { text-align: left; }
.center { text-align: center; }
.right { text-align: right; }

main.main 
{ 
	width: 100%; 
	height: 100%; 
	font-size: 1em; 
}

	main.main p { margin-top: 15px; margin-bottom: 15px; }

body#application,
body.app
{
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
	height: 100vh;
	width: 100vw;	
}

body#application header.header,
body.app header.header
{
	flex-direction: row;
	flex: 0 0 auto;
	padding: 5px 20px;
	gap: 20px;
	color: #fff;
}		

	body.app header.header div.site_name
	{
		text-align: center;
		margin: 10px 0;
	}
	
		div.site_name a.site_name { text-decoration: none; color: #fff; }

body#application main.main,
body.app main.main
{
	flex: 1 1 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	align-items: center;
}

	body#application section.main,
	body.app section.main
	{
		width: 100%;
		flex: 1 1 auto;
	}
	
	body#application section.main_section
	{
		width: 100%;
		flex: 1 1 auto;
	}

body#application header.section,
body.app header.section { margin: 20px; }


@media screen and (max-width:700px)
{
	body{ font-size: 14px; }

	body#application header.header,
	body.app header.header
	{
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}	

}

@media screen and (max-width:400px)
{

	body{ min-width: 300px !important; font-size: 14px; }

	header.header div.site_hc_logo
	{
		height: 50px;
	}
	
	input,textarea,select { font-size: inherit !important; }

	table, thead, tbody, tfoot, tr, th, td
	{
		display: block;	
		background-color: #fff;
	}

	table caption { display: block;  }
	table thead { display: none; }

	tbody tr 
	{ 
		border-bottom: 1px solid var(--blue); 
		background-color: #fff; 
		padding: 5px 0;
	}

	td 
	{ 
		padding: 5px !important; 
		vertical-align:middle; 
		width:auto !important;
		border: none;
		position: relative;
		align-items: center;
	}

	header.header div.upper,
	header.header div.header_upper { justify-content: center; }
	div.site_hc_logo
	{ 
		background-position: center !important;
	}
	header.header div.middle,
	header.header div.header_middle
	{
		margin-top: 5px;
	}

	main.main { flex-wrap: wrap; }

	/*body#application div.site_hc_logo,
	body.app div.site_hc_logo 
	{ 
		background-image: url('/websites/images/miniwhiteshield.png') !important; 
		min-width: 50px;
		background-position: center;
	}*/

	a.site_hc_link { display: none; }
	div.site_name { text-align: center; }
	
}
.spinner_blue {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzBweCIgaGVpZ2h0PSIzMHB4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCIgY2xhc3M9Imxkcy1kdWFsLXJpbmciIHN0eWxlPSJzaGFwZS1yZW5kZXJpbmc6IGF1dG87IGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyBiYWNrZ3JvdW5kOiBub25lOyI+PGNpcmNsZSBjeD0iNTAiIGN5PSI1MCIgbmctYXR0ci1yPSJ7e2NvbmZpZy5yYWRpdXN9fSIgbmctYXR0ci1zdHJva2Utd2lkdGg9Int7Y29uZmlnLndpZHRofX0iIG5nLWF0dHItc3Ryb2tlPSJ7e2NvbmZpZy5zdHJva2V9fSIgbmctYXR0ci1zdHJva2UtZGFzaGFycmF5PSJ7e2NvbmZpZy5kYXNoYXJyYXl9fSIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiByPSI0MCIgc3Ryb2tlLXdpZHRoPSI2IiBzdHJva2U9IiMwYjQ4NmQiIHN0cm9rZS1kYXNoYXJyYXk9IjYyLjgzMTg1MzA3MTc5NTg2IDYyLjgzMTg1MzA3MTc5NTg2IiBzdHlsZT0iYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IGFuaW1hdGlvbi1kZWxheTogMHM7IiB0cmFuc2Zvcm09InJvdGF0ZSgxNzAuNDU4IDUwIDUwKSI+PGFuaW1hdGVUcmFuc2Zvcm0gYXR0cmlidXRlTmFtZT0idHJhbnNmb3JtIiB0eXBlPSJyb3RhdGUiIGNhbGNNb2RlPSJsaW5lYXIiIHZhbHVlcz0iMCA1MCA1MDszNjAgNTAgNTAiIGtleVRpbWVzPSIwOzEiIGR1cj0iMC44cyIgYmVnaW49IjBzIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgc3R5bGU9ImFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nOyBhbmltYXRpb24tZGVsYXk6IDBzOyI+PC9hbmltYXRlVHJhbnNmb3JtPjwvY2lyY2xlPjwvc3ZnPg==);
}

.spinner_white {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzBweCIgIGhlaWdodD0iMzBweCIgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIiBjbGFzcz0ibGRzLWR1YWwtcmluZyIgc3R5bGU9ImJhY2tncm91bmQ6IG5vbmU7Ij48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiBuZy1hdHRyLXI9Int7Y29uZmlnLnJhZGl1c319IiBuZy1hdHRyLXN0cm9rZS13aWR0aD0ie3tjb25maWcud2lkdGh9fSIgbmctYXR0ci1zdHJva2U9Int7Y29uZmlnLnN0cm9rZX19IiBuZy1hdHRyLXN0cm9rZS1kYXNoYXJyYXk9Int7Y29uZmlnLmRhc2hhcnJheX19IiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHI9IjQwIiBzdHJva2Utd2lkdGg9IjYiIHN0cm9rZT0iI2ZmZmZmZiIgc3Ryb2tlLWRhc2hhcnJheT0iNjIuODMxODUzMDcxNzk1ODYgNjIuODMxODUzMDcxNzk1ODYiIHRyYW5zZm9ybT0icm90YXRlKDE3Mi4yNDggNTAgNTApIj48YW5pbWF0ZVRyYW5zZm9ybSBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iIHR5cGU9InJvdGF0ZSIgY2FsY01vZGU9ImxpbmVhciIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCIga2V5VGltZXM9IjA7MSIgZHVyPSIwLjhzIiBiZWdpbj0iMHMiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIj48L2FuaW1hdGVUcmFuc2Zvcm0+PC9jaXJjbGU+PC9zdmc+);
}
