@charset "UTF-8";
/* ===== SLOT GEOMETRY ============================================================================
   The geometry every slot was validated against (noted 2026-06-18, when the boxes were still empty
   red rectangles; the artwork has filled them since and the geometry did not move):
     1. LOGO   — small picture overlay sitting ON TOP of the logo (keep the existing position/size).
     2. NAVBAR — band directly UNDER the navbar: full width, navbar height, BEHIND everything else.
     3. BOTTOM — band at the bottom edge of the page: navbar height (= navbar), IN FRONT of the
                 page content — so it shows wherever nothing fixed covers that band — and
                 BEHIND the fixed bottom button bar on the pages that have one. Full width in
                 the navbar shell, content-column width in the sidebar shell.
     4. TITLE  — two little boxes LEFT and RIGHT of the title, ~50px from it, BEHIND everything, and
                 moving WITH the title (anchored to the heading text, so they track it).
   BEHIND everything = the seasonal layer must not sit above app controls, fixed toolbars, popovers,
   debug bars, or business content. Slot 3 is the one documented exception and the reason the phrase
   is spelled out here: the bottom band is a place where business content merely scrolls past, so the
   strip sits in FRONT of that content at `z-index: 5`. Everything FIXED still stays above it — the
   button bar included, which this sheet leaves untouched. Nothing above `z-index: 5` is touched.
   ================================================================================================ */
/* 1. LOGO — little picture overlay, on top of the logo (sidebar + navbar layouts). */
.seasonal-special--christmas .navbar-brand,
.seasonal-special--autumn .navbar-brand,
.seasonal-special--pleades .navbar-brand,
.seasonal-special--halloween .navbar-brand,
.seasonal-special--winter .navbar-brand,
.seasonal-special--christmas .sidebar-header-logo > a:first-of-type,
.seasonal-special--autumn .sidebar-header-logo > a:first-of-type,
.seasonal-special--pleades .sidebar-header-logo > a:first-of-type,
.seasonal-special--halloween .sidebar-header-logo > a:first-of-type,
.seasonal-special--winter .sidebar-header-logo > a:first-of-type {
  position: relative;
}

.seasonal-special--christmas .navbar-brand::after,
.seasonal-special--autumn .navbar-brand::after,
.seasonal-special--pleades .navbar-brand::after,
.seasonal-special--halloween .navbar-brand::after,
.seasonal-special--winter .navbar-brand::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -8px;
  width: 40px;
  height: 38px;
  background: transparent url("../img/seasonal/christmas/logo_hat.png") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--autumn .navbar-brand::after {
  background-image: url("../img/seasonal/autumn/logo_overlay.png?v=autumn1");
}

.seasonal-special--pleades .navbar-brand::after {
  background-image: url("../img/seasonal/pleades/logo_overlay.png?v=pleades6");
}

.seasonal-special--halloween .navbar-brand::after {
  background-image: url("../img/seasonal/halloween/logo_overlay.png?v=halloween1");
}

.seasonal-special--winter .navbar-brand::after {
  background-image: url("../img/seasonal/winter/logo_overlay.png?v=winter2");
}

.seasonal-special--autumn.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/autumn/meerx_logo_restyle.png?v=autumn1");
  object-fit: contain;
}

.seasonal-special--pleades.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/pleades/meerx_logo_restyle.png?v=pleades6");
  object-fit: contain;
}

.seasonal-special--halloween.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/halloween/meerx_logo_restyle.png?v=halloween1");
  object-fit: contain;
}

.seasonal-special--winter.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/winter/meerx_logo_restyle.png?v=winter2");
  object-fit: contain;
}

.seasonal-special--autumn.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--autumn.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/autumn/meerx_logo_restyle.png?v=autumn1");
  object-fit: contain;
}

.seasonal-special--pleades.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--pleades.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/pleades/meerx_logo_restyle.png?v=pleades6");
  object-fit: contain;
}

.seasonal-special--halloween.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--halloween.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/halloween/meerx_logo_restyle.png?v=halloween1");
  object-fit: contain;
}

.seasonal-special--winter.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--winter.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/winter/meerx_logo_restyle.png?v=winter2");
  object-fit: contain;
}

/* The SIDEBAR overlay hangs off the WORDMARK, not off the header (2026-09-17).
   `.sidebar-header-logo` is the full-width sidebar header — 456x51 on a 456px
   sidebar — while the wordmark `<a>`/`<img>` inside it is only as wide as the
   brand's logo and is centered in that box. An overlay anchored to the header
   therefore landed wherever the header's right edge happened to be: ~85px right
   of the wordmark with the MEERX logo, and further still on a brand with a small
   logo. `> a:first-of-type` is the `<a>` around `.sidebar-header-logo-img` (the
   second `<a>` in the header is `.sidebar-autohide-toggle`, the third child the
   collapsed `<img>`), and as a flex item it is exactly the image's box, so the
   corner it offers IS the wordmark's corner on every brand.

   The offsets are the navbar pair scaled by the logo's own scale factor: the
   sidebar caps the logo at `max-height: 40px` against the navbar's 50px, so
   40x38 / top -5 / right -8 becomes 32x30 / top -4 / right -6 and the motif sits
   on the corner the same way in both shells. One pair for all five motifs, as in
   the navbar block above — the five 44x44 assets are keyed to the same canvas.

   The two clamps that pick these numbers rather than a deeper overlap: the header
   is `overflow: hidden` AND its top edge is the top edge of the PAGE, so a motif
   reaching above the logo box is cut off and cannot be rescued with
   `overflow: visible` — there is no room above to show it in. `top: -4px` puts the
   motif's top edge at the header's padding edge (y=1 on a 51px header), just
   inside the clip. And `right: -6px` keeps the motif inside the header down to the
   150px minimum sidebar width, where a full-width logo ends 10px from the edge. */
