@charset "UTF-8";
.events-table #map {
  height: 32em;
  width: 100%;
  margin-bottom: 2em;
  display: none;
}
.events-table .filters {
  text-transform: uppercase;
  font-size: 17px;
  max-width: 22.6em;
  margin: 0 auto;
  margin-bottom: 2em;
  /*
        @media (max-width: 760px) {
            > div {
                display: block;
                width: 100%;
                margin-bottom: 0.5em;
            }
            .selected-filters {
                > .title {
                    display: block;
                    margin-bottom: 0.3em;
                }
            }
        }
        */
}
.events-table .filters.hidden {
  display: none;
}
.events-table .filters h3 {
  text-align: center;
}
.events-table .filters .pills {
  display: flex;
  text-align: center;
  margin-bottom: 0.4em;
  --pill-bg: var(--bg);
  --pill-fg: var(--fg);
}
@media (max-width: 760px) {

}
.events-table .filters .pills > label {
  margin: 0;
  padding: 0;
  display: block;
  cursor: pointer;
  position: relative;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.events-table .filters .pills > label > span {
  background: var(--pill-bg);
  color: var(--pill-fg);
  border: 2px solid var(--pill-fg);
  padding: 0.25em 0.65em;
  display: block;
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
}
.events-table .filters .pills > label > span > span:not(.sr-only) {
  position: relative;
  top: 0.05em;
}
.events-table .filters .pills > label > span > svg {
  display: inline-block;
  width: 1.5em;
  height: auto;
  fill: var(--pill-fg);
  vertical-align: middle;
  position: relative;
  top: 0em;
  transition: fill var(--anim-speed, 0.2s) ease-in-out;
}
.events-table .filters .pills > label input {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  visibility: hidden;
}
.events-table .filters .pills > label input:checked + span {
  background: var(--pill-fg);
  color: var(--pill-bg);
}
.events-table .filters .pills > label input:checked + span > svg {
  fill: var(--pill-bg);
}
@media (hover: hover) {
  .events-table .filters .pills > label:hover > span {
    background: var(--pill-fg);
    color: var(--pill-bg);
  }
  .events-table .filters .pills > label:hover > span > svg {
    fill: var(--pill-bg);
  }
}
.events-table .filters .pills > label + label > span {
  border-left: none;
}
.events-table .filters .pills > label:first-child > span {
  border-radius: 1.5em;
  padding-left: 1em;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.events-table .filters .pills > label:last-child > span {
  border-radius: 1.5em;
  padding-right: 1em;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.events-table .filters > .pill-list > .pills {
  width: 100%;
}
.events-table .filters > .pill-list > .pills > label {
  flex: 1;
}
.events-table .filters > .dropdown-location,
.events-table .filters > .dropdown-category {
  position: relative;
  display: none;
}
.events-table .filters > .dropdown-location a.dropdown-opener,
.events-table .filters > .dropdown-category a.dropdown-opener {
  box-sizing: border-box;
  display: block;
  text-align: center;
  background: var(--bg);
  color: var(--c1);
  border: 1px solid var(--c1);
  border-radius: 2em;
  padding: 0.25em 1.5em 0.25em 1.5em;
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.events-table .filters > .dropdown-location a.dropdown-opener > svg,
.events-table .filters > .dropdown-category a.dropdown-opener > svg {
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6em;
  position: absolute;
  fill: var(--c1);
  transition: stroke var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-location a.dropdown-opener > .title,
.events-table .filters > .dropdown-category a.dropdown-opener > .title {
  padding-right: 1.5em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.events-table .filters > .dropdown-location a.dropdown-opener:hover,
.events-table .filters > .dropdown-category a.dropdown-opener:hover {
  background: var(--bg);
  color: var(--c1);
}
.events-table .filters > .dropdown-location a.dropdown-opener:hover > svg,
.events-table .filters > .dropdown-category a.dropdown-opener:hover > svg {
  fill: var(--c1);
}
.events-table .filters > .dropdown-location .dropdown-wrapper,
.events-table .filters > .dropdown-category .dropdown-wrapper {
  display: none;
  width: 100%;
  position: absolute;
  z-index: 290;
  padding: 0.75em 0 0.75em 0;
  border-radius: 2em;
  margin-top: -1px;
  background: var(--bg);
  color: var(--c1);
  border: 1px solid var(--c1);
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
  overflow-y: auto;
  height: auto;
  max-height: 32em;
}
@media (max-width: 760px) {
  .events-table .filters > .dropdown-location .dropdown-wrapper,
.events-table .filters > .dropdown-category .dropdown-wrapper {
    max-height: 32em;
  }
}
.events-table .filters > .dropdown-location.shown > .dropdown-wrapper,
.events-table .filters > .dropdown-category.shown > .dropdown-wrapper {
  display: block;
  background: var(--bg);
}
.events-table .filters > .dropdown-location .dropdown-selects,
.events-table .filters > .dropdown-category .dropdown-selects {
  list-style: none;
  padding: 0;
}
.events-table .filters > .dropdown-location .dropdown-selects > li > a,
.events-table .filters > .dropdown-category .dropdown-selects > li > a {
  display: block;
  padding: 0.2em 1.5em;
  color: var(--c1);
  background: var(--bg);
}
.events-table .filters > .dropdown-location .dropdown-selects > li > a:hover, .events-table .filters > .dropdown-location .dropdown-selects > li > a.active,
.events-table .filters > .dropdown-category .dropdown-selects > li > a:hover,
.events-table .filters > .dropdown-category .dropdown-selects > li > a.active {
  background: var(--bg);
  color: var(--c1);
}
.events-table .filters > .dropdown-location .dropdown-checkmarks,
.events-table .filters > .dropdown-category .dropdown-checkmarks {
  list-style: none;
  padding: 0;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks li,
.events-table .filters > .dropdown-category .dropdown-checkmarks li {
  padding: 0;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks > li > .children,
.events-table .filters > .dropdown-category .dropdown-checkmarks > li > .children {
  padding: 0 0 0 1em;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks .children,
.events-table .filters > .dropdown-category .dropdown-checkmarks .children {
  padding-top: 0;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks label,
.events-table .filters > .dropdown-category .dropdown-checkmarks label {
  position: relative;
  padding: 0.2em 1.5em;
  display: block;
  color: var(--c1);
  background: var(--bg);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-location .dropdown-checkmarks label.active,
.events-table .filters > .dropdown-category .dropdown-checkmarks label.active {
  background: var(--bg);
  color: var(--c1);
}
.events-table .filters > .dropdown-location .dropdown-checkmarks label.active .active-box,
.events-table .filters > .dropdown-category .dropdown-checkmarks label.active .active-box {
  border-color: var(--c1);
}
@media (hover: hover) {
  .events-table .filters > .dropdown-location .dropdown-checkmarks label:hover,
.events-table .filters > .dropdown-category .dropdown-checkmarks label:hover {
    text-decoration: underline;
  }
}
.events-table .filters > .dropdown-location .dropdown-checkmarks input,
.events-table .filters > .dropdown-category .dropdown-checkmarks input {
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks .active-box,
.events-table .filters > .dropdown-category .dropdown-checkmarks .active-box {
  display: block;
  float: left;
  border: 1px solid var(--c1);
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  border-radius: 0;
  position: relative;
  top: 0.3em;
  transition: background-color var(--anim-speed, 0.2s), border-color var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-location .dropdown-checkmarks .name,
.events-table .filters > .dropdown-category .dropdown-checkmarks .name {
  padding-top: 0.1em;
  display: block;
  overflow: hidden;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks input:checked + .active-box,
.events-table .filters > .dropdown-category .dropdown-checkmarks input:checked + .active-box {
  border-color: var(--c1);
  background: var(--c1);
}
.events-table .filters > .dropdown-location .dropdown-checkmarks input:checked + .active-box:before,
.events-table .filters > .dropdown-category .dropdown-checkmarks input:checked + .active-box:before {
  content: "";
  @svg : escape('<svg xmlns="http://www.w3.org/2000/svg" fill="var(--splitter)000" width="24" height="24" viewBox="0 0 24 24"><path d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"/></svg>' );
  background-image: url("data:image/svg+xml,@{svg}");
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 0.1em;
  left: 0.1em;
  right: 0.1em;
  bottom: 0.1em;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks li .children,
.events-table .filters > .dropdown-category .dropdown-checkmarks li .children {
  display: none;
}
.events-table .filters > .dropdown-location .dropdown-checkmarks li.current-cat .children, .events-table .filters > .dropdown-location .dropdown-checkmarks li.current-cat-parent .children,
.events-table .filters > .dropdown-category .dropdown-checkmarks li.current-cat .children,
.events-table .filters > .dropdown-category .dropdown-checkmarks li.current-cat-parent .children {
  display: block;
}
.events-table .filters > .filter-row {
  display: grid;
  grid-template: "a b"/1fr;
  grid-gap: 0;
}
.events-table .filters > .filter-row > .radios-sort {
  grid-area: a;
}
.events-table .filters > .filter-row > .radios-view {
  grid-area: b;
}
.events-table .filters > .filter-row label > span > span {
  font-size: 80%;
}
.events-table .filters > .dropdown-sort {
  position: relative;
  float: right;
}
.events-table .filters > .dropdown-sort a.dropdown-opener {
  box-sizing: border-box;
  display: block;
  text-align: center;
  background: none;
  color: var(--fg);
  border: 1px solid var(--c1);
  border-radius: 2em;
  padding: 0.25em 1.5em 0.25em 1.5em;
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
.events-table .filters > .dropdown-sort a.dropdown-opener > svg {
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 0.6em;
  position: absolute;
  fill: var(--fg);
  transition: stroke var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-sort a.dropdown-opener > .title {
  padding-right: 1.5em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.events-table .filters > .dropdown-sort a.dropdown-opener:hover {
  background: #efefef;
  color: var(--c1);
}
.events-table .filters > .dropdown-sort a.dropdown-opener:hover > svg {
  fill: var(--c1);
}
.events-table .filters > .dropdown-sort .dropdown-wrapper {
  display: none;
  width: 100%;
  position: absolute;
  z-index: 290;
  padding: 0.75em 0 0.75em 0;
  border-radius: 2em;
  margin-top: -1px;
  background: none;
  color: var(--fg);
  border: 1px solid var(--c1);
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
  overflow-y: auto;
  height: auto;
  max-height: 32em;
}
@media (max-width: 760px) {
  .events-table .filters > .dropdown-sort .dropdown-wrapper {
    max-height: 32em;
  }
}
.events-table .filters > .dropdown-sort.shown > .dropdown-wrapper {
  display: block;
  background: #efefef;
}
.events-table .filters > .dropdown-sort .dropdown-selects {
  list-style: none;
  padding: 0;
}
.events-table .filters > .dropdown-sort .dropdown-selects > li > a {
  display: block;
  padding: 0.2em 1.5em;
  color: var(--fg);
  background: none;
}
.events-table .filters > .dropdown-sort .dropdown-selects > li > a:hover, .events-table .filters > .dropdown-sort .dropdown-selects > li > a.active {
  background: #efefef;
  color: var(--c1);
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks {
  list-style: none;
  padding: 0;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks li {
  padding: 0;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks > li > .children {
  padding: 0 0 0 1em;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks .children {
  padding-top: 0;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks label {
  position: relative;
  padding: 0.2em 1.5em;
  display: block;
  color: var(--fg);
  background: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: color var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks label.active {
  background: #efefef;
  color: var(--c1);
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks label.active .active-box {
  border-color: var(--c1);
}
@media (hover: hover) {
  .events-table .filters > .dropdown-sort .dropdown-checkmarks label:hover {
    text-decoration: underline;
  }
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks input {
  position: absolute;
  opacity: 0;
  left: 0;
  top: 0;
  width: 18px;
  height: 18px;
  cursor: pointer;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks .active-box {
  display: block;
  float: left;
  border: 1px solid var(--fg);
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  border-radius: 0;
  position: relative;
  top: 0.3em;
  transition: background-color var(--anim-speed, 0.2s), border-color var(--anim-speed, 0.2s);
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks .name {
  padding-top: 0.1em;
  display: block;
  overflow: hidden;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks input:checked + .active-box {
  border-color: var(--c1);
  background: var(--c1);
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks input:checked + .active-box:before {
  content: "";
  @svg : escape('<svg xmlns="http://www.w3.org/2000/svg" fill="var(--splitter)000" width="24" height="24" viewBox="0 0 24 24"><path d="M24 20.188l-8.315-8.209 8.2-8.282-3.697-3.697-8.212 8.318-8.31-8.203-3.666 3.666 8.321 8.24-8.206 8.313 3.666 3.666 8.237-8.318 8.285 8.203z"/></svg>' );
  background-image: url("data:image/svg+xml,@{svg}");
  background-position: center center;
  background-size: contain;
  position: absolute;
  top: 0.1em;
  left: 0.1em;
  right: 0.1em;
  bottom: 0.1em;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks li .children {
  display: none;
}
.events-table .filters > .dropdown-sort .dropdown-checkmarks li.current-cat .children, .events-table .filters > .dropdown-sort .dropdown-checkmarks li.current-cat-parent .children {
  display: block;
}
.events-table .filters > .dropdown-sort > a.dropdown-opener {
  text-align: right;
}
.events-table .filters .selected-filters {
  display: block;
  visibility: hidden;
  margin: 0.8em 0;
}
.events-table .filters .selected-filters > .title {
  display: inline-block;
  margin-right: 0.5em;
}
.events-table .filters .selected-filters > a {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  display: inline-block;
  padding: 0.2em 0.8em;
  background: var(--bg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  border-radius: 0.2em;
  color: var(--c1);
  margin-right: 0.75em;
  margin-bottom: 0.53em;
}
.events-table .filters .selected-filters > a > .remove > svg {
  display: inline-block;
  vertical-align: middle;
  width: 0.7em;
  height: 0.7em;
  fill: var(--fg);
  position: relative;
  top: -0.03em;
  margin-left: 0.2em;
  transition: fill var(--anim-speed, 0.2s);
}
.events-table .filters .selected-filters > a:hover {
  color: var(--c1);
}
.events-table .filters .selected-filters > a:hover > .remove > svg {
  fill: var(--c1);
}
.events-table .events {
  padding-top: 1em;
  display: block;
  border-collapse: collapse;
  border-collapse: separate;
  border-spacing: 0 0.5em;
  position: relative;
}
@media (max-width: 760px) {
  .events-table .events {
    padding-top: 1em;
  }
}
.events-table .events > h2 {
  padding: 0.6em 0 0.5em 0;
  margin: 0;
  display: block;
}
.events-table .events > h2 {
  position: sticky;
  top: 0;
  background: var(--bg);
  transition: background-color var(--anim-speed, 0.2s) ease-in-out;
}
.events-table .events > .events-listing {
  border-top: 2px solid var(--c1);
  padding-bottom: 1em;
}
.events-table .favorites {
  padding-bottom: 0;
  padding-top: 1em;
}
@media (max-width: 760px) {
  .events-table .favorites {
    padding-top: 1.5em;
  }
}
.events-table .favorites > h2 {
  padding: 0.1em 0 0.5em 0;
}
.events-table .favorites > h2 > a {
  display: flex;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.events-table .favorites > h2 > a > .title {
  flex: 1;
}
.events-table .favorites > h2 > a > .title > .count {
  font-size: 1rem;
  display: inline-block;
  vertical-align: middle;
}
.events-table .favorites > h2 > a > .opener {
  flex: 0;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
}
.events-table .favorites > h2 > a > .opener > svg {
  width: 1.5em;
  height: 1.5em;
  display: block;
}
.events-table .favorites > h2 > a > .opener > svg.plus {
  display: block;
  transition: transform var(--anim-speed, 0.2s) ease-in-out;
}
.events-table .favorites > h2 > a > .opener > svg.minus {
  display: none;
}
.events-table .favorites > h2 > .is-style-smaller {
  font-family: inherit;
  color: var(--fg);
}
.events-table .favorites > .favorites-wrapper {
  max-height: 0;
  transition: max-height var(--anim-speed, 0.2s) ease-in-out;
}
.events-table .favorites > .favorites-wrapper.shown {
  max-height: calc(var(--favorites-count, 10) * 4.5em + 4em);
}
.events-table .favorites > .favorites-wrapper > .favorites-list {
  padding-bottom: 1em;
}
.events-table .favorites > .favorites-wrapper > .favorites-list > .event:first-child {
  border-top: 2px solid var(--c1);
}
.events-table .favorites > .favorites-wrapper > .empty-phrase.hidden {
  display: none;
}
.events-table .favorites > .favorites-wrapper > .share.hidden {
  display: none;
}
.events-table .favorites.shown > .favorites-wrapper {
  display: block;
}
.events-table .favorites.shown > h2 > a > .opener > svg.plus {
  transform: rotate(45deg);
}
.events-table .event {
  line-height: 1;
  display: grid;
  grid-template: "i n n f" "i t t f" "i l l l"/5.3em 1fr 2em 2em;
  padding-top: 1.25em;
  padding-bottom: 1.25em;
  grid-gap: 0 0.5em;
  gap: 0 0.5em;
  border-bottom: 2px solid var(--c1);
}
.events-table .event > .favorite {
  padding-top: 0em;
  grid-area: f;
}
.events-table .event > .datetime {
  grid-area: t;
}
.events-table .event > .img-wrapper {
  grid-area: i;
}
.events-table .event > .title {
  grid-area: n;
}
.events-table .event > .location {
  grid-area: l;
}
.events-table .event.hidden {
  display: none;
}
.events-table .event > .datetime {
  padding-left: 0;
  white-space: nowrap;
}
.events-table .event > .datetime > .dow > .datetime {
  text-transform: capitalize;
}
.events-table .event > .img-wrapper {
  display: block;
  transition: opacity var(--anim-speed, 0.2s);
}
.events-table .event > .img-wrapper > .img {
  width: 5.1em;
  background-color: gray;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.events-table .event > .img-wrapper > .img:before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
}
.events-table .event > .img-wrapper:hover {
  opacity: 0.8;
}
.events-table .event > .title > a {
  display: block;
  text-decoration: none;
  color: var(--fg);
}
.events-table .event > .title > a:hover {
  color: var(--c1);
}
.events-table .event > .title > a:hover > h3 {
  color: var(--c1);
}
.events-table .event > .title > a > h3 {
  font: var(--font-headline);
  line-height: 1;
  transition: color var(--anim-speed, 0.2s);
  font-size: 16px;
  margin: 0;
  padding: 0;
}
@media (max-width: 760px) {
  .events-table .event > .title > a > h3 {
    font-size: 14px;
  }
}
.events-table .event > .title > a > .read-more {
  font-size: 0.65em;
  padding-top: 0.5em;
}
.events-table .event > .location > .list {
  list-style: none;
  padding: 0;
}
.events-table .event > .location > .list > li {
  display: inline;
}
.events-table .event > .location > .list > li + li:before {
  content: "• ";
}
.events-table .favorites .event, .events-table.view-list .events .event {
  grid-template: "n t l f"/1fr 5em min-content min-content;
  align-items: center;
}
@media (min-width: 761px) {
  .events-table .favorites .event, .events-table.view-list .events .event {
    grid-template: "n t l f"/1fr 6.25em 8em min-content;
  }
}
.events-table .favorites .event > .img-wrapper, .events-table.view-list .events .event > .img-wrapper {
  display: none;
}
.events-table .favorites .event > .location, .events-table.view-list .events .event > .location {
  font-size: 80%;
}
.events-table .favorites .event > .datetime, .events-table.view-list .events .event > .datetime {
  font-size: 80%;
}
.events-table .events[data-sorting=""] .dow > .datetime {
  display: none;
}
.events-table.view-list .events[data-sorting=location] .event {
  grid-template: "n t f"/1fr 7.25em min-content;
  align-items: center;
}
.events-table.view-list .events[data-sorting=location] .event > .location {
  display: none;
}
.events-table.view-list .events[data-sorting=""] .event {
  grid-template: "t n l f"/min-content 1fr min-content min-content;
  align-items: center;
}
.events-table.view-list .events[data-sorting=""] .event > .location {
  white-space: nowrap;
}
.events-table .timetable {
  display: none;
}
.events-table.view-timetable .timetable {
  display: block;
}
.events-table.view-timetable .favorites,
.events-table.view-timetable .events {
  display: none;
}
.events-table.view-timetable .radios-sort {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
.favorite-btn {
  -moz-appearance: none;
       appearance: none;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  transition: transform var(--anim-speed, 0.2s) ease-in-out;
}
.favorite-btn > * {
  pointer-events: none;
}
.favorite-btn svg {
  display: block;
  width: 2.1em;
  height: 2.1em;
  fill: var(--fg);
}
.favorite-btn > .star-filled {
  display: none;
}
.favorite-btn.active > .star-unfilled {
  display: none;
}
.favorite-btn.active > .star-filled {
  display: block;
}
@media (hover: hover) {
  .favorite-btn:hover {
    transform: scale(1.2);
  }
}
.favorite-btn:active {
  transition: transform 0.1s ease-in-out;
  transform: scale(1.5);
}
.timetable .favorite-btn {
  display: inline-block;
  position: relative;
  top: 0.1em;
}
.timetable .favorite-btn svg {
  width: 1em;
  height: 1em;
  fill: #fff;
}
.timetable {
  padding: 1.5em;
  background: var(--bg);
}
.timetable > .timetable-day {
  font-size: 80%;
  margin-bottom: 2em;
}
.timetable > .timetable-day > h2 {
  padding: 0.1em 0 0.5em 0;
  margin: 0;
  display: block;
}
.timetable > .timetable-day.hidden {
  display: none;
}
.timetable-scroller {
  --splitter: var(--fg);
  display: grid;
  grid-template-columns: minmax(0, 6em) 1fr;
  position: relative;
  text-transform: uppercase;
  line-height: 1.5;
}
.timetable-scroller a {
  font-weight: inherit;
}
.timetable-scroller > .locations {
  padding-top: 1.5em;
  position: relative;
}
.timetable-scroller > .locations > .location {
  padding: 0.2em 0.3em;
  border-top: 1px solid var(--splitter);
  height: 4em;
  box-sizing: border-box;
}
.timetable-scroller > .locations > .location:last-child {
  border-bottom: 1px solid var(--splitter);
}
.timetable-scroller > .locations > .location:first-child::after {
  content: "";
  display: block;
  border-right: 2px solid var(--splitter);
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1px;
}
.timetable-scroller > .rows {
  overflow: hidden;
  overflow-x: auto;
  position: relative;
  padding-top: 1.5em;
}
.timetable-scroller > .rows::scrollbar {
  width: 12px;
  height: 12px;
}
.timetable-scroller > .rows::-moz-scrollbar {
  width: 12px;
  height: 12px;
}
.timetable-scroller > .rows::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
.timetable-scroller > .rows::-webkit-scrollbar-button {
  width: 0px;
  height: 0px;
}
.timetable-scroller > .rows::-webkit-scrollbar-track {
  background: var(--scrollbar-bg, var(--splitter));
  border: 0;
  border-radius: 0;
}
.timetable-scroller > .rows::-webkit-scrollbar-thumb {
  background: var(--scrollbar-fg, #fff);
  border-radius: 0;
}
.timetable-scroller > .rows::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-fg, #fff);
}
.timetable-scroller > .rows > .bg {
  position: absolute;
  top: 0;
  bottom: 0;
}
.timetable-scroller > .rows > .bg > .hour {
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid var(--splitter);
}
.timetable-scroller > .rows > .bg > .hour > .text {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.2em 0.3em;
  padding-top: 0;
  padding-bottom: 0;
}
.timetable-scroller > .rows > .items {
  position: relative;
  border-top: 1px solid var(--splitter);
  height: 4em;
  box-sizing: border-box;
}
.timetable-scroller > .rows > .items:last-child {
  border-bottom: 1px solid var(--splitter);
}
.timetable-scroller > .rows > .items > .item {
  position: absolute;
  top: 0;
  box-sizing: border-box;
  background: var(--c1);
  color: var(--c1-fg);
  padding: 0.2em 0.3em;
  border: 5px solid rgba(0, 0, 0, 0);
  text-decoration: none;
  height: 4em;
  box-sizing: border-box;
  transition: background-color var(--anim-speed, 0.2s) ease-in-out, border-color var(--anim-speed, 0.2s) ease-in-out;
}
.timetable-scroller > .rows > .items > .item:hover {
  background: var(--c1-hover);
  color: var(--c1-fg-hover);
}
.timetable-scroller > .rows > .items > .item > .text {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.timetable-scroller > .rows > .items > .item:has(.favorite-btn.active) {
  background: var(--c2);
  border: 5px solid var(--c1);
}
.theme-dark .timetable-scroller > .rows > .items > .item:has(.favorite-btn.active) {
  border-color: white;
}
