*
{
	font-family: Helvetica, Arial, Sans-Serif;
	scroll-margin-top: 6em;
}

body
{
	display: flex;
	justify-content: center;
	margin: 0px;
	flex-direction: column;
	/*width: 100vw;*/
	/*max-width: 100%;*/
	/*overflow-x: clip;*/
	/* https://github.com/w3c/csswg-drafts/issues/4691#issuecomment-1104344958 */
}

#content
{
	/*max-width: 100vw;*/
	/*width: 100vw;*/
	display: flex;
	/*justify-content: center;*/
	/*margin: 0px;*/
	margin: auto;
	flex-direction: column;
	/*align-items: center;*/
	/*overflow-x: auto;*/
}

#content div
{
	margin: 0.2em;
}

a
{
	text-decoration: none;
}

textarea
{
	width: 25em;
	height: 5em;
}

.smallTextarea
{
	width: 15em;
	height: 4em;
}

.verySmallTextarea
{
	width: 7em;
	height: 2em;
}

.popover table
{
	/*font-size: 1em;*/
}

table
{
	margin: 0.2em;
	border-collapse: separate;
	border-spacing: 0;
	empty-cells: show;
	font-size: 0.9em;
	max-width: 100%;
	table-layout: auto;
}

table .divider
{
    height: 0.1em;
}

table td,
table th
{
	border-width: 0 1px 1px 1px;
	font-size: inherit;
	margin: 0;
	overflow: visible;
	padding: 0.4em 0.4em 0.4em 0.4em;
}

table thead
{
	text-align: left;
	vertical-align: bottom;
	/*display:table-header-group; Dunno what this is.*/
	/*z-index:1; Why was this here?*/
}

thead tr
{
}

table th
{
	text-align: center;
}

table .pink
{
}

table .green
{
}

table .highlighted
{
	/*font-weight: bold;*/
}

table .weakHighlight
{
}

/*striping*/
/*table tbody tr:nth-child(2n-1) td*/
tr:nth-child(even)
{
}

.showModal {display:block;}

.dropdown, .subdropdown
{
	/*padding: 0.2em;*/
	padding: 0.5em;
	position: relative;
	display: inline-block;
	z-index: 2;
	user-select: none;
	align-items: left;
}

.subdropdown span
{
}

.dropdown-content, .subdropdown-content
{
	display: none;
	position: absolute;
	z-index: 2;
	margin-top: 0.2em;
}

.subdropdown-content
{
	left:100%;
	top: 0%;
	z-index: 2;
}

.dropdown-content *, .subdropdown-content *
{
	text-decoration: none;
	margin: 0px;
	white-space: nowrap;
	text-align: left;
	z-index: 2;
}

.dropdown-active .dropdown-content, .subdropdown:hover .subdropdown-content
{
	display: flex;
	z-index: 2;
}

#nav .dropdown:hover > span, #nav > div > a:hover
{
	z-index: 100;
}

.flexRight
{
	display: flex;
	justify-content: right;
}

.rightAligned *
{
	text-align: right;
	right: 0;
	justify-content: right;
}

.rightAligned
{
	right: 0;
}

#nav
{
	/*width: 100vw;*/
	/*I stopped defining the nav width because macOS scrollbars were clipping the side. Everything seems fine with it undefined. -Andrew, 2025-05-13*/
}

#nav, #nav > *
{
	display: flex;
	flex-direction: row;
	padding: 0px;
	position: sticky;
	top: 0;
	z-index: 100;
}

.dropdown span
{
	width: 100%;
}

#nav > div > div, #nav > div > a, #nav > div > span, #nav > div> div > span, #nav > div > select
{
	font-size: 1em;
	border: none;
	border-radius: 0px;
	text-decoration: none;
	padding: 0.2em 0.4em;
	z-index: 2;
}

#nav > div > select
{
	z-index: 2;
}

#nav ul, #nav ol
{
	list-style: none;
	padding-left: 0em;
	text-align: left;
	margin-top: 0.1em;
	z-index: 2;
}

#nav li
{
	margin: 0em;
	z-index: 2;
	display: flex;
	padding: 0em;
}

#nav li span, #nav li label
{
	padding: 0.5em;
}

.dropdown-content a, .subdropdown-content a
{
	display: block;
	padding: 0.5em;
	width: 100%;
}

li:hover
{
}

.showClickable:hover, .showClickable:hover td
{
}

.clickableTable tr:hover
{
}

::placeholder
{
	opacity: 70%;
}

.highlightedButton
{
	font-size: 1.1em;
}

td button
{
	font-size: 1.1em;
}

button
{
	padding: 2px;
	margin: 1px;
	text-align: center;
	/*display: inline-block;*/
	font-size: 0.9em;
	border: 1px solid;
	border-radius: 5px;
	font-weight: lighter;
}

button:hover
{
}

button:active
{
	transform: scale(1.1,1.1);
}

button:disabled
{
}

.modal {
	display: none;
	position: fixed;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	/*background-color: rgb(0,0,0);*/
	background-color: rgba(0,0,0,0.6)
}

