.gt_table {
  display: table;
  border-collapse: collapse;
  margin-left: $table_margin_left;
  margin-right: $table_margin_right;
  color: font-color($table_background_color);
  font-size: $table_font_size;
  font-weight: $table_font_weight;
  font-style: $table_font_style;
  background-color: $table_background_color;
  width: $table_width;
  border-top-style: $table_border_top_style;
  border-top-width: $table_border_top_width;
  border-top-color: $table_border_top_color;
  border-right-style: $table_border_right_style;
  border-right-width: $table_border_right_width;
  border-right-color: $table_border_right_color;
  border-bottom-style: $table_border_bottom_style;
  border-bottom-width: $table_border_bottom_width;
  border-bottom-color: $table_border_bottom_color;
  border-left-style: $table_border_left_style;
  border-left-width: $table_border_left_width;
  border-left-color: $table_border_left_color;
}

.gt_heading {
  background-color: $heading_background_color;
  text-align: $heading_align;
  border-bottom-color: $table_background_color;
  border-left-style: $heading_border_lr_style;
  border-left-width: $heading_border_lr_width;
  border-left-color: $heading_border_lr_color;
  border-right-style: $heading_border_lr_style;
  border-right-width: $heading_border_lr_width;
  border-right-color: $heading_border_lr_color;
}

.gt_title {
  color: font-color($heading_background_color);
  font-size: $heading_title_font_size;
  font-weight: $heading_title_font_weight;
  padding-top: $heading_padding;
  padding-bottom: $heading_padding;
  padding-left: $heading_padding_horizontal;
  padding-right: $heading_padding_horizontal;
  border-bottom-color: $table_background_color;
  border-bottom-width: 0;
}

.gt_subtitle {
  color: font-color($heading_background_color);
  font-size: $heading_subtitle_font_size;
  font-weight: $heading_subtitle_font_weight;
  padding-top: 0;
  padding-bottom: $heading_padding + 2;
  padding-left: $heading_padding_horizontal;
  padding-right: $heading_padding_horizontal;
  border-top-color: $table_background_color;
  border-top-width: 0;
}

.gt_bottom_border {
  border-bottom-style: $heading_border_bottom_style;
  border-bottom-width: $heading_border_bottom_width;
  border-bottom-color: $heading_border_bottom_color;
}

.gt_col_headings {
  border-top-style: $column_labels_border_top_style;
  border-top-width: $column_labels_border_top_width;
  border-top-color: $column_labels_border_top_color;
  border-bottom-style: $column_labels_border_bottom_style;
  border-bottom-width: $column_labels_border_bottom_width;
  border-bottom-color: $column_labels_border_bottom_color;
  border-left-style: $column_labels_border_lr_style;
  border-left-width: $column_labels_border_lr_width;
  border-left-color: $column_labels_border_lr_color;
  border-right-style: $column_labels_border_lr_style;
  border-right-width: $column_labels_border_lr_width;
  border-right-color: $column_labels_border_lr_color;
}

.gt_col_heading {
  color: font-color($column_labels_background_color);
  background-color: $column_labels_background_color;
  font-size: $column_labels_font_size;
  font-weight: $column_labels_font_weight;
  text-transform: $column_labels_text_transform;
  border-left-style:  $column_labels_vlines_style;
  border-left-width:  $column_labels_vlines_width;
  border-left-color:  $column_labels_vlines_color;
  border-right-style: $column_labels_vlines_style;
  border-right-width: $column_labels_vlines_width;
  border-right-color: $column_labels_vlines_color;
  vertical-align: bottom;
  padding-top: $column_labels_padding;
  padding-bottom: $column_labels_padding + 1;
  padding-left: $column_labels_padding_horizontal;
  padding-right: $column_labels_padding_horizontal;
  overflow-x: hidden;
}

.gt_column_spanner_outer {
  color: font-color($column_labels_background_color);
  background-color: $column_labels_background_color;
  font-size: $column_labels_font_size;
  font-weight: $column_labels_font_weight;
  text-transform: $column_labels_text_transform;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 4px;
  padding-right: 4px;
}
.gt_column_spanner_outer:first-child {
  padding-left: 0;
}
.gt_column_spanner_outer:last-child {
  padding-right: 0;
}

