.FilteringListWidget table { border-collapse: collapse; }

.FilteringListFilter { border-bottom: double #aaa; }

.FilteringListFilter,
.FilteringListText,
.FilteringListActions {
  padding: 0.25em;
}

/* Hide the actions if we are not multi-select */
.FilteringListActions.false {
  display: none;
}

.FilteringListAction {
  text-decoration: underline;
  cursor: pointer;
}

.FilteringListTextClear {
  display: inline-block;
  vertical-align: bottom;
}

.cblist > tbody > tr > td {
  /* remove part between forws that does nothing on click */
  padding-top: 0;
  padding-bottom: 0;
}
.cblist > tbody > tr > td label {
  padding-top: 2px /* make the mouse target a little bigger */;
  cursor: pointer;

  /* For filtering animation */
  max-height: 24px /* can't animate from auto height */;
  display: block /* allows setting max-height for shrinking animation */;
  overflow: hidden /* for hide/show shrinking animation */;
  white-space: nowrap /* usually won't be narrow enough for this to matter */;
}

.cblist > tbody > tr.vtab label { max-height: 36px /* can't animate from auto height */; }
.cblist > tbody > tr.filtered { opacity: 0.4 /* animation looks less jarring */; }
.cblist > tbody > tr.filtered {
  /* If we didn't have to support animation, could replace this with display:none
	   and remove the other styling related to making the row zero-height. */
  visibility: collapse;
}
.cblist > tbody > tr.filtered > td label {
  /* visibility:collapse behaves like visibility:hidden on items that aren't
     table rows, that is our ribbons, so shrink them with max height.
  */
  max-height: 0;
}
.cblist > tbody > tr.filtered,
.cblist > tbody > tr.filtered > td {
  /* Webkit for some time may have had a bug that treated visibility:collapse as
     hidden on all elements, so apply this to table cells as well as non-table
     elements in case the table cells aren't being collapsed by visibility.
  */
  padding-top: 0;
  padding-bottom: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .cblist > tbody > tr {
    transition: linear opacity 0.2s, visibility 0.2s;
  }
  .cblist > tbody > tr > td,
  .cblist > tbody > tr > th {
    transition: ease-in padding 0.2s;
  }
  .cblist > tbody > tr > td label {
    transition: ease-in max-height 0.2s;
  }
}

.cblist:not(.active) { display: none; }

._FilteringOdList th {
  text-align: left;
}
._FilteringOdList .FilteringListActions {
  /* these are vestigial */
  display: none;
}

.cblist > tbody > tr > th {
  font-weight: normal;
}

._FilteringOdList.one-sided .cblist > * > tr > :nth-child(1),
._FilteringOdList.one-sided .cblist > * > tr > :nth-child(2) {
  display: none;
}

._FilteringOdList.origin-destination .cblist { margin-top: 20px; }
._FilteringOdList.origin-destination .cblist > thead th { padding-top: 20px; }
._FilteringOdList.origin-destination .cblist > thead th label {
  position: relative;
  overflow: visible;
}
._FilteringOdList.origin-destination .cblist > thead th:not(:nth-child(3)) label > span {
  position: absolute;
  left: 18px;
  font-style: italic;
  font-weight: normal;
}
._FilteringOdList.origin-destination .cblist > thead th:not(:nth-child(3)) label > span:before {
  content: "";
  display: block;
  position: absolute;
  height: 13px;
  width: 13px;
  top: 5px;
  left: -11px;
  font-style: normal;
}
._FilteringOdList.origin-destination .cblist > thead th:nth-child(1) label > span {
  bottom: 36px;
}
._FilteringOdList.origin-destination .cblist > thead th:nth-child(1) label > span:before {
  background: no-repeat url(/static/images/orig_arrow.svg);
  height: 29px;
}
._FilteringOdList.origin-destination .cblist > thead th:nth-child(2) label > span:before {
  background: no-repeat url(/static/images/dest_arrow.svg);
}
._FilteringOdList.origin-destination .cblist > thead th:nth-child(2) label > span {
  bottom: 20px;
}
._FilteringOdList.origin-destination .cblist > thead th:nth-child(3) label > input,
._FilteringOdList.origin-destination .cblist > tbody > tr > td label > span,
._FilteringOdList.origin-destination .cblist > tbody > tr > th label > input {
  position: fixed;
  left: -9999px;
}


.vtab {
  list-style: none;
  white-space: nowrap /* wias and metro/micro in qwi can truncate on narrow screens */;
}
.vtab.filtered { display: none; }

.vtab input:not(:disabled),
.vtab input:not(:disabled) + * {
  cursor: pointer;
}

.vtab label > div {
  border: 1px solid rgb(230, 230, 230) /* .dijitTab border color */;
  background: #e2e2e2 url("../images/tabEnabled.png") repeat-x;
  width: 100%;
  height: 30px;
  line-height: 30px;
  text-indent: 0.25em;
}


.vtab label > input:disabled + div {
  /* Matches .dijitDisabled on tabs. To see Dijit's style, in the console try
    `dijit.registry.byId('tabs_tablist_area_tab').set('disabled', true)`
  */
  color: #aaa;
  background-color: #e2e2e2;
}
.vtab:hover label > input:not(:disabled):not(:checked) + div {
  border-color: #92a0b3 /* matches .dijitTabHover */;
  background: #e2e2e2 url("../../jslibs/dojo-release-1.8.0-src/dijit/themes/tundra/images/tabHover.gif") repeat-x;
}

.vtab label > input:checked + div {
  background-image: none;
  background-color: #eeeef2 /* match banded rows in quarters grid */;
  border: 1px solid black;
}

.FilteringListText.true {
  display: none;
}

.vtab:not(.vtab-radio) label > input:focus + div {
  /* Don't need the focus indicators on the tabs with radio buttons */
  border-style: dashed;
}

.vtab:not(.vtab-radio) label > input[type="radio"] {
  position: fixed;
  left: -999px;
}

.vtab:not(.vtab-radio) { overflow: hidden /* point of css arrow shouldn't need scrollbar */; }
.vtab:not(.vtab-radio) label > div { position: relative; }
.vtab:not(.vtab-radio) label > div:after {
  position: absolute;
  display: block;
  content: "";
  height: calc(100% + 2px) /* usually hides border, but fails when zoomed out a lot */;
  width: 15px;
  right: 1px;
  top: -1px;
  background-size: 100% 100% /* for Firefox https://stackoverflow.com/a/10647800 */;
  background-image: url(/ribbonpoint.svg?color=%23e6e6e6);
}
.vtab:not(.vtab-radio):hover label > input:not(:disabled):not(:checked) + div:after {
  background-image: url('/ribbonpoint.svg?color=%2392a0b3') /* matches .dijitTabHover */;
}
.vtab:not(.vtab-radio) label > input:checked + *:after {
  background-image: url(/ribbonpoint.svg?color=black);
}

.vtab-radio input[type="radio"] {
  position: absolute;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 5px /* for Safari */;
}

.vtab-radio label {
  align-items: center;
  display: flex;
  position: relative;
}
.vtab-radio label > div {
  text-indent: 20px;
}

@media (max-height: 1089px) {
  .vtab label > div {
    height: 3.27vh;
    line-height: 3.27vh;
  }
  .vtab:not(.vtab-radio) label > div:after {
    width: 1.64vh /* half the ribbon height */;
  }
}
@media (max-height: 596px) {  /* Census laptop Edge full-height */
  .vtab label > div {
    height: 19.5px;
    line-height: 19.5px;
  }
  .vtab:not(.vtab-radio) label > div:after {
    width: 9.75px /* half the ribbon height */;
  }
}


#states_list ul {
  margin: 0;
  padding: 0;
}
