html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a,
em, font, img,
strong, sub, sup,
b, u, i, center,  form,
table, tr, td, button {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}

/*the sizing bead*/
#size{
	height: 10px;
	width: 10px;
	background: #ffcc00;
	position: absolute;
	top: 0;
	right: 0;
}
.clear{
	clear: both;
}
span.clear{
	display: block;
}

html, body{
	height: 100%;
}
body{
  background: linear-gradient(90deg, #00273f 260px, #fff 0%);
  position: relative;
	margin: 0;
	padding: 0;
	font-family: Montserrat,arial, helvetica, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5em;
	color: #215158;
}

strong, b{
	font-weight: 600;
}
h1{
	font-size: 3em;
	font-weight: 300;
	line-height: 1.2em;
	margin-bottom: 0.4em;
}

h2{
	font-size: 2em;
	font-weight: 300;
	line-height: 1.2em;
	margin-bottom: 0.4em;
}
h3{
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.2em;
	margin-bottom: 0.4em;
}

h3.error:before{
	content: "\f071\00a0\00a0";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #e11f28;
}
h3.info:before{
	content: "\f05a\00a0\00a0";
	color: #edaa00;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}

h4{
	font-size: 1.3em;
	font-weight: normal;
	line-height: 1.2em;
	margin-bottom: 0.4em;
	text-transform: uppercase;
	color: #7b9aab;
}
h5{
	font-size: 1.1em;
	font-weight: normal;
	line-height: 1em;
	text-transform: uppercase;
	color: #215158;
}
p{
	margin-bottom: 2em;
}
p.tighter{
	margin-bottom: 1em;
}
textarea{
	font-family: Montserrat, arial, helvetica, sans-serif;
	font-weight:  300;
}
a{
	color: #00c4ac;
	text-decoration: none;
}
a:hover{
	text-decoration: underline;
}
#content{
	position: relative;
	width: calc(98vw - 300px);/*scrollbar takes up some space...*/
}
.nobr{
	white-space: nowrap;
}
.clickable{
	cursor: pointer;
	color: #1497bf;
}
.twocol{
	width: 42%;
	margin-right: 4%;
	min-width: 190px;
}
.pad_bottom{
	padding-bottom: 8px;
}
.red{
	color: #e11f28;
}
.grey{
	color: #999;
}
.light_text{
	color: #7b9aab;
}
.smaller{
	font-size: 0.85em;
	line-height: 0;
}
.medium{
	font-size: 0.9em;
	line-height: 1.2em;
}
.float_left{
	float: left;
}
.float_right{
	float: right;
}
.centered{
	text-align: center;
	margin: auto;
}

.half{
	width: 48%;
}
.left{
	float: left;
}
.half.left{
	margin-right: 2%;
}
#status_msg{
	position: fixed;
	text-align: center;
	bottom: -50px;
	left: 50%;
	opacity: 1;
	background: #eee;
	border: 1px solid #999;
	border-radius: 6px 6px 0 0;
	padding: 6px 22px;
	box-shadow: 0 -3px 12px rgba(0,0,0,0.4);
	z-index: 3000;
	color: #666;
	font-weight: bold;
	font-size: 0.8em;
}

#status_msg.on{
	bottom: 0;
	opacity: 0;
	transition: bottom 0.6s, opacity 4s;
}

#announcements{
	width: 100%;
	padding: 30px 30px 10px 30px;
	background: #e8f4f4;
	box-shadow: 3px 3px 5px rgba(0,20,25,0.15);
	border-radius: 0 0 18px 0;
}
#announcements .announcement{
	border-bottom: 1px solid #ccc;
	padding: 12px 0;
}
#announcements .announcement:last-of-type{
	border: none;
}
#announcements .announcement .headline{
	font-size: 1.1em;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 14px;
	font-weight: 600;
}

#announcements .announcement .edit{
	cursor: pointer;
	font-size: 0.8em;
}
#announcements .date{
	font-size: 0.8em;
	font-weight: 400;
}
#announcements .announcement .intro{
	width: 100%;
	overflow: hidden;
	margin-bottom: 6px;
	max-height: 50px;
	position: relative;
}

