.table {
  color: var(--first-grey-color);
  border-collapse: collapse;
  border: 1px solid var(--fourth-color);
  margin-bottom: 0;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
  padding: 8px;
  line-height: inherit;
  border: 1px solid var(--fourth-color);
  vertical-align: middle;
}

.table > tbody {
  background-color: #fff;
}

.table th {
  font: inherit;
  font-family: var(--font-bold);
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  background-color: #f7fcfd;
  color: var(--second-color);
}

.table tr.rouge th,
.table tr.rouge td {
  color: var(--first-color);
  background-color: #fff4f6;
}

.table th.important {
  font-family: var(--font-bold);
  font-size: 18px;
  text-decoration: none;
}

.table > thead > tr > th {
  border-bottom: 0;
}

.table > tbody > tr > th {
  text-align: left;
}

.table td span.label {
  display: inline-block;
  padding: 0;
  text-align: left;
  font-family: var(--font-bold);
  font-size: 18px;
  font-weight: normal;
  color: var(--second-grey-color);
  line-height: normal;
  vertical-align: middle;
}

.table td.info,
.table th.info {
  padding-right: 5px;
  text-transform: none;
  font-family: var(--font-regular-italic);
  font-size: 15px;
  color: #dfdfdf;
}

.table tr.trrow {
  color: var(--second-color);
  background-color: #f7fcfd;
}

.table tr.trrow th {
  text-align: center;
  border: 1px solid var(--second-color);
}

.table thead tr th.throw {
  color: #fff;
  background-color: var(--second-color);
  border-color: var(--second-color);
}

.table thead tr th.throw.rouge {
  background-color: var(--first-color);
  border-color: var(--first-color);
}

.table thead tr th.throw.jaune {
  background-color: var(--third-color);
  border-color: var(--third-color);
}

.table thead tr th.throw a {
  color: #fff;
}

.table thead tr th.throw a:hover {
  color: #fff;
  text-decoration: underline;
}

.table > tbody.gauche td,
.table > tbody.gauche th,
.table td.gauche,
.table th.gauche {
  text-align: left;
}

.table > tbody.centre td,
.table > tbody.centre th,
.table td.centre,
.table th.centre {
  text-align: center;
}

.table > tbody.centre td > a,
.table > tbody.centre th > a,
.table td.centre > a,
.table th.centre > a {
  text-align: center;
  margin: 0 auto;
}

.table > tbody.droit td,
.table > tbody.droit th,
.table td.droit,
.table th.droit {
  text-align: right;
}

.table td a.button {
  display: inline-block;
  margin: 0;
}

.table td p.erreur {
  margin: -5px 0 5px;
  padding-left: 14px;
  font-family: var(--font-regular-italic);
  color: var(--first-color);
  background: url("../../images/icons/erreur_rouge.png") 0 60% no-repeat;
  background-size: 9px;
}

/* ------------- table small -------------- */

.table th.small {
  padding: 5px 8px 3px;
  font-family: var(--font-regular-italic);
  font-size: 14px;
  text-align: center;
  text-transform: uppercase;
  background-color: #f7fcfd;
  color: var(--second-color);
}

.table.small th {
  font-size: 14px;
}

.table.small td {
  font-size: 16px;
}

/* ------------- table in row -------------- */
.table td.table_in_row {
  padding: 0 !important;
  border: 1px solid var(--second-color) !important;
}

.table td.table_in_row table {
  border: 0;
}

.table td.table_in_row table thead th,
.table td.table_in_row table thead td {
  border: 0;
}

.table td.table_in_row table thead th {
  text-align: center;
  border-bottom: 1px solid var(--second-color);
}

.table td.table_in_row table tbody td {
  border-right: 0 !important;
}

.table td.table_in_row table tbody tr:last-child th,
.table td.table_in_row table tbody tr:last-child td {
  border-bottom: 1px solid var(--second-color);
}

.table td.table_in_row table tbody:last-child tr:last-child th,
.table td.table_in_row table tbody:last-child tr:last-child td {
  border-bottom: 0;
}

/* ------------- table_in_cell-------------- */
td.table_in_cell {
  padding: 0 !important;
}

td.table_in_cell table {
  width: 100%;
  border: 0;
}

td.table_in_cell table thead {
  border-bottom: 1px solid var(--fourth-color);
}

td.table_in_cell table th,
td.table_in_cell table td {
  padding: 8px !important;
  vertical-align: middle;
  border: 0;
  border-right: 1px solid var(--fourth-color);
  border-bottom: 1px solid var(--fourth-color);
}

td.table_in_cell table th:last-child,
td.table_in_cell table td:last-child {
  border-right: 0;
}

td.table_in_cell table tr:last-child th,
td.table_in_cell table tr:last-child td {
  border-bottom: 0;
}

