.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	}
 *	{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	}
.hide {display: none;}

body{
	font-family: Arial,Helvetica,sans-serif;
	font-weight: 500;
	margin: auto;
	padding: 0;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	-o-user-select: none;
	user-select: none;
	background-color: white;
	position: relative;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	z-index: 0;
	font-size: 100%;
	}
select
	{
	margin: 5px;
	}
table
	{
	border-collapse: collapse;
     border-spacing: 0px;		
	}
th
	{
	text-align: center;
	padding: 7px;
	}
td { position: relative;}
/**
th[data-direction]
	{
	cursor: pointer;
	}
**/
legend
	{
	text-shadow:0 -1px 1px hsla(0,0%,0%,0.5);
	}
button, caption, .caption
	{
	text-align:center;
	vertical-align: middle;
	font-size: 110%;
	font-weight: bold;
	position: relative;
	padding: 5px;
	/*background-color: #FD7F00;*/
	color: white;
	text-shadow:0 -1px 1px hsla(0,0%,0%,0.5);
	/*
	height: 30px;
	max-height: 30px;
	*/
	}
button 
	{
	border-radius: 5px;
	border-width: 1px;
	}
button:hover {opacity: .7;}

.buttons span
	{
	text-shadow: 1px 1px 0px hsla(0,0%,0%,1.0);
	}	
caption, .caption {text-align:left; }
#heading_back_white
	{
	position: fixed;
	top: 0;
	background-color: white;
	z-index: 10;
	}
#heading_back_black
	{
	position: fixed;
	background-color: black;
	z-index: 20;
	}

.primary_obj
	{
	display: none;
	}
#heading_back_white
	{
	position: fixed;
	top: 0;
	background-color: white;
	z-index: 10;
	}
#heading_back_black
	{
	position: fixed;
	background-color: black;
	z-index: 20;
	}

.center {
		position: relative;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		text-align: center;
		box-sizing: border-box;
		padding: 10px;
		}
/** hover **/

/** background **/
body,
#search_result	{
	background-color: hsla(0,0%,100%,1.0);
	}
a.resource
	{
	background-color: hsl(60, 100%, 92%);
	}

#modal_cover {
	background-color: hsla(200,100%,15%,1.0);
	}
#topnav a:hover {
	background: hsla(0,0%,24%,1.0);
	}

table.side_grouping tbody:not(.loading) tr td:nth-child(1)	{
	background-color: hsla(200,100%,35%,1.0);
	}

/** border colors **/
input[type=text], textarea
	{
	border: thin solid;
	}
#search_result
	{
	border: 5px solid;
	}
#map-canvas,
a.resource
	{
	border: 1px hsla(200,100%,12%,.7) solid;
	}
a.resource:hover
	{
	border: 1px solid orange;
	}
td, th, caption {
	border: 1px silver solid;
	}
/*
caption *:not(:nth-child(1))
	{
	border-left: 1px hsla(0,0%,100%,1.0) solid;
	}
*/
//override
tbody.loading  td
	{
	background-color: white;
	}
@keyframes blink {
  0% 	{ opacity: 0.3; }
  50%	{ opacity: 0.99;}
  100% 	{ opacity: 0.3; }
}

.blink {animation: blink 1.5s linear infinite; }	
/*** widths ***/
.w40		{width: 40px; 		/*min-width: 40px;	max-width: 40px;	*/	}
.w50		{width: 50px; 		/*min-width: 50px;	max-width: 50px;	*/	}
.w60		{width: 60px !important; 		min-width: 60px;	max-width: 60px;		}
.w70		{width: 70px; 		/*min-width: 70px;	max-width: 70px;	*/	}
.w80		{width: 80px; 		/*min-width: 80px;	max-width: 80px;	*/	}
.w90		{width: 90px; 		/*min-width: 90px;	max-width: 90px;	*/	}
.w100	{width: 100px; 	/*min-width: 100px;	max-width: 100px;	*/	}
.w110	{width: 110px; 	/*min-width: 110px;	max-width: 110px;	*/	}
.w120	{width: 120px; 	/*min-width: 120px;	max-width: 120px;	*/	}
.w130	{width: 130px; 	/*min-width: 130px;	max-width: 130px;	*/	}
.w140	{width: 140px; 	/*min-width: 140px;	max-width: 140px;	*/	}
.w150	{width: 150px; 	/*min-width: 150px;	max-width: 150px;	*/	}
.w160	{width: 160px; 	/*min-width: 160px;	max-width: 160px;	*/	}
.w170	{width: 170px; 	/*min-width: 170px;	max-width: 170px;	*/	}
.w180	{width: 180px; 	/*min-width: 180px;	max-width: 180px;	*/	}
.w190	{width: 190px; 	/*min-width: 190px;	max-width: 190px;	*/	}

.w1100{width: 1100px; min-width: 1100px;}
.w1200{width: 1200px; min-width: 1200px;}
.w1300{width: 1300px; min-width: 1300px;}

/*** padding ***/

.pad_sides_2px { padding-left: 2px;  padding-right: 2px; }

/*** background	***/
.bg_wht 		{background-color: white;}
.bg_blk 		{background-color: black;}
.odd 		{background-color: hsla(200,100%,90%,1.0);}
.even 		{background-color: white;}
.bg_grey_2	{background-color: hsla(0,0%,50%,1.0);}

/*** alignment 	***/
.left{text-align: left;}
.right{text-align: right;}

ul {
	list-style-type: square;
}
li {margin-left: 0;}

/*** numeric font-weights ***/

.ftw_lgt {font-weight: lighter;}
.ftw_100 {font-weight: 100;}
.ftw_200 {font-weight: 200;}
.ftw_300 {font-weight: 300;}
.ftw_400 {font-weight: 400;} /* normal */
.ftw_500 {font-weight: 500;}
.ftw_600 {font-weight: 600;}
.ftw_700 {font-weight: 700;} /* bold */
.ftw_800 {font-weight: 800;}
.ftw_900 {font-weight: 900;}

.highlight
	{
	background-color: yellow !important; 
	}
.bold	{font-weight: bold;}

/*** float ***/
.fl_l {float: left;}
.fl_r {float: right;}

.ab_l_10 {position: absolute; left: 10px;}

/** font style **/

.fs_it	{font-style: italic;}
.fs_ob	{font-style: oblique;}

/** alignment **/
.int, .dollar, .float, .pct, .time_worked {text-align: right;}
.dollar::before {content: '$';}
.pct::after {content: '%';}
.hours::after {content: ' hrs';}
.no_before_text::before {content: '';}

/*.hours::after {content: 'hrs';}*/

/*row counter*/
tbody 	{ counter-reset: line 0; }
tbody tr td.sequence_num	
	{
	counter-increment: line; 
	}

tbody tr  td.sequence_num::before
	{
	width: 15px;
/*	content: counter(line) ".";*/
	content: counter(line) "";
	min-width: 1em;
	margin-right: 0.5em;
	}
	

tr.totals:last-child {position: sticky; bottom: 0;}
/* other stuff */
td.insufficient_data
	{
	height: 300px;
	text-align: center;
	vertical-align: middle;
	}
.border_right_2px
	{
	border-right: 2px black solid;
	}
.border_right_3px
	{
	border-right: 3px black solid;
	}
.no_border {border: none;}

.ptr, .upl {cursor: pointer;}

