/**** Global Variables ****/

:root {

	--default-color: black;

	--background-color: #FFFFFF;
	--border-color: black;

	--header-background-color: #E5F0EE;
	--footer-background-color: white;

	--highlight-color: #F5FFF9;
	--highlight-border-color: #004D43;

	--dark-highlight-color: #008F7C;

	--hover-color: white;
	--hover-background-color: #025022;

	--disabled-background-color: #CCC;
	--disabled-border-color: #AAA;


	--anchor-color: #0000AA;
	--anchor-highlight-color: #0000F0;

	--mouseover-color: #999D66;

	--error-color: #C00;
	--warning-color: #A00;

	--disabled-color: #989898;
	--disabled-border: #4C4C4C;

	--error-highlight: #FFFAFA;

	--double-margin: 2em;
	--double-padding: 2em;

	--standard-height: 1.5em;
	--double-height: 2em;
	--full-height: 3em;

	--standard-column-gap: 0.5em;
	--standard-row-gap: 0.2em;

	--disabled-field: #EAE8E8;

	--shadow-color: #989898;
	--rule-color: #BEBEBE;

	--report-subheader-color:  #DDEEFF;
	--report-footer-color: #D2E2FF;
	--report-footer-total-color: #B1CDFD;

	--beta-color: #007010;

}/* root */


/**** Disabled Items ****/


*.disabled, *.disabled * {
	border-color: var(--disabled-border) !important;
	color: var(--disabled-color) !important;
}/* *.disabled, *.disabled * */


/**** Globals ****/


*.unselectable * { user-select: inherit }


* {
	font-family: Geneva, Verdana, Tahoma, sans-serif;
	font-size: 10pt;
	margin: 0;
	padding: 0;
	overflow: visible;
	box-sizing: border-box;
}/* * */


*:not(textarea):not(pre) {white-space: nowrap;}


*:focus {
	outline: none
}/* *:focus */


/**** HTML Root Styles ****/


html, body, .full-screen {
	margin: 0;
	padding: 0;
}/* html, body, .full-screen */


html, body, .full-screen, .full-size, .full-width	{ width: 100% }
html, body, .full-screen, .full-size, .full-height	{ height: 100% }


/**** Anchors ****/


a {
	text-decoration: none;
	color: var(--anchor-color);
}/* a */


a:hover {
	text-decoration: underline;
	color: var(--anchor-highlight-color);
	cursor: pointer;
}/* a:hover */


/**** Line Breaks ****/


br.half 	{ line-height: 0.5em }

br.double	{ line-height: 2em }
br.triple	{ line-height: 3em }


/**** Buttons ****/


button, div, *.unselectable {
    -webkit-user-select: none;	/* Apple */
    -ms-user-select: none;		/* Microsoft */
    user-select: none;			/* Everyone else */
}/* button, div, unselectable */


*.unselectable * { user-select: inherit }


button {
	color: black;
	border: solid 1px black;
	padding: 0.2em 1em;
	border-radius: 999px;
	background-color: white;
	font-weight: bold !important;
	cursor: pointer;
	height: var(--double-height);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-content: center;
	justify-items: center;
}/* button */


button:hover {
	color: var(--hover-color);
	background-color: var(--hover-background-color);
}/* button:hover */


button[disabled], button[disabled]:hover {
	color: var(--hover-color);
	background-color: var(--disabled-background-color);
	border-color: var(--disabled-border-color);
	cursor: default;
}/* button[disabled],button [disabled]:hover */


button, *.unselectable {
    -webkit-user-select: none;	/* Apple */
    -ms-user-select: none;		/* Microsoft */
    user-select: none;			/* Everyone else */
}/* button, unselectable */


/********/


button.minibutton { height: var(--standard-height) }


/**** Inputs ****/


input, select, div.bordered {
	border: solid 1px black;
	border-radius: 999px;
}/* input, select, div.bordered */


input:not([type="checkbox"]):not([type="radio"]) {
	height: 2em;
	padding: 1em;
	padding: 0.01em 0.5em;
}/* input */


input[type=number] { text-align: center }


input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { 
	-webkit-appearance: none; 
	margin: 0; 
}/* input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button */


input.invalid, select.invalid {
	border: solid 1px var(--error-color);
	background-color: var(--error-highlight) !important;
}/* input.invalid, select.invalid */



/********/


label {
	font-weight: bold;
	margin-right: 0.5em;
	text-align: right;
	white-space: nowrap;
}/* label */


label:not(:first-child) { margin-left: 0.5em }


label.header {
	display: flex;
	font-size: 11pt !important;
	font-weight: bold;
	font-style: italic;
	text-align: left;
	margin-bottom: 0.7em;
	width: 100%;
}/* label.header */


label.sublabel {
	font-size: 9pt;
	font-style: italic;
}/* label.sublabel */


/********/


select { padding-left: 0.25em }


select:not([multiple]) {
	height: var(--double-height);
}/* select:not(multiple) */


textarea {
	padding: 0.2em 0.5em;
	border-color: black;
	border-radius: 1em;
	border-bottom-right-radius: 0;
	min-width: 20em;
	min-height: 9em;
}/* textarea */


div.textarea-container {
	display: inline-flex;
	flex-direction: column;
}/* div.textarea-container */


/**** Partial Classes ****/


#home_panel  {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-items: center;
}/* #home_panel */


#main_panel .outlined-panel {
	border: solid 1px #AAA;
	padding: 1em;
	overflow-y: scroll;
	height: calc(100vh - 2em);
	width: calc(100vw - 2em);
}/* #main_panel .outlined-panel */


/**** Payment ****/


#payment_panel {
	display: flex;
	flex-direction: column;
	align-items: center;
}/* #payment_panel */


.payment-form {
	white-space: nowrap;
}/* payment-form */


.payment-form .subpanel {
	display: flex;
	flex-direction: row;
}/* .payment-form .subpanel */


.payment-form .cc-details input { width: 5em }
.payment-form .cc-details label { margin: 0 1em }


.payment-form .select-list select { flex-grow: 1 }


.payment-form .select-list [placeholder="Year"] {
	width: 5em;
	margin-left: 0.5em;
}/* .cc-details .select-list [placeholder="Year"] */


/********/


#outer_control {
	display: flex;
	flex-direction: column;
	align-items: center;
}/* #outer_control */


/********/


#data_indicator {
	position: absolute;
	right: 2em;
	bottom: 2em;
	transition: opacity 100ms ease-in-out;
	opacity: 0;
}


#signin_eyecandy_contents { z-index: 1 }


/********/

