/* Form Editing Utility */
.was-invalid, .is-invalid {
	border-color: #dc3545!important;
}

.invalid-tooltip {
	display: flex;
}

.invalid-tooltip span {
	padding: .25rem .5rem;
	color: #fff;
	background-color: rgba(220,53,69,.9);
	border-radius: 0 .25rem .25rem .25rem;
	z-index: 5;
}

/* Table utility */
.min-width-cell {
	width: 0;
	white-space: nowrap;
}

.w-100px {
	width: 100px;
}

/* Results */
.driver-info-tag {
	color: #FFF;
	background-color: rgba(144,141,249,0.65);
	padding-left: 0.25em;
	padding-right: 0.25em;
}

.edit-number-field-value-input,
.edit-text-field-value-input {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.edit-number-field-value-accept-button,
.edit-number-field-value-cancel-button,
.edit-number-field-value-dq-button,
.edit-text-field-value-accept-button,
.edit-text-field-value-cancel-button {
	border: 1px solid rgba(0,0,0,0.3);
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	margin-left: -1px;
}

.edit-number-field-value-accept-button:hover,.edit-number-field-value-accept-button:active,
.edit-text-field-value-accept-button:hover,.edit-text-field-value-accept-button:active {
	background-color: rgba(0,200,0,0.3);
}
.edit-number-field-value-cancel-button:hover,.edit-number-field-value-cancel-button:active,
.edit-text-field-value-cancel-button:hover,.edit-text-field-value-cancel-button:active {
	background-color: rgba(200,0,0,0.3);
}
.edit-number-field-value-dq-button:hover,.edit-number-field-value-dq-button:active {
	background-color: rgba(0,0,200,0.3);
}

.aggregate-field-display.error {
	color: #dc3545;
}
/*
 * Tablesorter jQuery plugin styling - START
 * Ref: https://github.com/Mottie/tablesorter/blob/master/css/theme.default.css
 */
.tablesorter.tablesorter-default .tablesorter-header:not(.tablesorter-noSort) {
  cursor: pointer;
}

/* Default arrows to show is sortable and/or not currently sorted */
.tablesorter.tablesorter-default .tablesorter-header:not(.tablesorter-noSort) .tablesorter-header-inner::after,
.tablesorter.tablesorter-white .tablesorter-header:not(.tablesorter-noSort) .tablesorter-header-inner::after {
  display: inline-block;
  content: "";
  width: 7px;
  height: 9px;
  margin-left: 5px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
}
/* - black (unsorted) double arrow */
.tablesorter.tablesorter-default .tablesorter-header:not(.tablesorter-noSort) .tablesorter-header-inner::after {
  background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
}
/* - white (unsorted) double arrow */
.tablesorter.tablesorter-white .tablesorter-header:not(.tablesorter-noSort) .tablesorter-header-inner::after {
  background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
}

/* Arrow to show is sorted ascending */
/* - black asc arrow (fixed this so it's actually centered) */
.tablesorter.tablesorter-default .tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after {
  background-image: url("data:image/gif;base64,R0lGODlhFQAEAPAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI+AywnaYnhUMopbAQA7");
}
/* - white asc arrow (fixed this so it's actually centered) */
.tablesorter.tablesorter-white .tablesorter-header.tablesorter-headerAsc .tablesorter-header-inner::after {
  background-image: url("data:image/gif;base64,R0lGODlhFQAEAPAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI+AywnaYnhUMopbAQA7")
}

/* Arrow to show is sorted descending */
/* - black desc arrow */
.tablesorter.tablesorter-default .tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after {
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}
/* - white desc arrow */
.tablesorter.tablesorter-white .tablesorter-header.tablesorter-headerDesc .tablesorter-header-inner::after {
  background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}

/* Tablesorter jQuery plugin styling - END */

.results-day-title {
  font-size: 1.7em;
  font-weight: bold;
  color: #2c3e50;
  letter-spacing: 0.5px;
}

.results-day-fieldset {
  margin-bottom: 50px!important;
  border: 2px solid #cecece;
  background: #f8f9fa;
}

.results-day-fieldset table {
	margin-top: 10px;
}

.live-results-table th {
	background-color: #081432;
	color: #63cadb;
	font-size: 2rem;
}

.live-results-heading,
.previous-days-title {
	font-size: 2.5rem;
}

.previous-days-title {
	margin-top: 50px;
}

.previous-day-heading:not(:first-of-type) {
  	margin-top: 50px;
}

.previous-day-heading,
.live-results-heading {
	margin-bottom: 25px;
}

#race-results-accordion-table th {
	background-color: #081432;
	border: 2px solid #081432;
	color: #fff;
}

#race-results-accordion-table .accordion-nested-row {
  display: none;
}
#race-results-accordion-table .accordion-parent-row {
  cursor: pointer;
}
#race-results-accordion-table .accordion-parent-row:hover {
  background: #f0f0f0;
}

