/* Author: David Gianitsos
 *
 * Date: 10-10-2021
 *
 * Hello All,
 *
 * Welcome to Galactic.css
 *
 * I have done my best to create and organize all of the styles for this design iteration of Prime Contracts into a
 * cohesive css file. So don't mess it up!
 *
 * I believe I have categorized all of the classes into logical groups, listed below:
 * - If there is no list here, I got lazy, but the section headers should be pretty obvious
 *
 *
 * 
 *
 */




/*
 *------------------------------------------------------------------
 * -------- ROOT VARIABLES/STYLES AND COLORS ----------
 *------------------------------------------------------------------
 */

:root {
	/*Site Colors*/
	--background-color-1: #ffffff; /*White*/
	--background-color-2: #f7f7f7; /*Off-White*/
	--background-color-3: #eff1f5; /*Light-Blue-Grey*/
	--background-color-4: #ececec; /*Med-Grey*/
	--background-color-5: #e8e8eb; /*Med-Blue-Grey*/
	--background-color-6: #f1f1f3; /*Slightly Lighter Grey, I guess... There's only so many ways to describe the color grey*/
	--background-color-7: #e9f6fd; /*Light Turquoise*/
	
	--primary-color-1: #0000c9; /*Med-Blue*/
	--primary-color-2: #00004e; /*Dark-Blue*/
	--primary-color-3: #0095ff; /*Light-Blue*/
	--primary-color-4: #29aae1; /*Turquoise*/
	
	--secondary-color-1: #c0c0c0; /*Argent-Grey*/
	--secondary-color-2: #383838; /*Dark-Grey*/
	
	--accent-color-1: #f5f8fd; /*Light-Blue/Grey*/
	--accent-color-2: #fafafd; /*Very Light-Blue/Grey*/
	
	--header-text-color: #00004e;
	
	--text-color-1: #000000;
	--text-color-2: #b6b7bb;
	--text-color-3: var(--header-text-color);
	--text-color-4: #6e6e6e;
	--text-color-5: #29aae1; /*Turquoise*/
	
	--success-color: #008000;
	--success-accent: #dbffdb;
	--warning-color: #ff0000;
	--warning-accent: #ffdbdb;
	
	/*#ffffff*/
	--filter-white: invert(100%) sepia(100%) saturate(0%) hue-rotate(204deg) brightness(103%) contrast(101%);
	/*#0000c9*/
	--filter-med-blue: invert(11%) sepia(94%) saturate(6628%) hue-rotate(247deg) brightness(71%) contrast(140%);
	/*#00004e*/
	--filter-dark-blue: invert(4%) sepia(76%) saturate(7490%) hue-rotate(231deg) brightness(100%) contrast(128%);
	/*#0095ff*/
	--filter-light-blue: invert(46%) sepia(68%) saturate(4581%) hue-rotate(187deg) brightness(105%) contrast(103%);
	/*#c0c0c0*/
	--filter-argent-grey: invert(83%) sepia(1%) saturate(0%) hue-rotate(222deg) brightness(92%) contrast(96%);
	/*#383838*/
	--filter-dark-grey: invert(21%) sepia(41%) saturate(0%) hue-rotate(240deg) brightness(100%) contrast(103%);
	/*#008000*/
	--filter-green: invert(24%) sepia(100%) saturate(3809%) hue-rotate(110deg) brightness(91%) contrast(109%);
	/*#ff0000*/
	--filter-red: invert(24%) sepia(100%) saturate(7458%) hue-rotate(359deg) brightness(102%) contrast(116%);
	/*#29aae1*/
	--filter-turquoise: invert(68%) sepia(70%) saturate(2573%) hue-rotate(166deg) brightness(89%) contrast(98%);
}
/*#ffffff*/
.filter-white {filter: var(--filter-white);}
/*#0000c9*/
.filter-med-blue {filter: var(--filter-med-blue);}
/*#00004e*/
.filter-dark-blue {filter: var(--filter-dark-blue);}
/*#0095ff*/
.filter-light-blue {filter: var(--filter-light-blue);}
/*#c0c0c0*/
.filter-argent-grey {filter: var(--filter-argent-grey);}
/*#383838*/
.filter-dark-grey {filter: var(--filter-dark-grey);}
/*#008000*/
.filter-green {filter: var(--filter-green);}
/*#ff0000*/
.filter-red {filter: var(--filter-red);}
/*#29aae1*/
.filter-turquoise {filter: var(--filter-turquoise);}


/*
 *------------------------------------------------------------------
 * -------- GENERAL STYLES ----------
 *------------------------------------------------------------------
 */

html {
	font-size: 87.5%; /*Browser default is 16px, so 87.5% is 14px*/
}

html, body {
	height: 100%;
}