.seasonal-special--christmas .sidebar-header-logo > a:first-of-type::after,
.seasonal-special--autumn .sidebar-header-logo > a:first-of-type::after,
.seasonal-special--pleades .sidebar-header-logo > a:first-of-type::after,
.seasonal-special--halloween .sidebar-header-logo > a:first-of-type::after,
.seasonal-special--winter .sidebar-header-logo > a:first-of-type::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -6px;
  width: 32px;
  height: 30px;
  background: transparent url("../img/seasonal/christmas/logo_hat.png") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--autumn .sidebar-header-logo > a:first-of-type::after {
  background-image: url("../img/seasonal/autumn/logo_overlay.png?v=autumn1");
}

.seasonal-special--pleades .sidebar-header-logo > a:first-of-type::after {
  background-image: url("../img/seasonal/pleades/logo_overlay.png?v=pleades6");
}

.seasonal-special--halloween .sidebar-header-logo > a:first-of-type::after {
  background-image: url("../img/seasonal/halloween/logo_overlay.png?v=halloween1");
}

.seasonal-special--winter .sidebar-header-logo > a:first-of-type::after {
  background-image: url("../img/seasonal/winter/logo_overlay.png?v=winter2");
}

/* Autohide, collapsed (modern.css: `body.has-sidebar-autohide`, >=768px). The
   sidebar is 60px wide there, the wordmark is `opacity: 0` and a 44x32
   `.sidebar-collapsed-logo-img` is centered over it — but the wordmark's `<a>` is
   still laid out, so its corner is still a place, and the motif would float in the
   collapsed strip next to a logo nobody can see. It is switched off there and comes
   back with the rest of the header when hover or keyboard focus expands the sidebar,
   which is the same `:not(:hover):not(:focus-within)` lever modern.css uses for the
   search row. `[class*="seasonal-special--"]` because this is shell behaviour, not
   event behaviour: the rule reads the same for all five and there is nothing to say
   per event (the @media print block at the bottom of this file is scoped the same
   way). Outranks the overlay rules above on specificity, not on order. */
@media (min-width: 768px) {
  body.has-sidebar-autohide[class*=seasonal-special--] #sidebar-menu:not(:hover):not(:focus-within) .sidebar-header-logo > a:first-of-type::after {
    content: none;
  }
}
/* 2. NAVBAR — the strip that hangs from the top edge of the page. Every event declares
   it TWICE, as a pair, because the two shells put the top edge in different places:

   `:not(.has-sidebar)` — the top-navbar layout. Fixed chrome directly under the fixed
   navbar (`top: 52px`, full viewport width), below dropdowns but above ordinary
   scrolling page content (`z-index: 900`). It can sit above the content because the
   navbar layout leaves an empty band there: modern.css gives the body a 50px
   `padding-top` for the fixed bar, so nothing of the page paints under the strip.

   `.has-sidebar` — the sidebar layout, which is the one most users have and the one
   every WP4 review picture was taken in. It has no top navbar at all
   (HtmlPage::initHeaderWithoutNavbar returns an empty header) and modern.css zeroes
   the body padding, so the content column starts at the very top edge and the page
   title sits right there. The strip hangs from `top: 0` of the CONTENT COLUMN — its
   left edge is `var(--seasonal-sidebar-width, 250px)`, which HtmlPage emits on
   #html-body-id from the same clamped width the sidebar markup uses (the collapsed
   60px while autohide is on, and sidebar-menu.js keeps it in step during a live
   drag-resize). Because there is no empty band to hang into, this variant sits BEHIND
   the page content, at the same `z-index` as the status-bar strip, instead of above
   it. #sidebar-menu is `z-index: 1029`, so the sidebar covers the strip either way.

   Excluded on the login screen: it has no shell and no user, hence no sidebar. Both
   variants are hidden below 1024px, where a 400px cap pair no longer fits. */
