/* Make widths and heights include content, padding and border. */
* {
	box-sizing: border-box;
}

/* Remove the global margin and padding generated by some browsers. */
html, body {
	margin: 0px;
	padding: 0px;
}

/* Set the default style of texts. */
* {
	font-family: Verdana, Tahoma, Arial, sans-serif;
	font-size: 8pt;
	color: #000000;
}

/* Set the default style of paragraphs and texts arbitrarily nested inside them. */
p, p * {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 8pt;
	color: #0033CC;
	text-align: justify;
}

/* Set the style of link texts and texts arbitrarily nested inside them. */
a, a * {
	text-decoration: none;
	font-size: 8pt;
	font-weight: bold;
	color: #006699;

	&:hover, &:hover p {
		text-decoration: underline;
		color: #DD6900;
	}
}

/* Set the basic style of titles. */
h1, h2, h3 {
	font-weight: bold;
	letter-spacing: 2px;
	color: #330099;
	font-variant: normal;
}

/* Set specific style for top-level titles. */
h1 {
	font-size: 16pt;
	font-style: italic;
}

/* Set specific style for second-level titles. */
h2 {
	font-size: medium;
	font-style: italic;
}

/* Set specific style for third-level titles. */
h3 {
	font-size: 16pt;
}

/* Replace the default list item bullet with a custom image. */
ul {
	list-style-image: url("/images/finger.gif");
}

/* Define the default style of keyboard keys. */
kbd {
	border: 1px solid #E0E0E0;
	border-radius: 5px;
	padding: 5px;
	background-color: #F8F8F8;
	color: #404040;
}

/* Set the default style of tables. */
table {
	border: 1px solid #345487;
	border-spacing: 1px;
	width: 100%;

	& th {
		padding: 8px 11px;
		vertical-align: middle;
		font-weight: bold;
		color: #FFFFFF;
		background-image: url("/images/tile1x52.gif");
	}

	& td {
		padding: 6px;
	}

	& tr:nth-child(even) {
		background-color: #EFEFEF;
	}

	& tr:nth-child(odd) {
		background-color: #DEE3E7;
	}
}

/* Define a class for links appearing as buttons. */
a._button {
	display: flex !important;
	min-width: 150px !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 2px !important;
	padding: 6px !important;
	text-decoration: none !important;
	background-color: #002663 !important;
	color: #FFFFFF !important;

	&:hover {
		background-color: #24B2E5 !important;
	}
}

/* Define a class for links appearing as light buttons. */
a._button_light {
	display: flex !important;
	min-width: 150px !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 2px !important;
	padding: 2px !important;
	text-decoration: none !important;
	background-color: #84C4FF !important;
	color: #FFFFFF !important;
	border: 1px solid #018BBE !important;

	&:hover {
		background-color: #1BACFF !important;
	}
}

/* Define a class for links appearing as big buttons. */
a._button_big {
	display: flex !important;
	min-width: 150px !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 4px !important;
	margin: 2px !important;
	padding: 10px !important;
	text-decoration: none !important;
	background-color: #FFFFFF !important;
	color: #000000 !important;
	border-bottom: 1px solid #000000 !important;
	border-right: 1px solid #000000 !important;
	font-size: 12px !important;

	&:hover {
		background-color: #C0EFFE !important;
	}
}

/* Define a class for links appearing as tabs. */
a._tab {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 29px !important;
	height: 24px !important;
	background-image: url("/images/tab.gif") !important;
	text-decoration: none !important;
	color: #FFFFFF !important;

	&:hover {
		background-image: url("/images/tab_selected.gif") !important;
		color: #000000 !important;
	}
}

/* Define a class for links appearing as selected tabs. */
a._tab_selected {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 29px !important;
	height: 25px !important;
	background-image: url("/images/tab_selected.gif") !important;
	text-decoration: none !important;
	color: #000000 !important;
}

/* Define a class for two-column grids where the left column consists of text or labels. */
div._label_grid {
	display: grid;
	grid-template-columns: auto auto;
	align-items: center;
	gap: 10px;
	padding: 10px;

	& > *:nth-child(odd) {
		font-weight: bold;
		justify-self: end;
	}
	& > *:nth-child(even) {
		justify-self: start;
	}
}
