/* TLR Case Law Browser v2.3.0 */
.tlr-clb {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 2rem;
  padding: 0;
  color: inherit;
  font: inherit;
  text-align: left;
}

.tlr-clb *,
.tlr-clb *::before,
.tlr-clb *::after { box-sizing: border-box; }

.tlr-clb__page-title,
.tlr-clb__heading,
.tlr-clb__filter-header h2,
.tlr-clb__filter-header h3,
.tlr-clb__filter-group h3 {
  font-family: 'Crimson Text', Garamond, Georgia, serif;
  color: inherit;
}

.tlr-clb__page-title { margin: 0 0 1rem; font-size: clamp(28px, 3vw, 40px); line-height: 1.1; }

.tlr-clb__quick {
  margin: 0 0 .85rem;
  padding: 0;
  border-top: 1px solid currentColor;
}

.tlr-clb__heading {
  display: block;
  width: 100%;
  margin: 0;
  padding: .42rem 0 .32rem;
  border-bottom: 1px solid rgba(0,0,0,.14);
  font-size: clamp(19px, 1.75vw, 23px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: left;
}

.tlr-clb__court-links,
.tlr-clb__year-links,
.tlr-clb__letter-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0;
  row-gap: .32rem;
  width: 100%;
  margin: .55rem 0 .25rem;
  padding: 0;
  text-align: left;
}

.tlr-clb__link,
.tlr-clb__letter,
.tlr-clb__court-link,
.tlr-clb__year-link {
  appearance: none;
  background: transparent;
  border: 0;
  border-right: 1px solid rgba(0,0,0,.55);
  color: inherit;
  cursor: pointer;
  display: inline-block;
  font-family: 'Crimson Text', Garamond, Georgia, serif;
  font-size: clamp(16px, 1.25vw, 18px);
  font-weight: 400;
  line-height: 1.1;
  margin: 0;
  padding: .05rem .7rem;
  text-align: left;
  text-decoration: underline;
}
.tlr-clb__link:first-child,
.tlr-clb__letter:first-child,
.tlr-clb__court-link:first-child,
.tlr-clb__year-link:first-child { padding-left: 0; }
.tlr-clb__link:last-child,
.tlr-clb__letter:last-child,
.tlr-clb__court-link:last-child,
.tlr-clb__year-link:last-child { border-right: 0; }
.tlr-clb__link:hover,
.tlr-clb__link.is-active { color: #8b0000; font-weight: 600; }

.tlr-clb__search {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto;
  gap: .55rem;
  align-items: center;
  margin: 1rem 0 1rem;
  padding: .75rem 0;
  border-top: 1px solid rgba(0,0,0,.12);
  border-bottom: 1px solid rgba(0,0,0,.12);
}
.tlr-clb__search-input {
  width: 100%;
  max-width: 100%;
  min-height: 38px;
  padding: .45rem .65rem;
  border: 1px solid rgba(0,0,0,.25);
  border-radius: 2px;
  font: inherit;
}
.tlr-clb__search-button,
.tlr-clb__clear-button,
.tlr-clb__filter-toggle,
.tlr-clb__reset,
.tlr-clb__filter-close,
.tlr-clb__pagination button {
  appearance: none;
  cursor: pointer;
  font: inherit;
}
.tlr-clb__search-button {
  min-height: 38px;
  border: 1px solid #8b0000;
  background: #8b0000;
  color: #fff;
  padding: .45rem .9rem;
  font-weight: 700;
}
.tlr-clb__clear-button,
.tlr-clb__reset,
.tlr-clb__filter-toggle {
  min-height: 38px;
  border: 1px solid rgba(0,0,0,.25);
  background: #fff;
  color: inherit;
  padding: .45rem .75rem;
}

.tlr-clb__layout {
  display: grid;
  grid-template-columns: minmax(210px, 260px) minmax(0, 1fr);
  gap: 1.35rem;
  align-items: start;
  margin-top: .5rem;
}

.tlr-clb__filters {
  border: 1px solid rgba(0,0,0,.16);
  background: rgba(255,255,255,.85);
  padding: .7rem;
  max-height: none;
}
.tlr-clb__filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(0,0,0,.14);
  margin-bottom: .65rem;
  padding-bottom: .35rem;
}
.tlr-clb__filter-header h2,
.tlr-clb__filter-header h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}
.tlr-clb__filter-close { display: none; background: transparent; border: 0; font-size: 24px; line-height: 1; }
.tlr-clb__filter-group { margin: 0 0 1rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(0,0,0,.1); }
.tlr-clb__filter-group:last-child { border-bottom: 0; }
.tlr-clb__filter-group h3 { margin: 0 0 .45rem; font-size: 16px; font-weight: 700; line-height: 1.2; }
.tlr-clb__checks { display: block; }
.tlr-clb__check {
  display: flex;
  align-items: flex-start;
  gap: .38rem;
  margin: .22rem 0;
  font-size: 14px;
  line-height: 1.3;
}
.tlr-clb__check input { margin-top: .15rem; }
.tlr-clb__check span,
.tlr-clb__status,
.tlr-clb__chip,
.tlr-clb__empty,
.tlr-clb__loading,
.tlr-clb__error {
  font-weight: 400;
}