.seasonal-special--christmas:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px; /* = navbar height */
  left: 0;
  right: 0;
  height: 52px; /* = navbar height */
  background-image: url("../img/seasonal/christmas/navbar_left_cap.png?v=400cap11"), url("../img/seasonal/christmas/navbar_right_cap.png?v=400cap11"), url("../img/seasonal/christmas/navbar_tile.png?v=400cap11");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--christmas.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/christmas/navbar_left_cap.png?v=400cap11"), url("../img/seasonal/christmas/navbar_right_cap.png?v=400cap11"), url("../img/seasonal/christmas/navbar_tile.png?v=400cap11");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--autumn:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/autumn/navbar_left_cap.png?v=autumn2"), url("../img/seasonal/autumn/navbar_right_cap.png?v=autumn2"), url("../img/seasonal/autumn/navbar_tile.png?v=autumn2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--autumn.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/autumn/navbar_left_cap.png?v=autumn2"), url("../img/seasonal/autumn/navbar_right_cap.png?v=autumn2"), url("../img/seasonal/autumn/navbar_tile.png?v=autumn2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--pleades:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/pleades/navbar_left_cap.png?v=pleades6"), url("../img/seasonal/pleades/navbar_right_cap.png?v=pleades6"), url("../img/seasonal/pleades/navbar_tile.png?v=pleades6");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--pleades.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/pleades/navbar_left_cap.png?v=pleades6"), url("../img/seasonal/pleades/navbar_right_cap.png?v=pleades6"), url("../img/seasonal/pleades/navbar_tile.png?v=pleades6");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--halloween:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/halloween/navbar_left_cap.png?v=halloween1"), url("../img/seasonal/halloween/navbar_right_cap.png?v=halloween1"), url("../img/seasonal/halloween/navbar_tile.png?v=halloween1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--halloween.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/halloween/navbar_left_cap.png?v=halloween1"), url("../img/seasonal/halloween/navbar_right_cap.png?v=halloween1"), url("../img/seasonal/halloween/navbar_tile.png?v=halloween1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--winter:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/winter/navbar_left_cap.png?v=winter2"), url("../img/seasonal/winter/navbar_right_cap.png?v=winter2"), url("../img/seasonal/winter/navbar_tile.png?v=winter2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--winter.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/winter/navbar_left_cap.png?v=winter2"), url("../img/seasonal/winter/navbar_right_cap.png?v=winter2"), url("../img/seasonal/winter/navbar_tile.png?v=winter2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

/* 3. BOTTOM — the band at the bottom edge of the page, navbar height.

   IN FRONT of the page content, at `z-index: 5`. That is the whole of the slot's layering
   contract, and it is what makes the strip show wherever nothing fixed covers that band:
   the start page after login, dashboards, short pages, and the footer spacer area below the
   last content of any page. It used to sit at `z-index: 0` — behind the page content — and
   was therefore invisible on every one of them (found by Mark, 2026-09-17, on the WP4 review
   pictures).

   BEHIND the fixed bottom button bar where a page has one. `.container-bottom-fixed`
   (modern.css) is the app's own 73px button line, fixed at `bottom: 0` with `z-index: 10`,
   and it is on every list, empty or not, and on the cart review. It stays exactly as it
   is designed: both themes paint it SEMI-TRANSPARENT (0.88 alpha — the light theme's
   gradient, and since 2026-09-18 the dark theme's bar colours too), so the strip shimmers
   through it behind the buttons. That is the bar's own design — the bar is app chrome, it
   belongs to modern.css / modern-dark.css, and THIS SHEET DOES NOT TOUCH IT. `.container-bottom-fixed`
   is named in this file only in comments; it appears in no selector, which the unit test
   asserts against the compiled CSS.

   Why 5. Above the page content and above the sticky table header (`z-index: 2`), below
   everything fixed that has to stay on top: the button bar (10), #sidebar-menu (1029) and
   its resize handle (1030) / header (1031), the mobile backdrop (1049), modal backdrop and
   modal (1040 / 1050), select2 dropdowns (1051), popovers (1060) and tooltips (1070),
   #ajaxLoad and the search overlay (10000), the support flag (20000) and the dev debug bar
   (100000000). `pointer-events: none` stays, so nothing in the band becomes unclickable.

   Consequence, accepted with the decision: in its own band the strip paints OVER whatever
   page content scrolls under it. That band belongs to the strip.

   Declared per SHELL wherever the two differ, like the hanging strip. The navbar layout
   spans the viewport (`left: 0`). The sidebar layout spans the CONTENT COLUMN, because that
   is the column the page content and the button bar occupy there: sidebar-menu.js sets
   `.container-bottom-fixed`'s `left` to the live sidebar width, so a viewport-wide strip
   would poke out to the left of it, under the sidebar. The shell variant is one `left`
   override and nothing else — which is also what keeps the slot mask
   (`.seasonal-slot-off--statusbar::after`) and the <1024px hide block covering both variants
   with the selectors they already have: both variants ARE the same body::after. */
.seasonal-special--christmas:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px; /* = navbar height */
  background-image: url("../img/seasonal/christmas/statusbar_left_cap.png?v=forest1"), url("../img/seasonal/christmas/statusbar_right_cap.png?v=forest1"), url("../img/seasonal/christmas/statusbar_tile.png?v=forest1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--christmas.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--autumn:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/autumn/statusbar_left_cap.png?v=autumn6"), url("../img/seasonal/autumn/statusbar_right_cap.png?v=autumn6"), url("../img/seasonal/autumn/statusbar_tile.png?v=autumn6");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--autumn.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--pleades:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/pleades/statusbar_left_cap.png?v=pleades6"), url("../img/seasonal/pleades/statusbar_right_cap.png?v=pleades6"), url("../img/seasonal/pleades/statusbar_tile.png?v=pleades6");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--pleades.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--halloween:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/halloween/statusbar_left_cap.png?v=halloween1"), url("../img/seasonal/halloween/statusbar_right_cap.png?v=halloween1"), url("../img/seasonal/halloween/statusbar_tile.png?v=halloween1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--halloween.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--winter:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/winter/statusbar_left_cap.png?v=winter2"), url("../img/seasonal/winter/statusbar_right_cap.png?v=winter2"), url("../img/seasonal/winter/statusbar_tile.png?v=winter2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--winter.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

/* 4. TITLE — two little boxes flanking the heading text (~50px gap), BEHIND everything, moving with
   it. Inline-block ::before/::after join the centred title line, so they hug the text and track it.
   Anchored to whichever element holds the text: a plain heading, OR the centre column of a title row.

   winter and spring have no title rule anywhere in this file: their title slot is OFF (Mark,
   2026-09-18 — also in SeasonalSpecialsLib::SLOTS_OFF, and both assets are deleted). Their
   hanging strip stays. */
.seasonal-special--christmas #pageTitle:not(:has(.row))::before,
.seasonal-special--christmas #pageTitle:not(:has(.row))::after,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--autumn #pageTitle:not(:has(.row))::before,
.seasonal-special--autumn #pageTitle:not(:has(.row))::after,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--pleades #pageTitle:not(:has(.row))::before,
.seasonal-special--pleades #pageTitle:not(:has(.row))::after,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--halloween #pageTitle:not(:has(.row))::before,
.seasonal-special--halloween #pageTitle:not(:has(.row))::after,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 92px;
  height: 46px;
  background: transparent;
  border: 0;
  box-sizing: border-box;
  position: relative;
  z-index: -1;
}

.seasonal-special--christmas #pageTitle:not(:has(.row))::before,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--autumn #pageTitle:not(:has(.row))::before,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--pleades #pageTitle:not(:has(.row))::before,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--halloween #pageTitle:not(:has(.row))::before,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  margin-right: 50px;
}

