
$table-typography-selector: '' !default;

table.dataTable#{$table-typography-selector} {
	&.nowrap {
		th, td {
			white-space: nowrap;
		}
	}

	th,
	td {
		box-sizing: border-box;

		&.dt-type-numeric,
		&.dt-type-date {
			text-align: right;

			div.dt-column-header,
			div.dt-column-footer {
				flex-direction: row-reverse;
			}
		}

		&.dt-left {
			text-align: left;

			div.dt-column-header,
			div.dt-column-footer {
				flex-direction: row;
			}
		}

		&.dt-center {
			text-align: center;
		}

		&.dt-right {
			text-align: right;

			div.dt-column-header,
			div.dt-column-footer {
				flex-direction: row-reverse;
			}
		}

		&.dt-justify {
			text-align: justify;

			div.dt-column-header,
			div.dt-column-footer {
				flex-direction: row;
			}
		}

		&.dt-nowrap {
			white-space: nowrap;
		}

		&.dt-empty {
			text-align: center;
			vertical-align: top;
		}
	}

	thead,
	tfoot {
		th,
		td {
			text-align: left;
			vertical-align: var(--dt-header-vertical-align);

			&.dt-head-left {
				text-align: left;

				div.dt-column-header,
				div.dt-column-footer {
					flex-direction: row;
				}
			}
			
			&.dt-head-center{
				text-align: center;
			}

			&.dt-head-right {
				text-align: right;

				div.dt-column-header,
				div.dt-column-footer {
					flex-direction: row-reverse;
				}
			}

			&.dt-head-justify {
				text-align: justify;

				div.dt-column-header,
				div.dt-column-footer {
					flex-direction: row;
				}
			}

			&.dt-head-nowrap {
				white-space: nowrap;
			}
		}
	}

	tbody {
		th,
		td {
			&.dt-body-left {
				text-align: left;
			}

			&.dt-body-center {
				text-align: center;
			}

			&.dt-body-right {
				text-align: right;
			}

			&.dt-body-justify {
				text-align: justify;
			}

			&.dt-body-nowrap {
				white-space: nowrap;
			}
		}
	}
}
