.rw-shape-top--yes,
.rw-shape-bottom--yes {
  position: relative;
}
.rw-shape-divider {
  max-width: none !important;
  margin: 0 !important;
  background-position: center;
  background-repeat: no-repeat;
  left: 50%;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: var(--rw-shape-z, 2);
}
.rw-shape-divider svg {
  display: block;
  height: 100%;
  overflow: visible;
  width: 100%;
}
.rw-shape-divider .rw-shape-bar {
  fill: var(--rw-shape-bar-color, transparent);
}
.rw-shape-divider .rw-shape-notch {
  fill: var(--rw-shape-color, transparent);
}
.rw-shape-divider--top {
  background-size: var(--rw-shape-top-fit, 100% 100%);
  border-radius: var(--rw-shape-top-radius, 0);
  height: var(--rw-shape-top-height, 100px);
  left: calc(50% + var(--rw-shape-top-x, 0px));
  top: var(--rw-shape-top-offset, 0);
  transform: translateX(-50%);
  width: var(--rw-shape-top-width, 100%);
}
.rw-shape-divider--top .rw-shape-bar {
  fill: var(--rw-shape-top-bar-color, transparent);
}
.rw-shape-divider--top .rw-shape-notch {
  fill: var(--rw-shape-top-color, transparent);
}
.rw-shape-divider--bottom {
  background-size: var(--rw-shape-bottom-fit, 100% 100%);
  border-radius: var(--rw-shape-bottom-radius, 0);
  bottom: var(--rw-shape-bottom-offset, 0);
  height: var(--rw-shape-bottom-height, 100px);
  left: calc(50% + var(--rw-shape-bottom-x, 0px));
  transform: translateX(-50%);
  width: var(--rw-shape-bottom-width, 100%);
}
.rw-shape-divider--bottom .rw-shape-bar {
  fill: var(--rw-shape-bottom-bar-color, transparent);
}
.rw-shape-divider--bottom .rw-shape-notch {
  fill: var(--rw-shape-bottom-color, transparent);
}
.rw-shape-divider--top.rw-shape-colors-swapped .rw-shape-bar {
  fill: var(--rw-shape-top-color, transparent);
}
.rw-shape-divider--top.rw-shape-colors-swapped .rw-shape-notch {
  fill: var(--rw-shape-top-bar-color, transparent);
}
.rw-shape-divider--bottom.rw-shape-colors-swapped .rw-shape-bar {
  fill: var(--rw-shape-bottom-color, transparent);
}
.rw-shape-divider--bottom.rw-shape-colors-swapped .rw-shape-notch {
  fill: var(--rw-shape-bottom-bar-color, transparent);
}
.rw-shape-top--yes:not(.rw-shape-top-source--custom) > .rw-shape-divider--top,
.rw-shape-bottom--yes:not(.rw-shape-bottom-source--custom)
  > .rw-shape-divider--bottom {
  left: 50%;
  width: 100%;
}
.rw-shape-divider.rw-shape-bubbles {
  background: transparent !important;
  border-radius: 0;
  overflow: visible;
  width: 100%;
}
.rw-shape-bubbles__track {
  align-items: center;
  display: flex;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: max-content;
}
.rw-shape-bubble {
  border-radius: 50%;
  clip-path: circle(0 at 50% calc(50% + 32px));
  flex: 0 0 var(--rw-bubble-size);
  height: var(--rw-bubble-size);
  margin-inline: calc((var(--rw-bubble-overlap) - 1px) / 2);
  opacity: 1;
  overflow: hidden;
  position: relative;
  transform: none;
  transform-origin: center;
  width: var(--rw-bubble-size);
  will-change: clip-path;
}
.rw-shape-bubble__fill {
  display: block;
  pointer-events: none;
  position: absolute;
}
.rw-shape-divider--top.rw-shape-bubbles {
  --rw-bubble-size: var(--rw-shape-top-bubble-size, 105px);
  --rw-bubble-overlap: var(--rw-shape-top-bubble-overlap, -12px);
  --rw-bubble-color: var(--rw-shape-top-bubble-color, #e8500e);
  --rw-bubble-duration: var(--rw-shape-top-bubble-duration, 780ms);
  --rw-bubble-stagger: var(--rw-shape-top-bubble-stagger, 42ms);
  --rw-bubble-direction: var(--rw-shape-top-flip-y, 1);
}
.rw-shape-divider--bottom.rw-shape-bubbles {
  --rw-bubble-size: var(--rw-shape-bottom-bubble-size, 105px);
  --rw-bubble-overlap: var(--rw-shape-bottom-bubble-overlap, -12px);
  --rw-bubble-color: var(--rw-shape-bottom-bubble-color, #e8500e);
  --rw-bubble-duration: var(--rw-shape-bottom-bubble-duration, 780ms);
  --rw-bubble-stagger: var(--rw-shape-bottom-bubble-stagger, 42ms);
  --rw-bubble-direction: var(--rw-shape-bottom-flip-y, 1);
}
.rw-shape-divider--top.rw-shape-bubbles .rw-shape-bubbles__track {
  top: 0;
}
.rw-shape-divider--bottom.rw-shape-bubbles .rw-shape-bubbles__track {
  top: 100%;
}
.rw-shape-bubble {
  background: var(--rw-bubble-color);
}
.rw-shape-bubbles.uses-section-fill .rw-shape-bubble {
  background: var(--rw-bubble-section-color);
}
.rw-shape-bubbles.is-visible .rw-shape-bubble {
  animation: rw-shape-bubble-pop var(--rw-bubble-duration) linear both;
  animation-delay: calc(var(--rw-delay-index, 0) * var(--rw-bubble-stagger));
}
.rw-shape-bubbles.is-leaving .rw-shape-bubble {
  animation: rw-shape-bubble-hide min(420ms, var(--rw-bubble-duration)) ease-in
    both;
  animation-delay: calc(
    var(--rw-exit-delay-index, 0) * min(24ms, var(--rw-bubble-stagger))
  );
}
.rw-shape-bubbles.is-static .rw-shape-bubble {
  animation: none;
  clip-path: none;
  opacity: 1;
  transform: none;
}
@keyframes rw-shape-bubble-pop {
  0% {
    clip-path: circle(0 at 50% calc(50% + 32px));
  }
  48% {
    clip-path: circle(57% at 50% calc(50% - 4px));
  }
  72% {
    clip-path: circle(49% at 50% calc(50% + 1.5px));
  }
  88% {
    clip-path: circle(52% at 50% calc(50% - 0.5px));
  }
  100% {
    clip-path: circle(51% at 50% 50%);
  }
}
@keyframes rw-shape-bubble-hide {
  0% {
    clip-path: circle(51% at 50% 50%);
  }
  100% {
    clip-path: circle(0 at 50% calc(50% + 18px));
  }
}
@media (prefers-reduced-motion: reduce) {
  .rw-shape-bubble {
    animation: none !important;
    clip-path: none;
    opacity: 1;
    transform: none;
  }
}

.rw-shape-top-source--custom > .rw-shape-divider--top {
  background-image: var(--rw-shape-top-image);
}
.rw-shape-bottom-source--custom > .rw-shape-divider--bottom {
  background-image: var(--rw-shape-bottom-image);
}

.rw-shape-top-source--custom > .rw-shape-divider--top {
  transform: translateX(-50%)
    scale(var(--rw-shape-top-flip-x, 1), var(--rw-shape-top-flip-y, 1));
}
.rw-shape-bottom-source--custom > .rw-shape-divider--bottom {
  transform: translateX(-50%)
    scale(var(--rw-shape-bottom-flip-x, 1), var(--rw-shape-bottom-flip-y, 1));
}

/* Repeated square tile: fixed proportions, one composited moving layer. */
.rw-shape-top-tablecloth > .rw-shape-divider--top { background-image: none; --rw-cloth-size: var(--rw-shape-top-height, 34px); --rw-cloth-color: var(--rw-shape-top-color, white); }
.rw-shape-top-tablecloth > .rw-shape-divider--top::before { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(100% + var(--rw-cloth-size)); background: var(--rw-cloth-color); mask: url("tablecloth-tile.svg") left top / var(--rw-cloth-size) var(--rw-cloth-size) repeat-x; }

.rw-shape-bottom-tablecloth > .rw-shape-divider--bottom { background-image: none; --rw-cloth-size: var(--rw-shape-bottom-height, 34px); --rw-cloth-color: var(--rw-shape-bottom-color, white); }
.rw-shape-bottom-tablecloth > .rw-shape-divider--bottom::before { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(100% + var(--rw-cloth-size)); background: var(--rw-cloth-color); mask: url("tablecloth-tile.svg") left top / var(--rw-cloth-size) var(--rw-cloth-size) repeat-x; }


/* Temporary tiles reveal in random order, then return to one SVG layer. */
.rw-cloth-random-enter::before { visibility: hidden; }
.rw-cloth-random-tile { position: absolute; background: var(--rw-cloth-color, white); opacity: 0; animation: rw-cloth-appear .25s ease-out both; }
@keyframes rw-cloth-appear { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .rw-cloth-random-enter::before { visibility: visible; }
  .rw-cloth-random-tile { display: none; }
}

.rw-shape-top-ticket > .rw-shape-divider--top { background-image:none; background-color:var(--rw-shape-top-bar-color,transparent); --rw-ticket-height:var(--rw-shape-top-height,30px); }
.rw-shape-top-ticket > .rw-shape-divider--top::before { content:""; position:absolute; inset:0; background:var(--rw-shape-top-color); mask:url("ticket-tile.svg") center bottom / calc(var(--rw-ticket-height) * 2.933333) var(--rw-ticket-height) space no-repeat; }

.rw-shape-bottom-ticket > .rw-shape-divider--bottom { background-image:none; background-color:var(--rw-shape-bottom-bar-color,transparent); --rw-ticket-height:var(--rw-shape-bottom-height,30px); }
.rw-shape-bottom-ticket > .rw-shape-divider--bottom::before { content:""; position:absolute; inset:0; background:var(--rw-shape-bottom-color); mask:url("ticket-tile.svg") center bottom / calc(var(--rw-ticket-height) * 2.933333) var(--rw-ticket-height) space no-repeat; }

/* One-time ticket reveal; no movement or layout changes. */
@media (prefers-reduced-motion: no-preference) {
 .rw-ticket-ready::before { clip-path: inset(0 100% 0 0); }
 .rw-ticket-ready.rw-ticket-enter::before { animation: rw-ticket-reveal .9s cubic-bezier(.23,1,.32,1) both; }
}
@keyframes rw-ticket-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