#announcements .announcement .intro .moreinfo{
	width: 210px;
	position: absolute;
	text-align: right;
	right: 0;
	bottom: 1px;
	background: rgb(232,244,244);
	background: linear-gradient(90deg, rgba(232,244,244,0.5172269591430323) 0%, rgba(232,244,244,0.9598039899553571) 27%, rgba(232,244,244,1) 100%); cursor: pointer;
	text-transform: uppercase;
	font-size: 0.9em;
}


#announcements .announcement .intro.full{
	max-height: none;
	padding-bottom: 30px;
}

#announcements .announcement .intro .moreinfo:before{
	content: 'Continue Reading';
	color: #1497bf;
}
	

#announcements .announcement .intro.full .moreinfo:before{
	content: 'Show Less';
}

#announcements p{
	margin: 0 0 0.5em 0;
}
.section{
	border: 1px solid #ccc;
	padding: 12px;
	margin: 8px 0;
}
.heading_separator{
	border-bottom: 1px solid #aaa;
	margin-bottom: 8px;
	background: #537e93;
}

.heading_separator .separator_title{
	padding: 8px;
	color: #fff;
}

.line_separator{
	border-bottom: 1px solid #aaa;
	margin: 8px 0 12px;
}

.group_title{
  padding: 8px 12px 8px 0;
  border-bottom: 1px solid #ccc;
}

#scrim{
    background: linear-gradient(90deg, #00273f 260px,rgba(80,94,104,0.5) 0%);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
}

#scrim_plain{
    background: rgba(80,94,104,0.5);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
}


#popup{
	position: absolute;
	z-index: 1000;
}
.popup_box{
	background: #fff;
	border-radius: 12px;
	box-shadow: 5px 5px 5px rgba(0,0,0,0.4);
}
.popup_close{
	position: absolute;
	right: 12px;
	top: 4px;
	cursor: pointer;
}

.popup_close:before{
	font-family: 'Font Awesome 5 Free';
  	font-weight: 900;
	content: "\f00d";
	font-size: 1.2em;
	color: #333;
}

.popup_header{
	width: 100%;
	background: #002740;
	color: #fff;
	padding: 4px 8px;
	text-align: center;
	border-radius: 12px 12px 0 0;
}
.warning{
	background: #fff;
	color: #ea3e03;
	font-size: 1.2em;
	line-height: 1.4em;
	padding: 12px;
	border: 1px solid #ea3e03;
}

#popup_content{
	padding: 20px;
	background: #fff;
	border-radius: 12px;
}
.warning:before{
	font-family: 'Font Awesome 5 Free';
  font-weight: 900;
	content: "\f071";
	font-size: 1em;
	color: #ea3e03;
  white-space: pre;
}

.max_650{
	max-width: 650px;
}
.max_500{
	max-width: 500px;
}

a.uploaded_file{
  padding: 5px 5px 5px 12px;
  margin: 4px 0;
  border: 1px solid #78c1d8;
  background: #fff;
  border-radius: 12px;
  display: block;
  color: #00263d;
  text-decoration: none;
}
a.uploaded_file:before{
  font-family: 'Font Awesome 5 Pro';
  font-weight: 900;
  content: "\f35d";
  padding-right: 5px;
}
a.uploaded_file:hover{
  background: #78c1d8;;
}



table.data{
	color: #00263d;
	border: 1px solid #999;
	border-collapse: collapse;
}

table.data tr{
	border-bottom: 1px solid #ccc;
}
table.data tr:nth-child(even){
	background: #f2f2f2;
}
table.data tr:nth-child(odd){
	background: #fff;
}
table.data td{
	vertical-align: top;
}
table.data tr.greyed td{
	color: #bbb;
}
table.data tr.subheader{
	background: #ecf1f5;
}
table.data tr.detail{
	background: #ecf1f5;
	color: #537e93;
}


table.data tr.subheader td{
	border-top: 1px solid #999;
}
table.data tr.total{
	background: #8ebdd8;
}

table.data tr.total td{
	border-bottom: 1px solid #999;
}

table.data tr.space{
	background: #eee;
}
table.data tr.space td{
	border: none;
}