.tlr-clb__filter-toggle { display: none; margin: .3rem 0 .8rem; width: 100%; font-weight: 700; }

.tlr-clb__main { min-width: 0; }
.tlr-clb__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin: 0 0 .6rem;
  padding-bottom: .4rem;
  border-bottom: 1px solid rgba(0,0,0,.14);
}
.tlr-clb__status { font-size: 14px; color: #69727d; }
.tlr-clb__status.is-error { color: #8b0000; }
.tlr-clb__active-filters { display: flex; flex-wrap: wrap; gap: .35rem; margin: .35rem 0 .65rem; }
.tlr-clb__chip { border: 1px solid rgba(0,0,0,.18); padding: .15rem .45rem; font-size: 13px; background: rgba(0,0,0,.03); }

.tlr-clb__results { margin-top: .65rem; text-align: left; }
.tlr-clb__empty,
.tlr-clb__loading,
.tlr-clb__error { margin: .6rem 0; color: #69727d; }
.tlr-clb__error { color: #8b0000; }

.tlr-case-list {
  margin: .5rem 0 1rem 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.tlr-case-list__item {
  display: block;
  margin: 0 0 20px 0;
  padding: 14px 0 18px 0;
  border-bottom: 1px solid #e5e5e5;
  text-align: left;
}
.tlr-case-list__title {
  margin: 0 0 6px 0;
  padding: 0;
  font-family: 'Crimson Text', Garamond, Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  color: #111;
  text-align: left;
}
.tlr-case-list__citation {
  display: block;
  margin: 0 0 6px 0;
  padding: 0;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.35;
  color: #69727d;
  text-align: left;
}
.tlr-case-list__details {
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
  color: #69727d;
  text-align: left;
}
.tlr-case-list__snippet {
  margin: 0 0 14px 0;
  font-size: 14px;
  line-height: 1.45;
  color: inherit;
  opacity: .9;
}
.tlr-case-list__read {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.3;
  color: #8b0000;
  text-decoration: none;
  text-align: left;
}
.tlr-case-list__read:hover { text-decoration: underline; }

.tlr-clb__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  align-items: center;
  justify-content: flex-start;
  margin: 1rem 0 0;
  text-align: left;
}
.tlr-clb__pagination button {
  background: transparent;
  border: 1px solid rgba(0,0,0,.25);
  color: inherit;
  padding: .25rem .7rem;
}
.tlr-clb__pagination button.is-active { font-weight: 700; color: #8b0000; border-color: #8b0000; }
.tlr-clb__page-gap { opacity: .7; padding: .25rem .1rem; }

body.tlr-clb-filter-open { overflow: hidden; }

@media (max-width: 780px) {
  .tlr-clb__search { grid-template-columns: 1fr; }
  .tlr-clb__layout { display: block; }
  .tlr-clb__filter-toggle { display: inline-block; }
  .tlr-clb__filters {
    display: none;
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(88vw, 360px);
    overflow: auto;
    background: #fff;
    box-shadow: 0 0 0 9999px rgba(0,0,0,.35);
  }
  .tlr-clb.is-filter-open .tlr-clb__filters { display: block; }
  .tlr-clb__filter-close { display: inline-block; }
  .tlr-clb__toolbar { align-items: flex-start; flex-direction: column; }
  .tlr-clb__reset { width: 100%; }
  .tlr-clb__link,
  .tlr-clb__letter,
  .tlr-clb__court-link,
  .tlr-clb__year-link { padding: .12rem .42rem; }
}

@media (max-width: 520px) {
  .tlr-case-list__title { font-size: 17px; }
  .tlr-case-list__citation { font-size: 15px; }
  .tlr-clb__heading { font-size: 20px; }
}


/* Judicial officers filter */
.tlr-clb__judge-search {
  width: 100%;
  margin: 0 0 .55rem 0;
  padding: .45rem .55rem;
  border: 1px solid #d8d8d8;
  border-radius: 3px;
  font: inherit;
  font-size: 14px;
  background: #fff;
}
.tlr-clb__check--judges.is-extra { display: none; }
.tlr-clb.is-judges-expanded .tlr-clb__check--judges.is-extra { display: flex; }
.tlr-clb__check--judges.is-filtered-out { display: none !important; }
.tlr-clb__show-more-judges {
  appearance: none;
  border: 0;
  background: transparent;
  padding: .35rem 0 0;
  margin: .15rem 0 0;
  color: #8b0000;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
  text-decoration: underline;
}