.seasonal-special--christmas #pageTitle:not(:has(.row))::after,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--autumn #pageTitle:not(:has(.row))::after,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--pleades #pageTitle:not(:has(.row))::after,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
.seasonal-special--halloween #pageTitle:not(:has(.row))::after,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  margin-left: 50px;
}

/* 5. LOGIN — a box attached to the TOP of the login panel (the panel height varies between login
   steps, so we anchor to the top only): the upper ~200px of the panel + 80px around the top/left/
   right. No bottom anchor. */
.seasonal-special--login .login-panel {
  position: relative;
}

.seasonal-special--login .login-panel::before {
  content: "";
  position: absolute;
  top: -80px;
  left: -80px;
  right: -80px;
  height: 280px; /* 80px above + the upper 200px of the panel */
  background: transparent;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--christmas.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/christmas/login_scene.png") no-repeat center top/contain;
}

.seasonal-special--autumn.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/autumn/login_panel_surround.png?v=autumn1") no-repeat center top/contain;
}

.seasonal-special--pleades.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/pleades/login_panel_surround.png?v=pleades6") no-repeat center top/contain;
}

.seasonal-special--halloween.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/halloween/login_panel_surround.png?v=halloween1") no-repeat center top/contain;
}

.seasonal-special--winter.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/winter/login_panel_surround.png?v=winter2") no-repeat center top/contain;
}

/* 6. EMPTY-STATE — RETIRED (Mark, 2026-09-18). No event decorates the "no results" line any more
   and the slot is gone from SeasonalSpecialsLib::SLOTS: that line has no anchor for a motif, and
   every wash that was tried there — behind the text or below it — looked displaced. */
/* 7. SUPPORT-FLAG — box anchored to the fixed wrapper (do NOT touch its position), extended a bit
   around the flag to the top, bottom and left. */
.seasonal-special--christmas .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/christmas/support_bow.png?v=flag2") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--autumn:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #8f4f1f, #bf752b) !important;
  color: #fff !important;
}

.seasonal-special--autumn .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/autumn/support_leaf_acorn.png?v=autumn1") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--pleades:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #0a2d5f, #105c90) !important;
  color: #fff !important;
}

.seasonal-special--pleades .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/pleades/support_star_charm.png?v=pleades6") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--halloween:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #201325, #5d2a6f) !important;
  color: #fff !important;
}

.seasonal-special--halloween .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/halloween/support_charm.png?v=halloween1") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--winter:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #5f83a7, #9eb9cf) !important;
  color: #fff !important;
}

.seasonal-special--winter .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/winter/support_charm.png?v=winter2") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

/* 8. KACHEL — retired for now (landing-tile decoration dropped). */
/* 9. ORDER-REVIEW — page-top band on the order-review screen, behind the heading.

   pleades has no rule here: its order-review slot is OFF (Mark, 2026-09-18 — also in
   SeasonalSpecialsLib::SLOTS_OFF, and its asset is deleted). The other eight keep the band. */
.seasonal-special--christmas #seasonal-orderreview,
.seasonal-special--autumn #seasonal-orderreview,
.seasonal-special--halloween #seasonal-orderreview,
.seasonal-special--winter #seasonal-orderreview {
  position: relative;
}

.seasonal-special--christmas #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table → 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/christmas/orderreview_sleigh.png?v=sleigh2") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--autumn #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table → 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/autumn/orderreview_harvest_band.png?v=autumn5") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

/* pleades: no order-review rule — slot off (2026-09-18), see the section header. */
.seasonal-special--halloween #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table → 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/halloween/orderreview_band.png?v=halloween1") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--winter #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table → 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/winter/orderreview_band.png?v=winter2") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

/* DARK-MODE FIX — the dark theme paints every table with an opaque fill (table { background:#1b1b2f
   !important }). On a CARD GRID that fill becomes the area AROUND the cards and hides the
   behind-everything slots. A card grid is a table that holds .panel cards, so we make just those
   transparent; each card keeps its own .panel background. (Harmless in light mode: already transparent.) */
.seasonal-special--christmas table:has(> tbody .panel, > .panel),
.seasonal-special--autumn table:has(> tbody .panel, > .panel),
.seasonal-special--pleades table:has(> tbody .panel, > .panel),
.seasonal-special--halloween table:has(> tbody .panel, > .panel),
.seasonal-special--winter table:has(> tbody .panel, > .panel) {
  background: transparent !important;
}

.seasonal-special--christmas #pageTitle:not(:has(.row))::before,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  background: transparent url("../img/seasonal/christmas/title_candle_inward_model.png?v=candle1") no-repeat right center/92px 46px;
  border: 0;
}

.seasonal-special--christmas #pageTitle:not(:has(.row))::after,
.seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  background: transparent url("../img/seasonal/christmas/title_candle_inward_model.png?v=candle1") no-repeat right center/92px 46px;
  border: 0;
  transform: scaleX(-1);
}

.seasonal-special--autumn #pageTitle:not(:has(.row))::before,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  background: transparent url("../img/seasonal/autumn/title_leaf_acorn.png?v=autumn1") no-repeat right center/92px 46px;
  border: 0;
}

.seasonal-special--autumn #pageTitle:not(:has(.row))::after,
.seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  background: transparent url("../img/seasonal/autumn/title_leaf_acorn.png?v=autumn1") no-repeat right center/92px 46px;
  border: 0;
  transform: scaleX(-1);
}

.seasonal-special--pleades #pageTitle:not(:has(.row))::before,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  background: transparent url("../img/seasonal/pleades/title_cluster.png?v=pleades7") no-repeat right center/92px 46px;
  border: 0;
}

.seasonal-special--pleades #pageTitle:not(:has(.row))::after,
.seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  background: transparent url("../img/seasonal/pleades/title_cluster.png?v=pleades7") no-repeat right center/92px 46px;
  border: 0;
  transform: scaleX(-1);
}