body {
	background:#f7f7f7;
	color: #000000;
	width: 100%;
	font-weight : normal;
	line-height: 130%;
	border-spacing: 0px !important;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

body, body * {
	border-spacing: 0px;
	font-family: Helvetica, Tahoma, Verdana, sans-serif;
}


h1, .heading {
	font-size: 2rem;
}
h2 {
	font-size: 1.5rem;
}
h3 {
	font-size: 1.25rem;
}
p {
	font-size: 1rem;
}
a {
	font-size: 1rem;
}
b {
	font-weight: bold;
	color: var(--header-text-color);
}

textarea {
	font-family: verdana;
	/*background-color: var(--accent-color-2);*/
	background-color: #ffffff;
	padding: 5px;
	border-radius: 10px 10px 0px 10px;
}

/*textarea:focus-visible {
	background-color: var(--accent-color-1);
}*/


table.sectionedPage {
	width: 100%;
}

table.sectionedPage tr > td.verticalPageSection:first-child, table.sectionedPage tr > td.verticalPageSection:last-child {
	width: 15%;
}

table.sectionedPage tr > td.verticalPageSection:nth-child(2){
	width: 70%;
}

div#pagebody
{
	/*min-height: calc(100vh - 134px);*/
	flex: 1;
}

.pageCard {
	background-color: #ffffff;
	box-shadow: 2px 2px 5px 2px rgb(0, 0, 0, 0.2);
	min-width: 50%;
	max-width: 100%;
	padding: 15px 10px 30px 10px;
}

.pageContent {
	width: 100%;
}

ul.no-bullets {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

ul.no-vertical-margins {
	margin-block-start: 0px;
	margin-block-end: 0px;
}

ul.dashBullet {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

ul.dashBullet > li {
	padding-left: 1em;
	text-indent: -1em;
}

ul.dashBullet > li:before {
	content: "-";
	padding-right: 10px;
}

table.css_table_overflow > tbody > tr > td {
	display: inline-block;
	padding-bottom: 15px;
}

.borderBox {
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.wrapword {
    white-space: -moz-pre-wrap !important;  /* Mozilla, since 1999 */
    white-space: -webkit-pre-wrap;          /* Chrome & Safari */ 
    white-space: -pre-wrap;                 /* Opera 4-6 */
    white-space: -o-pre-wrap;               /* Opera 7 */
    white-space: pre-wrap;                  /* CSS3 */
    word-wrap: break-word;                  /* Internet Explorer 5.5+ */
    word-break: break-all;
    white-space: normal;
}

.panel_icon {
	height: 30px;
	width: 30px;
	margin-right:10px;
}

.panel_icon_error::before {
	content: url('./../images/error.svg');
	min-height: 30px;
	min-width: 30px;
	margin-right:10px;
}

.warning-text {
	color: var(--warning-color);
}

.warning_message {
	color: var(--warning-color);
	text-align: left;
}

.warning_panel {
	color: var(--warning-color);
	text-align: left;
	width: 100%;
	border-style: solid;
	border-width: 3px;
	border-color: var(--warning-color);
	border-radius: 15px;
	background-color: var(--warning-accent);
	padding: 10px 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

.warning_panel .panel_icon, .warning_panel.panel_icon_error::before {
	filter: var(--filter-red);
}

.success-text {
	color: var(--success-color);
}

.success_message {
	color: var(--success-color);
	text-align: left;
}

.success_panel {
	color: var(--success-color);
	text-align: left;
	width: 100%;
	border-style: solid;
	border-width: 3px;
	border-color: var(--success-color);
	border-radius: 15px;
	background-color: var(--success-accent);
	padding: 10px 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

.success_panel .panel_icon, .success_panel.panel_icon_error::before {
	filter: var(--filter-green);
}

.neutral_panel {
	color: var(--secondary-color-2);
	text-align: left;
	width: 100%;
	border-style: solid;
	border-width: 3px;
	border-color: var(--secondary-color-2);
	border-radius: 15px;
	background-color: var(--secondary-color-1);
	padding: 10px 15px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

.neutral_panel .panel_icon, .neutral_panel.panel_icon_error::before {
	filter: var(--filter-dark-blue);
}

.warning_panel.minimal, .success_panel.minimal, .neutral_panel.minimal {
	width: fit-content;
}

.subtle_message, .subtle-text {
	color: var(--text-color-4);
	font-style: italic;
}

.doc-icon {
	height: 24px;
	width: 24px;
	vertical-align: middle;
}

.css_hidden {
	display: none !important;
}

.blue-bold {
	font-weight:bold;
	color: var(--primary-color-2);
}

.black-bold {
	font-weight:bold;
	color: var(--text-color-1);
}

.gen-display {
	background-color: var(--background-color-3);
	border-radius: 10px;
	padding: 10px;
}

/* Mainly used for flagging cells in a table/grid */
.corner-error {
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: red;
	height: 10px;
	width: 10px;
	clip-path: polygon(0% 0%, 0% 100%, 100% 0%);
}

/*--------------------------------------------------------------
 * Label/Header Styles
 *--------------------------------------------------------------*/


.label_h2 {
	font-size: 1.5rem;
	font-weight: bold;
	color: var(--header-text-color);
}

.label_h3 {
	font-size: 1.25rem;
	font-weight: bold;
	color: var(--header-text-color);
}

.label_h4 {
	font-size: 1rem;
	font-weight: bold;
	color: var(--header-text-color);
}

.label_h5 {
	font-size: 0.75rem;
	font-weight: bold;
	color: var(--header-text-color);
}

.form_item_h4 {
	padding-right: 15px;
	vertical-align: top;
	padding-bottom: 15px;
}

.form_item_h4 > b {
	font-size: 1rem;
	font-weight: bold;
	color: var(--header-text-color);
}

.form_item_h5 {
	font-size: 0.75rem;
	padding-right: 10px;
	vertical-align: top;
	padding-bottom: 10px;
}

.form_item_h5 > b {
	font-weight: bold;
	color: var(--header-text-color);
}

/*Work in progress watermark for body element. For... well... works in progress!*/
body.pc_wip::after {
	position: absolute;
	content: 'WORK IN PROGRESS';
	top: 50%;
	left: 50%;
	color: #cbf3ff;
	transform: translate(-50%,-50%) rotate(25deg);
	font-size: calc(100vw/16);
	z-index: 1000;
	width: 75%;
	line-height: 10vw;
	text-align: center;
	opacity: 20%;
	pointer-events: none;
	-webkit-text-stroke: 0.15vw #a7a7a7;
}

/*--------------------------------------------------------------
 * Plain Text Styles
 *--------------------------------------------------------------*/

.text_h2 {
	font-size: 1.5rem;
	color: var(--text-color-1);
}

.text_h3 {
	font-size: 1.25rem;
	color: var(--text-color-1);
}

.text_h4 {
	font-size: 1rem;
	color: var(--text-color-1);
}

.text_h5 {
	font-size: 0.75rem;
	color: var(--text-color-1);
}

.textColor1 {
	color: var(--text-color-1);
}

.textColor2 {
	color: var(--text-color-2);
}

.textColor3 {
	color: var(--text-color-3);
}

.textColor4 {
	color: var(--text-color-4);
}

.textColor5 {
	color: var(--text-color-5);
}

/*--------------------------------------------------------------
 * List Styles
 *--------------------------------------------------------------*/

ol.numberList {
	list-style-type: none;
	margin-block-start: 0px;
	margin-block-end: 0px;
	padding-inline-start: 0px;
}

ol.numberList li {
	counter-increment: step-counter;
	font-weight: normal;
	margin-bottom: 10px;
	
	&:before {
		content: counter(step-counter)".";
		font-weight: bold;
		padding-right: 0.5em;
	}
}

/*
 *------------------------------------------------------------------
 * -------- TOP NAV STYLES ----------
 *------------------------------------------------------------------
 */


:root {
	/*Nav Root*/
	--navItem-Height: 40px;
}



/*--Main Nav Styles--*/

	.PrimeContractsHeaderDiv {
		padding: 0;
		margin: 0;
		border: none;
		font-family: worksans-medium;
		cursor: default;
	}		
	
	.fullWidth {
		width: 100%;
	}

	.PrimeContractsHeaderTable {
		/*background-color: rgb(39, 57, 79);
		background: linear-gradient(to top right, #0062cd, #2c9ce2);*/
		background-color: #ffffff;
		border-collapse: collapse;
		margin:0;
		padding: 0;
		vertical-align: middle;
		text-align: center;
		border-spacing:0px;
	}
	
	.PrimeContractsHeaderContainer {
		width:100%;
		background-color: #ffffff;
		position:relative;
		transform-style:preserve-3d;
		border-spacing: 0px;
		height: 100px;
	}
	
	.PrimeContractsHeaderContainer * {
		position:relative;
	}
	
	
	.PrimeContractsHeaderLogo {
		height: 45px;
		width: auto;
	
	}
	
/*--Nav Item Styles--*/

.topnavCell {
    height: var(--navItem-Height);
	padding: 0px 10px; 
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #ffffff;
    transform-style:preserve-3d;
}

.navDropDown {
	position: relative;
	transform-style: preserve-3d;
	background-color: #ffffff;
}

.navDropDown > a {
	text-align: center;
	display: inline-block;
	text-decoration: none !important;
	padding-bottom: 5px;
	color: var(--primary-color-1) !important;
}

.navDropDown > a::before {
    display: block;
    content: attr(title);
    font-weight: bold;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

.navDropDown:hover > a, .navDropDown > a.isSelected {
	font-weight: bold !important;
}

.navDropDown > a::after {
	  position: absolute;
	  bottom: 0;
	  left: 0;
	  right: 0;
	  margin: auto;
	  width: 0%;
	  content: '.';
	  color: transparent;
	  background: var(--primary-color-1);
	  height: 3px;
}

.navDropDown:has(.navDropDown-content):hover::after {
	/*This is for an inconsistent behavior for edge. This builds a bridge from the item to the list.*/
	position:absolute;
	content: ' ';
	top: calc(var(--navItem-Height) - 1px);
	left: 0;
	height: 50px;
	min-width: 220px; /* Min list width + side padding*/
	background-color: transparent;
}

.navDropDown:hover > a::after, .navDropDown > a.isSelected::after {
	width: 100%;
}

.navDropDown > a::after{
	transition: all 200ms linear;
}

.preserve-3d {
	position: relative;
	transform-style: preserve-3d;
}

.navDropDown-content {
	transform:translateZ(-1px);
	 -webkit-transform: translateZ(-1px);
	min-width: 200px; /* If you change this, make sure to change the '.navDropDown:has(.navDropDown-content):hover::after' min-width as well (plus padding)*/
	background-color: #ffffff;
	position: absolute;
	visibility: hidden;
	/* width:100%; */
	top: calc(var(--navItem-Height) - 5px);
	padding: 55px 10px 20px 10px;
	text-align: left;
	color: #a3a3a3;
	border-radius: 15px;
	box-shadow: 3px 2px 7px 2px rgb(0, 0, 0, 0.2);
	max-height: 5px;
	overflow-y: hidden;
}

.navDropDown-content div {
	padding-top: 3px;
	color: #a3a3a3;
}

.navDropDown-content ul li a {
	font-size: 16px;
	color: #383838;
	text-decoration: none;
}

.navDropDown-content ul li a.selected {
	text-decoration: underline;
	font-weight: bold;
}

.navDropDown-content ul li {
	padding: 15px 0px;
}

.navDropDown-content ul li a:hover {
	text-decoration: underline;
}

.navDropDown:hover .navDropDown-content, .navDropDown-content:hover {
	visibility: visible;
	max-height: 1000px;
	transition: max-height 1500ms linear;
}

.navItem {
	height: var(--navItem-Height);
}

.navDropDown-content hr {
	margin: 0px;
}



.profileNav {
	position: relative;
	height: 50px;
}

.profileNav.profileNav-profile {
	min-width: 50px;
	z-index: 3;
}

.profileNav.profileNav-ellipse {
	min-width: 100px;
	z-index: 5;
}

.profileNav-infoContainer {
	white-space: nowrap;
	position: absolute;
    top: 5px;
    right: 5px;
    display: flex;
    align-items: center;
}


.profileNav-profileIcon {
	height: 30px;
	width: 30px;
	background-color: rgb(0, 0, 0, 0);
    
    filter: invert(100%) sepia(8%) saturate(7467%) hue-rotate(218deg) brightness(114%) contrast(106%);
}

.profileNav.profileNav-ellipse .profileNav-profileIcon {
	height: 25px;
	width: 25px;
	margin: 2.5px;
	filter: invert(11%) sepia(94%) saturate(6628%) hue-rotate(247deg) brightness(71%) contrast(140%);
}


.profileNav-profileName {
	text-decoration:none !important;
	font-family: Helvetica !important;
	color: var(--primary-color-1) !important;
	font-weight: bold !important;
	font-size: 12px !important;
	text-align: right;
}

.profileNav-profileName_proxyUser {
	color: var(--text-color-2);
}

.profileNav-dropdown {
	width: 30px;
	height: 30px;
	max-width: 30px;
	max-height: 30px;
	padding: 5px;
	background-color: var(--primary-color-1);
	display: inline-block;
	position: absolute;
	top: 0px;
	right: 0px;
	border-radius: 50px;
	transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
	-webkit-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
    -ms-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
}

.profileNav.profileNav-ellipse .profileNav-dropdown {
	transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
	-webkit-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
    -ms-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
}

.profileNav.profileNav-ellipse .profileNav-dropdown {
	background-color: transparent;
}

.profileNav:not(.disabled):hover .profileNav-profileIcon {
	filter: invert(11%) sepia(94%) saturate(6628%) hue-rotate(247deg) brightness(71%) contrast(140%);
	
	/*transition: filter 2000ms linear;*/
}

.profileNav:not(.disabled):hover .profileNav-dropdown {
	width: unset;
	height: unset;
	max-width: 500px;
	max-height: 600px;
	background-color: #ffffff;
	box-shadow: 3px 2px 7px 2px rgb(0, 0, 0, 0.2);
	visibility: visible;
	position: absolute;
	border-radius: 25px;
	/*transition: height 150ms ease-in, width 150ms ease-in; */
	transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
	-webkit-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
    -ms-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 200ms ease-in;
}

.profileNav.profileNav-ellipse:not(.disabled):hover .profileNav-dropdown {
	transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
	-webkit-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
    -ms-transition: max-height 150ms ease-in, max-width 150ms ease-in, background-color 0ms ease-in;
}

.profileNav-dropdownContent {
	text-align: left;
	visibility: hidden;
	padding: 5px;
	padding-bottom: 20px;
}

.profileNav:not(.disabled):hover .profileNav-dropdown .profileNav-dropdownContent {
	visibility: visible;
	transition: visibility 100ms linear 150ms;
}

.profileNav-hiddenName {
	max-width: 1px;
	overflow: hidden;
	white-space: nowrap;
}

.profileNav:not(.disabled):hover .profileNav-hiddenName {
	max-width: unset;
	overflow: unset;
	min-width:100px;
	padding-right:100px;
}

.profileNav-innerList {
	max-width: 1px;
	overflow: hidden;
}

.profileNav:not(.disabled):hover .profileNav-innerList {
	max-width: unset;
	overflow: unset;
}

.profileNav-dropdownContent ul {
	margin: 0;
}

.profileNav-dropdownHeader {
	color: var(--secondary-color-1);
	font-size: 14px;
	padding-top: 10px;
	padding-bottom: 5px;
	display: flex;
	align-items: center;
}

.profileNav-dropdownHeader::after {
	background-color: var(--secondary-color-1);
	height: 2px;
	width: 100%;
	content: '.';
	position: absolute;
	bottom: 0px;
	left: 0px;
}

.profileNav-dropdownHeader > img {
	height: 15px;
	width: 15px;
}

.profileNav-dropdownLink {
	padding: 5px;
	display: flex;
	align-items: center;
}

.profileNav-dropdownLink a, .profileNav-dropdownLink div {
	color: var(--primary-color-1) !important;
	white-space: nowrap;
	display: flex;
	align-items: center;
}

.profileNav-dropdownLink.selected a {
	font-weight: bold;
}

.profileNav-dropdownLink a:hover {
	text-decoration: none;
}

.profileNav-dropdownLink img {
	height: 24px;
	width: 24px;
}







/*--Function Top Nav (Sub Nav) Styles--*/

.function-top-nav {
	height: 100px;
	width: 100%;
	color: white;
	background-color: var(--primary-color-2);
}

.function-top-nav td {
	vertical-align: top;
}

.function-top-nav_header {
	padding-top: 30px;
	font-size: 30px;
	font-weight:bold;
}

.function-top-nav_subNav {
	/*height: 20px;*/
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

.function-top-nav_subNav a {
	color: white;
	top: 10px;
	margin-right: 20px;
	text-decoration: none;
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}

.function-top-nav_subNav a::after {
	  position: absolute;
	  bottom: 10px;
	  left: 0;
	  right: 0;
	  margin: auto;
	  width: 0%;
	  content: '.';
	  color: transparent;
	  background: #ffffff;
	  height: 1px;
}

.function-top-nav_subNav a:hover::after, .function-top-nav_subNav a.isSelected::after {
	width: 100%;
}

.function-top-nav_subNav a::after{
	transition: all 150ms linear;
}

.function-top-nav_subNav > .isSelected {
	font-weight: bold;
}

.function-top-nav_subNav .spacer {
	color: white;
	top: 10px;
	margin-right: 20px;
	text-decoration: none;
	position: relative;
	display: inline-block;
}

.pageCard.subNav {
	background-color:#f7f7f7;
	padding: 15px 10px 20px 10px;
	border:1px solid #BBBBBB;
}

.pageCard.subNav a {
	color: #00004e;
	margin-right: 10px;
	text-decoration: none;
	position: relative;
}

.pageCard.subNav a.isSelected {
	text-decoration: underline;
	font-weight: bold;
}

.pageCard.subNav .spacer {
	color: #00004e;
	margin-right: 10px;
	text-decoration: none;
	position: relative;
	display: inline-block;
}


/*
 *------------------------------------------------------------------
 * -------- PAGE ELEMENT STYLES ----------
 *------------------------------------------------------------------
 */

:root{
	--form-element-height: 2.3rem;
	--form-element-border-radius: calc((var(--form-element-height) / 3) * 2);
	--form-element-side-padding: calc((var(--form-element-height) / 2));
}

/*-----------------------------------
 * General Text Input Boxes Styles
 *-----------------------------------*/

input[type=text], input[type=password] {
	display: inline-flex;
	align-items: center;
	height: var(--form-element-height);
	padding: 0 var(--form-element-side-padding);
	border-radius: var(--form-element-border-radius);
	border-style: solid;
	border-width: 1px;
	border-color: #bebebe;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

input[type=text]:disabled, input[type=password]:disabled {
	background-color: lightgrey;
	opacity: 0.5;
	border-color: #656565;
}

input[type=text].plainInput, input[type=password].plainInput {
	display: inline-flex;
	align-items: center;
	height: unset;
	padding: 0 2px;
	border-radius: 0;
	border: none;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-color: transparent;
}

input[type=text].plainInput:focus-visible, input[type=password].plainInput:focus-visible {
	outline: none;
}

input[type=text].plainInput:disabled, input[type=password].plainInput:disabled {
	background-color: lightgrey;
	opacity: 0.5;
	border-color: #656565;
}

input[type='radio'], input[type='checkbox'] {
    accent-color: var(--header-text-color);
}

.file-input-container{
	font-size: 1.2em !important;
	cursor: pointer;
}

.file-input-container input[type=file]::file-selector-button {
	display: none;
}

.form-element-text, .form-element-display{
	height: var(--form-element-height);
	display: flex;
	align-items: center;
}

/*-----------------------------------
 * Button & Link Styles
 *-----------------------------------*/

:root{
	--button-color-1: var(--primary-color-1); /*Med-Blue*/
	--button-color-2: #c9c9c9; /*Grey*/
	--button-color-3: #80b936; /*Green*/
	--button-color-4: #00004e; /*Dark Blue*/
	--button-color-5: #a30000;/*Red*/
	
	--button-color: #c9c9c9;
	--button-text-color: #ffffff;
	--button-padding: .75em 2em;
	--button-font-size: 16px;
	
	--button-color-1-hover: #000099;
	--button-color-2-hover: #b9b9b9;
	--button-color-3-hover: #69972e;
	--button-color-4-hover: #010124;
	--button-color-5-hover: #8d0101;
}


/* Regular Buttons */

input.circle_button_green, button.circle_button_green {
   background-color: var(--button-color-3);
   border-style: none;
   border-radius: 50%;
   color: white;
   cursor: pointer;
   display: inline-block;
   font-weight: bold;
   outline: none;
   padding: 0.75rem;
   text-align: center;
   font-size: 1rem;
}

input.circle_button_blue, button.circle_button_blue {
   background-color: var(--button-color-1);
   border-style: none;
   border-radius: 50%;
   color: white;
   cursor: pointer;
   display: inline-block;
   font-weight: bold;
   outline: none;
   padding: 0.75em;
   text-align: center;
   font-size: 1rem;
}

.button_green {
	background-color: var(--button-color-3);
	border-style: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.button_grey {
	background-color: var(--button-color-2);
	border-style: none;
	border-radius: 500px;
	color: black;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.button_blue {
	background-color: var(--button-color-1);
	border-style: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.button_blue.dark{
	background-color: var(--button-color-4);
}

.button_custom {
	background-color: var(--button-color);
	border-style: none;
	border-radius: 500px;
	color: var(--button-text-color);
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: var(--button-padding);
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

input[type=file].file_blue::file-selector-button {
	background-color: var(--button-color-1);
	border-style: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .6em 1em;
	text-align: center;
	font-size: 14px;
	text-decoration: none;
}

.button_red {
	background-color: var(--button-color-5);
	border-style: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	text-decoration: none;
}

.button_link {
	background: none;
	border-style: none;
	color: var(--primary-color-1);
	cursor: pointer;
	display: inline-block;
	outline: none;
	font-size: 1em;
	text-decoration: underline;
}

.button_blue:hover {
	background-color: var(--button-color-1-hover);	
}

.button_green:hover {
	background-color: var(--button-color-3-hover);	
}

.button_grey:hover, .button_custom:hover {
	background-color: var(--button-color-2-hover);	
}

.button_blue.dark:hover {
	background-color: var(--button-color-4-hover);	
}

.button_red:hover {
	background-color: var(--button-color-5-hover);
}

.button_disabled {
	background-color: #c9c9c9;
	border-style: none;
	border-radius: 500px;
	color: black;
	cursor: default;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	opacity: 0.3;
	text-decoration: none;
}

.button_blue:disabled, .button_blue[disabled=true], .button_grey:disabled, .button_grey[disabled=true], .button_red:disabled, .button_red[disabled=true] {
	background-color: #c9c9c9;
	border-style: none;
	border-radius: 500px;
	color: black;
	cursor: default;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: .75em 2em;
	text-align: center;
	font-size: 16px;
	opacity: 0.3;
	text-decoration: none;
}

.button_blue.thin, .button_disabled.thin, .button_grey.thin, .button_green.thin, .button_red.thin {
	align-items: center;
	height: var(--form-element-height);
	padding: 0 calc(var(--form-element-side-padding) + 1rem);
	border-radius: var(--form-element-border-radius);
}

.button_blue.smaller, .button_disabled.smaller, .button_grey.smaller, .button_green.smaller, .button_red.smaller {
	padding: .6em 1em;
	text-align: center;
	font-size: 14px;
}


/* Halo Buttons */

div.button_halo_green {
	background-image: linear-gradient(to top right, #507f15 0%, #9bcb5d 50%, #deefc7 100%);
	border: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: 2px;
	text-align: center;
	font-size: 12px;
}

div.button_halo_green input, div.button_halo_green button {
	border-radius: 500px;
	width: 100%;
	height: 100%;
	padding: 0.6em 3em;
	color: black;
	background-color: white;
	border: none;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
}

div.button_halo_grey {
	background-image: linear-gradient(to top right, #7a7a7a 0%, #a1a1a1 50%, #d9d9d9 100%);
	border: none;
	border-radius: 500px;
	color: white;
	cursor: pointer;
	display: inline-block;
	font-weight: bold;
	outline: none;
	padding: 2px;
	text-align: center;
	font-size: 12px;
}

div.button_halo_grey input {
	border-radius: 500px;
	width: 100%;
	height: 100%;
	padding: 0.6em 3em;
	color: black;
	background-color: white;
	border: none;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
}

.arrow-button {
	font-size: unset;
	font-family:unset;
	font-weight:unset;
	border:unset;
	position:relative;
	text-align: center;
	padding: 0 1em 0 0;
	display: block;
	color: #333;
	text-decoration: underline;
	cursor:pointer;
	background:none;
	&:hover {
	  text-decoration:none;
	}
	&.arrow-down:after{
		content: '\25bc';
		position:absolute;
		font-size:75%;
		align-content:center;
		top:0;
		bottom:0;
		right:0;
	}
	&.arrow-up:after {
		content: '\25b2';
		position:absolute;
		font-size:75%;
		align-content:center;
		top:0;
		bottom:0;
		right:0;
	}
}

/* Links */

a[disabled=true], a[disabled=disabled] {
	cursor: default;
	pointer-events: none;
}

.link-attributes {
	cursor: pointer;
	text-decoration: underline;
}

.action-link {
	color: var(--primary-color-1);
	cursor: pointer;
	font-size: 1em;
	text-decoration: underline;
}

.action-link[disabled=true], .action-link[disabled=disabled] {
	cursor: default;
	pointer-events: none;        
	text-decoration: none;
	color: grey !important;
	font-size: 1em;
}

a.css_text_button, a.text_button {
    display: inline;
    font: inherit;
    margin: 0;
    padding: 0;
    outline: none;
    outline-offset: 0;
    color: var(--primary-color-2);
	font-weight: bold;
	font-size: 1em;
}

.css_button_link, .button_link {
	background: none!important;
	border: none;
	padding: 0!important;
	/*optional*/
	font-family: arial, sans-serif;
	/*input has OS specific font-family*/
	color: var(--button-color-1);
	text-decoration: underline;
	cursor: pointer;
	font-size: 1em;
}

.css_button_link[disabled=true], .button_link[disabled=true] {
	background: none!important;
	border: none;
	padding: 0!important;
	/*optional*/
	font-family: arial, sans-serif;
	/*input has OS specific font-family*/
	text-decoration: underline;
	cursor: default;
    pointer-events: none;        
    color: grey;
    font-size: 1em;
}

.css_button_link_disabled, .button_link_disabled {
	background: none!important;
	border: none;
	padding: 0!important;
	/*optional*/
	font-family: arial, sans-serif;
	/*input has OS specific font-family*/
	text-decoration: underline;
	cursor: default;
    pointer-events: none;        
    color: grey;
    font-size: 1em;
}

.link_disabled {
	cursor: default;
	pointer-events: none;        
	text-decoration: none;
	color: grey !important;
	font-size: 1em;
}

/* Email Display */

.email_body_display {
	color: black;
	background-color: var(--background-color-4);
	padding: 10px;
	border-radius: 10px;
}

.email_body_display b {
	font-weight: bold;
	color: black;
}

.email_body_display a {
	color: var(--primary-color-1);
	cursor: default;
	pointer-events: none;
}

/* Generic Display */

.gen_display {
	color: black;
	background-color: var(--background-color-3);
	padding: 10px;
	border-radius: 10px;
}

.gen_display b {
	font-weight: bold;
	color: black;
}

/*-----------------------------------
 * Drop Down Select Boxes Styles
 *-----------------------------------*/

:root {
	--select-dropdown-height: var(--form-element-height);
	--select-dropdown-border-radius: calc(var(--select-dropdown-height) / 2);
	--select-dropdown-border-style: solid;
	--select-dropdown-border-width: 1px;
	--select-dropdown-border-color: #bebebe;
	--select-dropdown-background-color: #ffffff;
	--select-dropdown-list-height-multiplier: 6.5; /*This is multiplied by the form-element-height to get the max height of the list*/
	--select-dropdown-list-background-color: var(--select-dropdown-background-color);
	--select-dropdown-list-option-background-color: var(--select-dropdown-list-background-color);
	--select-dropdown-list-option-hover-background-color: #0372e5;
	--select-dropdown-list-option-selected-background-color: #e7e7e7;
	--select-dropdown-list-border-style: solid;
	--select-dropdown-list-border-width: 1px;
	--select-dropdown-list-border-color: #bebebe;
}

/*This if for when we want to use a regular select but styled to look like the rest*/
.basic-select {
	border-radius: var(--select-dropdown-border-radius);
	border: solid #bebebe 1px;
	padding: 0 3em 0 1.5em;
	height: var(--select-dropdown-height);
	min-width: 3em;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.basic-select::after{
	padding-right:50px;
}

.select-container {
	display: inline-flex;
	align-items: center;
	position: relative;
	background-color: var(--select-dropdown-background-color);
	border-radius: var(--select-dropdown-border-radius);
	border-style: var(--select-dropdown-border-style);
	border-width: var(--select-dropdown-border-width);
	border-color: var(--select-dropdown-border-color);
	height: var(--select-dropdown-height);
	min-width: 3em;
	transition-delay: 150ms;
	transition-property: border-radius;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
}

.select-container.isActive:not(.isDisabled) {
	transition-delay: 0s;
	transition-property: border-radius;
	border-radius: var(--select-dropdown-border-radius) var(--select-dropdown-border-radius) 0 0;
}

.select-container.isActive:focus-visible {
	outline: none;
	z-index: 2;
}

.select-container::after {
	border-style: solid;
	border-width: 0.2em 0.2em 0 0;
	content: '';
	display: inline-block;
	height: 0.5em;
	right: 1em;
	position: absolute;
	margin-top: auto;
	margin-bottom: auto;
	top: 0;
	bottom: 0;
	transform: translate(0%, -25%) rotate(135deg);
	transition: transform ease-in-out 300ms;
	vertical-align: top;
	width: 0.5em;
}

.select-container.isActive:not(.isDisabled)::after {
	transform: translate(0%, 25%) rotate(-45deg);
}

.select-list-container {
	z-index: 1;
	border-style: var(--select-dropdown-list-border-style);
	border-width: var(--select-dropdown-list-border-width);
	border-color: var(--select-dropdown-list-border-color);
	border-top-color: #efefef;
	border-radius: 0 0 var(--select-dropdown-border-radius) var(--select-dropdown-border-radius);
	position: absolute;
	top: calc(var(--select-dropdown-height) - 0.1rem);
	left: -1px;
	background-color: var(--select-dropdown-list-background-color);
	width: 100%;
	visibility: hidden;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: 0px;
	transition: max-height 150ms ease-in, visibility 150ms linear;
}

.select-container.isActive:not(.isDisabled) .select-list-container {
	max-height: calc(var(--form-element-height)*var(--select-dropdown-list-height-multiplier));
	visibility: visible;
	transition: max-height 150ms ease-in;
}

/* width */
.select-list-container::-webkit-scrollbar {
  width: 10px;
}

/* Track */
.select-list-container::-webkit-scrollbar-track {
  border-radius: 5px;
  margin-bottom: 20px;
}

/* Handle */
.select-list-container::-webkit-scrollbar-thumb {
  background: #5e5e5e;
  border-radius: 5px;
}


.select-list-option {
	display: flex;
	align-items: center;
	height: var(--select-dropdown-height);
	padding: 0 1.5em;
	width: 100%;
	color: #000000;
	background-color: var(--select-dropdown-list-option-background-color);
	vertical-align: middle;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
}

.select-list-option span {
	color: inherit;
	overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

.select-list-option.isSelected {
	background-color: var(--select-dropdown-list-option-selected-background-color);
	color: #000000;
}

.select-list-option:hover {
	background-color: var(--select-dropdown-list-option-hover-background-color);
	color: #ffffff;
}

.select-container select {
	display: none;
	visibility: hidden;
	/*position: absolute;
	top: -50px;*/
}

.select-text-display {
	pointer-events: none;
	width: 100%;
	padding: 0 3em 0 1.5em;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	position: absolute;
}

.select-list-length-string {
	white-space: nowrap;
	visibility: hidden;
	padding: 0 3em 0 1.5em;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.select-container.minimizePadding .select-text-display {
	padding: 0 2.25em 0 0.5em;
}

.select-container.minimizePadding .select-list-length-string {
	padding: 0 2.25em 0 0.5em;
}

.select-container.minimizePadding .select-list-option {
	padding: 0 0.5em;
}

.select-container.isDisabled {
	background-color: lightgrey; 
	opacity: 0.5;
}

.select-container.thin {
	--form-element-height: 1.85rem;
	--select-dropdown-height: 1.85rem;
}


.select-container.narrow .select-list-length-string {
	padding: 0 1.5em 0 0!important;
}


.select-list-option.border-bottom {
	border-bottom: solid #bebebe 1px!important;
}


.select-container.minimal {
	--select-dropdown-background-color: transparent;
	--select-dropdown-border-radius: 0;
	--select-dropdown-border-style: none;
}

/*----- MultiSelect DDL------*/
.multiselect-container {
	position: relative;
	min-width: 30px;
	min-height: 10px;
}

.multiselect-display {
	display: flex;
	flex-direction: column;
}

.multiselect-list-container {
	z-index: 1;
	position: absolute;
	top: calc(100%);
	left: 0px;
	background-color: #efefef;
	visibility: hidden;
	pointer-events: none;
	border: solid #afafaf 3px;
	border-radius: 10px;
	padding: 10px 10px 20px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.multiselect-container.isActive .multiselect-list-container {
	visibility: visible;
	pointer-events: all;
}

.multiselect-list-option {
	display: flex;
	align-items: flex-start;
}

/*--------------------------------------------------------------
 * Date Picker Styles
 *--------------------------------------------------------------*/

	.date-input-container {
		display: inline-flex;
		position: relative;
		
	}
	
	.date-input-container input[type=text] {
		padding-right: 35px;
		
	}
	
	.date-input-container img {
		position: absolute;
		margin-top: auto;
		margin-bottom: auto;
		top: 0;
		bottom: 0;
		right: 15px;
		height: 20px;
		width: 20px;
		/*filter-med-blue #0000c9*/
		filter: var(--filter-med-blue);
	}
	
	.date-input-container:disabled img, .date-input-container[disabled=true] img, .date-input-container img:disabled, .date-input-container img[disabled=true] {
		pointer-events: none;
		/*filter-dark-grey #383838*/
		filter: var(--filter-dark-grey);
		opacity: 0.5;
	}


/*--------------------------------------------------------------
 * Data Table Styles
 *--------------------------------------------------------------*/

:root {
	--DataTable-header-color: #000000;
	--DataTable-cell-color: #000000;
	
	--DataTable-cell-font-size: 11px;
	--DataTable-header-font-size: 11px;
	
	--DataTable-cell-border-width: 1px;
	--DataTable-header-border-width: 3px;
	
	/* spacedBorder variables*/
	--DataTable-spacedBorder-bcolor: transparent;
	--DataTable-spacedBorder-width: 4px;
	
	/* blankCell variables*/
	--DataTable-blankCell-bcolor: transparent;
	--DataTable-blankCell-width: inherit;
	--DataTable-blankCell-height: inherit;
}

.DataTable {
	border-spacing: 0;
	border: 0px;
	width: 100%;
	border-collapse: collapse;
}

.DataTable.noWidth {
	width: unset;
}

.DataTable tr .RepeaterTD {
	height: 70px;
}

.DataTable.thin tr .RepeaterTD {
	height: 28px;
}

.DataTable.noHeight tr .RepeaterTD {
	height: unset;
}

.RepeaterTRHeader {
	background-color: #ffffff; /*#336699*/ 
	font-size: var(--DataTable-header-font-size); 
	color: var(--DataTable-header-color); 
	font-family: Tahoma, Arial; 
	text-decoration: none;  
	height: 28px;
}

.RepeaterTD_header {
	border-style: none;
	font-size: var(--DataTable-header-font-size);
	color: var(--DataTable-header-color);
	font-family: Tahoma, Arial;
	text-decoration: none;
	font-weight: bold;
	vertical-align: bottom; /*Changed row on 2/20/2023 per Dave's instruction : CCW*/
	padding: 6px;
	border-bottom: solid var(--DataTable-header-border-width) black;
}
.RepeaterTD_header.style-2 {
	background-color: #e3e3e3;
}
.RepeaterTD_header.style-3 {
	background-color: #b7b7b7;
}

.RepeaterTR {
	background-color: #ffffff;
	font-size: var(--DataTable-cell-font-size);
	color: var(--DataTable-cell-color);
	font-family: Tahoma, Arial;
	text-decoration: none;
}

.RepeaterTRAlt {
	background-color: #ffffff; /*#f3f3f3*/
	font-size: var(--DataTable-cell-font-size);
	color: var(--DataTable-cell-color);
	font-family: Tahoma, Arial;
	text-decoration: none;
}

.RepeaterTD {
	border-style: solid;
	border-color: #d9d9d9;
	border-width: var(--DataTable-cell-border-width) 0px 0px 0px;
	font-size: var(--DataTable-cell-font-size);
	color: var(--DataTable-cell-color);
	font-family: Tahoma, Arial;
	text-decoration: none;
	font-weight: normal;
	vertical-align: top; 		/*Changed row on 2/20/2023 per Dave's instruction : CCW*/
	height: inherit;
	padding: 6px;
}
.RepeaterTD.style-2, .RepeaterTR.style-2 .RepeaterTD, .RepeaterTRAlt.style-2 .RepeaterTD {
	background-color: #f7f7f7;
}

.RepeaterTD.style-3{
	background-color: #d9d9d9;
}

/*-- Classic Table Styles*/

.DataTable.classic .RepeaterTRHeader {
	background-color: unset;
	color: #ffffff; 
}

.DataTable.classic .RepeaterTD_header {
	color: #ffffff;
	background-color: var(--primary-color-2);
	vertical-align: middle;
	padding: 2px;
	border: solid #ffffff 1px;
	border-top: solid #000000 1px;
	border-bottom: solid #000000 1px;
}

.DataTable.classic .RepeaterTD_header:first-child {
	border-left: solid #000000 1px;
}

.DataTable.classic .RepeaterTD_header:last-child {
	border-right: solid #000000 1px;
}

.DataTable.classic .RepeaterTD {
	border: solid 1px black;
	vertical-align: middle;
	padding: 2px;
}

.DataTable.classic.style-green .RepeaterTD_header, .DataTable.classic .RepeaterTD_header.style-green {
	background-color: #397538;
}

.DataTable.classic.style-green .RepeaterTD, .DataTable.classic .RepeaterTD.style-green, .RepeaterTD.classic.style-green {
	background-color: #e2efda;
}


.DataTable.classic .RepeaterTD_header.blankCell
, .DataTable.classic.style-green .RepeaterTD_header.blankCell
,.DataTable.classic .blankCell
, .DataTable.classic.style-green .blankCell
, .RepeaterTD.blankCell
, .RepeaterTD_header.blankCell {
	border: none;
	background-color: var(--DataTable-blankCell-bcolor);
	font-weight: normal;
	padding: 0px;
	height: var(--DataTable-blankCell-height);
	width: var(--DataTable-blankCell-width);
}

.DataTable.classic .RepeaterTD_header.blankCell
, .DataTable.classic.style-green .RepeaterTD_header.blankCell {
	border-left: solid #000000 1px;
	border-right: solid #000000 1px;
}

/* Use .DataTable.highlight for normal tables, it will highlight the row you're hovering over.*/
.DataTable.highlight .RepeaterTR:hover, .DataTable.highlight .RepeaterTRAlt:hover {
	background-color: #ffffe6 !important;
}
.DataTable.highlight .RepeaterTR:hover .RepeaterTD.style-2, .DataTable.highlight .RepeaterTRAlt:hover .RepeaterTD.style-2, .DataTable.highlight .RepeaterTR.style-2:hover .RepeaterTD {
	background-color: #f3f3d8 !important;
}

.DataTable.highlight .RepeaterTR:hover .RepeaterTD.style-3, .DataTable.highlight .RepeaterTRAlt:hover .RepeaterTD.style-3 {
	background-color: #dfdfc5 !important;
}

/* noBorder */
.DataTable.noBorder .RepeaterTD, .RepeaterTR.noBorder > .RepeaterTD, .RepeaterTRAlt.noBorder > .RepeaterTD, .RepeaterTD.noBorder {
	border-width: 0px;
}

/* spacedBorder */
.DataTable.spacedBorder .RepeaterTD, .RepeaterTR.spacedBorder > .RepeaterTD, .RepeaterTRAlt.spacedBorder > .RepeaterTD, .RepeaterTD.spacedBorder, 
.DataTable.spacedBorder .RepeaterTD_header, .RepeaterTRHeader.spacedBorder > .RepeaterTD_header, .RepeaterTD_header.spacedBorder {
	border-right: solid var(--DataTable-spacedBorder-width) var(--DataTable-spacedBorder-bcolor);
	border-left: solid var(--DataTable-spacedBorder-width) var(--DataTable-spacedBorder-bcolor);
}

/* minimalHeight */
.DataTable.minimalHeight .RepeaterTD, .RepeaterTR.minimalHeight > .RepeaterTD, .RepeaterTRAlt.minimalHeight > .RepeaterTD, .RepeaterTD.minimalHeight {
	height: unset !important;
}

/* noPadding-top */
.DataTable.noPadding-top .RepeaterTD, .RepeaterTR.noPadding-top > .RepeaterTD, .RepeaterTRAlt.noPadding-top > .RepeaterTD, .RepeaterTD.noPadding-top {
	padding-top: 0px;
}

/* verticalAlign-top */
.DataTable.verticalAlign-top .RepeaterTD, .RepeaterTR.verticalAlign-top > .RepeaterTD, .RepeaterTRAlt.verticalAlign-top > .RepeaterTD, .RepeaterTD.verticalAlign-top {
	vertical-align: top;
}

/* ------ GROUPED ROWS (Header and Detail Rows) ----------*/

/* Use .DataTable.highlight for tables with grouped rows, it will highlight the tbody you're hovering over
 *   and highlight the specific row a darker shade than the rest of the grouped rows.
 * You will need to set each group of rows in their own tbody tag.
 */
.DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTR, .DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTRAlt {
	background-color: #fffff4;
}
.DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTR .RepeaterTD.style-2
, .DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTRAlt .RepeaterTD.style-2
, .DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTR.style-2 .RepeaterTD
, .DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTRAlt.style-2 .RepeaterTD {
	background-color: #f3f3d8;
}
.DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTR .RepeaterTD.style-3, .DataTable.grouped.highlight tbody.groupedContainer:hover .RepeaterTRAlt .RepeaterTD.style-3{
	background-color: #dfdfc5;
}


.DataTable.grouped.highlight .RepeaterTR:hover, .DataTable.grouped.highlight .RepeaterTRAlt:hover {
	background-color: #ffffe6 !important;
}
.DataTable.grouped.highlight .RepeaterTR:hover .RepeaterTD.style-2
, .DataTable.grouped.highlight .RepeaterTRAlt:hover .RepeaterTD.style-2 
, .DataTable.grouped.highlight .RepeaterTR.style-2:hover .RepeaterTD
, .DataTable.grouped.highlight .RepeaterTRAlt.style-2:hover .RepeaterTD {
	background-color: #efefd1 !important;
}


.DataTable.grouped.highlight .RepeaterTR:hover .RepeaterTD.style-3, .DataTable.grouped.highlight .RepeaterTRAlt:hover .RepeaterTD.style-3 {
	background-color: #e3e3cb !important;
}


.DataTable.grouped.collapsibleDetails tbody.groupedContainer.collapsed:not(.lockCollapseOpen) .RepeaterTR.groupDetail, .DataTable.grouped.collapsibleDetails tbody.groupedContainer.collapsed:not(.lockCollapseOpen) .RepeaterTRAlt.groupDetail {
	visibility: collapse;
}

/* This is for some specific use cases. Don worry 'bout it.*/
.DataTable.grouped.collapsibleDetails tbody.groupedContainer:not(.collapsed) .hideOnUncollapse, .DataTable.grouped.collapsibleDetails tbody.groupedContainer.lockCollapseOpen .hideOnUncollapse {
	visibility: hidden;
}

/* No Highlight */
.DataTable.grouped.highlight .RepeaterTR:hover .RepeaterTD.no-highlight, .DataTable.grouped.highlight .RepeaterTRAlt:hover .RepeaterTD.no-highlight {
	background-color: #fffff4 !important;
}
.DataTable.grouped.highlight .RepeaterTR.style-2:hover .RepeaterTD.no-highlight, .DataTable.grouped.highlight .RepeaterTRAlt.style-2:hover .RepeaterTD.no-highlight {
	background-color: #f3f3d8 !important;
}

.StickyHeader {
 	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 2; /* Get Above DDLBs */
}

.StickyHeader td, .stickyHeader th {
	border-bottom: 0;
}

.StickyHeader td::after {
	content: '';
	position: absolute;
	bottom:0;
	right:0;
	border-bottom: solid var(--DataTable-header-border-width) black;
	width: 100%;
}

/*--------------------------------------------------------------
 * Alpha List Styles
 *--------------------------------------------------------------*/

.alphaList {
	border: none;
	position: relative;
	border-spacing: 0;
}

.alphaList::before {
	content: '';
	background-image: radial-gradient(circle at 100% 50%, rgb(113, 236, 255), rgb(24, 125, 213));
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	width: 100%;;
}

.alpha_option {
	background-color: transparent;
	outline: none;
	border: none; 
	padding: 1em;
	font: inherit;
	cursor: pointer;
    color: #000000;	
    font-weight: normal;
    position: relative;
}

.alpha_option:not(.isDisabled):hover {
	background-color: #bebebe;
}

.alpha_option.isSelected {
	font-weight: bold;
	color: #223d83;
}

.alphaList:not(:hover) tr .alpha_option.isSelected::after, .alpha_option:not(.isDisabled):hover::after {
	content: '';
	background-image: radial-gradient(circle at 100% 50%, rgb(44, 156, 226), rgb(0, 98, 205));
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: 100%;
}

.alpha_option.isDisabled {
	color: #aeafb2;
	cursor: default;
}

/*--------------------------------------------------------------
 * Tabbed Panels
 *--------------------------------------------------------------*/

:root {
	--tab-max-width: unset;
	--tab-min-width: 150px;
	--tab-padding: 15px 20px;
}

.tab-container {
	display: flex;
	padding: 0;
	border: 0;
	margin: 0;
}

.tab {
	position: relative;
	display: inline-block;
	background-color: var(--background-color-3);
	font: 14px Helvetica, sans-serif;
	font-weight: bold;
	color: var(--secondary-color-2);
	padding: var(--tab-padding);
	margin: 0 8px 0 0;
	border-radius: 5px 5px 0 0;
	min-width: var(--tab-min-width);
	max-width: var(--tab-max-width);
	text-align: center;
	align-content: center;
	cursor: pointer;
}

.tab-container.hasShadows .tab::before {
	content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: -1;
	box-shadow: 2px 2px 5px 2px rgb(0, 0, 0, 0.2);
	border-radius: 5px 5px 0 0;
}

.tab.isSelected {
	background-color: #ffffff;
	color: var(--primary-color-1);
}

.tab.isHidden {
	display: none;
}

.tab.small {
	padding: 10px 15px;
}

.tab.grey {
	background-color: var(--background-color-5);
}

.tab.grey.isSelected {
	background-color: var(--background-color-3);
}

.tab-content {
	display: none;
}

.tab-content.isSelected {
	display: block;
}

.tab-content.maxHeight {
	height: 300px;
	max-height: 300px;
	overflow-y: auto;
}

.tab-content.interior {
	padding: 10px;
}

.tab-content.grey {
	background-color: var(--background-color-3);
}

.tab-content.roundedCorners {
	border-radius: 0px 10px 10px 10px; /*Leave the top left corner 90 degrees so it lines up with the tabs*/
}


/*--------------------------------------------------------------
 * Scrollable Box Styles
 *--------------------------------------------------------------*/


:root
{
	--scroll-box-scrollbar-width: 10px;
	--scroll-box-scrollbar-radius: 5px;
	
	--scroll-box-track-margin: 0;
	--scroll-box-track-color: #d1d1d1;
	--scroll-box-track-radius: var(--scroll-box-scrollbar-radius);
	
	--scroll-box-thumb-color: #5e5e5e;
	--scroll-box-thumb-radius: var(--scroll-box-scrollbar-radius);
}

.scroll-box {
	overflow-x: hidden;
	overflow-y: auto;
}

.scroll-box::-webkit-scrollbar {
	width: var(--scroll-box-scrollbar-width);
}

.scroll-box::-webkit-scrollbar-track {
	background: var(--scroll-box-track-color);
	margin: var(--scroll-box-track-margin);
	border-radius: var(--scroll-box-track-radius);
}

.scroll-box::-webkit-scrollbar-thumb {
	background: var(--scroll-box-thumb-color);
	border-radius: var(--scroll-box-thumb-radius);
}



/*-------------------------------------------------
Older style
-----------------------------------------------------*/

.scrollBox {
	border-style: solid;
	border-color: #000000;
	border-width: 1px;
	padding: 1rem;
	background-color: #ffffff;
	overflow-x: hidden;
	overflow-y: auto;
}

/* Stylized Scrollbar ScrollBox Styles (.scrollbar) */

.scrollBox.scrollbar::-webkit-scrollbar {
	width: 10px;
}

.scrollBox.scrollbar::-webkit-scrollbar-track {
	background: #d1d1d1;
}

.scrollBox.scrollbar::-webkit-scrollbar-thumb {
	background: #5e5e5e;
}

/* Rounded ScrollBox Styles (.rounded) */

.scrollBox.rounded {
	border-radius: 25px;
	padding: 1rem;
}

.scrollBox.rounded::-webkit-scrollbar-track {
	border-radius: 5px;
	margin-bottom: 15px;
	margin-top: 15px;
}

.scrollBox.rounded::-webkit-scrollbar-thumb {
	border-radius: 5px;
}


/*--------------------------------------------------------------
 * Tooltip (Smart) Styles
 *--------------------------------------------------------------*/


:root
{
	--tooltip-offset: 50%;
	--tooltip-offset-tweak: -5px;
	--tooltip-vertical-offset: 5px;
	--tooltip-min-width: 100px;
	--tooltip-max-width: 200px;
	--tooltip-background-color: #292929;
	--tooltip-border: solid 2px #82bbff;
	--tooltip-font-size: 14px;
	--tooltip-color: #fff;
	--tooltip-text-align: center;
}


@keyframes show-tooltip 
{
  0% {
    opacity: .2;
  }
  /*50%{
   opacity: 1;
   transform: translate(calc(var(--tooltip-offset) * -1), -100%) scale(1.2);
  }*/
  100% {
  	opacity: 1;
  }
}

.tooltip-smart div
{
    color: var(--tooltip-color);
    text-decoration: none;
    transform: translate(calc(var(--tooltip-offset) * -1), -100%) scale(.5); 
    position: absolute;
    background-color: var(--tooltip-background-color);
    padding: 8px 10px 12px 10px;
    border-radius: 10px;
    font-size: var(--tooltip-font-size);
    text-align: var(--tooltip-text-align);
    box-shadow: 0 0 4px 2px rgba(0,0,0,.2);
    width: max-content;
    min-width: var(--tooltip-min-width);
    max-width: var(--tooltip-max-width);
    top: var(--tooltip-vertical-offset);
    left: calc(var(--tooltip-offset) + var(--tooltip-offset-tweak));
    margin-top: -18px;
    visibility: hidden;
    opacity: 0;
    border: var(--tooltip-border);
}

.tooltip-smart:hover
{
  position: relative;
}

.tooltip-smart:hover div
{
    opacity: 1;
    visibility: visible;
    transform: translate(calc(var(--tooltip-offset) * -1), -100%) scale(1);
    animation: show-tooltip 500ms;
}

.tooltip-smart:hover div:before {
  content: "";
  position: absolute;
  top: -webkit-calc(100% - 7px); 
  top: calc(100% - 7px); 
  left: var(--tooltip-offset);
  height: 14px;
  width: 14px;
  background: var(--tooltip-background-color);
  transform: rotate(45deg);
  border-bottom: var(--tooltip-border);
  border-right: var(--tooltip-border);
  box-shadow:none;
}

.tooltip-smart.ttheader {
	--tooltip-background-color: #ffffff;
	--tooltip-color: #000000;
	--tooltip-border: solid 2px #b5b5b5;
}

/*--------------------------------------------------------------
 * Tooltip (Dumb) Styles
 *--------------------------------------------------------------*/
	
	
/* Tooltip container */
.tooltip {
  position: relative;
  display: inline-block;
}

.tooltip-underline {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

/* Tooltip text */
.tooltip .tooltiptext-top {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext-top::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-top-color: inherit;
  border-left-color: transparent;
  border-right-color: transparent;
  border-bottom-color: transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext-top {
  visibility: visible;
  opacity: 1;
}

/* Tooltip text */
.tooltip .tooltiptext-bottom {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  top: 100%;
  left: 50%;
  margin-left: -60px;

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext-bottom::after {
  content: " ";
  position: absolute;
  bottom: 100%;  /* At the top of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent black transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext-bottom {
  visibility: visible;
  opacity: 1;
}

/* Tooltip text */
.tooltip .tooltiptext-left {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  top: -5px;
  right: 105%;
  margin-left: -60px;

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext-left::after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 100%; /* To the right of the tooltip */
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent transparent black;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext-left {
  visibility: visible;
  opacity: 1;
}

/* Tooltip text */
.tooltip .tooltiptext-right {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  top: -5px;
  left: 105%;
  margin-left: -60px;

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

/* Tooltip arrow */
.tooltip .tooltiptext-right::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 100%; /* To the left of the tooltip */
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent black transparent transparent;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext-right {
  visibility: visible;
  opacity: 1;
}


@keyframes pulse {
  0% {
    opacity: .5;
    transform: translate(-50%, -100%) scale(.5); 
  }
  50%{
   opacity: 1;
   transform: translate(-50%, -100%) scale(1.2);
  }
  100% {
     transform: translate(-50%, -100%) scale(1);
  }
}

/* Tooltip text */
.tooltip .tooltipnote-top {
  visibility: hidden;
  display: inline-block;
  max-height: 19vh;
  height:auto;
  background-color: #555;
  color: #fff;
  text-align: center;
  padding: 5px 0;
  border-radius: 6px;

  /* Position the tooltip text */
  position: absolute;
  z-index: 1;
  bottom: 125%;
  /*left: -40vw;
  right: -10vw;
  margin-left: -60px;*/
  width:30vw;
  transform:translateX(-80%);
  text-align: left;
  
  

  /* Fade in tooltip */
  opacity: 0;
  transition: opacity 0.3s;
  
}

/* Tooltip arrow */
.tooltip .tooltipnote-top::after {
  display: inline-block;
  content: "";
  position: absolute;
  top: 100%;
  left: 85%;
  margin-left: -20px;
  border-width: 5px;
  border-style: solid;
  border-color: #555 transparent transparent transparent;
  max-width:100%;
  text-overflow: ellipsis !important;
}


/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltipnote-top {
  visibility: visible;
  opacity: 1;
}


.tooltipnote-top .tooltipnoteinner {
  display: inline-block;
  max-height: 18vh;
  padding: 5px;
  height:auto;
  max-width: calc(100%);
  overflow-y: scroll;
  overflow-x: hidden;
  /*text-overflow: ellipsis;*/
}

/* width */
.tooltipnoteinner::-webkit-scrollbar {
  width: 12px;
}

/* Track */
.tooltipnoteinner::-webkit-scrollbar-track {
  background: #555;
  border-radius: 5px;  
}

/* Handle */
.tooltipnoteinner::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 5px;
}



/*--------------------------------------------------------------
 * Collapsible Element Styles
 *--------------------------------------------------------------*/

.collapsible_element {
	display: initial;
}

.collapsible_element.isCollapsed {
	display: none;
}

.collapsible_element_animated {
	position: relative;
	max-height: 750px;
	overflow: visible;
	height: 100%;
	width: 100%;
	animation: 3s delay-overflow;
	transition: max-height 1s;
}

.collapsible_element_animated.isCollapsed {
	overflow: hidden;
	max-height: 1px;
	/*I have no idea why, but this seems to be necessary for the animation to work*/
	animation: 0s delay-overflowa;
	transition: max-height 1s;
}

@keyframes delay-overflow {
	from {overflow: hidden;}
}

@keyframes delay-overflowa {
	from {overflow: visible;}
}





/*--------------------------------------------------------------
 * Expandable Instructions Styles
 *--------------------------------------------------------------*/

/*
  Note: This got a little messy while I was making it; but whatever, it works for the most part -DWG
*/

:root {
	--instruction-container-side-padding: 10px;
	--instruction-container-bottom-padding: 10px;
	--instruction-handle-top-position: 0.75rem;
	--instruction-handle-vertical-padding: 5px;
	--instruction-handle-vertical-line-height: 1.25rem;
	--instruction-panel-border-width: 1px;
	--instruction-panel-border-radius: 10px;
	--instruction-panel-border-color: var(--primary-color-1);
	--instruction-panel-top-position: calc(var(--instruction-handle-top-position) + var(--instruction-handle-vertical-line-height) + var(--instruction-panel-border-width) + calc(2 * var(--instruction-handle-vertical-padding)));
	--instruction-panel-background-color: var(--background-color-6);
	--instruction-panel-animation-time: 300ms;
}

.instructionsHandle {
	position: absolute;
	box-sizing: border-box;
	background-color: transparent;
	padding: var(--instruction-handle-vertical-padding) 10px;
	color: var(--primary-color-1);
	font-size: 1rem;
	line-height: var(--instruction-handle-vertical-line-height);
	text-decoration: underline;
	border-style: solid;
	border-width: var(--instruction-panel-border-width);
	border-color: transparent;
	border-radius: var(--instruction-panel-border-radius) var(--instruction-panel-border-radius) 0 0;
	top: var(--instruction-handle-top-position);
	right: var(--instruction-container-side-padding);
	height: var(--instruction-handle-height);
	z-index: 0;
}

.instructionsHandle:hover, .instructionsContainer .instructionsPanel:hover ~ .instructionsHandle, .instructionsContainer:hover .instructionsHandle {
	color: var(--text-color-1);
	background-color: var(--instruction-panel-background-color);
	text-decoration: none;
	border-color: var(--instruction-panel-border-color);
	z-index: 11;
}

.instructionsHandle:not(.instructionsHandle:hover, .instructionsContainer .instructionsPanel:hover ~ .instructionsHandle, .instructionsContainer:hover .instructionsHandle) {
	transition: all 0ms linear;
	transition-delay: var(--instruction-panel-animation-time);
}

.instructionsHandle::after {
	position: absolute;
	width: 100%;
	background-color: var(--instruction-panel-background-color);
	content: ' ';
	height: 4px;
	bottom: -2px;
	right: 0;
	transform: translateZ(10px);
	visibility: hidden;
}

.instructionsHandle:hover::after, .instructionsContainer .instructionsPanel:hover ~ .instructionsHandle::after, .instructionsContainer:hover .instructionsHandle::after {
	visibility: visible;
	
}

.instructionsHandle:not(.instructionsHandle:hover, .instructionsContainer .instructionsPanel:hover ~ .instructionsHandle, .instructionsContainer:hover .instructionsHandle)::after {
	transition: all 0ms linear;
	transition-delay: var(--instruction-panel-animation-time);
}

.instructionsPanel {
	position: absolute;
	visibility: collapse;
	background-color: var(--instruction-panel-background-color);
	right: var(--instruction-container-side-padding);
	padding: 10px;
	border-style: solid;
	border-width: var(--instruction-panel-border-width);
	border-color: var(--instruction-panel-border-color);
	border-radius: var(--instruction-panel-border-radius) 0 var(--instruction-panel-border-radius) var(--instruction-panel-border-radius);
	top: var(--instruction-panel-top-position);
	min-width: 100px;
	max-width: 100px;
	min-height: 0;
	max-height: 10px;
	box-sizing: border-box;
	transition-property: max-height, max-width, min-width, visibility;
	transition-duration: var(--instruction-panel-animation-time);
	transition-timing-function: ease-out;
	z-index: 10;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	overflow-x: hidden;
}



/* width */
.instructionsPanel::-webkit-scrollbar {
	width: 10px;
}

/* Track */
.instructionsPanel::-webkit-scrollbar-track {
	border-radius: 5px;
	margin-bottom: 10px;
	margin-top: 3px;
}

/* Handle */
.instructionsPanel::-webkit-scrollbar-thumb {
	background: var(--instruction-panel-background-color);
	border-radius: 5px;
	transition-property: background;
	transition-duration: 0ms;
	transition-timing-function: linear;
	transition-delay: var(--instruction-panel-animation-time);
}


/* Handle */
.instructionsPanel:hover::-webkit-scrollbar-thumb {
	background: #5e5e5e;
}


.instructionsHandle:hover + .instructionsPanel, .instructionsPanel:hover {
	visibility: visible;
	min-width: calc(100% - calc(2 * var(--instruction-container-side-padding)));
	max-width: calc(100% - calc(2 * var(--instruction-container-side-padding)));
	max-height: calc(100% - calc(var(--instruction-container-bottom-padding) + var(--instruction-panel-top-position)));
	transition-property: max-height, max-width, min-width, visibility;
	transition-duration: var(--instruction-panel-animation-time);
	transition-timing-function: ease-out;
}

.instructionsTextContainer {
	position: relative;
	visibility: hidden;
	opacity: 0;
	height: calc(100%);
	width: calc(100%);
	min-height: 0;
	transition-property: visibility;
	transition-duration: 0ms;
	transition-timing-function: linear;
	transition-delay: var(--instruction-panel-animation-time);
	
}


.instructionsHandle:hover + .instructionsPanel .instructionsTextContainer, .instructionsPanel:hover .instructionsTextContainer {
	visibility: visible;
	
	/*transition: visibility 0ms linear;
	transition-delay: 200ms;*/
	opacity: 1;
	transition-property: opacity;
	transition-duration: var(--instruction-panel-animation-time);
	transition-timing-function: linear;
	transition-delay: var(--instruction-panel-animation-time);
}



.instructionsText {
	flex: 1;
	white-space: pre-line;
	max-height: 1px;
	min-width: calc(100%);
	width: calc(100%);
	max-width: 100vw;
	transition-property: max-height;
	transition-duration: 0ms;
	transition-timing-function: linear;
	transition-delay: var(--instruction-panel-animation-time);
}


.instructionsHandle:hover + .instructionsPanel .instructionsText, .instructionsPanel:hover .instructionsText {
	max-height: calc(100%);
	
	
	
}



/*
 *------------------------------------------------------------------
 * -------- ANIMATIONS ----------
 *------------------------------------------------------------------
 */

:root {
	--fade-in-time: 2s;
}


.fadeIn {
	animation: fadeInAnimation ease var(--fade-in-time);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
     }
}

.fadeOut {
	animation: fadeOutAnimation ease var(--fade-in-time);
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeOutAnimation {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
     }
}

/*--------------------------------------------------------------
 * Loading Wheel Styles
 *--------------------------------------------------------------*/


#loading_modal_container{
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	pointer-events: all;
	width: 100%;
	height: 100%;
	opacity: 1;
	transition: opacity .5s ease-out 0.25s;
}

#loading_modal_container.hidden {
	opacity: 0;
	pointer-events: none;
}

.page_cover{
	background-color: #ffffff;
	opacity: 1;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.page_cover_transparent{
	background-color: black;
	opacity: 0.5;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	
}

:root {
	--loading_height: 200px;
}

.loading_wheel {
  color: white;
  display: inline-block;
  position: relative;
  width: var(--loading_height);
  height: var(--loading_height);
}
.loading_wheel div {
  transform-origin: calc(var(--loading_height) / 2) calc(var(--loading_height) / 2);
  animation: loading_wheel 1.2s linear infinite;
}
.loading_wheel div:after {
  content: " ";
  display: block;
  position: absolute;
  top: calc(var(--loading_height) / 15);
  left: calc(var(--loading_height) / 2);
  width: calc(var(--loading_height) / 8);
  height: calc(var(--loading_height) / 8);
  border-radius: 50%;
  background: #6ed1ff;
  animation: loading_wheelanim 1.2s linear infinite;
}

#loading_modal_container.hidden .page_cover .loading_wheel {
	display:none;
}

.loading_wheel div:nth-child(1) {
  transform: rotate(0deg);
  animation-delay: -1.1s;
}
.loading_wheel div:nth-child(2) {
  transform: rotate(30deg);
  animation-delay: -1s;
}
.loading_wheel div:nth-child(3) {
  transform: rotate(60deg);
  animation-delay: -0.9s;
}
.loading_wheel div:nth-child(4) {
  transform: rotate(90deg);
  animation-delay: -0.8s;
}
.loading_wheel div:nth-child(5) {
  transform: rotate(120deg);
  animation-delay: -0.7s;
}
.loading_wheel div:nth-child(6) {
  transform: rotate(150deg);
  animation-delay: -0.6s;
}
.loading_wheel div:nth-child(7) {
  transform: rotate(180deg);
  animation-delay: -0.5s;
}
.loading_wheel div:nth-child(8) {
  transform: rotate(210deg);
  animation-delay: -0.4s;
}
.loading_wheel div:nth-child(9) {
  transform: rotate(240deg);
  animation-delay: -0.3s;
}
.loading_wheel div:nth-child(10) {
  transform: rotate(270deg);
  animation-delay: -0.2s;
}
.loading_wheel div:nth-child(11) {
  transform: rotate(300deg);
  animation-delay: -0.1s;
}
.loading_wheel div:nth-child(12) {
  transform: rotate(330deg);
  animation-delay: 0s;
}

.loading_wheel div:nth-child(1):after {
  animation-delay: -1.1s;
}
.loading_wheel div:nth-child(2):after {
  animation-delay: -1s;
}
.loading_wheel div:nth-child(3):after {
  animation-delay: -0.9s;
}
.loading_wheel div:nth-child(4):after {
  animation-delay: -0.8s;
}
.loading_wheel div:nth-child(5):after {
  animation-delay: -0.7s;
}
.loading_wheel div:nth-child(6):after {
  animation-delay: -0.6s;
}
.loading_wheel div:nth-child(7):after {
  animation-delay: -0.5s;
}
.loading_wheel div:nth-child(8):after {
  animation-delay: -0.4s;
}
.loading_wheel div:nth-child(9):after {
  animation-delay: -0.3s;
}
.loading_wheel div:nth-child(10):after {
  animation-delay: -0.2s;
}
.loading_wheel div:nth-child(11):after {
  animation-delay: -0.1s;
}
.loading_wheel div:nth-child(12):after {
  animation-delay: 0s;
}

@keyframes loading_wheel {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes loading_wheelanim {
  0% {
  transform: scale(1.5);
  }
  100% {
    transform: scale(0.7);
  }
}


/*
 *------------------------------------------------------------------
 * -------- MISC STYLES ----------
 *------------------------------------------------------------------
 */


/*--------------------------------------------------------------
 * Dashboard Styles
 *--------------------------------------------------------------*/

.dashboardLayout {
	width: 100%;
}

.dashboardLayoutCell {
	vertical-align: top;
	white-space: nowrap;
}

.dashboardNotif {
	padding: 10px;
}

.dashboardNotif a:link, .dashboardNotif a:visited {
	font-size: 12px;
	color: #436389;
	text-decoration: underline;
}

.dashboardNotif a:hover {
	font-size: 12px;
	color: #436389;
	text-decoration: none;
}

.rosterStatsLabel {
	padding: 5px;
	font-size: 12px;
	color: #436389;
}

.rosterStatsData {
	padding: 5px;
	text-align: right;
}

.rosterStatsData a:link, .rosterStatsData a:visited {
	color: #000000;
	text-decoration: underline;
	font-size: 12px;
}

.rosterStatsData a:hover {
	color: #000000;
	text-decoration: none;
	font-size: 12px;
}

.dashboardFieldset {
	border-radius: 10px;
}

.dashboardFieldset legend {
	font-size: 13px;
}

.dashboardQuickLinks {
	border-radius: 10px;
	border: none;
	background-image: linear-gradient(#436389, #839FC2);
	padding-top: 10px;
}

.quickLinksCell {
	padding: 5px;
	vertical-align: middle;
}

.quickLinksHeading {
	color: #FFFFFF;
	font-size: 15px;
	font-weight: bold;
	padding: 10px;
}

.quickLinksIcon {
	width: 30px;
	height: 30px;
	vertical-align:bottom;
}

a.quickLinksLabel:link, a.quickLinksLabel:visited {
	color: #FFFFFF;
	font-size: 15px;
	text-decoration: none;
}

a.quickLinksLabel:hover {
	color: #FFFFFF;
	font-size: 15px;
	text-decoration: underline;
}



/*--------------------------------------------------------------
 * Registration Styles
 *--------------------------------------------------------------*/

.regCard {
	width: 100%;
	background-color: var(--background-color-7);
	padding: 15px 10px 30px 10px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.regCardHeader {
	background-color: var(--primary-color-4);
	color: #ffffff;
	font-size: 1.5rem;
	font-weight: bold;
	padding: 1em 1em;
	margin: -15px -10px 0px -10px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.prime-grey-block{
	background-color:#d3d3d3; 
	border:solid grey 1px; 
	border-radius:5px; 
	font-size:16px;
	padding:0px 5px;
	vertical-align:middle;
}

.prime-grey-block div{

	font-size:16px;
}

.prime-grey-block-container{
	background-color:#e9e9e9;
	border: solid grey 1px;
	border-radius:10px;
	padding: 5px;
	overflow-y: auto;
}


/* width */
.prime-grey-block-container::-webkit-scrollbar {
  width: 12px;
}

/* Track */
.prime-grey-block-container::-webkit-scrollbar-track {
  background: #555;
  border-radius: 10px;  
}

/* Handle */
.prime-grey-block-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 10px;
}


/*--Movable Box Styles--*/

#DraggableBox {
	position: absolute;
	z-index: 9;
	border: solid 1px grey;
	border-radius:15px;
	height: 220px;
	width: 450px;
	background: white;
	font-size: 13px;
	line-height: 14px;
}

#DraggableBoxElement {
	border-radius: inherit;
	z-index: 10;
	width:100%;
	height:50px;
	background-color: #0000c9;
	background: linear-gradient(to bottom, var(--primary-color-1), var(--primary-color-2));
	color: #ffffff;
	font-weight: bold;
	cursor: move;
	font-size:18px;
}

#DragBoxController {
	padding:5px;
	white-space:nowrap;
	text-align:center;
}

.DragBoxController-clicked {
	background-color:#dbeaff;;
	border: inset 2px !important;
}

.link-btn {
	  background: none!important;
	  border: none;
	  padding: 0!important;
	  font-size: 11px;
	  font-family: Helvetica, sans-serif;
	  color: #0090DA;
	  text-decoration: underline;
	  cursor: pointer;
	}
	
p.cursive {
    letter-spacing: -1px;
    font-style: italic;	
}

#loadOverlay {
	display: none;
}

/*
 * PVDD Performance Report Styles
 */
.pvdd_perf_rpt-text {
	font-family: Helvetica, Tahoma, Verdana, sans-serif;
} 

.pvdd_perf_rpt-logo {
	display: block;
	margin-left: auto;
	margin-right: auto;
 	height: 96px;
    width: 232.32px;
}

.pvdd_perf_rpt-header {
	color: var(--header-text-color);
	font-size: 48px;
	font-weight: bold;
	text-align: center;
	line-height: 50px;
}

.pvdd_perf_rpt-le {
	color: var(--header-text-color);
	font-size: 48px;
	font-weight: bold;	
	text-align: left;
	line-height: 50px;
}

.pvdd_perf_rpt-title {
	color: black;
	font-size: 32px;
	font-weight: bold;	
	text-align: left;
}

.pvdd_perf_rpt-table {
	border: 1px solid black;
	border-collapse: collapse;
	width: 50%;
	line-height: 170%;
}

.pvdd_perf_rpt-table td {
	border: 1px solid black;
	border-collapse: collapse;
	font-size: 25px;
	padding: 5px;
	width: 25%;
}

.pvdd_perf_rpt-misc {
	font-size: 18px;	
}

.pvdd_perf_rpt-misc a {
	font-size: 18px;
}

.pvdd_perf_rpt-table_alt {
	border: 1px solid black;
	border-collapse: collapse;
	width: 90%;
}

.pvdd_perf_rpt-table_alt td {
	border: 1px solid black;
	border-collapse: collapse;
	font-size: 25px;
	line-height: 120%;
	padding: 5px;
}


/*--------------------------------------------------------------
 * Misc Styles
 *--------------------------------------------------------------*/

 .information-panel {
 	display: flex;
 	flex-direction: column;
 	align-items: center;
 	background-color: var(--primary-color-2);
 	color: #ffffff;
 	border-radius: 25px;
 	padding: 20px;
 }
 
 
 
 
 
 
 