table td ul li {
	margin-bottom: 0;
  padding-left: 10px;
  background: url("../../images/icons/cercle_bleu.png") 0 5px no-repeat;
  background-size: 5px;
  color: var(--first-grey-color);
}

table td form ul li {
	margin-bottom: 0;
  padding-left: 0;
  background: none;
}

.table > tbody > tr > td.error {
  padding-left: 25px;
	color: var(--first-color);
	background: url("../../images/icons/erreur_rouge.png") 6px 50% no-repeat;
  background-size: 14px;
}

/* ----------------------- total ------------------------------- */

table.total {
  float: right;
  border: 2px solid var(--third-color);
  font-family: var(--font-bold);
  font-size: 14px;
  text-transform: uppercase;
  color: var(--third-color);
}

table.total.haut {
  margin-bottom: 10px;
}

table.total.bas {
  margin-top: 10px;
}

table.total tr td {
  padding: 8px 10px;
  border: 2px solid var(--third-color);
  vertical-align: middle;
}

table.total tr:first-child td:first-child,
table.total tr td.td_title {
  background-color: var(--third-color);
  color: #fff;
}

/* ----------------------- Table résumé du dossier candidat ------------------------------- */

.table-candidat {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  background-color: var(--first-color);
}

.table-candidat > tbody > tr > td,
.table-candidat > tbody > tr > th,
.table-candidat > tfoot > tr > td,
.table-candidat > tfoot > tr > th,
.table-candidat > thead > tr > td,
.table-candidat > thead > tr > th {
  padding: 8px 3px;
  line-height: inherit;
}

.table-candidat td {
  font-family: var(--font-bold);
  font-size: 16px;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}

.table-candidat td .info {
  padding-right: 5px;
  text-transform: none;
  font-family: var(--font-regular-italic);
  font-size: 15px;
  color: #dfdfdf;
}

/* ------------- table salle -------------- */
table.table.table_salle {
  display: inline-table;
  width: 32%;
  margin: 0 5px 0 5px;
}

/* --------------- datatable --------------- */
table.dataTable {
  width: 99%;
  border-collapse: collapse;
}

table.dataTable thead th,
table.dataTable tfoot th {
  padding-right: 18px;
  font-weight: normal;
}

table.dataTable thead th.sorting_disabled,
table.dataTable tfoot th.sorting_disabled {
  padding-right: 10px;
  font-weight: normal;
}

table.dataTable thead .sorting {
  background-image: url("../../images/icons/sort_both.png");
}

table.dataTable thead .sorting_asc {
  background-image: url("../../images/icons/sort_asc.png");
}

table.dataTable thead .sorting_desc {
  background-image: url("../../images/icons/sort_desc.png");
}

@media screen and (max-width: 500px) {
  .table > tbody > tr > td,
  .table > tbody > tr > th,
  .table > tfoot > tr > td,
  .table > tfoot > tr > th,
  .table > thead > tr > td,
  .table > thead > tr > th {
    padding: 6px 5px 4px;
  }

  .table th {
    font-size: 14px;
  }

  .table thead tr th.throw {
    padding: 8px 8px 6px;
    font-size: 15px;
  }
}

.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 0;
}

.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,
.dataTables_wrapper.no-footer div.dataTables_scrollBody > table {
  border-bottom: 1px solid var(--fourth-color);
}

/* --------------- table import --------------- */

.table-import {
  max-width: 100%;
}

.table-import.dataTable.no-footer,
.table-import.dataTable.no-footer tbody tr:first-child td {
  border-top: 0;
}

.table-import > thead > tr > th {
  padding: 5px;
  font-size: 12px;
}

.table-import tbody {
  width: 100%;
}

.table-import > tbody > tr > td {
  padding: 5px;
  font-size: 14px;
}

.table-import td ul li {
  background: none;
  padding-left: 0;
}

.table-import td ul li:last-child {
  margin-bottom: 0 !important;
}

.table-import td.errors {
  position: relative;
}

.table-import td.errors .validation-error-total {
  position: relative;
  display: inline-block;
  padding: 7px 10px;
  font-family: var(--font-bold);
  background-color: var(--first-color);
  color: #fff;
  cursor: pointer;
}

.table-import td.errors .validation-error-container {
  position: absolute;
  opacity: 0;
  top: 30px;
  left: 18px;
  width: 170px;
  margin: 0 0 20px 0;
  padding: 10px;
  border: 2px solid var(--first-color);
  pointer-events: none;
  background-color: #ffffff;
  z-index: 2;
}

.table-import td.errors .validation-error-container .validation-error-field {
  text-transform: uppercase;
  color: var(--first-color);
}

.table-import .validation-error-total:hover + .validation-error-container {
  opacity: 1;
}