.seasonal-special--halloween #pageTitle:not(:has(.row))::before,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  background: transparent url("../img/seasonal/halloween/title_bat_moon.png?v=halloween1") no-repeat right center/92px 46px;
  border: 0;
}

.seasonal-special--halloween #pageTitle:not(:has(.row))::after,
.seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  background: transparent url("../img/seasonal/halloween/title_bat_moon.png?v=halloween1") no-repeat right center/92px 46px;
  border: 0;
  transform: scaleX(-1);
}

/* winter: no title rule — slot off (2026-09-18), see section 4's header. */
/* Spring local preview - same stable slot geometry as the completed event previews. */
.seasonal-special--spring .navbar-brand,
.seasonal-special--spring .sidebar-header-logo > a:first-of-type,
.seasonal-special--spring #seasonal-orderreview {
  position: relative;
}

.seasonal-special--spring .navbar-brand::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -8px;
  width: 40px;
  height: 38px;
  background: transparent url("../img/seasonal/spring/logo_overlay.png?v=spring1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--spring.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/spring/meerx_logo_restyle.png?v=spring1");
  object-fit: contain;
}

.seasonal-special--spring.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--spring.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/spring/meerx_logo_restyle.png?v=spring1");
  object-fit: contain;
}

/* Sidebar overlay on the WORDMARK, not on the full-width header — see the
   christmas/autumn/pleades/halloween/winter block at the top of this file for
   why the anchor and the offsets are what they are. */
.seasonal-special--spring .sidebar-header-logo > a:first-of-type::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -6px;
  width: 32px;
  height: 30px;
  background: transparent url("../img/seasonal/spring/logo_overlay.png?v=spring1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--spring:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/spring/navbar_left_cap.png?v=spring1"), url("../img/seasonal/spring/navbar_right_cap.png?v=spring1"), url("../img/seasonal/spring/navbar_tile.png?v=spring1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--spring.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/spring/navbar_left_cap.png?v=spring1"), url("../img/seasonal/spring/navbar_right_cap.png?v=spring1"), url("../img/seasonal/spring/navbar_tile.png?v=spring1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--spring:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/spring/statusbar_left_cap.png?v=spring1"), url("../img/seasonal/spring/statusbar_right_cap.png?v=spring1"), url("../img/seasonal/spring/statusbar_tile.png?v=spring1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--spring.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

/* spring: no title rule — slot off (2026-09-18), see section 4's header. */
.seasonal-special--spring.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/spring/login_panel_surround.png?v=spring1") no-repeat center top/contain;
}

.seasonal-special--spring:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #4f8f41, #b8c93b) !important;
  color: #fff !important;
}

.seasonal-special--spring .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/spring/support_charm.png?v=spring1") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--spring #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table -> 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/spring/orderreview_band.png?v=spring2") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--spring table:has(> tbody .panel, > .panel) {
  background: transparent !important;
}

@media (max-width: 1023px) {
  .seasonal-special--spring:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--spring.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--spring:not(.seasonal-special--login)::after {
    display: none;
  }
}
/* Easter local preview - same stable slot geometry as the completed event previews. */
.seasonal-special--easter .navbar-brand,
.seasonal-special--easter .sidebar-header-logo > a:first-of-type,
.seasonal-special--easter #seasonal-orderreview {
  position: relative;
}

.seasonal-special--easter .navbar-brand::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -8px;
  width: 40px;
  height: 38px;
  background: transparent url("../img/seasonal/easter/logo_overlay.png?v=easter2") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--easter.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/easter/meerx_logo_restyle.png?v=easter2");
  object-fit: contain;
}

.seasonal-special--easter.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--easter.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/easter/meerx_logo_restyle.png?v=easter2");
  object-fit: contain;
}

/* Sidebar overlay on the WORDMARK, not on the full-width header — see the
   christmas/autumn/pleades/halloween/winter block at the top of this file for
   why the anchor and the offsets are what they are. */
.seasonal-special--easter .sidebar-header-logo > a:first-of-type::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -6px;
  width: 32px;
  height: 30px;
  background: transparent url("../img/seasonal/easter/logo_overlay.png?v=easter2") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 400px;
  right: 400px;
  height: 52px;
  background: transparent url("../img/seasonal/easter/navbar_tile.png?v=easter2") repeat-x left top/auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::before,
.seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::after {
  content: "";
  position: fixed;
  top: 52px;
  width: 400px;
  height: 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::before {
  left: 0;
  background: transparent url("../img/seasonal/easter/navbar_left_cap.png?v=easter2") no-repeat left top/auto 52px;
}

.seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::after {
  right: 0;
  background: transparent url("../img/seasonal/easter/navbar_right_cap.png?v=easter2") no-repeat right top/auto 52px;
}

.seasonal-special--easter.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  /* Easter is the one event whose centre tile must NOT paint under the caps: both of
     its 400px caps are ~2/3 transparent, so a tile running underneath would show
     through them. The navbar-layout variant above buys that with a second anchor
     (#topnavbar::before/::after), which this layout does not have — there is no
     navbar element at all. The same clip is had from one pseudo-element with the
     per-layer background box properties: the caps are positioned and clipped to the
     border box, the tile to the content box, and `padding: 0 400px` makes that
     content box exactly the lane between the caps. */
  padding: 0 400px;
  background-image: url("../img/seasonal/easter/navbar_left_cap.png?v=easter2"), url("../img/seasonal/easter/navbar_right_cap.png?v=easter2"), url("../img/seasonal/easter/navbar_tile.png?v=easter2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-origin: border-box, border-box, content-box;
  background-clip: border-box, border-box, content-box;
  background-position: left top, right top, left top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--easter:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 400px;
  right: 400px;
  height: 52px;
  background: transparent url("../img/seasonal/easter/statusbar_tile.png?v=easter2") repeat-x left bottom/auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--easter:not(.seasonal-special--login) footer::before,
.seasonal-special--easter:not(.seasonal-special--login) footer::after {
  content: "";
  position: fixed;
  bottom: 0;
  width: 400px;
  height: 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--easter:not(.seasonal-special--login) footer::before {
  left: 0;
  background: transparent url("../img/seasonal/easter/statusbar_left_cap.png?v=easter2") no-repeat left bottom/auto 52px;
}

.seasonal-special--easter:not(.seasonal-special--login) footer::after {
  right: 0;
  background: transparent url("../img/seasonal/easter/statusbar_right_cap.png?v=easter2") no-repeat right bottom/auto 52px;
}

/* Sidebar shell: the whole three-piece set moves right by the content column offset —
   the tile lane keeps its 400px gap to the left cap, and the cap itself is re-anchored
   to the column edge. The right cap is already anchored to the viewport's right edge,
   which is the column's right edge too, so it needs no variant. */
.seasonal-special--easter.has-sidebar:not(.seasonal-special--login)::after {
  left: calc(var(--seasonal-sidebar-width, 250px) + 400px);
}

.seasonal-special--easter.has-sidebar:not(.seasonal-special--login) footer::before {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--easter #pageTitle:not(:has(.row))::before,
.seasonal-special--easter #pageTitle:not(:has(.row))::after,
.seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 92px;
  height: 46px;
  background: transparent url("../img/seasonal/easter/title_easter.png?v=easter2") no-repeat right center/92px 46px;
  border: 0;
  box-sizing: border-box;
  position: relative;
  z-index: -1;
}

.seasonal-special--easter #pageTitle:not(:has(.row))::before,
.seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  margin-right: 50px;
}

.seasonal-special--easter #pageTitle:not(:has(.row))::after,
.seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  margin-left: 50px;
  transform: scaleX(-1);
}

.seasonal-special--easter.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/easter/login_panel_surround.png?v=easter2") no-repeat center top/contain;
}

.seasonal-special--easter:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #4f9e86, #c76f8d) !important;
  color: #fff !important;
}

.seasonal-special--easter .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/easter/support_charm.png?v=easter2") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--easter #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table -> 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/easter/orderreview_band.png?v=easter2") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--easter table:has(> tbody .panel, > .panel) {
  background: transparent !important;
}

@media (max-width: 1023px) {
  .seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--easter.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::before,
  .seasonal-special--easter:not(.has-sidebar):not(.seasonal-special--login) #topnavbar::after,
  .seasonal-special--easter:not(.seasonal-special--login)::after,
  .seasonal-special--easter:not(.seasonal-special--login) footer::before,
  .seasonal-special--easter:not(.seasonal-special--login) footer::after {
    display: none;
  }
}
@media (max-width: 600px) {
  .seasonal-special--easter #pageTitle:not(:has(.row))::before,
  .seasonal-special--easter #pageTitle:not(:has(.row))::after,
  .seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--easter #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
    display: none;
  }
}
/* Summer local preview - same stable slot geometry as the completed event previews. */
.seasonal-special--summer .navbar-brand,
.seasonal-special--summer .sidebar-header-logo > a:first-of-type,
.seasonal-special--summer #seasonal-orderreview {
  position: relative;
}

.seasonal-special--summer .navbar-brand::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -8px;
  width: 40px;
  height: 38px;
  background: transparent url("../img/seasonal/summer/logo_overlay.png?v=summer1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--summer.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/summer/meerx_logo_restyle.png?v=summer1");
  object-fit: contain;
}

.seasonal-special--summer.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--summer.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/summer/meerx_logo_restyle.png?v=summer1");
  object-fit: contain;
}

/* Sidebar overlay on the WORDMARK, not on the full-width header — see the
   christmas/autumn/pleades/halloween/winter block at the top of this file for
   why the anchor and the offsets are what they are. */
.seasonal-special--summer .sidebar-header-logo > a:first-of-type::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -6px;
  width: 32px;
  height: 30px;
  background: transparent url("../img/seasonal/summer/logo_overlay.png?v=summer1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--summer:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/summer/navbar_left_cap.png?v=summer3"), url("../img/seasonal/summer/navbar_right_cap.png?v=summer3"), url("../img/seasonal/summer/navbar_tile.png?v=summer3");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--summer.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/summer/navbar_left_cap.png?v=summer3"), url("../img/seasonal/summer/navbar_right_cap.png?v=summer3"), url("../img/seasonal/summer/navbar_tile.png?v=summer3");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--summer:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/summer/statusbar_left_cap.png?v=summer2"), url("../img/seasonal/summer/statusbar_right_cap.png?v=summer2"), url("../img/seasonal/summer/statusbar_tile.png?v=summer2");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left bottom, right bottom, 400px bottom;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--summer.has-sidebar:not(.seasonal-special--login)::after {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--summer #pageTitle:not(:has(.row))::before,
.seasonal-special--summer #pageTitle:not(:has(.row))::after,
.seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 92px;
  height: 46px;
  background: transparent url("../img/seasonal/summer/title_sunwave.png?v=summer1") no-repeat right center/92px 46px;
  border: 0;
  box-sizing: border-box;
  position: relative;
  z-index: -1;
}

.seasonal-special--summer #pageTitle:not(:has(.row))::before,
.seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  margin-right: 50px;
}

.seasonal-special--summer #pageTitle:not(:has(.row))::after,
.seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  margin-left: 50px;
  transform: scaleX(-1);
}

.seasonal-special--summer.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/summer/login_panel_surround.png?v=summer11") no-repeat center top/contain;
}

.seasonal-special--summer:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #0f8fc7, #f6b733) !important;
  color: #fff !important;
}

