@font-face {
	font-family: 'Material Icons';
	src: url('../fonts/MaterialIcons-Regular.woff2') format('woff2'),
	url('../fonts/MaterialIcons-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@font-face {
	font-family: 'Material Icons Outlined';
	src: url('../fonts/MaterialIconsOutlined-Regular.woff2') format('woff2'),
	url('../fonts/MaterialIconsOutlined-Regular.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@font-face {
	font-family: 'Material Symbols Rounded';
	src: url('../fonts/MaterialSymbolsRounded-SemiBold.woff2') format('woff2'),
	url('../fonts/MaterialSymbolsRounded-SemiBold.woff') format('woff');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

.material-symbols-rounded, .msr {
	font-family: 'Material Symbols Rounded';
	font-weight: 500;
	font-style: normal;
	font-size: 1.5em;
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';

	position: relative;
	top: .2em;
	margin-top: -3em;
}


.material-icons, .material-icons-outlined {
	font-family: 'Material Icons';
	font-weight: normal;
	font-style: normal;
	font-size: 16px;  /* Preferred icon size */
	display: inline-block;
	line-height: 1;
	text-transform: none;
	letter-spacing: normal;
	word-wrap: normal;
	white-space: nowrap;
	direction: ltr;

	/* Support for all WebKit browsers. */
	-webkit-font-smoothing: antialiased;
	/* Support for Safari and Chrome. */
	text-rendering: optimizeLegibility;

	/* Support for Firefox. */
	-moz-osx-font-smoothing: grayscale;

	/* Support for IE. */
	font-feature-settings: 'liga';

	position: relative;
	top: 3px;
	margin-top: -5px;
}

.material-icons-outlined {
	font-family: 'Material Icons Outlined';
}

@font-face {
	font-family: 'Noto Sans SemiCondensed';
	src: url('../fonts/subset-NotoSansSemiCondensed-Medium.woff2') format('woff2'),
	url('../fonts/subset-NotoSansSemiCondensed-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Noto Sans SemiCondensed';
	src: url('../fonts/subset-NotoSansSemiCondensed-Bold.woff2') format('woff2'),
	url('../fonts/subset-NotoSansSemiCondensed-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}



:root {
	--bs-font-sans-serif: "Noto Sans SemiCondensed", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--bs-body-font-size: 1rem;
	--bs-body-font-weight: 500;
	--bs-border-width: .1rem;
	--font-size-biggest: 1.3em;
	--font-size-bigger: 1.2em;
	--font-size-big: 1.1em;
	--font-size-small: .9em;
	--font-size-smaller: .8em;
	--font-size-smallest: .7em;
}

:root,
[data-bs-theme=light] {
	--bs-secondary-bg: #eef2f5;
	--bs-secondary-bg-rgb: 238, 242, 245;
}

html {
	zoom: 90%;
}

h1, .h1 {
	font-size: 1.7em;
}

h2, .h2 {
	font-size: 1.5rem;
}

h3, .h3 {
	font-size: 1.3em;
}

h4, .h4 {
	font-size: 1.2em;
}

h5, .h5 {
	font-size: 1.1rem;
}

.biggest {
	font-size: var(--font-size-biggest);
}

.bigger {
	font-size: var(--font-size-bigger);
}

.big {
	font-size: var(--font-size-big);
}

.small {
	font-size: var(--font-size-small);
}

.smaller {
	font-size: var(--font-size-smaller);
}

.smallest {
	font-size: var(--font-size-smallest);
}

.border_raised {
	border-top: 2pt solid #dddddd;
	border-left: 2pt solid #dddddd;
	border-bottom: 2pt solid #888888;
	border-right: 2pt solid #888888;
}

.border_lowered {
	border-top: 2pt solid #888888;
	border-left: 2pt solid #888888;
	border-bottom: 2pt solid #dddddd;
	border-right: 2pt solid #dddddd;
}

/*
a:link, a:visited {
	color: #6600ff;
	text-decoration: none;
}

a:hover, a:active {
	color: #ff0066;
}

*/

a.alert:link, a.alert:visited {
	color: var(--bs-danger);
}

th {
	text-align: center;
}

a.gray:link, a.gray:visited {
	color: #666666;
	/*text-decoration: none;*/
}

tr.th1, td.th1, th.th1 {
	background-color: var(--bs-info-bg-subtle);
	color: var(--bs-info-text-emphasis);
}

tr.th2, td.th2, th.th2 {
	--bs-bg-opacity: 1;
	background-color: rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity));
	color: var(--bs-dark-text-emphasis);
}

tr.th3, td.th3, th.th3 {
	background-color: #99ccff;
	color: #000099;
}

tr.odd, td.odd, th.odd {
	background-color: var(--bs-tertiary-bg);
}

tr.even, td.even, th.even {
	background-color: var(--bs-body-bg);
}

tr.gray, td.gray {
	background-color: var(--bs-secondary-bg);
	color: #666666;
}

.gray {
	color: #999999;
}

.dark-gray {
	color: #666;
}

/*
tr.success {
	background-color: #ccffcc;
}
*/

td.input, th.input {
	/* background-color: #eeeeff; */
	color: #001831;
}

tr.error, td.error {
	background-color: #ffcccc;
}

td.alert, th.alert, tr.alert {
	background-color: #ffcccc;
}

td.active, th.active, tr.active {
	background-color: #ccffcc;
}

td.uacs34, td.uacs35, td.uacs36 {
	color: orange;
}

input.input, select.input, textarea.input {
	color: #000000;
	background-color: #ffffdd;
	/* border: thin solid #999999; */
	scrollbar-face-color: #cfd7dd;
	scrollbar-highlight-color: #FFFFFF;
	scrollbar-shadow-color: #cfd7dd;
	scrollbar-3dlight-color: #D1D7DC;
	scrollbar-arrow-color: #006699;
	scrollbar-track-color: #EFEFEF;
	scrollbar-darkshadow-color: #98AAB1;
}
input.button {
	color: #000000;
	background-color: #ffffdd;
}
input.alert, input.error, select.error, select.alert, textarea.error, textarea.alert {
	color: #000000;
	background-color: #ffcccc;
}
input.active {
	color: #000000;
	background-color: #ccffcc;
}
table.noborder, table.noborder td, table.noborder th,
table.tdnoborder td, table.tdnoborder th,
table.no-td-border td, table.no-td-border th {
	border: none !important;
}

table.border, img.border, td.border, th.border {
	--table-border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border: var(--table-border);
	border-collapse: separate;
}

/* Apply a border to the right of all but the last column */
table.border th:not(:last-child),
table.border td:not(:last-child) {
	border-right: var(--table-border);
}

/* Apply a border to the bottom of all but the last row */
table.border>thead>tr:not(:last-child)>th,
table.border>thead>tr:not(:last-child)>td,
table.border>tbody>tr:not(:last-child)>th,
table.border>tbody>tr:not(:last-child)>td,
table.border>tfoot>tr:not(:last-child)>th,
table.border>tfoot>tr:not(:last-child)>td,
table.border>tr:not(:last-child)>td,
table.border>tr:not(:last-child)>th,
table.border>thead:not(:last-child),
table.border>tbody:not(:last-child),
table.border>tfoot:not(:last-child) {
	border-bottom: var(--table-border);
}

table.search, div.search {
	background-color: var(--bs-tertiary-bg);
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius: var(--bs-border-radius);
}

table.search {
	border-collapse: separate; /* Overriding collapsed border */
	border-spacing: 0;
}

table.title td.header {
	color: #999999;
	font-weight: bold;
}
table.title td.line {
	/*background-color: #999999;*/
	border-top: 2px solid #999;
}

/* bets */

.bet-paid {
	background-color: #ffdddd;
}
.bet-winning {
	background-color: #ffffcc;
}
.bet-canceled {
	background-color: #dddddd;
}
.bet-refund {
	background-color: #fff4f4;
}
.bet-open {
	background-color: var(--bs-info-bg-subtle);
	color: var(--bs-info-text-emphasis);
}
.bet-pending {
	background-color: #ddffee;
}

.nr {
	text-decoration: line-through;
}
.oddk {
	color: #996666;
}
.oddv {
	color: #008800;
}
.divk {
	color: #666699;
}

.bs0 {
	color: green;
}

.bs1, .bs3 {
	color: red;
}

.bs99 {
	color: #666;
}

/* ### ERROR LOG ### */

.ErrorLog {
	border: calc(var(--bs-border-width)*1.5) var(--bs-border-style) var(--bs-danger);
	border-radius: var(--bs-border-radius);
	background-color: var(--bs-danger-bg-subtle);
	color: var(--bs-danger-text-emphasis);
	/*line-height: 12px;*/
	margin-bottom: 1em;
	display: none;
}

.ErrorLog > table {
	/*width: 500px;*/
	margin: 5px 0px;
}

.ErrorLog > table td {
	padding: 5px;
}

.ErrorLog ul {
	padding: 0px 10px 0px 15px;
	margin: 0px 0px 0px 10px;
	list-style-type: disc;
}

.ErrorLog ul li {
	margin-bottom: 3px;
}

/* ### MESSAGE LOG ### */

.MessageLog {
	border: calc(var(--bs-border-width)*1.5) var(--bs-border-style) var(--bs-info);
	border-radius: var(--bs-border-radius);
	background-color: var(--bs-info-bg-subtle);
	color: var(--bs-info-text-emphasis);
	/*line-height: 12px;*/
	margin-bottom: 1em;
	display: none;
}

.MessageLog > table {
	/*width: 500px;*/
	margin: 5px 0px;
}

.MessageLog > table td {
	padding: 5px;
}

.MessageLog ul {
	padding: 0px 10px 0px 15px;
	margin: 0px 0px 0px 10px;
	list-style-type: disc;
}

.MessageLog ul li {
	margin-bottom: 3px;
}

/* ############### */

span.error, span.alert {
	color: var(--bs-danger);
}
td.info2, th.info2, tr.info2 {
	background-color: var(--bs-secondary-bg);
	color: var(--bs-dark-text-emphasis);
}
tr.info, td.info, th.info {
	background-color: var(--bs-secondary-bg);
	color: var(--bs-dark-text-emphasis);
	/*
	background-color: var(--bs-info-bg-subtle);
	color: var(--bs-info-text-emphasis);
	 */
}
span.gray {
	color: #666666;
}
div.pe {
	color: #cc0000;
	font-weight: bold;
}
div.pm {
	color: #000099;
	font-weight: bold;
}

tr.hover, tr.even:hover, tr.odd:hover {
	background-color: var(--bs-success-bg-subtle);
	color: var(--bs-success-text-emphasis);
}

span.rs229, .race-status-229 {
	font-weight: bold;
	color: var(--bs-success);
}
span.rs230, .race-status-230 {
	color: var(--bs-danger);
}
span.rs231, .race-status-231 {
	color: var(--bs-warning);
}
span.rs232, .race-status-232 {
	color: var(--bs-secondary);
}
span.rs233, .race-status-233 {
	text-decoration: line-through;
}

td.cacs4, td.cacs11
{
	color: #000099;
}
td.cacs99
{
	color: #996600;
}
td.cacs5
{
	color: #cc0099;
}
td.cacs60
{
	color: #ff0000;
}

tr.p1, .runner-pos-1 {
	background-color: #ffcfcf;
}
tr.p2, .runner-pos-2 {
	background-color: #ffe4c7;
}
tr.p3, .runner-pos-3 {
	background-color: #fcf0c3;
}

tr.ns, .non-runner {
	background-color: var(--bs-dark-bg-subtle);
	color: var(--bs-dark-text-emphasis);
	text-decoration: line-through;
}

.bet-status-0 {
	color: green;
}

.bet-status-3 {
	color: red;
}

.bet-status-10 {
	color: blue;
}

.bet-status-99 {
	background-color: #eeeeee;
	color: gray;
	font-weight: bold;
}

.button {
	--button-border-radius: var(--bs-border-radius);
	--button-border-width: 1px;
	--button-border-color: #cfcfcf;
	/*border: 1px solid #aaa;*/
	display: inline-block;
	background: linear-gradient(0deg, #f5f5f5 0%, #fff 100%);
	box-shadow: 1px 1px 2px rgba(0,0,0,0.1);

	border: var(--button-border-width) solid var(--button-border-color);
	border-radius: var(--button-border-radius);
	/*background-color: var(--bs-btn-bg);*/
	cursor: pointer;
}

.button:not(.btn) {
	padding: 3px 7px;
}

.button.alert, .button.danger {
	background: linear-gradient(0deg, #f5d5d5 0%, #fee 100%);
}

.button.success {
	background: linear-gradient(0deg, #d7f5d5 0%, #f1ffee 100%);
}

.button.info {
	background: linear-gradient(0deg, #d5e8f5 0%, #eefaff 100%);
}

.button.disabled, .button[disabled] {
	opacity: .6;
	pointer-events: none;
	box-shadow: none;
}

a.button {
	text-decoration: none;
}

.negative {
	color: #c00;
}

hr {
	/*border-top: 1px solid #999999;*/
}

div.menu {
	padding: 5px;
	padding-top: 6px;
	padding-bottom: 6px;
	border: 1px solid #cce;
	background-color: #eef;
	/*width: 150px;*/
	position: relative;
}

div.menu td {
	border: 1px solid #999;
	padding: 3px;
	padding-left: 5px;
	padding-right: 5px;
	background-color: #feb;
	text-align: center;
}

div.menu td.super {
	/*background-color: #ffbbaa;*/
}

div.menu a:link, div.menu a:visited {
	text-decoration: none;
	color: black;
}

/*
div.menu a:active, div.menu a:hover {
	background-color: #ffee99;
	border: 1px solid #000000;
}
*/

div.menu td.active {
	background-color: #df9;
	border: 1px solid #000;
}

div.menu td.logout {
	background-color: #a03;
	border: 1px solid #cef;
	font-weight: bold;
}

div.menu td.logout a {
	color: #fff;
}

div.logo {
	margin-bottom: 5px;
}

.rac_origin_2 {
	color: #aa00ff;
}
.rac_origin_3 {
	color: #00cc00;
}
.rac_origin_5 {
	color: #0099cc;
}
.rac_origin_6 {
	color: #669900;
}
.rac_origin_7 {
	color: #cc7815;
}
.rac_origin_8 {
	color: #cb23a1;
}

.rac_origin_2_bg {
	background-color: #ddccff;
}
.rac_origin_3_bg {
	background-color: #ccffcc;
}
.rac_origin_5_bg {
	background-color: #ccddff;
}
.rac_origin_6_bg {
	background-color: #ffee55;
}

.nowrap {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.flex-center {
	justify-content: center;
	align-items: center;
}

.flex-end {
	justify-content: flex-end;
	align-items: flex-end;
}

.flex-start {
	justify-content: flex-start;
	align-items: flex-start;
}

.align-center {
	text-align: center !important;
	align-items: center !important;
}

.align-right {
	text-align: right !important;
	align-items: flex-end !important;
}

.align-left {
	text-align: left !important;
	align-items: flex-start !important;
}

.justify-middle {
	justify-content: center !important;
}

.justify-top {
	justify-content: flex-start !important;
}

.justify-bottom {
	justify-content: flex-end !important;
}

.flex-1 {
	flex: 1;
}

.flex-2 {
	flex: 2;
}

.flex-3 {
	flex: 3;
}

.flex-4 {
	flex: 4;
}

.flex-5 {
	flex: 5;
}

.flex-6 {
	flex: 6;
}

.flex-7 {
	flex: 7;
}

.flex-8 {
	flex: 8;
}

.flex-9 {
	flex: 9;
}

.flex-10 {
	flex: 10;
}

.flex-11 {
	flex: 11;
}

.flex-12 {
	flex: 12;
}

.flex-row {
	display: flex;
	flex-direction: row;
	/*width: 100%;*/
}

.flex-column {
	display: flex;
	flex-direction: column;
	/*width: 100%;*/
}

.flex-wrap {
	flex-wrap: wrap;
}

.pointer {
	cursor: pointer;
}

.bold {
	font-weight: bold;
}

.italic {
	font-style: italic;
}

.underline {
	text-decoration: underline;
}
