/* Banner randomizer */

.event-banner_item {
  display: none;
}

.event-banner_item.is-visible {
  display: block;
}

/* Desktop */

@media screen and (min-width: 992px) {
  /* ==================================================
     NO TOC + BANNER VISIBLE
     [      Rich Text      ][ Banner ]
  ================================================== */

  .content_container > .content-rich-text-block:first-child {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;

    width: 100%;
    min-width: 0;
  }

  .content_container > .content-rich-text-block:first-child + .event-banner {
    grid-column: 3 / 4 !important;
    grid-row: 1 !important;
  }

  /* Hide closed/unavailable banner */

  .content_container.banner-hidden > .event-banner {
    display: none !important;
  }

  /* ==================================================
     TOC EXISTS + BANNER HIDDEN
     [ TOC 18% ][        Rich Text        ]
  ================================================== */

  .content_container.banner-hidden:has(> .content27_sidebar) {
    grid-template-columns:
      minmax(auto, 18%)
      minmax(0, 1fr) !important;
  }

  .content_container.banner-hidden:has(> .content27_sidebar)
    > .content27_sidebar {
    grid-column: 1 / 2 !important;
    grid-row: 1 !important;
  }

  .content_container.banner-hidden:has(> .content27_sidebar)
    > .content-rich-text-block {
    grid-column: 2 / 3 !important;
    grid-row: 1 !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0;
  }

  /* ==================================================
     NO TOC + BANNER HIDDEN / ABSENT
     [             Rich Text 1fr             ]
  ================================================== */

  .content_container.banner-hidden:has(> .content-rich-text-block:first-child) {
    display: block !important;
  }

  .content_container.banner-hidden > .content-rich-text-block:first-child {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    margin: 0 !important;
  }

  .content_container.banner-hidden > .event-banner {
    display: none !important;
  }
}