.seasonal-special--summer .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/summer/support_charm.png?v=summer1") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--summer #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table -> 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/summer/orderreview_band.png?v=summer2") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--summer table:has(> tbody .panel, > .panel) {
  background: transparent !important;
}

@media (max-width: 1023px) {
  .seasonal-special--summer:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--summer.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--summer:not(.seasonal-special--login)::after {
    display: none;
  }
}
@media (max-width: 600px) {
  .seasonal-special--summer #pageTitle:not(:has(.row))::before,
  .seasonal-special--summer #pageTitle:not(:has(.row))::after,
  .seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--summer #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
    display: none;
  }
}
/* Karneval local preview - same stable slot geometry as the completed event previews. */
.seasonal-special--karneval .navbar-brand,
.seasonal-special--karneval .sidebar-header-logo > a:first-of-type,
.seasonal-special--karneval #seasonal-orderreview {
  position: relative;
}

.seasonal-special--karneval .navbar-brand::after {
  content: "";
  position: absolute;
  top: -5px;
  right: -8px;
  width: 40px;
  height: 38px;
  background: transparent url("../img/seasonal/karneval/logo_overlay.png?v=karneval1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--karneval.seasonal-logo--meerx-restyle .navbar-brand #logoImage {
  content: url("../img/seasonal/karneval/meerx_logo_restyle.png?v=karneval1");
  object-fit: contain;
}

.seasonal-special--karneval.seasonal-logo--meerx-restyle .sidebar-header-logo-img,
.seasonal-special--karneval.seasonal-logo--meerx-restyle .sidebar-collapsed-logo-img {
  content: url("../img/seasonal/karneval/meerx_logo_restyle.png?v=karneval1");
  object-fit: contain;
}

/* Sidebar overlay on the WORDMARK, not on the full-width header — see the
   christmas/autumn/pleades/halloween/winter block at the top of this file for
   why the anchor and the offsets are what they are. */
.seasonal-special--karneval .sidebar-header-logo > a:first-of-type::after {
  content: "";
  position: absolute;
  top: -4px;
  right: -6px;
  width: 32px;
  height: 30px;
  background: transparent url("../img/seasonal/karneval/logo_overlay.png?v=karneval1") no-repeat center/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--karneval:not(.has-sidebar):not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 52px;
  left: 0;
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/karneval/navbar_left_cap.png?v=karneval1"), url("../img/seasonal/karneval/navbar_right_cap.png?v=karneval1"), url("../img/seasonal/karneval/navbar_tile.png?v=karneval1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 900;
}

.seasonal-special--karneval.has-sidebar:not(.seasonal-special--login)::before {
  content: "";
  position: fixed;
  top: 0; /* no navbar in this layout: the content column starts at the top edge */
  left: var(--seasonal-sidebar-width, 250px);
  right: 0;
  height: 52px;
  background-image: url("../img/seasonal/karneval/navbar_left_cap.png?v=karneval1"), url("../img/seasonal/karneval/navbar_right_cap.png?v=karneval1"), url("../img/seasonal/karneval/navbar_tile.png?v=karneval1");
  background-repeat: no-repeat, no-repeat, repeat-x;
  background-position: left top, right top, 400px top;
  background-size: auto 52px, auto 52px, auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 0; /* behind the page content — unlike the bottom strip, which is in front of it */
}

.seasonal-special--karneval:not(.seasonal-special--login)::after {
  content: "";
  position: fixed;
  bottom: 0;
  left: 400px;
  right: 400px;
  height: 52px;
  background: transparent url("../img/seasonal/karneval/statusbar_tile.png?v=karneval5") repeat-x left bottom/auto 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--karneval:not(.seasonal-special--login) footer::before,
.seasonal-special--karneval:not(.seasonal-special--login) footer::after {
  content: "";
  position: fixed;
  bottom: 0;
  width: 400px;
  height: 52px;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 5;
}

.seasonal-special--karneval:not(.seasonal-special--login) footer::before {
  left: 0;
  background: transparent url("../img/seasonal/karneval/statusbar_left_cap.png?v=karneval5") no-repeat left bottom/auto 52px;
}

.seasonal-special--karneval:not(.seasonal-special--login) footer::after {
  right: 0;
  background: transparent url("../img/seasonal/karneval/statusbar_right_cap.png?v=karneval5") no-repeat right bottom/auto 52px;
}

/* Sidebar shell: the whole three-piece set moves right by the content column offset —
   the tile lane keeps its 400px gap to the left cap, and the cap itself is re-anchored
   to the column edge. The right cap is already anchored to the viewport's right edge,
   which is the column's right edge too, so it needs no variant. */
.seasonal-special--karneval.has-sidebar:not(.seasonal-special--login)::after {
  left: calc(var(--seasonal-sidebar-width, 250px) + 400px);
}

.seasonal-special--karneval.has-sidebar:not(.seasonal-special--login) footer::before {
  left: var(--seasonal-sidebar-width, 250px);
}

.seasonal-special--karneval #pageTitle:not(:has(.row))::before,
.seasonal-special--karneval #pageTitle:not(:has(.row))::after,
.seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
.seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 92px;
  height: 46px;
  background: transparent url("../img/seasonal/karneval/title_karneval.png?v=karneval1") no-repeat right center/92px 46px;
  border: 0;
  box-sizing: border-box;
  position: relative;
  z-index: -1;
}

.seasonal-special--karneval #pageTitle:not(:has(.row))::before,
.seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before {
  margin-right: 50px;
}

.seasonal-special--karneval #pageTitle:not(:has(.row))::after,
.seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
  margin-left: 50px;
  transform: scaleX(-1);
}

.seasonal-special--karneval.seasonal-special--login .login-panel::before {
  background: transparent url("../img/seasonal/karneval/login_panel_surround.png?v=karneval1") no-repeat center top/contain;
}