.modal-content
{
	margin: 10% auto;
	padding: 0.2em 1em 1em 1em;
	border-radius: 5px;
	display: block;
	width: fit-content;
	overflow: auto;
}

.modalClose
{
	font-size: 1.5em;
	font-weight: bold;
	text-align: right;
	display:inline-block;
	width: fit-content;
}

.modalClose:hover, .modalClose:focus
{
	text-decoration: none;
	cursor: pointer;
	transform: scale(1.1,1.1);
}

.modalCloseContainer
{
	display: flex;
	justify-content: right;
}

.almostFullWidth
{
	width: 98%;
}

.fullWidth
{
	width: 100%;
}

#nav #companySelect
{
	font-size: 1em;
	width: 8em;
}

.leftJustified
{
	margin-right:auto;
}

.rightJustified
{
	margin-left: auto;
}

.rightText
{
	text-align: right;
}

.toolbar, #toolbar, .subToolbar
{
	display: flex;
	flex-direction: row;
	padding: 0.2em;
	align-items: center;
	position: sticky;
	top: 1.5em;
	z-index: 10;
}

.toolbar > *, .subToolbar > *
{
	/*margin-left: 0.2em;*/
	/*margin-right: 0.2em;*/
}

.dragging
{
	opacity: .5;
}

.loader
{
	border-radius: 50%;
	width: 25px;
	height: 25px;
	animation: spin 1s linear infinite;
	/*animation-direction: alternate;*/
	display: inline-block;
}

@keyframes spin
{
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.simpleIcon
{
	height: 1.8em;
	padding: 0em 0em 0em 0em;
}

.kebab
{
	height: 1.2em;
	padding: 0em .8em 0em .3em;
}

.kebab:hover
{
	transform: scale(1.4,1.4);
}

caption
{
	font-size: 1.2em;
	padding: 0.1em;
	white-space: nowrap;
	/*position: sticky;*/
	/*top: 0px;*/
}

.sticky thead
{
	position: sticky;
	top: calc(var(--stickyHeadTop) + var(--stickyHeadTopCaption));
	z-index: 1; /*This is here for part adjustment checkboxes*/
}

.sticky caption
{
	position: sticky;
	top: var(--stickyHeadTop);
}

.buttonLink
{
	padding: 2px;
	margin: 1px;
	text-align: center;
	/*display: inline-block;*/
	font-size: 0.9em;
	border: 1px solid;
	border-radius: 5px;
	font-weight: lighter;
	cursor: default;
}

.buttonLink:hover
{
}

.buttonLink:active
{
	transform: scale(1.1,1.1);
}

.buttonLink:disabled
{
}

.flexRow
{
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.flexColumn
{
	display: flex;
	flex-direction: column;
	/*text-align: center;*/
	align-items: flex-start;
}

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

.popoverColumn > *
{
	margin: 0.3em;
}

label, .border
{
	user-select: none;
	border-style: solid;
	border-width: 0.2em;
	border-radius: 0.4em;
	/*border-spacing: 20px;*/
	padding: 0.2em;
	margin: 0.1em;
}

.unselectable
{
	user-select: none;
}

.bigWhenUnselected[data-unselected]
{
	font-size: 1.2em;
}

.bold
{
	font-weight: bold;
}

.center
{
	text-align:center;
}

.centerContainer
{
	text-align: center; 
	vertical-align: middle;
}

.icon
{
	margin: 0em 0.2em 0em 0.2em;
	/*padding: 0.2em 0.1em 0.2em 0.1em;*/
	display: inline-flex;
	/*border-radius: 50%;*/
}

.icon img
{
	width: 1.5em;
	height: 1.5em;
	display: inline-block;
}

.noWrap
{
	white-space: nowrap;
}

.wrap
{
	word-break: break-all;
}

.alignCenter
{
	align-items: center;
}

.shrunk
{
	max-height: 30vh;
	overflow: auto;
}

input, select, textarea
{
	border-radius: 0.3em;
}

/* Maybe this isn't going to work.
select
{
	width:6em;
}
*/

.smallSelect, .smallInput {width: 6em;}

.subtotal
{
	display: flex;
	justify-content: space-evenly;
	font-weight: bold;
}

.subtotal span
{
	text-align: center;
}

.thirtyFiveEmWideMax
{
	max-width: 35em;
}

.thirtyFiveEmWide
{
	width: 35em;
}

.twentyFiveEmWide
{
	width: 25em;
}

.bigFont
{
	font-size:2em;
}

td a
{
	display: block;
	width: 100%;
	height: 100%;
}
input[type=checkbox]
{
	transform: scale(1.1);
}

[hidden] {
    display: none !important;
}

.noWidth
{
	width: 0px;
}

.preformatted
{
	white-space: pre;
}

@media print
{    
    .noPrint, .noPrint *
    {
        display: none !important;
    }

	*
	{
		font-size: 0.6em;
	}
}

@media screen and (max-width: 600px) {
  .hideWhenSmall {
    visibility: hidden;
    display: none;
  }
}