.race-caption-bold {
  font-weight: bold;
  font-size: 1.2em;
}

.nested-order-item-table caption {
	margin-top: 30px;
	margin-bottom: 30px;
}

.nested-order-item-table {
	border: 2px solid #081432;
}

.accordion-parent-row {
	font-weight: 700;
}

.racing-results-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    border: 1px solid rgba(216, 217, 224, 0.8);
    border-radius: 2px;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    margin-bottom: 30px;
    gap: 1.5rem;
}

.racing-results-form .form-submit {
    align-self: flex-end;
    margin-bottom: 5px;
}

#race-results-accordion-table .accordion-parent-row.odd {
    background-color: rgba(99, 202, 219, 0.5);
    border: 2px solid rgba(99, 202, 219, 0.5);
    color: #081432;
}

#race-results-accordion-table .accordion-parent-row.odd:nth-of-type(4n-1) {
    background-color: #eee !important;
    border: 2px solid #eee !important;
}

.accordion-arrow-cell {
  width: 2.5em;
}
.accordion-arrow {
  margin-right: 0.5em;
}

.results-accordion-header {
  padding: 10px;
  background-color: #081432;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-transform: uppercase;
}

.results-accordion-section:first-of-type .results-accordion-header {
  margin-top: 15px;
}

.results-accordion-section th {
  background-color: #63cadb;
}

.trackside-highlight-row {
  background-color: rgba(99, 202, 219, 0.8) !important;
  font-weight: 700;
  color: #081432;
}

@media (min-width: 1025px) {
  .results-accordion-table {
    overflow-x: visible!important;
  }
  /*.result-entries-table th {*/
  /*position: sticky;*/
  /*top: 80px;*/
  /*z-index: 999;*/
  /*}*/
}

.edit-number-field-input-container .input-group {
  display: flex;
  flex-wrap: wrap;
}

.edit-number-field-input-container .input-group input {
  flex: 0 0 100%;
}

.edit-number-field-input-container .input-group button {
  margin-top: 0.25rem;
}

.race-management-results-filter-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem;
}

.race-management-results-filter-form > .form-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

.race-management-results-filter-form input[type="text"] {
  width: 120px;
}

.race-management-results-filter-form > .d-flex {
  align-items: flex-end;
}

.race-management-results-filter-form > .d-flex {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem;
}

.race-management-results-filter-form > .d-flex > .mx-1 {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}

.race-management-results-filter-form > .d-flex button,
.race-management-results-filter-form > .d-flex a {
  margin-bottom: 0;
}

.race-management-results-filter-form .fieldset-wrapper,
.race-management-results-filter-form .form-radios {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.race-management-results-filter-form .form-type-radio {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-bottom: 0;
}

.race-management-results-filter-form legend {
  margin-bottom: 0;
  width: auto;
}

.race-management-results-filter-form #race-management-results-export-button {
  margin-top: 0 !important;
}

#race-management-events-stopwatch-button {
  border-color: #ff5b2e!important;
  color: #ff5b2e;
}

#race-management-events-stopwatch-button:hover {
  background-color: #ff5b2e;
  color: #fff;
}

.results-accordion-section th {
  background-color: #63cadb;
}

.results-accordion-table,
.results-table-wrapper,
.results-accordion-table .gin-layer-wrapper {
  max-width: 100%;
}

.results-accordion-table .gin-table-scroll-wrapper {
  overflow-x: auto !important;
  overflow-y: visible !important;
  max-width: 100%;
}

.result-entries-table {
  border-collapse: separate;
  border-spacing: 0;
}

.result-entries-table thead th {
  background-color: #63cadb;
}

.result-entries-table-sticky-header {
  position: fixed;
  top: 114px;
  z-index: 500;
  display: none;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  pointer-events: none;
}

.toolbar-fixed .result-entries-table-sticky-header,
.toolbar-fixed.toolbar-horizontal.toolbar-tray-open .result-entries-table-sticky-header {
  top: 114px;
}

.result-entries-table-sticky-header table {
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
}

.result-entries-table-sticky-header th {
  background-color: #63cadb;
}

.trackside-highlight-row {
  background-color: rgba(99, 202, 219, 0.8) !important;
  font-weight: 700;
  color: #081432;
}

@media (min-width: 1025px) {
  .results-accordion-table .gin-table-scroll-wrapper {
    overflow-x: auto !important;
  }
}

.result-entries-table tr.substituted-original-driver-row > td {
  background-color: #cecece !important;
}

.form-item--filter-hide-unverified-drivers,
.form-item--filter-hide-inactive-substitutes {
  display: flex!important;
  flex-direction: row!important;
  align-items: center;
  gap: 0.5rem;
}

.form-item--filter-hide-unverified-drivers .form-item__label,
.form-item--filter-hide-inactive-substitutes .form-item__label {
  margin: 0;
}