.seasonal-special--karneval:not(.seasonal-slot-off--support) .support-link {
  background: linear-gradient(90deg, #c0182f, #f1c232, #178a42, #1956a3) !important;
  color: #fff !important;
}

.seasonal-special--karneval .support-link-wrapper::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 42px;
  height: 58px;
  background: transparent url("../img/seasonal/karneval/support_charm.png?v=karneval1") no-repeat left top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--karneval #seasonal-orderreview::before {
  content: "";
  display: block; /* override the Bootstrap .container::before clearfix (display:table -> 0 width) */
  position: absolute;
  top: -44px;
  left: 0;
  right: 0;
  height: 110px;
  background: transparent url("../img/seasonal/karneval/orderreview_band.png?v=karneval1") no-repeat center top/contain;
  border: 0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: -1;
}

.seasonal-special--karneval table:has(> tbody .panel, > .panel) {
  background: transparent !important;
}

@media (max-width: 1023px) {
  .seasonal-special--karneval:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--karneval.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--karneval:not(.seasonal-special--login)::after,
  .seasonal-special--karneval:not(.seasonal-special--login) footer::before,
  .seasonal-special--karneval:not(.seasonal-special--login) footer::after {
    display: none;
  }
}
@media (max-width: 600px) {
  .seasonal-special--karneval #pageTitle:not(:has(.row))::before,
  .seasonal-special--karneval #pageTitle:not(:has(.row))::after,
  .seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--karneval #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
    display: none;
  }
}
@media (max-width: 1023px) {
  .seasonal-special--christmas:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--autumn:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--pleades:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--halloween:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--winter:not(.has-sidebar):not(.seasonal-special--login)::before,
  .seasonal-special--christmas.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--autumn.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--pleades.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--halloween.has-sidebar:not(.seasonal-special--login)::before,
  .seasonal-special--winter.has-sidebar:not(.seasonal-special--login)::before {
    display: none;
  }
  .seasonal-special--christmas:not(.seasonal-special--login)::after,
  .seasonal-special--autumn:not(.seasonal-special--login)::after,
  .seasonal-special--pleades:not(.seasonal-special--login)::after,
  .seasonal-special--halloween:not(.seasonal-special--login)::after,
  .seasonal-special--winter:not(.seasonal-special--login)::after {
    display: none;
  }
}
@media (max-width: 600px) {
  .seasonal-special--christmas #pageTitle:not(:has(.row))::before,
  .seasonal-special--christmas #pageTitle:not(:has(.row))::after,
  .seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--christmas #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
  .seasonal-special--autumn #pageTitle:not(:has(.row))::before,
  .seasonal-special--autumn #pageTitle:not(:has(.row))::after,
  .seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--autumn #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
  .seasonal-special--pleades #pageTitle:not(:has(.row))::before,
  .seasonal-special--pleades #pageTitle:not(:has(.row))::after,
  .seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--pleades #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after,
  .seasonal-special--halloween #pageTitle:not(:has(.row))::before,
  .seasonal-special--halloween #pageTitle:not(:has(.row))::after,
  .seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::before,
  .seasonal-special--halloween #pageTitle:has(.row) .row > [class*=col-]:nth-child(2)::after {
    display: none;
  }
}
.seasonal-slot-off--logo .navbar-brand::after,
.seasonal-slot-off--logo .sidebar-header-logo > a:first-of-type::after {
  content: none !important;
}

.seasonal-slot-off--logo .navbar-brand #logoImage,
.seasonal-slot-off--logo .sidebar-header-logo-img,
.seasonal-slot-off--logo .sidebar-collapsed-logo-img {
  content: normal !important;
}

.seasonal-slot-off--login .login-panel::before {
  content: none !important;
}

.seasonal-slot-off--title #pageTitle::before,
.seasonal-slot-off--title #pageTitle::after,
.seasonal-slot-off--title #pageTitle .row > [class*=col-]:nth-child(2)::before,
.seasonal-slot-off--title #pageTitle .row > [class*=col-]:nth-child(2)::after {
  content: none !important;
}

.seasonal-slot-off--navbar::before,
.seasonal-slot-off--navbar #topnavbar::before,
.seasonal-slot-off--navbar #topnavbar::after {
  content: none !important;
}

.seasonal-slot-off--statusbar::after,
.seasonal-slot-off--statusbar footer::before,
.seasonal-slot-off--statusbar footer::after {
  content: none !important;
}

.seasonal-slot-off--support .support-link-wrapper::before {
  content: none !important;
}

.seasonal-slot-off--orderreview #seasonal-orderreview::before {
  content: none !important;
}

.seasonal-slot-off--email {
  --seasonal-slot-off-email: 1;
}

@media print {
  [class*=seasonal-special--]::before,
  [class*=seasonal-special--]::after,
  [class*=seasonal-special--] #topnavbar::before,
  [class*=seasonal-special--] #topnavbar::after,
  [class*=seasonal-special--] footer::before,
  [class*=seasonal-special--] footer::after,
  [class*=seasonal-special--] .navbar-brand::after,
  [class*=seasonal-special--] .sidebar-header-logo > a:first-of-type::after,
  [class*=seasonal-special--] #pageTitle::before,
  [class*=seasonal-special--] #pageTitle::after,
  [class*=seasonal-special--] #pageTitle .row > [class*=col-]:nth-child(2)::before,
  [class*=seasonal-special--] #pageTitle .row > [class*=col-]:nth-child(2)::after,
  [class*=seasonal-special--] .login-panel::before,
  [class*=seasonal-special--] .support-link-wrapper::before,
  [class*=seasonal-special--] #seasonal-orderreview::before {
    content: none !important;
  }
  [class*=seasonal-special--] .navbar-brand #logoImage,
  [class*=seasonal-special--] .sidebar-header-logo-img,
  [class*=seasonal-special--] .sidebar-collapsed-logo-img {
    content: normal !important;
  }
}