table.data th{
	font-weight: bold;
	background: #537e93;
	color: #fff;
	white-space: nowrap;
	font-weight: bold;
	text-align: left;
	padding: 8px;
}
table.data td{
	padding: 8px;
	text-align: left;
}
table.test{

}
table.test td{
	border: 1px solid #999;
}

table.user_select{
	width: 800px;
}
table.user_select td{
	padding: 6px;
	border-bottom: 1px solid #ccc;
	vertical-align: top;
}
table.user_select td.right{
	text-align: right;
}

table.user_select tr.row_on td{
	background: #ffff99;
}


table.updated{
	border: 1px solid #ccc;
	border-collapse: collapse;
}
table.updated td{
	border: 1px solid #ccc;
	padding: 8px;
}
td.service_category{
	font-weight: bold;
	background: #999;
	color: #fff;
	min-width: 230px;
}
td.truncate{
	white-space: nowrap;
	text-overflow:ellipsis;
	overflow: hidden;
	max-width:1px;
}

td.dollar{
	text-align: right !important;
	padding-right: 8px;
	white-space: nowrap;
}
td.dollar:before{
	content: "$\00a0";
	float: left;
}

.horiz_scrolldiv{
	overflow: auto;
}

.csv_download{
	height: 160px;
	width: 120px;
	background: #029ac3;
	background-repeat: no-repeat;
	background-size: contain;
	border-radius: 16px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	float: left;
	margin: 12px;
	padding-top: 10px;
}

.csv_download:before{
	content: "\f15b ";
	font-family: 'Font Awesome 5 Pro';
	font-style: normal;
	font-weight: 400;
	font-size: 100px;
	line-height: 120px;
}

table.dp_filtersort{
	border-collapse: collapse;
}
table.dp_filtersort tr:nth-child(even){
	background: #f2f2f2;
}
table.dp_filtersort td{
	padding: 8px 8px 0 8px;
}
th.headerbar{
	color: #fff;
	background-color: #215158;
	padding: 3px;
	font-weight: normal;
	text-align: left;
}

tr.sortbar th{
	background: #85d6d2;
	text-align: left;
	padding: 2px 4px 2px 6px;
}
tr.sortbar th input{
	width: 80%;
}


#agent_pic{
	padding: 12px;
}
#agent_pic img{
	height: 200px;
	width: auto;
	float: left;
	margin-right: 16px;
	margin-bottom: 16px;
}


#tooltip{
	position: absolute;
	display: block;
	background: #fff;
	border-radius: 6px;
	box-shadow: 1px 1px 12px rgba(0,0,0,0.4);
	pointer-events: none;
	width: 40%;
	max-width: 500px;
	min-width: 220px;
	padding: 8px 12px;
	font-size: 0.8em;
	line-height: 1.3em;
}

.note{
  padding: 12px;
  font-size: 0.9em;
  border-radius: 8px;
  margin: 18px 0;
  display: inline-block;
}
.note:before{
	content: "\f0f3\00a0\00a0";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}

.error.note{
}
.error.note:before, .needed:before{
	content: "\f071\00a0\00a0";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #e11f28;
}
.info.note{
}
.info.note:before{
	content: "\f05a\00a0\00a0";
	color: #edaa00;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
}

.highlight{
	background: #ccffee;
}
.fixedpos_error{
	color:  #333;
	padding:  10px;
	position:  fixed;
	background:  #ffc017;
	top: 0;
	left: 260px;
}

#popup_content .note{
	padding-left: 0;
	margin: 0;
}

ul.billing_note{
	margin: 0 0 0 8px;
	font-size: 0.8em;
	color: #365c79;
}

div.bordered{
	border:  1px solid #00aaa1;
	margin:  12px;
	padding:  12px;
}

div.static_info{
	width: 45%;
	min-width: 300px;
	float: left;
	margin:  10px 5% 0 0;
}
div.static_info.long{
	width: 95%;
}

div.static_info .item{

}
div.static_info .label{
	display: inline-block;
	margin-right:  6px;
	font-weight:  bold;
}
div.static_info .value{
	display: inline-block;
}

hr{
	border:  none;
	border-top:  1px solid #0aa;
}

a .fas{
	color: #ea3e03;
}