.gt_column_spanner {
  border-bottom-style: $column_labels_border_bottom_style;
  border-bottom-width: $column_labels_border_bottom_width;
  border-bottom-color: $column_labels_border_bottom_color;
  vertical-align: bottom;
  padding-top: $column_labels_padding;
  padding-bottom: $column_labels_padding;
  overflow-x: hidden;
  display: inline-block;
  width: 100%;
}

.gt_group_heading {
  padding-top: $row_group_padding;
  padding-bottom: $row_group_padding;
  padding-left: $row_group_padding_horizontal;
  padding-right: $row_group_padding_horizontal;
  color: font-color($row_group_background_color);
  background-color: $row_group_background_color;
  font-size: $row_group_font_size;
  font-weight: $row_group_font_weight;
  text-transform: $row_group_text_transform;
  border-top-style: $row_group_border_top_style;
  border-top-width: $row_group_border_top_width;
  border-top-color: $row_group_border_top_color;
  border-bottom-style: $row_group_border_bottom_style;
  border-bottom-width: $row_group_border_bottom_width;
  border-bottom-color: $row_group_border_bottom_color;
  border-left-style: $row_group_border_left_style;
  border-left-width: $row_group_border_left_width;
  border-left-color: $row_group_border_left_color;
  border-right-style: $row_group_border_right_style;
  border-right-width: $row_group_border_right_width;
  border-right-color: $row_group_border_right_color;
  vertical-align: middle;
}

.gt_empty_group_heading {
  padding: 0.5px;
  color: font-color($row_group_background_color);
  background-color: $row_group_background_color;
  font-size: $row_group_font_size;
  font-weight: $row_group_font_weight;
  border-top-style: $row_group_border_top_style;
  border-top-width: $row_group_border_top_width;
  border-top-color: $row_group_border_top_color;
  border-bottom-style: $row_group_border_bottom_style;
  border-bottom-width: $row_group_border_bottom_width;
  border-bottom-color: $row_group_border_bottom_color;
  vertical-align: middle;
}

.gt_from_md > :first-child {
  margin-top: 0;
}

.gt_from_md > :last-child {
  margin-bottom: 0;
}

.gt_row {
  padding-top: $data_row_padding;
  padding-bottom: $data_row_padding;
  padding-left: $data_row_padding_horizontal;
  padding-right: $data_row_padding_horizontal;
  margin: 10px;
  border-top-style: $table_body_hlines_style;
  border-top-width: $table_body_hlines_width;
  border-top-color: $table_body_hlines_color;
  border-left-style: $table_body_vlines_style;
  border-left-width: $table_body_vlines_width;
  border-left-color: $table_body_vlines_color;
  border-right-style: $table_body_vlines_style;
  border-right-width: $table_body_vlines_width;
  border-right-color: $table_body_vlines_color;
  vertical-align: middle;
  overflow-x: hidden;
}

.gt_stub {
  color: font-color($stub_background_color);
  background-color: $stub_background_color;
  font-size: $stub_font_size;
  font-weight: $stub_font_weight;
  text-transform: $stub_text_transform;
  border-right-style: $stub_border_style;
  border-right-width: $stub_border_width;
  border-right-color: $stub_border_color;
  padding-left:  $data_row_padding_horizontal;
  padding-right: $data_row_padding_horizontal;
}

.gt_stub_row_group {
  color: font-color($stub_row_group_background_color);
  background-color: $stub_row_group_background_color;
  font-size: $stub_row_group_font_size;
  font-weight: $stub_row_group_font_weight;
  text-transform: $stub_row_group_text_transform;
  border-right-style: $stub_row_group_border_style;
  border-right-width: $stub_row_group_border_width;
  border-right-color: $stub_row_group_border_color;
  padding-left:  $row_group_padding_horizontal;
  padding-right: $row_group_padding_horizontal;
  vertical-align: top;
}

.gt_row_group_first td {
  border-top-width: $row_group_border_top_width;
}

.gt_summary_row {
  color: font-color($summary_row_background_color);
  background-color: $summary_row_background_color;
  text-transform: $summary_row_text_transform;
  padding-top: $summary_row_padding;
  padding-bottom: $summary_row_padding;
  padding-left: $summary_row_padding_horizontal;
  padding-right: $summary_row_padding_horizontal;
}

.gt_first_summary_row {
  border-top-style: $summary_row_border_style;
  border-top-color: $summary_row_border_color;
}

.gt_first_summary_row.thick {
  border-top-width: $summary_row_border_width;
}

.gt_last_summary_row {
  padding-top: $summary_row_padding;
  padding-bottom: $summary_row_padding;
  padding-left: $summary_row_padding_horizontal;
  padding-right: $summary_row_padding_horizontal;
  border-bottom-style: $summary_row_border_style;
  border-bottom-width: $summary_row_border_width;
  border-bottom-color: $summary_row_border_color;
}

.gt_grand_summary_row {
  color: font-color($grand_summary_row_background_color);
  background-color: $grand_summary_row_background_color;
  text-transform: $grand_summary_row_text_transform;
  padding-top: $grand_summary_row_padding;
  padding-bottom: $grand_summary_row_padding;
  padding-left: $grand_summary_row_padding_horizontal;
  padding-right: $grand_summary_row_padding_horizontal;
}

.gt_first_grand_summary_row {
  padding-top: $grand_summary_row_padding;
  padding-bottom: $grand_summary_row_padding;
  padding-left: $grand_summary_row_padding_horizontal;
  padding-right: $grand_summary_row_padding_horizontal;
  border-top-style: $grand_summary_row_border_style;
  border-top-width: $grand_summary_row_border_width;
  border-top-color: $grand_summary_row_border_color;
}

.gt_striped {
   background-color: $row_striping_background_color;
}

.gt_table_body {
  border-top-style: $table_body_border_top_style;
  border-top-width: $table_body_border_top_width;
  border-top-color: $table_body_border_top_color;
  border-bottom-style: $table_body_border_bottom_style;
  border-bottom-width: $table_body_border_bottom_width;
  border-bottom-color: $table_body_border_bottom_color;
}

.gt_footnotes {
  color: font-color($footnotes_background_color);
  background-color: $footnotes_background_color;
  border-bottom-style: $footnotes_border_bottom_style;
  border-bottom-width: $footnotes_border_bottom_width;
  border-bottom-color: $footnotes_border_bottom_color;
  border-left-style:  $footnotes_border_lr_style;
  border-left-width:  $footnotes_border_lr_width;
  border-left-color:  $footnotes_border_lr_color;
  border-right-style: $footnotes_border_lr_style;
  border-right-width: $footnotes_border_lr_width;
  border-right-color: $footnotes_border_lr_color;
}

.gt_footnote {
  margin: $footnotes_margin;
  font-size: $footnotes_font_size;
  padding-left: $footnotes_padding;
  padding-right: $footnotes_padding;
  padding-left: $footnotes_padding_horizontal;
  padding-right: $footnotes_padding_horizontal;
}

.gt_sourcenotes {
  color: font-color($source_notes_background_color);
  background-color: $source_notes_background_color;
  border-bottom-style: $source_notes_border_bottom_style;
  border-bottom-width: $source_notes_border_bottom_width;
  border-bottom-color: $source_notes_border_bottom_color;
  border-left-style:  $source_notes_border_lr_style;
  border-left-width:  $source_notes_border_lr_width;
  border-left-color:  $source_notes_border_lr_color;
  border-right-style: $source_notes_border_lr_style;
  border-right-width: $source_notes_border_lr_width;
  border-right-color: $source_notes_border_lr_color;
}

.gt_sourcenote {
  font-size: $source_notes_font_size;
  padding-top: $source_notes_padding;
  padding-bottom: $source_notes_padding;
  padding-left: $source_notes_padding_horizontal;
  padding-right: $source_notes_padding_horizontal;
}

.gt_left {
  text-align: left;
}

.gt_center {
  text-align: center;
}

.gt_right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.gt_font_normal {
  font-weight: normal;
}

.gt_font_bold {
  font-weight: bold;
}

.gt_font_italic {
  font-style: italic;
}

.gt_super {
  font-size: 65%;
}

.gt_two_val_uncert {
  display: inline-block;
  line-height: 1em;
  text-align: right;
  font-size: 60%;
  vertical-align: -0.25em;
  margin-left: 0.1em;
}

.gt_footnote_marks {
  font-style: italic;
  font-weight: normal;
  font-size: 75%;
  vertical-align: 0.4em;
}

.gt_asterisk {
  font-size: 100%;
  vertical-align: 0;
}

.gt_slash_mark {
  font-size: 0.7em;
  line-height: 0.7em;
  vertical-align: 0.15em;
}

.gt_fraction_numerator {
  font-size: 0.6em;
  line-height: 0.6em;
  vertical-align: 0.45em;
}

.gt_fraction_denominator {
    font-size: 0.6em;
    line-height: 0.6em;
    vertical-align: -0.05em;
}
