@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bagel+Fat+One&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap");

:root {
  --red: #ff4438;
  --green: #11ad69;
  --orange: #ff7a1a;
  --blue: #1f78f2;
  --yellow: #ffd735;
  --pink: #ff5aa2;
  --cyan: #20c7ff;
  --mint: #44d99a;
  --ink: #151515;
  --cream: #fff0d0;
  --cream-2: #fff8e7;
  --paper: #fffdf5;
}

@media (pointer: fine) {
  html.glove-cursor-ready,
  html.glove-cursor-ready * {
    cursor: none !important;
  }

  html.glove-cursor-ready input,
  html.glove-cursor-ready textarea,
  html.glove-cursor-ready [contenteditable="true"],
  html.glove-cursor-ready :focus,
  html.glove-cursor-ready :focus-visible {
    cursor: none !important;
  }

  .glove-cursor {
    position: fixed;
    left: var(--cursor-x, 0);
    top: var(--cursor-y, 0);
    width: 64px;
    height: 64px;
    z-index: 2147483647;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
    opacity: 0;
    transform: translate3d(-33px, -16px, 0);
    transform-origin: 33px 16px;
    filter: drop-shadow(2px 4px 0 rgba(26, 26, 26, 0.22));
    transition: opacity 0.12s ease;
    will-change: left, top;
  }

  .glove-cursor.is-visible,
  .glove-cursor.is-pressing {
    opacity: 1;
  }
}

.orbitron {
  font-family: "Orbitron", sans-serif;
}

body {
  font-family: "Fredoka", system-ui, sans-serif;
  font-weight: 500;
  color: var(--ink);
}

.node--page-wrapper .body {
  margin-top: 0rem;
}

#header #header-main-nav .standalone-menu ul.nav > li div.dropdown-menu {
  background: rgba(0, 5, 44, 0.8) !important;
}

#block-vivace2024banner {
  min-height: 900px;
  height: calc(100vh - 80px);
  text-align: center;
}

.osl {
  font-family: "Roboto Slab";
  font-style: normal;
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 0px 4px 0px #2A4D97;
}

.vivacelogo2024 {
  width: 70%;
  margin: 0 auto;
}

.vivacedate2024 {
  font-family: "Roboto Slab";
  font-style: normal;
  font-weight: 700;
  font-size: 32px;
  line-height: 42px;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.25);
}

.vivacebanner2024 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
}

#block-vivace2024banner .body {
  height: 100%;
}

.vivace2024divder {
  background-image: url("/sites/vivace.smu.edu.sg/themes/vivace_2026_5g/images/date_underline.png");
  background-size: contain;
  height: 90px;
  width: 100%;
  aspect-ratio: 836/141;
  background-repeat: no-repeat;
  background-position: center;
}

.vivacecountdown {
  width: 100%;
}

.vivacecountdown {
  font-family: "Roboto Slab";
  font-style: normal;
  font-weight: 500;
  font-size: 20px;
  line-height: 26px;
  text-align: center;
  color: #FFFFFF;
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.25);
}

.vivacecountdown #countdown {
  font-size: 40px;
  line-height: 53px;
}

.tbm-button-container {
  display: block;
  margin: 0.5rem;
  position: relative;
  width: 100%;
  height: 2rem;
}
.tbm-button-container:after {
  content: "CCA Menu";
  position: absolute;
  left: 3rem;
  top: 4px;
}
.tbm-button-container span {
  display: block;
  position: absolute;
  height: 0.2rem;
  width: 30px;
  background: currentColor;
  border-radius: 3px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
.tbm-button-container span:nth-child(1) {
  top: 3px;
}
.tbm-button-container span:nth-child(4) {
  bottom: 6px;
}

.tbm.tbm--mobile .tbm-button {
  width: 100%;
}
.tbm.tbm--mobile .tbm-nav {
  background: transparent;
}
.tbm.tbm--mobile .tbm-item {
  border-top: 0px solid rgba(0, 0, 0, 0.2);
}
.tbm .tbm-nav li .tbm-link-container {
  margin-bottom: 0rem;
}

.tbm-button[aria-expanded=true] .tbm-button-container span:nth-child(1) {
  top: 1.25rem;
  width: 0%;
  left: 0;
}
.tbm-button[aria-expanded=true] .tbm-button-container span:nth-child(4) {
  top: 1.25rem;
  width: 0%;
  left: 0;
}

.page-node-type-vivace-activities-pages .modal-body {
  aspect-ratio: 16/9;
  overflow: auto;
  background-color: #e4ceac;
  border-radius: 30px;
  padding: 2rem;
  aspect-ratio: auto;
}

body.page-node-type-vivace-islands,
body.page-node-type-clubs {
  overflow-x: hidden;
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.045) 0 2px, transparent 2px 34px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.32) 0 1px, transparent 1px 34px),
    linear-gradient(135deg,
      var(--blue) 0 22%,
      var(--cyan) 22% 38%,
      var(--yellow) 38% 57%,
      var(--pink) 57% 75%,
      var(--mint) 75% 100%);
}

body.page-node-type-vivace-islands::before,
body.page-node-type-clubs::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.28;
  background:
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(21, 21, 21, 0.22) 18px 21px, transparent 21px 38px),
    repeating-linear-gradient(-45deg, transparent 0 26px, rgba(255, 255, 255, 0.52) 26px 30px, transparent 30px 54px);
}

body.page-node-type-vivace-islands .dialog-off-canvas-main-canvas,
body.page-node-type-vivace-islands .main-container,
body.page-node-type-clubs .dialog-off-canvas-main-canvas,
body.page-node-type-clubs .main-container {
  background: transparent;
}

body.page-node-type-vivace-islands .main-container,
body.page-node-type-clubs .main-container {
  padding-top: 8rem;
}

.dropdown-item {
  white-space: normal;
}

.profilephoto {
  text-align: right;
  text-align: center;
}
.profilephoto img {
  width: 200px;
  height: auto;
}

.cbdclubtitle h1 {
  text-align: left;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 {
  display: none !important;
  margin-top: 20px;
  margin-bottom: 34px;
}

body.page-node-type-vivace-islands #block-vivace-2026-5g-views-block-cover-image-block-5,
body.page-node-type-vivace-islands #block-vivace-2026-5g-views-block-cover-image-block-5-2 {
  display: none !important;
}

body.page-node-type-clubs .cca-hero-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  margin: 12px auto 34px;
}

body.page-node-type-clubs .cca-hero-panel .cca-booth-panel {
  display: none !important;
}

body.page-node-type-clubs .cca-title-panel,
body.page-node-type-clubs .cca-booth-panel {
  box-sizing: border-box;
  min-height: clamp(360px, 45vw, 560px);
  border: 4px solid var(--ink);
  border-radius: 14px;
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-clubs .cca-title-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: visible;
  padding: 28px;
  background:
    var(--cca-profile-photo, none) center / min(74%, 440px) auto no-repeat,
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 0 12px, transparent 12px 28px),
    var(--red);
  color: #fff;
}

body.page-node-type-clubs .cca-title-panel::after {
  content: "";
  position: absolute;
  right: -58px;
  bottom: -64px;
  width: 230px;
  height: 230px;
  border: 5px dashed rgba(255, 255, 255, 0.68);
  border-radius: 50%;
}

body.page-node-type-clubs .cca-title-panel h1 {
  position: relative;
  z-index: 1;
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(54px, 7.8vw, 112px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.88;
  text-align: left;
  text-shadow: 5px 5px 0 var(--ink);
}

body.page-node-type-clubs .ms-club-col {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: clamp(360px, 45vw, 560px);
}

body.page-node-type-clubs .ms-logo-badge {
  position: absolute;
  top: -16px;
  left: -16px;
  z-index: 5;
  width: 112px;
  min-height: 112px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0;
  border: 4px solid var(--ink);
  border-radius: 22px;
  background: var(--ink);
  box-shadow: 6px 6px 0 rgba(26, 26, 26, 0.45);
  transform: rotate(-6deg);
}

body.page-node-type-clubs .ms-logo-badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 18px;
  background: #fff;
}

body.page-node-type-clubs .ms-badge-icon {
  color: #fff;
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: 40px;
  line-height: 1;
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);
}

body.page-node-type-clubs .ms-badge-sub {
  max-width: 86px;
  color: rgba(255, 255, 255, 0.72);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

body.page-node-type-clubs .ms-club-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  overflow: hidden;
  border: 4px solid var(--ink);
  border-radius: 20px;
  background: var(--paper);
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-clubs .ms-banner-area {
  position: relative;
  flex: 1;
  min-height: 280px;
  overflow: hidden;
  background:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.14) 0 10px, transparent 10px 24px),
    var(--blue);
}

body.page-node-type-clubs .ms-banner-area img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-node-type-clubs .ms-club-name-bar {
  border-top: 4px solid var(--ink);
  background: #fff;
  padding: 22px 24px;
}

body.page-node-type-clubs .ms-club-name {
  display: block;
  margin: 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: left;
}

body.page-node-type-clubs .cca-eyebrow {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 1;
  padding: 8px 14px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .cca-booth-panel {
  overflow: hidden;
  padding: 22px;
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.06) 0 2px, transparent 2px 30px),
    linear-gradient(135deg, var(--cream-2), #fff);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.page-node-type-clubs .cca-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px auto 0;
}

body.page-node-type-clubs .cca-detail-actions .saved-receipt-link,
body.page-node-type-clubs .cca-detail-actions .cca-shelf-link,
.saved-receipt-page-actions a,
.saved-receipt-page-actions button,
.receipt-link,
.receipt-remove,
.receipt-clear,
.receipt-print {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 16px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 4px 4px 0 var(--ink);
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

body.page-node-type-clubs .cca-detail-actions .saved-receipt-link:hover,
body.page-node-type-clubs .cca-detail-actions .saved-receipt-link:focus-visible,
body.page-node-type-clubs .cca-detail-actions .cca-shelf-link:hover,
body.page-node-type-clubs .cca-detail-actions .cca-shelf-link:focus-visible,
.saved-receipt-page-actions a:hover,
.saved-receipt-page-actions a:focus-visible,
.saved-receipt-page-actions button:hover,
.saved-receipt-page-actions button:focus-visible,
.receipt-link:hover,
.receipt-link:focus-visible,
.receipt-remove:hover,
.receipt-remove:focus-visible,
.receipt-clear:hover,
.receipt-clear:focus-visible,
.receipt-print:hover,
.receipt-print:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--ink);
}

body.page-node-type-clubs .cca-detail-actions .saved-receipt-link,
body.page-node-type-clubs .cca-detail-actions .cca-shelf-link {
  background: #fff;
}

body.page-node-type-clubs .cca-detail-actions [data-saved-nav-count] {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  box-sizing: border-box;
  padding: 0 6px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
}

a.dropdown-item.vivace-saved-menu-link {
  display: block !important;
  width: 100%;
}

a.dropdown-item.vivace-saved-menu-link [data-saved-menu-count] {
  position: static !important;
  display: inline !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin-left: 4px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font: inherit !important;
  box-shadow: none !important;
}

body.page-node-type-clubs .cca-booth-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

body.page-node-type-clubs .cca-booth-head h2 {
  margin: 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(34px, 3.6vw, 42px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}

body.page-node-type-clubs .cca-booth-zone {
  border: 3px solid var(--ink);
  border-radius: 999px;
  padding: 7px 12px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-clubs .cca-booth-map-area {
  position: relative;
  flex: 1;
  width: 100%;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 4px solid var(--ink);
  border-radius: 12px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(31, 120, 242, 0.13) 0 12%, transparent 12% 100%),
    repeating-linear-gradient(0deg, rgba(21, 21, 21, 0.08) 0 2px, transparent 2px 11.11%),
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.07) 0 2px, transparent 2px 10%),
    var(--paper);
}

body.page-node-type-clubs .cca-booth-map-area::before {
  content: "SMU CONCOURSE";
  position: absolute;
  left: 14px;
  top: 12px;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .profileinfo,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .profileinfo,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .profileinfo > .row,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .profileinfo > .row {
  align-items: stretch !important;
  margin: 0 !important;
  gap: 28px;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .cbdclubtitle,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .coverphoto,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto {
  flex: 1 1 0;
  box-sizing: border-box;
  max-width: none;
  min-height: clamp(360px, 45vw, 560px);
  margin-bottom: 0 !important;
  border: 4px solid var(--ink);
  border-radius: 14px;
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .cbdclubtitle,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  padding: 28px;
  background:
    var(--cca-profile-photo, none) center / min(74%, 440px) auto no-repeat,
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 0 12px, transparent 12px 28px),
    var(--red);
  color: #fff;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .cbdclubtitle::before,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle::before {
  content: "CCA Profile";
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 1;
  padding: 8px 14px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .cbdclubtitle::after,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle::after {
  content: "";
  position: absolute;
  right: -58px;
  bottom: -64px;
  width: 230px;
  height: 230px;
  border: 5px dashed rgba(255, 255, 255, 0.68);
  border-radius: 50%;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .cbdclubtitle h1,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle h1 {
  position: relative;
  z-index: 1;
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(54px, 7.8vw, 112px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 0.88;
  text-align: left;
  text-shadow: 5px 5px 0 var(--ink);
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .coverphoto,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto {
  overflow: hidden;
  padding: 22px !important;
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.07) 0 2px, transparent 2px 24px),
    var(--cream-2);
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .coverphoto > div,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto > div {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  border: 4px solid var(--ink);
  border-radius: 18px;
  background: rgba(255, 253, 245, 0.88);
  box-shadow: 6px 6px 0 rgba(21, 21, 21, 0.18);
}

body.page-node-type-clubs .cca-booth-location-source {
  display: none !important;
}

body.page-node-type-clubs .cca-booth-location-note {
  position: relative;
  z-index: 1;
  margin: auto 14px 14px;
  padding: 12px;
  border: 3px dashed var(--ink);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

body.page-node-type-clubs .cca-booth-location-note b,
body.page-node-type-clubs .cca-booth-location-note strong {
  font-size: 20px;
  font-weight: 700;
}

body.page-node-type-clubs .cca-booth-location-note p {
  margin: 0;
}

body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5 .coverphoto img,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto img,
body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-6 .profilephoto {
  display: none;
}

body.page-node-type-clubs .field_club_section {
  display: none;
}

body.page-node-type-clubs .cca-content {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 28px;
  margin: 28px auto 0;
}

body.page-node-type-clubs .cca-final-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  margin: 28px auto 0;
}

body.page-node-type-clubs .cca-final-row > * {
  width: 100%;
  min-width: 0;
}

body.page-node-type-clubs .field_about_section,
body.page-node-type-clubs .field_key_events,
body.page-node-type-clubs .field_social_medias,
body.page-node-type-clubs .field_club_sessions,
body.page-node-type-clubs .field_how_to_join,
body.page-node-type-clubs .field_accomplishments,
body.page-node-type-clubs .field_achievements,
body.page-node-type-clubs .field_faq {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  padding: 24px;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-clubs .cca-content > :only-child {
  grid-column: 1 / -1;
  width: 100%;
}

body.page-node-type-clubs .cca-final-row > :only-child {
  grid-column: 1 / -1;
}

body.page-node-type-clubs .field_key_events {
  margin: 28px auto 0;
}

body.page-node-type-clubs .field_about_section > div:first-child,
body.page-node-type-clubs .field_about_section > h2,
body.page-node-type-clubs .field_key_events > div:first-child,
body.page-node-type-clubs .field_key_events > h2,
body.page-node-type-clubs .field_achievements > div:first-child,
body.page-node-type-clubs .field_achievements > h2,
body.page-node-type-clubs .field_social_medias > div:first-child + div,
body.page-node-type-clubs .field_club_sessions > div:first-child,
body.page-node-type-clubs .field_club_sessions > h2,
body.page-node-type-clubs .field_how_to_join > div:first-child,
body.page-node-type-clubs .field_how_to_join > h2,
body.page-node-type-clubs .field_accomplishments > div:first-child,
body.page-node-type-clubs .field_accomplishments > h2,
body.page-node-type-clubs .field_faq > div:first-child,
body.page-node-type-clubs .field_faq > h2 {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(34px, 3.6vw, 44px);
  font-weight: 400;
  line-height: 0.95;
}

body.page-node-type-clubs .field_about_section > .row,
body.page-node-type-clubs .field_key_events > .row,
body.page-node-type-clubs .field_key_events > .event-list,
body.page-node-type-clubs .field_achievements > .row,
body.page-node-type-clubs .field_achievements > .event-list,
body.page-node-type-clubs .field_club_sessions > .row,
body.page-node-type-clubs .field_how_to_join > .row,
body.page-node-type-clubs .field_accomplishments > .row {
  margin: 0;
  display: block;
}

body.page-node-type-clubs .field_club_sessions > .detail-list,
body.page-node-type-clubs .field_how_to_join > .detail-list {
  display: grid;
  gap: 12px;
}

body.page-node-type-clubs .cca-card-eyebrow {
  display: inline-flex;
  align-items: center;
  margin: 0 0 16px;
  padding: 6px 12px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-clubs .field_about_section p,
body.page-node-type-clubs .field_key_events p,
body.page-node-type-clubs .field_key_events li,
body.page-node-type-clubs .field_achievements p,
body.page-node-type-clubs .field_achievements li,
body.page-node-type-clubs .field_club_sessions p,
body.page-node-type-clubs .field_club_sessions li,
body.page-node-type-clubs .field_how_to_join p,
body.page-node-type-clubs .field_how_to_join li,
body.page-node-type-clubs .field_accomplishments p,
body.page-node-type-clubs .field_accomplishments li {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.58;
}

body.page-node-type-clubs .field_key_events ol,
body.page-node-type-clubs .field_key_events ul,
body.page-node-type-clubs .field_achievements ol,
body.page-node-type-clubs .field_achievements ul,
body.page-node-type-clubs .field_club_sessions ol,
body.page-node-type-clubs .field_club_sessions ul,
body.page-node-type-clubs .field_how_to_join ol,
body.page-node-type-clubs .field_how_to_join ul,
body.page-node-type-clubs .field_accomplishments ol,
body.page-node-type-clubs .field_accomplishments ul {
  margin: 0;
  padding-left: 22px;
}

body.page-node-type-clubs .field_key_events .event-list > ol,
body.page-node-type-clubs .field_key_events .event-list > ul,
body.page-node-type-clubs .field_achievements .event-list > ol,
body.page-node-type-clubs .field_achievements .event-list > ul,
body.page-node-type-vivace-islands .field_key_events .event-list > ol,
body.page-node-type-vivace-islands .field_key_events .event-list > ul,
body.page-node-type-vivace-islands .field_achievements .event-list > ol,
body.page-node-type-vivace-islands .field_achievements .event-list > ul {
  counter-reset: cca-event;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.page-node-type-clubs .field_key_events .event-list > ol > li,
body.page-node-type-clubs .field_key_events .event-list > ul > li,
body.page-node-type-clubs .field_achievements .event-list > ol > li,
body.page-node-type-clubs .field_achievements .event-list > ul > li,
body.page-node-type-vivace-islands .field_key_events .event-list > ol > li,
body.page-node-type-vivace-islands .field_key_events .event-list > ul > li,
body.page-node-type-vivace-islands .field_achievements .event-list > ol > li,
body.page-node-type-vivace-islands .field_achievements .event-list > ul > li {
  counter-increment: cca-event;
  position: relative;
  display: block;
  max-width: none;
  margin: 0;
  min-height: 62px;
  padding: 14px 14px 14px 68px;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .field_key_events .event-list > ol > li::before,
body.page-node-type-clubs .field_key_events .event-list > ul > li::before,
body.page-node-type-clubs .field_achievements .event-list > ol > li::before,
body.page-node-type-clubs .field_achievements .event-list > ul > li::before,
body.page-node-type-vivace-islands .field_key_events .event-list > ol > li::before,
body.page-node-type-vivace-islands .field_key_events .event-list > ul > li::before,
body.page-node-type-vivace-islands .field_achievements .event-list > ol > li::before,
body.page-node-type-vivace-islands .field_achievements .event-list > ul > li::before {
  content: counter(cca-event, decimal-leading-zero);
  position: absolute;
  top: 14px;
  left: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--red);
  color: #fff;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-clubs .field_key_events .event-list li strong,
body.page-node-type-clubs .field_key_events .event-list li b,
body.page-node-type-clubs .field_achievements .event-list li strong,
body.page-node-type-clubs .field_achievements .event-list li b,
body.page-node-type-vivace-islands .field_key_events .event-list li strong,
body.page-node-type-vivace-islands .field_key_events .event-list li b,
body.page-node-type-vivace-islands .field_achievements .event-list li strong,
body.page-node-type-vivace-islands .field_achievements .event-list li b {
  display: inline-block;
  margin: 0 0 4px;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}

body.page-node-type-clubs .field_key_events .event-list li u,
body.page-node-type-clubs .field_achievements .event-list li u,
body.page-node-type-vivace-islands .field_key_events .event-list li u,
body.page-node-type-vivace-islands .field_achievements .event-list li u {
  text-decoration: none;
}

body.page-node-type-clubs .field_key_events .event-list li br,
body.page-node-type-clubs .field_achievements .event-list li br,
body.page-node-type-vivace-islands .field_key_events .event-list li br,
body.page-node-type-vivace-islands .field_achievements .event-list li br {
  display: block;
  content: "";
  margin-top: 4px;
}

body.page-node-type-clubs .field_club_sessions table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  background: transparent;
}

body.page-node-type-clubs .field_club_sessions .table-responsive {
  overflow: visible;
}

body.page-node-type-clubs .field_club_sessions tbody,
body.page-node-type-clubs .field_club_sessions tr {
  display: grid;
  gap: 12px;
}

body.page-node-type-clubs .field_club_sessions tr {
  margin: 0 0 12px;
  padding: 14px;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .field_club_sessions tr:last-child {
  margin-bottom: 0;
}

body.page-node-type-clubs .field_club_sessions td,
body.page-node-type-clubs .field_club_sessions th {
  display: block;
  padding: 0;
  border: 0;
  background: transparent !important;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.35;
  text-align: left !important;
}

body.page-node-type-clubs .field_club_sessions td:first-child,
body.page-node-type-clubs .field_club_sessions th:first-child {
  margin-bottom: 5px;
}

body.page-node-type-clubs .field_club_sessions td:first-child strong,
body.page-node-type-clubs .field_club_sessions th:first-child strong,
body.page-node-type-clubs .field_club_sessions td:first-child b,
body.page-node-type-clubs .field_club_sessions th:first-child b {
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content table {
  display: table;
  width: 100%;
  margin: 0 0 14px;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content thead {
  display: table-header-group;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content tbody {
  display: table-row-group;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content tr {
  display: table-row;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content td,
body.page-node-type-clubs .field_club_sessions .club-sessions-content th {
  display: table-cell;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(21, 21, 21, 0.24);
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
  vertical-align: top;
}

body.page-node-type-clubs .field_club_sessions .club-sessions-content th {
  font-weight: 700;
}

body.page-node-type-clubs .field_how_to_join p,
body.page-node-type-clubs .field_how_to_join li {
  max-width: none;
  margin: 0;
  padding: 14px;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: #fff;
  color: #555;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .field_how_to_join p strong,
body.page-node-type-clubs .field_how_to_join li strong,
body.page-node-type-clubs .field_how_to_join p b,
body.page-node-type-clubs .field_how_to_join li b {
  display: block;
  margin-bottom: 5px;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
}

body.page-node-type-clubs .field_faq,
body.page-node-type-clubs .field_achievements {
  margin: 28px auto 0;
}

body.page-node-type-clubs .field_accomplishments {
  width: 100%;
  margin: 28px auto 0;
}

body.page-node-type-clubs .cca-faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-node-type-clubs .cca-faq-item {
  overflow: hidden;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: #fff;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .cca-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 0;
  background: #fff;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}

body.page-node-type-clubs .cca-faq-question::after {
  content: "";
  flex: 0 0 auto;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 8px solid var(--ink);
  transform: rotate(-90deg);
  transition: transform 0.14s ease;
}

body.page-node-type-clubs .cca-faq-question:not(.collapsed)::after {
  transform: rotate(0deg);
}

body.page-node-type-clubs .cca-faq-question em {
  display: none;
}

body.page-node-type-clubs .cca-faq-answer {
  padding: 12px 14px 14px;
  border-top: 2px dashed var(--ink);
  color: #555;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

body.page-node-type-clubs .cca-faq-answer p:last-child {
  margin-bottom: 0;
}

body.page-node-type-clubs .field_about_section p:last-child,
body.page-node-type-clubs .field_key_events li:last-child,
body.page-node-type-clubs .field_achievements li:last-child {
  margin-bottom: 0;
}

body.page-node-type-clubs .field_about_section .cca-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

body.page-node-type-clubs .field_about_section .cca-actions a,
body.page-node-type-clubs .field_about_section .cca-actions button.save-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 3px solid var(--ink);
  border-radius: 999px;
  padding: 11px 18px;
  background: var(--ink);
  color: var(--cream);
  font-family: "Fredoka", system-ui, sans-serif;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  box-shadow: 4px 4px 0 var(--yellow);
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

body.page-node-type-clubs .field_about_section .cca-actions a:hover,
body.page-node-type-clubs .field_about_section .cca-actions a:focus-visible,
body.page-node-type-clubs .field_about_section .cca-actions button.save-detail:hover,
body.page-node-type-clubs .field_about_section .cca-actions button.save-detail:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--yellow);
}

body.page-node-type-clubs .field_about_section .cca-actions button.save-detail.saved {
  background: var(--red);
  color: #fff;
}

body.page-node-type-clubs .field_about_section .cca-actions a.ghost {
  background: var(--cream);
  color: var(--ink);
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .field_about_section .cca-actions a.ghost:hover,
body.page-node-type-clubs .field_about_section .cca-actions a.ghost:focus-visible {
  box-shadow: 6px 6px 0 var(--ink);
}

body.page-node-type-clubs .register-pill {
  position: fixed;
  left: 28px;
  bottom: 32px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 5px 5px 0 var(--ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body.page-node-type-clubs .register-pill:hover,
body.page-node-type-clubs .register-pill:focus-visible {
  color: #fff;
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--ink);
}

body.page-node-type-clubs .register-pill-icon {
  font-size: 13px;
  line-height: 1;
}

body.page-node-type-clubs .cca-social-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-node-type-clubs .cca-social-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  max-width: 100%;
  min-width: 0;
  padding: 12px 14px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 4px 4px 0 rgba(21, 21, 21, 0.22);
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

body.page-node-type-clubs .cca-social-item span {
  min-width: 0;
}

body.page-node-type-clubs .cca-social-item:hover,
body.page-node-type-clubs .cca-social-item:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--ink);
}

body.page-node-type-clubs .cca-social-item strong,
body.page-node-type-clubs .cca-social-item small {
  display: block;
}

body.page-node-type-clubs .cca-social-item strong {
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.1;
}

body.page-node-type-clubs .cca-social-item small {
  max-width: 28ch;
  margin-top: 4px;
  overflow: hidden;
  color: rgba(21, 21, 21, 0.68);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.page-node-type-clubs .cca-social-item em {
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  box-shadow: 2px 2px 0 rgba(21, 21, 21, 0.35);
}

body.page-node-type-clubs .cca-gallery-card {
  margin: 28px auto 0;
  padding: 24px;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-clubs .cca-gallery-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 18px;
}

body.page-node-type-clubs .cca-gallery-head h2 {
  margin: 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(34px, 3.6vw, 42px);
  font-weight: 400;
  line-height: 1;
}

body.page-node-type-clubs .cca-gallery-count {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-clubs .cca-gallery-carousel {
  position: relative;
  overflow: visible;
  padding: 0;
  margin-bottom: 0 !important;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.page-node-type-clubs .cca-gallery-carousel::after {
  display: none;
  content: none;
}

body.page-node-type-clubs .cca-gallery-carousel .carousel-inner {
  overflow: hidden;
  min-height: 360px;
  aspect-ratio: 16 / 10;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: #fff;
  box-shadow: 7px 7px 0 var(--ink);
}

body.page-node-type-clubs .cca-gallery-carousel .carousel-item {
  height: 100%;
  min-height: 360px;
  background: #fff;
}

body.page-node-type-clubs .cca-gallery-carousel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 28px;
  filter: drop-shadow(4px 4px 0 rgba(21, 21, 21, 0.22));
}

body.page-node-type-clubs .cca-gallery-item--video {
  padding: 28px;
}

body.page-node-type-clubs .cca-gallery-video {
  width: 100%;
  margin: auto 0;
  background: #000;
}

body.page-node-type-clubs .cca-gallery-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

body.page-node-type-clubs .cca-gallery-carousel .carousel-control-prev,
body.page-node-type-clubs .cca-gallery-carousel .carousel-control-next {
  top: 50%;
  bottom: auto;
  width: 46px;
  height: 46px;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  opacity: 1;
  transform: translateY(-50%);
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-clubs .cca-gallery-carousel .carousel-control-prev-icon,
body.page-node-type-clubs .cca-gallery-carousel .carousel-control-next-icon {
  display: none;
}

body.page-node-type-clubs .cca-gallery-carousel .carousel-control-prev { left: -12px; }
body.page-node-type-clubs .cca-gallery-carousel .carousel-control-next { right: -12px; }

body.page-node-type-clubs .cca-gallery-caption {
  min-height: 1.5em;
  margin: 14px 0 0;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  text-align: left;
}

body.page-node-type-clubs .cca-gallery-caption-item {
  display: none;
}

body.page-node-type-clubs .cca-gallery-caption-item.active {
  display: inline;
}

body.page-node-type-clubs .cca-gallery-thumbs {
  display: flex;
  gap: 10px;
  margin-top: 14px;
  overflow-x: auto;
  padding: 0 4px 8px;
}

body.page-node-type-clubs .cca-gallery-thumb {
  flex: 0 0 auto;
  width: 78px;
  height: 58px;
  overflow: hidden;
  padding: 5px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  background: #fff;
  opacity: 0.72;
  box-shadow: 3px 3px 0 var(--ink);
  cursor: pointer;
}

body.page-node-type-clubs .cca-gallery-thumb.active,
body.page-node-type-clubs .cca-gallery-thumb:hover,
body.page-node-type-clubs .cca-gallery-thumb:focus-visible {
  opacity: 1;
  background: var(--yellow);
  transform: translate(-2px, -2px);
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-clubs .cca-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

body.page-node-type-clubs .cca-gallery-thumb--video {
  display: grid;
  place-items: center;
}

body.page-node-type-clubs .cca-gallery-thumb--video span {
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}

body.vivace-saved-receipt-page,
body.vivace-saved-receipt-page .dialog-off-canvas-main-canvas,
body.vivace-saved-receipt-page .main-container {
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.08) 0 2px, transparent 2px 28px),
    linear-gradient(180deg, var(--yellow), var(--cream));
}

body.vivace-saved-receipt-page .node--page-wrapper {
  padding: 46px 20px 76px;
}

body.page-node-type-faqs,
body.page-node-type-faqs .dialog-off-canvas-main-canvas,
body.page-node-type-faqs .main-container {
  background: url("/sites/vivace.smu.edu.sg/themes/vivace_2026_5g/images/FAQ_bg.png") top center / 100% auto repeat-y;
}

body.page-node-type-faqs .main-container {
  overflow: hidden;
}

body.page-node-type-faqs .breadcrumb,
body.page-node-type-faqs #title-breadcrumbs .breadcrumb {
  display: none;
}

body.page-node-type-faqs h1 {
  width: min(700px, calc(100% - 40px));
  margin: 56px auto 10px;
  padding: 36px 48px 32px;
  border: 3px solid var(--ink);
  border-radius: 18px;
  background: #fff;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(50px, 7vw, 86px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-shadow: none;
  box-shadow: 7px 7px 0 var(--ink);
}

body.page-node-type-faqs h1::after {
  content: "Find answers to common questions about Vivace by clicking the scrolls below!";
  display: block;
  max-width: 48ch;
  margin: 12px auto 0;
  color: #2a4a5e;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
}

body.page-node-type-faqs .body h3.text-align-center,
body.page-node-type-faqs .body p.text-align-center {
  display: none;
}

body.page-node-type-faqs .node--faqs-wrapper,
body.page-node-type-faqs .node--faqs-wrapper > div,
body.page-node-type-faqs .field_faqs,
body.page-node-type-faqs .field_faqs > div,
body.page-node-type-faqs .field--name-field-faqs,
body.page-node-type-faqs .field--name-field-faqs > div {
  counter-reset: faq-coupon;
}

body.page-node-type-faqs .node--faqs-wrapper::before,
body.page-node-type-faqs .field_faqs::before,
body.page-node-type-faqs .field--name-field-faqs::before {
  content: "\2702   this week's coupons   \2702";
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(760px, calc(100% - 40px));
  margin: 24px auto 32px;
  padding: 4px 12px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: #4a7fa8;
  color: #fff;
  font-family: "Space Mono", monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  line-height: 1.2;
  text-transform: uppercase;
  box-shadow: 2px 2px 0 var(--ink);
}

body.page-node-type-faqs .coupon-item {
  counter-increment: faq-coupon;
  position: relative;
  width: min(760px, calc(100% - 40px));
  margin: 0 auto 20px;
  overflow: hidden;
  border-radius: 10px;
  filter: drop-shadow(4px 6px 0 rgba(26, 26, 26, 0.22));
  transition: filter 0.15s ease, transform 0.15s ease;
}

body.page-node-type-faqs .coupon-item:nth-of-type(odd) { transform: rotate(-0.35deg); }
body.page-node-type-faqs .coupon-item:nth-of-type(even) { transform: rotate(0.25deg); }
body.page-node-type-faqs .coupon-item:hover { transform: rotate(0deg) translateY(-2px); filter: drop-shadow(5px 8px 0 rgba(26, 26, 26, 0.3)); }

body.page-node-type-faqs .coupon-face {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  border: 3px dashed var(--ink);
  border-radius: 10px;
  background: #fffef9;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: border-radius 0.3s ease;
}

body.page-node-type-faqs .coupon-face:not(.collapsed) {
  border-bottom-style: solid;
  border-bottom-color: rgba(26, 26, 26, 0.2);
  border-radius: 10px 10px 0 0;
}

body.page-node-type-faqs .coupon-cut-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px;
  border-bottom: 2px dashed rgba(26, 26, 26, 0.25);
  background: #f5f0e8;
}

body.page-node-type-faqs .cut-scissors {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  transition: transform 0.25s ease;
}

body.page-node-type-faqs .coupon-face:hover .cut-scissors,
body.page-node-type-faqs .coupon-face:not(.collapsed) .cut-scissors {
  transform: translateX(4px) rotate(-15deg);
}

body.page-node-type-faqs .cut-dashes {
  flex: 1;
  height: 2px;
  background: repeating-linear-gradient(90deg, rgba(26, 26, 26, 0.3) 0 6px, transparent 6px 12px);
}

body.page-node-type-faqs .cut-label,
body.page-node-type-faqs .cut-clipped-label {
  font-family: "Space Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.page-node-type-faqs .cut-label { color: rgba(26, 26, 26, 0.4); }
body.page-node-type-faqs .cut-clipped-label { display: none; color: #4a7fa8; }
body.page-node-type-faqs .coupon-face:not(.collapsed) .cut-label { display: none; }
body.page-node-type-faqs .coupon-face:not(.collapsed) .cut-clipped-label { display: inline; }

body.page-node-type-faqs .coupon-row {
  display: flex;
  min-height: 100px;
}

body.page-node-type-faqs .coupon-side {
  width: 78px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 8px;
  border-right: 2px dashed rgba(26, 26, 26, 0.25);
  background: #d4920a;
}

body.page-node-type-faqs .coupon-item:nth-of-type(2n) .coupon-side { background: #c0392b; }
body.page-node-type-faqs .coupon-item:nth-of-type(3n) .coupon-side { background: #4a7fa8; }
body.page-node-type-faqs .coupon-item:nth-of-type(4n) .coupon-side { background: #e07820; }

body.page-node-type-faqs .coupon-num::before {
  content: counter(faq-coupon, decimal-leading-zero);
}

body.page-node-type-faqs .coupon-num {
  color: #fff;
  font-family: "Space Mono", monospace;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
}

body.page-node-type-faqs .coupon-clip-word {
  color: rgba(255, 255, 255, 0.75);
  font-family: "Space Mono", monospace;
  font-size: 8px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

body.page-node-type-faqs .coupon-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 18px;
}

body.page-node-type-faqs .coupon-eyebrow {
  color: #4a7fa8;
  font-family: "Space Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

body.page-node-type-faqs .coupon-q {
  margin: 0;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: clamp(17px, 2.4vw, 22px);
  font-weight: 700;
  line-height: 1.3;
}

body.page-node-type-faqs .coupon-footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 8px;
  border-top: 1px solid rgba(26, 26, 26, 0.1);
}

body.page-node-type-faqs .coupon-expiry,
body.page-node-type-faqs .coupon-hint {
  color: rgba(26, 26, 26, 0.45);
  font-family: "Space Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.page-node-type-faqs .coupon-hint {
  color: #4a7fa8;
  font-size: 10px;
}

body.page-node-type-faqs .coupon-face:not(.collapsed) .coupon-hint { opacity: 0; }

body.page-node-type-faqs .coupon-stub {
  overflow: hidden;
  border: 3px dashed var(--ink);
  border-top: 0;
  border-radius: 0 0 10px 10px;
}

body.page-node-type-faqs .coupon-stub-inner {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px 20px 20px;
  background: #eaf3fa;
}

body.page-node-type-faqs .stub-top {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(74, 127, 168, 0.35);
}

body.page-node-type-faqs .stub-check {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #4a7fa8;
  color: #fff;
  font-size: 12px;
}

body.page-node-type-faqs .stub-clipped-label {
  color: #4a7fa8;
  font-family: "Space Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

body.page-node-type-faqs .stub-answer,
body.page-node-type-faqs .stub-answer p {
  margin: 0;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.55;
}

body.page-node-type-faqs .stub-answer a {
  color: #c0392b;
  font-weight: 700;
}

@media (max-width: 560px) {
  body.page-node-type-faqs h1 {
    margin-top: 32px;
    padding: 28px 20px 24px;
  }

  body.page-node-type-faqs .coupon-side { width: 60px; }
  body.page-node-type-faqs .coupon-num { font-size: 20px; }
  body.page-node-type-faqs .coupon-main { padding: 12px 14px; }
  body.page-node-type-faqs .coupon-expiry { display: none; }
  body.page-node-type-faqs .coupon-item:nth-of-type(odd),
  body.page-node-type-faqs .coupon-item:nth-of-type(even) { transform: none; }
}

.saved-receipt-page {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  align-items: center;
  gap: 44px;
  max-width: 1180px;
  margin: 0 auto;
}

.saved-receipt-copy h1 {
  max-width: 8em;
  margin: 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(50px, 8vw, 98px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0;
  text-shadow: 5px 5px 0 rgba(255, 255, 255, 0.65);
}

.saved-receipt-copy p {
  max-width: 42em;
  margin: 20px 0 0;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.5;
}

.saved-receipt-page-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.saved-receipt-page-actions button[hidden] {
  display: none;
}

.saved-receipt-page-actions button[data-clear-saved],
.receipt-remove,
.receipt-clear {
  background: var(--red);
  color: #fff;
}

.saved-receipt-page-actions button[data-print-saved],
.receipt-link,
.receipt-print {
  background: var(--blue);
  color: #fff;
}

.saved-receipt {
  width: min(520px, 100%);
  margin: 0 auto;
  padding: 28px 22px 24px;
  border-right: 4px solid var(--ink);
  border-left: 4px solid var(--ink);
  background:
    radial-gradient(circle at 12px 0, transparent 0 9px, var(--paper) 10px) top left / 24px 14px repeat-x,
    radial-gradient(circle at 12px 100%, transparent 0 9px, var(--paper) 10px) bottom left / 24px 14px repeat-x,
    repeating-linear-gradient(0deg, rgba(21, 21, 21, 0.035) 0 1px, transparent 1px 28px),
    var(--paper);
  color: var(--ink);
  box-shadow: 8px 8px 0 var(--ink);
  position: relative;
}

.saved-receipt::before,
.saved-receipt::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  height: 4px;
  background: var(--ink);
}

.saved-receipt::before { top: 10px; }
.saved-receipt::after { bottom: 10px; }

.receipt-head {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 3px dashed var(--ink);
  text-align: center;
}

.receipt-kicker {
  font-family: "Space Mono", monospace;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.receipt-title {
  margin: 4px 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
}

.receipt-count {
  display: inline-flex;
  margin-top: 4px;
  padding: 4px 10px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  font-family: "Space Mono", monospace;
  font-size: 12px;
}

.receipt-empty {
  margin: 0;
  padding: 14px 0;
  text-align: center;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  line-height: 1.5;
}

.receipt-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.receipt-item {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  gap: 10px;
  align-items: start;
  padding: 9px 0;
  border-bottom: 2px dashed rgba(21, 21, 21, 0.45);
}

.receipt-num {
  font-family: "Space Mono", monospace;
  font-size: 12px;
}

.receipt-name {
  display: block;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.05;
}

.receipt-meta {
  display: block;
  margin-top: 3px;
  color: #555;
  font-family: "Space Mono", monospace;
  font-size: 11px;
}

.receipt-row-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.receipt-link,
.receipt-remove {
  padding: 6px 10px;
  border-width: 2px;
  box-shadow: 2px 2px 0 var(--ink);
}

.receipt-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 3px dashed var(--ink);
  font-family: "Space Mono", monospace;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 820px) {
  .saved-receipt-page {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .saved-receipt-copy h1 {
    font-size: clamp(44px, 14vw, 70px);
  }

  .receipt-item {
    grid-template-columns: 28px 1fr;
  }

  .receipt-row-actions {
    grid-column: 2;
    justify-content: flex-start;
  }
}

@media print {
  body.vivace-saved-receipt-page * {
    visibility: hidden !important;
  }

  body.vivace-saved-receipt-page .saved-receipt,
  body.vivace-saved-receipt-page .saved-receipt * {
    visibility: visible !important;
  }

  body.vivace-saved-receipt-page .saved-receipt {
    position: absolute;
    top: 0;
    left: 0;
    width: 340px;
    margin: 0;
    box-shadow: none;
  }

  body.vivace-saved-receipt-page .receipt-row-actions {
    display: none !important;
  }
}

@media (max-width: 767px) {
  body.page-node-type-clubs .cca-hero-panel {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-right: 16px;
    margin-left: 16px;
    margin-top: 50px;
  }

  body.page-node-type-clubs .cca-detail-actions {
    justify-content: flex-start;
    margin-right: 16px;
    margin-left: 16px;
  }

  body.page-node-type-clubs .cca-title-panel,
  body.page-node-type-clubs .ms-club-col,
  body.page-node-type-clubs .cca-booth-panel {
    min-height: 360px;
  }

  body.page-node-type-clubs .cca-booth-panel {
    min-height: 240px;
  }

  body.page-node-type-clubs .cca-title-panel h1 {
    font-size: clamp(44px, 16vw, 64px);
  }

  body.page-node-type-clubs .cca-content {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-right: 16px;
    margin-left: 16px;
    max-width: calc(100vw - 32px);
  }

  body.page-node-type-clubs .cca-content > * {
    min-width: 0;
  }

  body.page-node-type-clubs .field_key_events {
    margin: 28px 16px 0 16px;
  }

  body.page-node-type-clubs .cca-gallery-card {
    margin: 28px 16px 0 16px;
    padding: 24px;
    border: 4px solid var(--ink);
    border-radius: 14px;
    background: var(--paper);
    box-shadow: 10px 10px 0 var(--ink);
  }

  body.page-node-type-clubs .field_faq,
  body.page-node-type-clubs .field_achievements {
    margin: 28px 16px 0 16px;
  }

  body.page-node-type-clubs .cca-final-row {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-right: 16px;
    margin-left: 16px;
    max-width: calc(100vw - 32px);
    overflow: visible;
  }

  body.page-node-type-clubs .field_about_section,
  body.page-node-type-clubs .field_key_events,
  body.page-node-type-clubs .field_social_medias,
  body.page-node-type-clubs .field_club_sessions,
  body.page-node-type-clubs .field_how_to_join,
  body.page-node-type-clubs .field_accomplishments,
  body.page-node-type-clubs .field_achievements,
  body.page-node-type-clubs .field_faq {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 18px;
    border-width: 3px;
    border-radius: 12px;
    box-shadow: 6px 6px 0 var(--ink);
    overflow: hidden;
  }

  body.page-node-type-clubs .field_club_sessions > div:first-child,
  body.page-node-type-clubs .field_club_sessions > h2,
  body.page-node-type-clubs .field_how_to_join > div:first-child,
  body.page-node-type-clubs .field_how_to_join > h2 {
    font-size: clamp(34px, 13vw, 48px);
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body.page-node-type-clubs .field_club_sessions > .detail-list,
  body.page-node-type-clubs .field_how_to_join > .detail-list,
  body.page-node-type-clubs .field_club_sessions table,
  body.page-node-type-clubs .field_club_sessions tbody,
  body.page-node-type-clubs .field_club_sessions tr,
  body.page-node-type-clubs .field_how_to_join p,
  body.page-node-type-clubs .field_how_to_join li {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  body.page-node-type-clubs .field_club_sessions tr,
  body.page-node-type-clubs .field_how_to_join p,
  body.page-node-type-clubs .field_how_to_join li {
    padding: 12px;
    border-width: 3px;
    box-shadow: 3px 3px 0 var(--ink);
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.page-node-type-clubs .field_club_sessions td,
  body.page-node-type-clubs .field_club_sessions th,
  body.page-node-type-clubs .field_how_to_join p,
  body.page-node-type-clubs .field_how_to_join li,
  body.page-node-type-clubs .field_how_to_join a {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.page-node-type-clubs .field_club_sessions .club-sessions-content table,
  body.page-node-type-clubs .field_club_sessions .club-sessions-content tbody,
  body.page-node-type-clubs .field_club_sessions .club-sessions-content tr {
    max-width: 100%;
    min-width: 0;
  }

  body.page-node-type-clubs .field_club_sessions .club-sessions-content table {
    table-layout: fixed;
    width: 100%;
  }

  body.page-node-type-clubs .field_club_sessions .club-sessions-content tr {
    padding: 0;
    border-width: 0;
    box-shadow: none;
    overflow-wrap: normal;
  }

  body.page-node-type-clubs .field_club_sessions .club-sessions-content td,
  body.page-node-type-clubs .field_club_sessions .club-sessions-content th {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  body.page-node-type-clubs .sticky-social {
    right: 0.75rem;
    bottom: 0.75rem;
    transform: scale(0.86);
    transform-origin: right bottom;
  }

  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 {
    padding-right: 16px;
    padding-left: 16px;
  }

  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .profileinfo > .row {
    flex-direction: column;
    gap: 20px;
  }

  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle,
  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto {
    flex: 0 0 auto;
    width: 100%;
    min-height: 360px;
  }

  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .coverphoto {
    min-height: 240px;
  }

  body.page-node-type-clubs #block-vivace-2026-5g-views-block-cover-image-block-5-2 .cbdclubtitle h1 {
    font-size: clamp(44px, 16vw, 64px);
  }
}

.vvc23-header-wrapper {
  padding-top: 80px;
}

.tbm-submenu {
  width: 35rem;
  overflow: hidden !important;
}
.tbm-submenu a {
  color: #FFF;
}

.playbtn {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 3rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #FFF;
}

.embedcode {
  cursor: pointer;
}
.embedcode:hover .playbtn {
  color: #ff0000;
}

.profileinfo {
  border-radius: 100px;
}

/*
.page-node-type-clubs {
	&.acf {
		.profileinfo {
			background-color: #f065a2;
		}
	}
	&.ssu {
		.profileinfo {
			background-color: #131e46;
		}
	}
	&.smux {
		.profileinfo {
			background-color: #df6809;
		}
	}
	&.sics {
		.profileinfo {
			background-color: #028d3f;
		}
	}
	&.icon {
		.profileinfo {
			background-color: #ead130;
		}
	}
	&.academic-based {
		.profileinfo {
			background-color: #4da6b8;
		}
	}
	&.governance-registered-and-independents {
		.profileinfo {
			background-color: #9dac7c;
		}
	}
}
    */
.coverphoto img {
  max-width: 100%;
  height: auto;
}

.page-node-type-page .carousel {
  width: 80%;
  width: 100%;
}

.cca-menu-category .views-field-title {
  padding-left: 1rem;
  position: relative;
}
.cca-menu-category .views-field-title:after {
  content: "» ";
  position: absolute;
  top: -1px;
  left: 0px;
  color: #FFF;
}

.block--ccamenu-2 {
  z-index: 10;
}

.accordionwrapper {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 16px;
  padding: 1rem;
  cursor: pointer;
}
.accordionwrapper h3 {
  color: #fff;
}
.accordionwrapper .fas {
  background-color: #F1CF3C;
  padding: 8px;
  border-radius: 100%;
}
.accordionwrapper .fa-chevron-up {
  position: absolute;
  right: 1rem;
  top: 35%;
  background-color: #F1CF3C;
  padding: 8px;
  border-radius: 100%;
}

/*
body {
    //background-image:url("/sites/vivace.smu.edu.sg/files/2023/bg-home.jpg");
    background-image:url("../images/vivace2024bg.jpg");
    background-size: cover;
    background-attachment: fixed;
    color:#FFF;

    //cursor: url("../images/cursor.png"), auto;

    &.page-node-type-vivace-islands,
    &.page-node-type-clubs {
        background-image: none;
        background-attachment: fixed; 
        background-size:contain;
        background-position:center bottom;
        background-repeat:no-repeat;
        overflow-x: hidden;

        .paragraph--type--free-text {
            > div {
                margin:0 1rem;
                h2 {
                    margin: 0 -1rem 1rem -1rem;
                }
            }
        }
    }
    &.acf {
        background-color: #FC80B6;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-acf.png");
        color: #000;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
        .breadcrumb a {
            color: #3D4E8A !important;
        }
        .breadcrumb-item.active {
            color: #000;
        }
    }    
    &.ssu {
        background-color: #1b2650;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-ssu.png");
        color: #fff;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
    }  
    &.smux {
        background-color: #ff780d;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-smux.png");
        color: #fff;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
        .breadcrumb a {
            color: #3D4E8A !important;
        }
        .breadcrumb-item.active {
            color: #000;
        }
    } 
    &.icon {
        background-color: #7C04FC;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-icon.png");
        color: #000;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
    }       
    &.sics {
        background-color: #01a64a;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-sics.png");
        color: #000;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
    }  
    &.academic-based {
        background-color: #FFB12B;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-acad.png");
        color: #000;
        h1 {
            color:#000;
        }
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
        .breadcrumb a {
            color: #3D4E8A !important;
        }
        .breadcrumb-item.active {
            color: #000;
        }
    }  
    &.governance-registered-and-independents {
        background-color: #15BEBB;
        background-image: url("/sites/vivace.smu.edu.sg/files/2024/cbd-bg-gri.png");
        color: #000;
        &.page-node-type-vivace-islands,
        &.page-node-type-clubs {
            h2 {
                padding: 1rem;
                background:none;
                border-radius: 50px;
            }
        }
        .breadcrumb a {
            color: #3D4E8A !important;
        }
        .breadcrumb-item.active {
            color: #000;
        }
    }  
}


body {
    &.ssu,
    &.icon {
        p, li, h1, h2, h3, h4, h5, a {
            color: #fff;
        }
        table {
            tfoot {
                tr {
                    td {
                        color: #000;
                    }
                }
            }
            tbody {
                tr {
                    td {
                        color: #000;
                    }
                }
            }
            thead {
                tr {
                    th {
                        color: #000;
                    }
                }
            }
            p {
                color: #000 !important;
            }
        }

        .faq-inner {
            p {
                color: #000;
            }
        }
    }

}
*/
.tbm {
  background: transparent;
}
.tbm .tbm-submenu {
  left: 103%;
  top: 0;
  background: #222;
  border-radius: 15px;
  width: 35rem;
}
.tbm .tbm-submenu h3 {
  font-size: 1.3rem;
  color: #fff;
  margin: 1rem 0 0 0;
}
.tbm .tbm-submenu a {
  color: #FFF;
}
.tbm .tbm-nav {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.tbm .tbm-nav li {
  padding: 0px !important;
  margin: 0px !important;
  background: transparent;
}
.tbm .tbm-nav li .tbm-link-container {
  color: #fff;
  border: 0;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  margin-bottom: 0.5rem;
}
.tbm .tbm-nav li.active-trail .tbm-link-container {
  color: #fff;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.75);
}
.tbm .tbm-item.level-1 {
  border-right: 0;
}
.tbm .tbm-link.level-1 {
  color: #fff;
  padding: 0.85rem 1.25rem;
  font-family: "Roboto Slab";
  font-size: 1rem;
  font-weight: 400;
}
.tbm .tbm-link.level-1:hover {
  background-color: transparent;
}
.tbm .tbm-link.level-1:focus {
  background-color: transparent;
}
.tbm .tbm-submenu-toggle {
  background-color: transparent !important;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  color: #FFF;
}
.tbm .tbm-submenu-toggle:hover {
  background-color: transparent;
  outline: 0;
}
.tbm .tbm-submenu-toggle:focus {
  background-color: transparent;
  outline: 0;
}
.tbm .active-trail .tbm-submenu-toggle {
  background-color: transparent !important;
}

[dir=ltr] .tbm .tbm-nav {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.guild-icons {
  margin-top: -7% !important;
  position: relative;
}
.guild-icons div a img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform ease-in-out 0.1s;
  transition: -webkit-transform ease-in-out 0.1s;
  transition: transform ease-in-out 0.1s;
  transition: transform ease-in-out 0.1s, -webkit-transform ease-in-out 0.1s;
}
.guild-icons div a:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

#clockdiv {
  font-family: "Poppins", sans-serif;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#clockdiv .label {
  display: block;
  font-size: 1rem;
  text-transform: uppercase;
  border-bottom: 3px solid #000;
  padding: 0 0.5rem;
}
#clockdiv .clockdiv-item {
  margin: 0 0.5rem;
}
#clockdiv .figure {
  padding: 0 1rem;
  letter-spacing: 5px;
  text-align: center;
  width: 110px;
}

.page-node-type-vivace-islands .mediacastembed,
.page-node-type-clubs .mediacastembed {
  margin: 3rem auto 5rem auto !important;
}
.page-node-type-vivace-islands .mediacastembed .embedcode,
.page-node-type-clubs .mediacastembed .embedcode {
  position: relative;
  overflow: visible;
  background: none;
}
.page-node-type-vivace-islands .mediacastembed .embedcode .field_embed_code,
.page-node-type-clubs .mediacastembed .embedcode .field_embed_code {
  border-radius: 200px;
  overflow: hidden;
}
.page-node-type-vivace-islands .mediacastembed .embedcode:after,
.page-node-type-clubs .mediacastembed .embedcode:after {
  content: " ";
  background-image: url(/sites/vivace.smu.edu.sg/files/2024/frame-photo-1.png);
  position: absolute;
  width: 100%;
  height: calc(100% + 120px);
  top: -60px;
  left: 0;
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: scale(1);
  transform: scale(1);
  z-index: 1;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto Slab";
}

h1 {
  font-size: 2.2rem;
}

h2 {
  font-size: 40px;
}

h2, h3, h4 h5 {
  font-style: normal;
  font-weight: 400;
  color: #212529;
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.75);
}

.about .main-container {
  margin-top: 5rem;
}
.about h1 {
  font-weight: 400;
  font-size: 48px;
  text-align: center;
  color: #F8F9FA;
  text-shadow: 2px 2px 2px rgba(255, 255, 255, 0.25);
}
.about h2 {
  color: #FFF;
}

.frameborder {
  padding: 0 3rem;
}
.frameborder .frameborder-inner {
  background-image: url("../images/frame_columns.png");
  background-size: 100%;
  background-repeat: no-repeat;
  aspect-ratio: 640/382;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.frameborder .frameborder-inner > div {
  width: calc(100% - 6rem);
}
.frameborder .three-columns__field-body,
.frameborder .three-columns__field-left-column,
.frameborder .three-columns__field-right-column {
  padding: 2rem;
}
.frameborder h2 {
  font-size: 1.5rem;
  text-transform: uppercase;
}
.frameborder h2:after {
  content: " ";
  clear: both;
  background-color: #562009;
  height: 3px;
  width: 50%;
  display: block;
  border-radius: 30px;
  margin: 0.3rem auto 1rem auto;
}

.vvc24-choose h2 {
  text-align: center;
}

.breadcrumb {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #7F5440;
  margin-bottom: 0px;
  padding: 0;
  background-color: transparent;
  color: #FFF;
}
.breadcrumb li {
  font-size: 0.85rem;
  margin: 0 !important;
}
.breadcrumb .breadcrumb-item {
  text-transform: uppercase;
}
.breadcrumb .breadcrumb-item + .breadcrumb-item {
  padding-left: 0rem;
}
.breadcrumb .breadcrumb-item:before {
  margin-left: 10px;
}
.breadcrumb .breadcrumb-item.active {
  color: #fff;
  font-size: 0.8rem;
}
.breadcrumb a {
  color: #FF84B9;
  font-size: 0.8rem;
}

.views-field-field-island-landing {
  text-align: center;
  margin-bottom: 2rem;
}

.block--vivace-2023-4g-views-block--cover-image-block-1 .profilephoto,
#block-vivace-2023-5g-views-block-cover-image-block-1 .profilephoto,
#block-vivace-2024-5g-views-block-cover-image-block-1 .profilephoto {
  margin-top: 0%;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .profilephoto img,
#block-vivace-2023-5g-views-block-cover-image-block-1 .profilephoto img,
#block-vivace-2024-5g-views-block-cover-image-block-1 .profilephoto img {
  border-radius: 16px;
  height: auto;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto,
#block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto,
#block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto {
  position: relative;
  margin-top: 3rem;
  margin-bottom: 3rem;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto img,
#block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto img,
#block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto img {
  max-width: 100%;
  height: auto;
  border-radius: 100px;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
#block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after,
#block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto:after {
  content: " ";
  width: 100%;
  height: calc(100% + 100px);
  position: absolute;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  top: -50px;
  left: 0;
  background-image: url("/sites/vivace.smu.edu.sg/files/2024/frame-photo-1.png");
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto-text,
#block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto-text,
#block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto-text {
  color: #888;
  font-size: 0.7rem;
  padding-top: 10px;
  font-style: italic;
  text-align: right;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks {
  display: none;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks .fas, .block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks .fa, .block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks .fab,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks .fas,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks .fa,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks .fab,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks .fas,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks .fa,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks .fab {
  font-size: 1.5rem;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks a,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks a,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks a {
  color: #B50578;
}
.block--vivace-2023-4g-views-block--cover-image-block-1 .sociallinks a:hover,
#block-vivace-2023-5g-views-block-cover-image-block-1 .sociallinks a:hover,
#block-vivace-2024-5g-views-block-cover-image-block-1 .sociallinks a:hover {
  color: #3E037E;
}

.sociallinks {
  margin-left: 0.5rem;
}
.sociallinks a {
  font-size: 3rem;
  color: #3D4E8A !important;
  text-align: center;
  display: block;
}
.sociallinks a div {
  font-size: 14px;
}

.acf .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.acf #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-acf.png");
}

.ssu {
  /**
  ol.key > li {
      background: url(/sites/vivace.smu.edu.sg/files/2024/key-shadow-1.png) no-repeat left 5px;
      padding-left: 63px !important;
      margin-left: 0 !important;
      background-size: 60px auto;
  }**/
}
.ssu .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.ssu #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-ssu.png");
}
.ssu .sociallinks a {
  font-size: 3rem;
  color: #FF84B9 !important;
}

.smux .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.smux #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-smux.png");
}

.sics .block--vivace-2023-4g-views-block--cover-image-block- .coverphoto:after,
.sics #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-scis.png");
}

.icon .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.icon #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-smuicon.png");
}
.icon .sociallinks a {
  font-size: 3rem;
  color: #FF84B9 !important;
}

.academic-based .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.academic-based #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-acad.png");
}

.governance-registered-and-independents .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
.governance-registered-and-independents #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after {
  background-image: url("/sites/vivace.smu.edu.sg/files/2023/img-gri.png");
}

.tv-overlay {
  display: none;
}

a.cta.cta-orange {
  background-color: #ED5735;
  border: 0px;
  border-radius: 50px;
  color: #ffdd71;
}
a.cta.cta-orange:hover {
  color: #ED5735;
}

.ccadrodownmenu {
  text-align: center;
  width: 100%;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 40px;
  /*
  &:after  {
      content:" ";
      display:block;
      bottom:0px;
      position:absolute;
      width:100%;
      border-radius:10px;
      border-bottom: 5px solid #7F5440;
  }
  */
}
.ccadrodownmenu.show a.cta[aria-expanded=true] .fas.fa-chevron-down {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: all ease 0.2s;
  transition: all ease 0.2s;
}
.ccadrodownmenu .dropdown-menu {
  padding: 1rem;
  width: 100% !important;
  top: -12px !important;
  border: 0px;
  border-radius: 0;
  background-color: #0279b3;
  margin-left: 5px;
}
.ccadrodownmenu h3 {
  color: #ffdd71;
}
.ccadrodownmenu a {
  color: #FFF;
}
.ccadrodownmenu .ccadrodownmenu-items {
  background-color: #0279b3;
  position: absolute;
  bottom: 55px;
  width: 100%;
  padding: 1rem;
  text-align: left;
  max-height: calc(100vh - 200px);
  overflow: auto;
}

#ccadrodownmenu {
  color: #AA6F46;
  border: 0;
  border-radius: 20px;
  background-color: #ffdd71;
  height: 40px;
}

.page-lower-1 {
  position: sticky;
  bottom: 0;
  z-index: 99;
}

.page-node-type-vivace-islands .page-lower-1,
.page-node-type-clubs .page-lower-1 {
  background-color: rgba(3, 150, 222, 0.8);
  padding: 1rem 0;
  display: block;
}
.page-node-type-vivace-islands .page-lower-1 .block--vivace-2023-4g-telegrambutton,
.page-node-type-clubs .page-lower-1 .block--vivace-2023-4g-telegrambutton {
  bottom: 5rem;
}

#announcement {
  background: #ed4d34;
  color: #fff;
  font-size: 0.95rem;
  font-weight: bold;
}
#announcement a {
  color: #fff;
}

.dropdown-menu-center {
  right: auto !important;
  left: 50% !important;
  top: 36px !important;
  -webkit-transform: translate(-50%, 0) !important;
  transform: translate(-50%, 0) !important;
}

.page-content .dropdown-menu {
  background-color: #7F5440;
  color: #FFF;
  padding: 0px;
  min-width: 300px;
  width: 100%;
  padding: 1.5rem 2rem;
  border-radius: 0 0 8px 8px;
  border: 0;
  -webkit-box-shadow: rgba(0, 0, 0, 0.5) 2px 4px 16px;
          box-shadow: rgba(0, 0, 0, 0.5) 2px 4px 16px;
  z-index: 9;
}
.page-content .dropdown-menu a {
  color: #FFF;
}
.page-content .dropdown-menu h3 {
  color: #FFF;
}

.gallery img {
  border-radius: 16px;
}

.page__content {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

#title-breadcrumbs {
  display: none;
}

#gallery-cca_31676 {
  -webkit-box-flex: 60%;
      -ms-flex: 60% 0 0px;
          flex: 60% 0 0;
}

.faq .faq-inner {
  margin-bottom: 2rem !important;
}
.faq .faq-inner a.faqquestion {
  background-image: url("/sites/vivace.smu.edu.sg/files/2024/scroll-bottom.png");
  background-size: 100% 100%;
  padding: 1.5rem 7rem;
  display: block;
  font-family: "Roboto Slab";
  font-weight: 500;
  font-size: 20px;
  text-align: center;
  color: #212529 !important;
}
.faq .faq-inner a.faqquestion:hover {
  color: #3E037E;
}
.faq .faq-inner a.faqquestion[aria-expanded=false] div::before, .faq .faq-inner a.faqquestion[aria-expanded=true] div::before {
  margin-right: 1rem;
  font-weight: bold;
  display: none;
}
.faq .faq-inner a.faqquestion[aria-expanded=false] div::before {
  content: "+";
}
.faq .faq-inner a.faqquestion[aria-expanded=true] div::before {
  content: "-";
}
.faq .faq-inner a.faqquestion[aria-expanded=true] div::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.faq .faq-inner a.faqquestion div {
  /*
  &:after {
      content:"\f0d7";
      font-family: "Font Awesome 5 Free";
      font-size:2rem;
      position:absolute;
      line-height:1rem;
      right:0;
      color:#f4c23c;
  }
   */
}
.faq .faq-inner a {
  color: #EC0086;
}
.faq .faq-inner a:hover {
  color: #FF48FF;
}
.faq .faq-inner .faqanswer {
  margin: -0.8rem 7rem;
  border-radius: var(--Border-Radius-0, 0px) var(--Border-Radius-0, 0px) 48px 48px;
  border-top: 12px solid #D6CEB0;
  border-bottom: 4px solid #D6CEB0;
  background: #F3F1E5;
  position: relative;
}
.faq .faq-inner .faqanswer .field_answer {
  padding: 2rem;
  color: #000 !important;
}
.faq .faq-inner .faqanswer .field_answer p {
  color: #000 !important;
}
.faq .faq-inner .faqanswer > div {
  margin-top: 1rem;
  color: #000;
}

a {
  color: #EC0086;
}

a:hover {
  color: #FF48FF;
}

.acf .smu-arts-and-cultural-fraternity-acf,
.ssu .smu-sports-union-ssu,
.smux .smu-xploration-smux,
.sics .special-interest-and-community-service-sodality-sics,
.icon .smu-international-connections-icon,
.academic-based .academic-based-clubs,
.governance-registered-and-independents .governance-registered-and-independents {
  display: none;
}

.testimony {
  display: none;
}

.main-container .sidebar ul.nav li > a {
  font-family: "Orbitron", sans-serif;
  color: #fff;
  background-color: #000;
  margin-top: 4px;
  padding: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.85rem;
  border-radius: 10px;
  border: 3px solid #000;
}
.main-container .sidebar ul.nav li > a:before {
  content: "»";
  margin-right: 0.5rem;
  opacity: 0.5;
}
.main-container .sidebar ul.nav li > a:hover, .main-container .sidebar ul.nav li > a:active, .main-container .sidebar ul.nav li > a:focus {
  color: #fff;
  border-left: 3px solid #3e037e;
  background: #ff48ff;
}
.main-container .sidebar ul.nav li.active > a {
  color: #fff;
  border-left: 3px solid #3e037e;
  background: #ff48ff;
}

.class-section .programmedetails {
  padding: 0px;
  border-top: 1px solid #57e7ec;
  border-left: 1px solid #57e7ec;
  border-right: 1px solid #57e7ec;
}
.class-section .programmedetails:nth-child(odd) {
  background-color: #81edf1;
}
.class-section .programmedetails:nth-child(even) {
  background-color: #a9f4f5;
}
.class-section .programmedetails:last-child {
  border-bottom: 1px solid #57e7ec;
}
.class-section .programmedetails > div {
  padding: 1rem 1rem 0 1rem !important;
  border-right: 1px solid #57e7ec;
}
.class-section .programmedetails > div:last-child {
  border-right: 0px solid #57e7ec;
}

.cbd-filter-group {
  margin-top: 1rem;
}
.cbd-filter-group .cbd-filter {
  width: 60px;
  height: 60px;
  border-radius: 3px;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  border: 1px solid #fff;
}
.cbd-filter-group .cbd-filter.active {
  border: 1px solid #F7C04D;
}
.cbd-filter-group .cbd-filter.cbd-acf {
  background-image: url("../images/guild_acf_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-icon {
  background-image: url("../images/guild_icon_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-isabel, .cbd-filter-group .cbd-filter.cbd-academic-based-clubs {
  background-image: url("../images/guild_academic_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-sics {
  background-image: url("../images/guild_sics_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-smux {
  background-image: url("../images/guild_smux_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-ssu {
  background-image: url("../images/guild_ssu_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter.cbd-others {
  background-image: url("../images/guild_grl_0.png");
  background-repeat: no-repeat;
  background-size: 90%;
  background-position: center;
  text-indent: -9999999px;
}
.cbd-filter-group .cbd-filter-label {
  margin-right: 1rem;
}

.classitem .class-details__field-cbd {
  padding: 0.5rem;
  border-radius: 4px;
  margin: 0.5rem 0;
  font-weight: bold;
  font-size: 0;
}
.classitem .class-details__field-cbd:after {
  content: " ";
  position: absolute;
  right: 20px;
  width: 50px;
  height: 50px;
  background-size: cover;
  top: -10px;
}
.classitem .class-details__field-body {
  margin: 0 0.5rem;
}
.classitem.acf .class-details__field-cbd {
  background-color: #F27CB1;
  color: #FFF;
}
.classitem.acf .class-details__field-cbd:after {
  background-image: url("../images/guild_acf_0.png");
}
.classitem.icon .class-details__field-cbd {
  background-color: #F2D658;
  color: #000;
}
.classitem.icon .class-details__field-cbd:after {
  background-image: url("../images/guild_icon_0.png");
}
.classitem.isabel .class-details__field-cbd, .classitem.academic-based-clubs .class-details__field-cbd, .classitem.academic .class-details__field-cbd {
  background-color: #6ABFCD;
  color: #000;
}
.classitem.isabel .class-details__field-cbd:after, .classitem.academic-based-clubs .class-details__field-cbd:after, .classitem.academic .class-details__field-cbd:after {
  background-image: url("../images/guild_academic_0.png");
}
.classitem.sics .class-details__field-cbd {
  background-color: #1C65B1;
  color: #FFF;
}
.classitem.sics .class-details__field-cbd:after {
  background-image: url("../images/guild_sics_0.png");
}
.classitem.smux .class-details__field-cbd {
  background-color: #EB732C;
  color: #FFF;
}
.classitem.smux .class-details__field-cbd:after {
  background-image: url("../images/guild_smux_0.png");
}
.classitem.ssu .class-details__field-cbd {
  background-color: #1A264D;
  color: #FFF;
}
.classitem.ssu .class-details__field-cbd:after {
  background-image: url("../images/guild_ssu_0.png");
}
.classitem.others .class-details__field-cbd {
  background-color: #A4CB87;
  color: #FFF;
}
.classitem.others .class-details__field-cbd:after {
  background-image: url("../images/guild_grl_0.png");
}

.acficon, .isabelicon, .sicsicon, .ssuicon, .smusaicon, .smuiconicon {
  display: none;
}

.page-node-type-vivace-programmes .dropdown.sidebar-menu-mobile {
  text-align: center;
  margin-bottom: 1rem;
}

.date-toggle.dropdown-toggle {
  background-color: #FFDD71;
  color: #ED5735;
  font-weight: bold;
  border-radius: 50px;
  min-width: 300px;
  margin: 0 auto;
  -webkit-box-shadow: 1px 1px 6px #888888;
          box-shadow: 1px 1px 6px #888888;
}

.cta.cta-yellow2 {
  background-color: #FFDD71;
  color: #ED5735;
  font-weight: bold;
  border-radius: 50px;
  font-family: "open sans";
  text-transform: none;
  -webkit-box-shadow: 1px 1px 6px #888888;
          box-shadow: 1px 1px 6px #888888;
  border: 0;
  margin-top: 2rem;
}

.cbd-filter-group {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem;
  color: #975443;
  font-weight: bold;
}

.dateitem {
  border-top: 1px solid #AA6F46;
  padding-top: 1rem;
  text-align: center;
  margin-top: 1.5rem;
}

.recordedsessions {
  margin-bottom: 2rem;
}
.recordedsessions .recordedsessionsinner .cbd {
  border-radius: 4px;
  font-weight: bold;
  position: relative;
  padding-right: 35px;
  margin: 0;
  padding: 0.5rem 5rem 0.5rem 0.5rem;
}
.recordedsessions .recordedsessionsinner .cbd:after {
  content: " ";
  position: absolute;
  right: 10px;
  width: 50px;
  height: 50px;
  background-size: cover;
  top: 6px;
}
.recordedsessions .recordedsessionsinner.acf .cbd {
  background-color: #F27CB1;
  color: #FFF;
}
.recordedsessions .recordedsessionsinner.acf .cbd:after {
  background-image: url("../images/guild_acf_0.png");
}
.recordedsessions .recordedsessionsinner.icon .cbd {
  background-color: #F2D658;
  color: #000;
}
.recordedsessions .recordedsessionsinner.icon .cbd:after {
  background-image: url("../images/guild_icon_0.png");
}
.recordedsessions .recordedsessionsinner.isabel .cbd, .recordedsessions .recordedsessionsinner.academic-based-clubs .cbd, .recordedsessions .recordedsessionsinner.academic .cbd {
  background-color: #6ABFCD;
  color: #000;
}
.recordedsessions .recordedsessionsinner.isabel .cbd:after, .recordedsessions .recordedsessionsinner.academic-based-clubs .cbd:after, .recordedsessions .recordedsessionsinner.academic .cbd:after {
  background-image: url("../images/guild_academic_0.png");
}
.recordedsessions .recordedsessionsinner.sics .cbd {
  background-color: #1C65B1;
  color: #FFF;
}
.recordedsessions .recordedsessionsinner.sics .cbd:after {
  background-image: url("../images/guild_sics_0.png");
}
.recordedsessions .recordedsessionsinner.smux .cbd {
  background-color: #EB732C;
  color: #FFF;
}
.recordedsessions .recordedsessionsinner.smux .cbd:after {
  background-image: url("../images/guild_smux_0.png");
}
.recordedsessions .recordedsessionsinner.ssu .cbd {
  background-color: #1A264D;
  color: #FFF;
}
.recordedsessions .recordedsessionsinner.ssu .cbd:after {
  background-image: url("../images/guild_ssu_0.png");
}
.recordedsessions .recordedsessionsinner.others .cbd {
  background-color: #A4CB87;
  color: #FFF;
}
.recordedsessions .recordedsessionsinner.others .cbd:after {
  background-image: url("../images/guild_grl_0.png");
}
.recordedsessions .recordedsessionsinner .video-bg {
  height: 150px;
  background-size: cover;
  background-position: center center;
}
.recordedsessions h4 {
  color: #975443;
  font-size: 1.1rem;
}

.game-item {
  margin-bottom: 4rem !important;
}

.game-item-inner {
  background-color: #a0f3f4;
  padding: 1rem;
  border-radius: 10px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.game-item-inner img {
  border-radius: 10px;
  margin-bottom: 1rem;
}
.game-item-inner h4 {
  font-size: 1.2rem;
  word-break: break-word;
}
.game-item-inner .game-item-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.game-item-inner .game-item-body p {
  margin-bottom: 0;
}
.game-item-inner .game-item-body p:first-child {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
.game-item-inner .game-item-body p:last-child {
  margin-top: auto;
}
.game-item-inner .game-item-body .field_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
}
.game-item-inner .game-item-title {
  width: 100%;
  text-align: center;
  margin-top: 10px;
}
.game-item-inner .game-item-image {
  width: 100%;
  text-align: center;
}
.game-item-inner .game-item-image img {
  max-width: 100%;
  height: auto;
}

.sidebar-menu-mobile .btn-secondary,
.datedropdown .btn-secondary {
  width: 100%;
}
.sidebar-menu-mobile .dropdown-menu,
.datedropdown .dropdown-menu {
  padding: 0px;
}
.sidebar-menu-mobile ul.nav li,
.datedropdown ul.nav li {
  padding: 0px !important;
}

.goldpartner .fieldlabel,
.silverpartner .fieldlabel,
.bronzepartner .fieldlabel,
.platinumpartner .fieldlabel {
  font-size: 2.2rem;
  color: #975443;
  font-weight: bold;
  border-top: 1px solid #975443;
  text-align: center;
  margin-top: 2rem;
}

#header.scroll-stuck {
  z-index: 99 !important;
}

.deal-image {
  padding-left: 2rem;
}
.deal-image .ribbon {
  position: absolute;
  left: 18px;
  bottom: -15px;
  background-image: url("../images/promotion.png");
  width: 131px;
  height: 46px;
}
.deal-image img {
  border-radius: 10px;
}

.modal.dealsmodal .carousel-inner {
  padding: 1rem 0;
}
.modal.dealsmodal .modal-body {
  padding: 0px;
}
.modal.dealsmodal .dealinner {
  padding: 2rem;
  background-color: #FFE7B8;
}

.modal .close {
  position: absolute;
  right: 0;
  top: -20px;
  color: rgba(0, 0, 0, 0.5) !important;
  cursor: pointer;
  font-size: 2rem;
  z-index: 10;
  /* transform: translateY(-100%); */
  padding: 0.5rem 1rem;
  background: none;
  border: 0;
  color: #FFF !important;
}

.carousel-control-next-icon {
  -webkit-filter: brightness(1);
          filter: brightness(1);
}

.carousel-control-prev-icon {
  -webkit-filter: brightness(1);
          filter: brightness(1);
}

.carousel {
  padding: 4rem 2.2rem 0 2.2rem;
  max-width: 100%;
  margin-bottom: 8rem !important;
}
.home-social a {
  font-size: 1.5rem;
  margin: 0 0.5rem;
}

.accordionwrapper {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 16px;
  padding: 1rem;
}
.accordionwrapper .accordion__field-image {
  background-color: #000;
  padding: 1rem 0;
}
.accordionwrapper .fa-chevron-up {
  position: absolute;
  right: 2rem;
  top: 35%;
}
.accordionwrapper h3 {
  color: #975443;
  font-size: 1.2rem;
  font-weight: 600;
  word-break: break-word;
}
.accordionwrapper .accordionbody {
  padding: 1rem 0;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}
.accordionwrapper .accordion-title {
  border-top-right-radius: 4px;
}
.accordionwrapper .accordion-title .accordion-title-inner {
  padding: 1rem 2.5rem 1rem 1rem;
}
.accordionwrapper .table {
  margin-bottom: 0px;
  border: 0;
}
.accordionwrapper .table td, .accordionwrapper .table th {
  border-top: 0px;
}
.accordionwrapper .tab-content > .active {
  border: 0px solid #ddd;
}
.accordionwrapper .nav-tabs {
  border-bottom: 0px solid #dee2e6;
}
.accordionwrapper .nav-tabs > li.active {
  background-color: transparent;
}
.accordionwrapper .nav-tabs > li > a {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  background-color: #aaa;
  color: #0d1834;
}
.accordionwrapper .nav-tabs > li.active > a,
.accordionwrapper .nav-tabs > li.active > a:hover,
.accordionwrapper .nav-tabs > li.active > a:focus {
  background-color: #fff;
}

.accordionheader.collapsed .fa-chevron-up {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.vivace-programmes .dropdown {
  text-align: center;
}

.datedropdown .dropdown-menu {
  padding: 0px;
}

.paragraph.paragraph--type--three-columns {
  margin: 0 auto;
}

a.cbd-crest-link .cbd-crest-image img {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform ease-in-out 0.1s;
  transition: -webkit-transform ease-in-out 0.1s;
  transition: transform ease-in-out 0.1s;
  transition: transform ease-in-out 0.1s, -webkit-transform ease-in-out 0.1s;
}

a.cbd-crest-link:hover .cbd-crest-image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: scale ease-in-out 0.24;
  transition: scale ease-in-out 0.24;
}

.accordion-image img {
  border-radius: 16px;
}

.cbd-crest-image {
  position: relative;
}
.cbd-crest-image img:hover {
  -webkit-filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.85));
          filter: drop-shadow(0px 0px 20px rgba(255, 255, 255, 0.85));
}
.cbd-crest-image .main-image {
  display: block;
  width: 100%;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
.cbd-crest-image .hover-image {
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
.cbd-crest-image:hover .hover-image {
  opacity: 1;
}

.node-2414 .node--page-wrapper,
.programmes .node--page-wrapper,
.path-programmes .node--page-wrapper {
  max-width: none;
  padding: 0;
}

body.programmes {
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.045) 0 2px, transparent 2px 34px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.32) 0 1px, transparent 1px 34px),
    linear-gradient(135deg,
      var(--blue) 0 22%,
      var(--cyan) 22% 38%,
      var(--yellow) 38% 57%,
      var(--pink) 57% 75%,
      var(--mint) 75% 100%
    );
  overflow-x: hidden;
}

body.programmes::before {
  background:
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(21, 21, 21, 0.22) 18px 21px, transparent 21px 38px),
    repeating-linear-gradient(-45deg, transparent 0 26px, rgba(255, 255, 255, 0.52) 26px 30px, transparent 30px 54px);
  content: "";
  inset: 0;
  opacity: 0.28;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}

.node-2414 .node--page-wrapper.container,
.programmes .node--page-wrapper.container,
.path-programmes .node--page-wrapper.container {
  width: 100%;
}

.node-2414 main h1,
.programmes main h1,
.path-programmes main h1,
.node-2414 .breadcrumb,
.programmes .breadcrumb,
.path-programmes .breadcrumb {
  display: none;
}

.programmes-container {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
}

.programmes-page-header {
  background: var(--cream-2);
  border-bottom: 0;
  width: 100vw;
  margin: 0 0 32px calc(50% - 50vw);
  padding: 56px max(22px, calc((100vw - 1180px) / 2)) 48px;
}

.programmes-page-header .programmes-container {
  max-width: 1180px;
}

.programmes-page-header .section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--ink);
  color: var(--cream);
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin: 0 0 16px;
  text-transform: uppercase;
}

.programmes-page-header .section-h2 {
  color: var(--ink);
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(40px, 6vw, 76px);
  line-height: 1.12;
  margin: 0 0 12px;
}

.programmes-page-header .section-h2 .hi {
  background: var(--yellow);
  border: 4px solid var(--ink);
  border-radius: 14px;
  box-shadow: 5px 5px 0 var(--ink);
  color: var(--ink);
  display: inline-block;
  margin-top: 0.18em;
  padding: 0 12px 4px;
  transform: rotate(-2deg);
}

.programmes-intro {
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 18px;
  line-height: 1.45;
  margin: 0;
  max-width: 52ch;
}

.programmes-schedule {
  background: transparent;
  padding: 60px 22px 80px;
}

.programmes-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 36px;
}

.programmes-tabs .prog-tab {
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--ink);
  color: var(--ink);
  cursor: pointer;
  font-family: "Fredoka", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  padding: 10px 20px;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.programmes-tabs .prog-tab:hover,
.programmes-tabs .prog-tab:focus-visible {
  box-shadow: 2px 2px 0 var(--ink);
  transform: translate(2px, 2px);
}

.programmes-tabs .prog-tab.active-tab {
  background: var(--ink);
  box-shadow: 4px 4px 0 rgba(26, 26, 26, 0.3);
  color: #fff;
}

.programmes-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prog-card {
  background: #fff;
  border: 4px solid var(--ink);
  border-radius: 18px;
  box-shadow: 6px 6px 0 var(--ink);
  overflow: hidden;
}

.prog-card[hidden] {
  display: none !important;
}

.prog-card-header {
  align-items: center;
  background: var(--green);
  color: #fff;
  display: flex;
  gap: 14px;
  padding: 12px 22px;
}

.prog-card--red .prog-card-header {
  background: var(--red);
}

.prog-card-date {
  font-family: "Bagel Fat One", sans-serif;
  font-size: 32px;
  line-height: 1;
}

.prog-card-kicker {
  color: rgba(255, 255, 255, 0.82);
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
  text-transform: uppercase;
}

.prog-card-title {
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
  margin: 2px 0 0;
}

.programme-table {
  border: 0;
  border-collapse: separate;
  border-spacing: 0;
  display: block;
  margin: 0;
  padding: 22px;
  width: 100%;
}

.programme-table caption,
.programme-table thead {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.programme-table tbody {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
}

.programme-table tr {
  align-items: flex-start;
  display: grid;
  gap: 16px;
  grid-template-columns: 90px 1fr;
  width: 100%;
}

.programme-table.table > :not(:first-child) {
  border-top: 0;
}

.programme-table th,
.programme-table td {
  background: transparent;
  border: 0;
  padding: 0;
  vertical-align: top;
}

.programme-table td:first-child {
  color: var(--green);
  font-family: "Space Mono", monospace;
  font-size: 13px;
  grid-row: span 2;
  line-height: 1.4;
  padding-top: 2px;
}

.prog-card--red .programme-table td:first-child {
  color: var(--red);
}

.programme-table td:nth-child(2) {
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 500;
  grid-column: 2;
  line-height: 1.25;
}

.programme-title,
.programme-detail {
  display: block;
}

.programme-title {
  font-weight: 700;
}

.programme-detail {
  color: #666;
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  margin-top: 3px;
}

.programme-table td:nth-child(3) {
  color: #666;
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  grid-column: 2;
  line-height: 1.35;
}

.prog-slots {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
}

.prog-slot {
  align-items: flex-start;
  display: flex;
  gap: 16px;
}

.prog-time {
  color: var(--green);
  flex: 0 0 90px;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  line-height: 1.4;
  padding-top: 2px;
}

.prog-card--red .prog-time {
  color: var(--red);
}

.prog-slot-copy h4 {
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 2px;
}

.prog-slot-copy p {
  color: #666;
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  line-height: 1.35;
  margin: 0;
}

@media (max-width: 640px) {
  .programmes-page-header {
    padding: 42px 18px 38px;
  }

  .programmes-schedule {
    padding: 42px 18px 64px;
  }

  .programmes-tabs .prog-tab {
    font-size: 14px;
    padding: 9px 16px;
  }

  .prog-slot {
    gap: 10px;
  }

  .prog-time {
    flex-basis: 58px;
  }

  .programme-table {
    padding: 18px;
  }

  .programme-table tr {
    display: grid;
    gap: 3px 10px;
    grid-template-columns: 58px 1fr;
  }

  .programme-table td:first-child {
    grid-row: span 2;
  }
}

#header #header-main-nav {
  height: 40px;
  position: absolute;
  width: 100%;
  background: rgba(0, 5, 44, 0.8) !important;
}
#header #header-main-nav .standalone-menu ul.nav > li.last {
  margin-left: inherit;
  padding: 0 0.75rem;
  background: inherit;
  -webkit-transition: inherit;
  transition: inherit;
}
#header #header-main-nav .standalone-menu ul.nav > li.last:hover {
  background: inherit;
}
#header #header-main-nav .standalone-menu ul.nav > li.last div.dropdown-menu {
  right: inherit;
  left: inherit;
}

.modal-content {
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  -webkit-mask-position: center;
          mask-position: center;
  z-index: 3;
  position: relative;
  padding: 5.5rem;
  background-color: #e4ceac;
}

.modal-content {
  background-color: transparent;
  border: 0;
}

.game-item-inner {
  background-color: transparent;
  padding: 0rem;
  border-radius: 10px;
  height: 100%;
}

.page-node-type-vivace-activities-pages .modal-body {
  aspect-ratio: 16/9;
  overflow: auto;
  background-color: #6dbf7b;
  border-radius: 30px;
  padding: 2rem;
}

.game-item-inner h4 {
  font-size: 1.2rem;
  word-break: break-word;
  color: #FFF;
}

.sticky-social {
  z-index: 100;
  position: fixed;
  bottom: 1rem;
  right: 2rem;
  list-style-type: none;
  background: rgba(255, 255, 255, 0.5);
  -webkit-box-shadow: 0px 0px 36px 4px rgba(225, 253, 255, 0.75);
          box-shadow: 0px 0px 36px 4px rgba(225, 253, 255, 0.75);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  border-radius: 8px;
  padding: 0.5rem;
}

@media (max-width: 991px) {
  .page-node-type-vivace-activities-pages .modal-content {
    -webkit-mask-image: none;
    mask-image: none;
    padding: 2rem;
  }
  .page-node-type-vivace-activities-pages .modal-body {
    aspect-ratio: auto !important;
    overflow: auto !important;
  }
}
@media (max-width: 1199px) {
  .modal-content {
    padding: 1.5rem;
  }
  .page-node-type-vivace-activities-pages .modal-body {
    aspect-ratio: auto;
  }
  .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
  #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after,
  #block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto:after {
    height: calc(100% + 88px);
    top: -44px;
  }
  .page-node-type-vivace-islands .mediacastembed .embedcode .field_embed_code,
  .page-node-type-clubs .mediacastembed .embedcode .field_embed_code {
    border-radius: 100px;
  }
  .faq .faq-inner a.faqquestion {
    font-size: 18px;
    padding: 2rem 5rem;
  }
  .faq .faq-inner .faqanswer {
    margin: -0.8rem 5rem;
  }
  .carousel {
    padding: 2rem 2.2rem 0 2.2rem;
  }
}
@media (max-width: 991px) {
  .vivace-logo {
    -webkit-transform: scale(1.5);
            transform: scale(1.5);
  }
  .page__content {
    overflow: hidden;
    padding-top: 8rem;
  }
  .guild-icons {
    margin-top: -3% !important;
  }
  #clockdiv {
    font-size: 2.5rem;
  }
  .mediacastembed {
    margin: 23rem auto 26rem auto !important;
  }
  .cbdclubtitle h1 {
    text-align: center;
  }
  .profilephoto {
    text-align: center;
  }
  .page-node-type-page .carousel {
    width: 100%;
  }
  .page__content {
    padding-top: 3rem;
  }
}
@media (max-width: 768px) {
  #gallery-cca_31676 {
    -webkit-box-flex: 100%;
        -ms-flex: 100% 0 0px;
            flex: 100% 0 0;
  }
  #clockdiv {
    font-size: 1.5rem;
  }
  #clockdiv .figure {
    padding: 0 0rem;
    width: 75px;
  }
  #clockdiv .label {
    font-size: 0.8rem;
  }
  #clockdiv .colon {
    display: none;
  }
  #header .mobile-menu-btn {
    margin: 16px 0px;
  }
  body.noscroll {
    overflow: hidden;
    position: relative;
  }
  .mediacastembed {
    margin: 14rem auto 20rem auto !important;
  }
  .tbm.tbm--mobile .tbm-collapse {
    background: transparent;
    padding-top: 0rem;
  }
  .tbm.tbm--mobile .tbm-nav {
    background: transparent;
  }
  .tbm.tbm--mobile .tbm-item {
    border-top: 0px solid rgba(0, 0, 0, 0.2);
  }
  .tbm .tbm-nav li .tbm-link-container {
    margin-bottom: 0rem;
  }
  .carousel {
    padding: 2rem 2.2rem 0 2.2rem;
  }
  .faq .faq-inner a.faqquestion {
    font-size: 14px;
    background-image: none;
    background-color: #F3F1E5;
    -webkit-box-shadow: 0px 8px 16px rgba(52, 58, 64, 0.25);
            box-shadow: 0px 8px 16px rgba(52, 58, 64, 0.25);
    border-radius: 24px;
    padding: 16px;
  }
  .faq .faq-inner .faqanswer {
    margin: -0.8rem 1rem;
  }
  .tbm-submenu {
    height: 0;
  }
  #block-vivace2024banner {
    max-height: none;
    min-height: auto;
    height: 100%;
    text-align: center;
  }
  .vivacecountdown #countdown {
    display: block;
  }
}
@media (max-width: 768px) {
  .carousel {
    padding: 1rem 1.8rem 0 1.8rem;
  }
}
@media (max-width: 700px) {
  .block--vivace-2023-4g-views-block--cover-image-block-1 .coverphoto:after,
  #block-vivace-2023-5g-views-block-cover-image-block-1 .coverphoto:after,
  #block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto:after {
    height: calc(100% + 56px);
    top: -28px;
  }
  #block-vivace-2024-5g-views-block-cover-image-block-1 .coverphoto {
    margin-top: 0rem;
  }
}
@media (max-width: 500px) {
  .carousel {
    padding: 1rem 1.8rem 0 1.8rem;
  }
  .page-node-type-vivace-islands .mediacastembed .embedcode:after,
  .page-node-type-clubs .mediacastembed .embedcode:after {
    height: calc(100% + 110px);
    top: -55px;
  }
}
a.cta-telegram {
  background-color: #0396DE;
  border: 0;
  border-radius: 20px;
}
a.cta-telegram:hover, a.cta-telegram:focus {
  background-color: #0396DE !important;
  color: #FFF !important;
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}

.block--vivace-2023-4g-telegrambutton {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
}

/*
ol.key {
	list-style: none;
	padding: 0;
	margin: 0;
	> li {
		background: url(/sites/vivace.smu.edu.sg/files/2024/key-shadow-2.png) no-repeat left 5px;
        padding-left: 63px !important;
        margin-left: 0 !important;
        background-size: 60px auto;
	}
}*/
ol.controller {
  list-style: none;
  padding: 0;
  margin: 0;
}
ol.controller > li {
  background: url("/sites/vivace.smu.edu.sg/themes/vivace_2023_4g/images/icon-controller.png") no-repeat left 12px;
  padding-left: 40px !important;
  margin-left: 0 !important;
}

.table {
  border-collapse: separate;
  border-spacing: 5px;
  background-color: transparent;
}
.table tbody tr {
  background-color: rgb(255, 255, 255) !important;
}
.table th {
  border: 0px solid #dee2e6;
}
.table td {
  border: 0px solid #dee2e6;
}

@media only screen and (orientation: portrait) {
  .vvc23-header--machines1 {
    width: 202vw;
  }
  .vvc23-header--machines2 {
    width: 202vw;
  }
  .vvc23-header--mainmachine {
    width: 85vw;
  }
  .vvc23-header--machine-wrapper {
    -webkit-transform-origin: center 50%;
            transform-origin: center 50%;
  }
  .vvc23-header--mainmachineimg figcaption {
    top: 7.8vw;
    font-size: 2.7vw;
  }
  .vvc23-header--play {
    width: 53vw;
    height: 56vw;
  }
  .vvc23-header--static {
    width: 53vw;
  }
  .vvc23-header--logo {
    width: 95vw;
  }
  .vvc23-header--start {
    width: 45vw;
    top: 110vw;
    height: 9vw;
    line-height: 9vw;
    font-size: 2.8vw;
  }
  .vvc23-header--buttons {
    bottom: 3vw;
  }
  .vvc23-header--buttons .vvc23-header--button img {
    width: 6vw;
  }
}

.combined-section .basket-hero-copy {
  position: relative;
  z-index: 5;
  width: min(920px, 100%);
  text-align: center;
  margin: 0 auto;
  padding: 34px 22px 18px;
}

.combined-section .badge-row {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.combined-section .stamp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 3px solid var(--ink);
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  box-shadow: 3px 3px 0 var(--ink);
  transform: rotate(-2deg);
}

.combined-section .badge-row .stamp:nth-child(even) {
  transform: rotate(1.8deg);
}

.combined-section .stamp.pink {
  background: var(--red);
}

.combined-section .hero-wordmark {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  margin-top: 12px;
  font-family: "Bagel Fat One", sans-serif;
  font-weight: 400;
  font-size: clamp(64px, 9vw, 128px);
  line-height: 0.86;
  letter-spacing: -0.01em;
  color: var(--ink);
  text-shadow:
    3px 3px 0 #fff,
    6px 6px 0 rgba(26, 26, 26, 0.18);
  transform: rotate(-1deg);
  cursor: pointer;
  user-select: none;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

@keyframes wordmarkPop {
  0% { transform: rotate(-1deg) scale(1) translateY(0); }
  20% { transform: rotate(-2.5deg) scale(1.16) translateY(-24px); }
  55% { transform: rotate(-0.4deg) scale(1.07) translateY(-8px); }
  78% { transform: rotate(-1.5deg) scale(1.02) translateY(-2px); }
  100% { transform: rotate(-1deg) scale(1) translateY(0); }
}

.combined-section .hero-wordmark.is-popping {
  animation: wordmarkPop 0.65s cubic-bezier(0.18, 1.4, 0.4, 1) both;
}

.combined-section .hero-wordmark .title-year {
  display: inline-block;
  margin-left: 6px;
  margin-top: 0.18em;
  font-family: "Bagel Fat One", sans-serif;
  font-size: 0.45em;
  font-weight: 400;
  line-height: 1;
  color: var(--red);
  text-shadow: none;
}

.combined-section .hero-meta {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}

.combined-section .hero-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 7px 14px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: #fff;
  box-shadow: 4px 4px 0 var(--ink);
  font-family: "Fredoka", sans-serif;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.combined-section .hero-meta span:nth-child(2) {
  background: var(--green);
  color: #fff;
}

.combined-section .hero-meta span:nth-child(3) {
  background: var(--red);
  color: #fff;
}

body.path-frontpage .combined-section,
body.vivace-2025 .combined-section {
  background: transparent !important;
  isolation: isolate;
}

body.path-frontpage .combined-section::before,
body.path-frontpage .combined-section::after,
body.vivace-2025 .combined-section::before,
body.vivace-2025 .combined-section::after {
  content: none !important;
}

body.path-frontpage .combined-section::before,
body.vivace-2025 .combined-section::before {
  left: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 44px, rgba(73, 173, 119, 0.38) 44px 52px, transparent 52px 100px),
    repeating-linear-gradient(90deg, transparent 0 44px, rgba(73, 173, 119, 0.38) 44px 52px, transparent 52px 100px),
    linear-gradient(90deg, rgba(73, 173, 119, 0.26) 0 31px, rgba(255, 255, 255, 0.5) 31px 70px, rgba(73, 173, 119, 0.18) 70px 100px);
  background-position: 0 0, 0 0, 0 0;
  animation: storeWalkPlaid 7.5s linear infinite;
}

body.path-frontpage .combined-section::after,
body.vivace-2025 .combined-section::after {
  right: 0;
  background:
    linear-gradient(45deg, rgba(234, 90, 137, 0.5) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(234, 90, 137, 0.5) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(234, 90, 137, 0.5) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(234, 90, 137, 0.5) 75%),
    var(--cream-2);
  background-size: 96px 96px;
  background-position: 0 0, 0 48px, 48px -48px, -48px 0;
  animation: storeWalkChecker 6.4s linear infinite;
}

@keyframes storeWalkPlaid {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 0 200px, 0 200px, 0 100px; }
}

@keyframes storeWalkChecker {
  from { background-position: 0 0, 0 48px, 48px -48px, -48px 0; }
  to { background-position: 0 192px, 0 240px, 48px 144px, -48px 192px; }
}

.combined-section .hero-video {
  width: min(800px, 94vw);
  aspect-ratio: 16 / 9;
  border: 4px solid var(--ink);
  border-radius: 18px;
  overflow: visible;
  box-shadow: 10px 10px 0 var(--ink);
  margin: 80px auto 0;
  flex-shrink: 0;
  background: var(--ink);
}

.combined-section .hero-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 14px;
  display: block;
}

.basket-hero-actions {
  position: relative;
  z-index: 7;
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 36px auto 0;
}

.basket-hero-actions .btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  font-family: "Fredoka", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: 6px 6px 0 var(--ink);
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

.basket-hero-actions .btn:hover,
.basket-hero-actions .btn:focus {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--ink);
}

.basket-hero-actions .btn:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 var(--ink);
}

.basket-hero-actions .btn:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}

.basket-hero-actions .btn.primary {
  background: var(--red);
  color: #fff;
}

.basket-hero-actions .btn.ghost {
  background: #fff;
  color: var(--ink);
}

.basket-hero-actions .btn .arrow {
  display: inline-block;
  transform: translateY(-1px);
}

.receipt-strip {
  margin-top: 48px;
  border-top: 4px solid var(--ink);
  border-bottom: 4px solid var(--ink);
  background: #fff;
  overflow: hidden;
  position: relative;
}

.receipt-strip::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 14px;
  background-image: linear-gradient(135deg, transparent 50%, var(--ink) 50%), linear-gradient(45deg, var(--ink) 50%, transparent 50%);
  background-size: 14px 14px;
}

.receipt-strip::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 14px;
  background-image: linear-gradient(315deg, transparent 50%, var(--ink) 50%), linear-gradient(225deg, var(--ink) 50%, transparent 50%);
  background-size: 14px 14px;
}

.receipt-marquee {
  display: flex;
  gap: 48px;
  padding: 14px 0;
  font-family: "Fredoka", sans-serif;
  font-weight: 700;
  font-size: 22px;
  white-space: nowrap;
  animation: receiptMarquee 38s linear infinite;
}

.receipt-marquee span {
  display: inline-flex;
  align-items: center;
  gap: 48px;
}

.receipt-marquee span::after {
  content: none;
}

.receipt-marquee i {
  font-style: normal;
  color: var(--blue);
}

.receipt-marquee em {
  font-style: normal;
  color: var(--orange);
}

@keyframes receiptMarquee {
  to { transform: translateX(-50%); }
}

#block-vivace-2026-5g-floatchatbutton {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 60;
}

#block-vivace-2026-5g-floatchatbutton .body {
  margin: 0;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a {
  position: static;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  background: #0088cc;
  color: #fff !important;
  box-shadow: 6px 6px 0 var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  text-transform: none;
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a::before {
  content: "\f2c6";
  width: 36px;
  height: 36px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: var(--cream);
  color: var(--ink);
  font-family: "Font Awesome 6 Brands";
  font-size: 18px;
  font-weight: 400;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a::after {
  content: none;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a:hover,
#block-vivace-2026-5g-floatchatbutton #field_461 > a:focus {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--ink);
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a i {
  display: none;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a > span:not(.ig-icon):not(.pulse) {
  display: block;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a .ig-cta-label {
  display: block;
  line-height: 1;
}

#block-vivace-2026-5g-floatchatbutton #field_461 > a .ig-cta-handle {
  display: block;
  margin-top: 2px;
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1.1;
  opacity: 0.85;
}

@keyframes pulseAnim {
  0% { transform: scale(1); }
  50% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

.ig-cta-wrap {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 61;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}

.vivace-voucher-wrap {
  bottom: 104px;
}

.voucher-pill {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  padding: 14px 20px;
  box-shadow: 6px 6px 0 var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.14s ease, box-shadow 0.14s ease;
  animation: pillBounce 2.5s ease-in-out infinite;
}

.voucher-pill:hover,
.voucher-pill:focus {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--ink);
  animation: none;
}

.voucher-pill:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 4px;
}

.voucher-pill .ig-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border: 3px solid var(--ink);
  border-radius: 10px;
  background: var(--ink);
  color: var(--yellow);
  font-size: 18px;
}

@keyframes pillBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.voucher-overlay {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.55);
}

.voucher-overlay.is-open {
  display: flex;
}

.voucher-modal {
  position: relative;
  width: min(100%, 480px);
  overflow: hidden;
  border: 4px solid var(--ink);
  border-radius: 16px;
  background: #fff;
  box-shadow: 8px 8px 0 var(--ink);
  animation: vmPop 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes vmPop {
  from { transform: scale(0.85); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.voucher-close {
  position: absolute;
  top: 10px;
  right: 12px;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.voucher-close:hover,
.voucher-close:focus {
  background: #333;
}

.vm-top {
  background: #7c1717;
  color: #fff;
  padding: 20px 28px 18px;
  text-align: center;
}

.vm-eyebrow,
.vm-tear-label,
.vm-code-label,
.vm-code,
.vm-disclaimer {
  font-family: "Space Mono", monospace;
}

.vm-eyebrow {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  opacity: 0.75;
}

.vm-title {
  font-family: "Fredoka", sans-serif;
  font-size: clamp(26px, 5vw, 40px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.vm-desc {
  margin-top: 6px;
  font-family: "Fredoka", sans-serif;
  font-size: 15px;
  opacity: 0.85;
}

.vm-tear {
  display: flex;
  align-items: center;
  padding: 6px 0;
  border-top: 2px dashed rgba(26, 26, 26, 0.25);
  border-bottom: 2px dashed rgba(26, 26, 26, 0.25);
  background: #f5f0e8;
}

.vm-notch {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--paper);
}

.vm-notch--l { margin-left: -12px; }
.vm-notch--r { margin-right: -12px; }

.vm-tear-label {
  flex: 1;
  color: rgba(26, 26, 26, 0.4);
  font-size: 9px;
  letter-spacing: 0.25em;
  text-align: center;
  text-transform: uppercase;
}

.vm-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 24px 22px;
  background: #fffdf8;
  text-align: center;
}

.vm-gift-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 4px;
}

.vm-gift {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 90px;
  padding: 10px 14px;
  border: 2px solid var(--ink);
  border-radius: 10px;
  background: #fff;
  box-shadow: 3px 3px 0 var(--ink);
}

.vm-gift-icon {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.vm-gift-label {
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.vm-code-wrap { margin-top: 4px; }

.vm-code-label {
  color: rgba(26, 26, 26, 0.4);
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.vm-code {
  margin-top: 2px;
  color: #7c1717;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.vm-validity {
  color: rgba(26, 26, 26, 0.5);
  font-family: "Fredoka", sans-serif;
  font-size: 13px;
}

.vm-disclaimer {
  max-width: 34ch;
  margin: 0 auto;
  color: rgba(26, 26, 26, 0.35);
  font-size: 9px;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

@media (max-width: 768px) {
  #block-vivace-2026-5g-floatchatbutton {
    right: 12px;
    bottom: 12px;
  }

  .ig-cta-wrap {
    right: 12px;
    bottom: 12px;
  }

  .vivace-voucher-wrap {
    bottom: 76px;
  }

  #block-vivace-2026-5g-floatchatbutton #field_461 > a {
    min-height: 52px;
    padding: 7px;
    border-radius: 16px;
    box-shadow: 4px 4px 0 var(--ink);
    font-size: 0;
    gap: 0;
  }

  #block-vivace-2026-5g-floatchatbutton #field_461 > a > span:not(.ig-icon):not(.pulse) {
    display: none;
  }

  #block-vivace-2026-5g-floatchatbutton #field_461 > a::before {
    width: 30px;
    height: 30px;
  }

  .voucher-pill {
    padding: 7px;
    border-radius: 16px;
    box-shadow: 4px 4px 0 var(--ink);
  }

  .voucher-pill .ig-icon {
    width: 30px;
    height: 30px;
  }

  .voucher-pill > span:nth-child(2) {
    display: none !important;
  }
}

body.path-frontpage,
body.vivace-2025 {
  overflow-x: hidden;
  font-family: "Fredoka", system-ui, sans-serif;
  font-weight: 500;
  color: var(--ink);
  background: var(--cream-2) !important;
}

body.path-frontpage::before,
body.path-frontpage::after,
body.vivace-2025::before,
body.vivace-2025::after {
  content: "";
  position: fixed;
  top: 0;
  bottom: 0;
  width: 50vw;
  min-height: 100vh;
  z-index: -1;
  pointer-events: none;
}

body.path-frontpage::before,
body.vivace-2025::before {
  left: 0;
  background:
    repeating-linear-gradient(0deg, transparent 0 44px, rgba(73, 173, 119, 0.38) 44px 52px, transparent 52px 100px),
    repeating-linear-gradient(90deg, transparent 0 44px, rgba(73, 173, 119, 0.38) 44px 52px, transparent 52px 100px),
    linear-gradient(90deg, rgba(73, 173, 119, 0.26) 0 31px, rgba(255, 255, 255, 0.5) 31px 70px, rgba(73, 173, 119, 0.18) 70px 100px);
  background-position: 0 0, 0 0, 0 0;
  animation: storeWalkPlaid 7.5s linear infinite;
}

body.path-frontpage::after,
body.vivace-2025::after {
  right: 0;
  background:
    linear-gradient(45deg, rgba(234, 90, 137, 0.5) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(234, 90, 137, 0.5) 25%, transparent 25%),
    linear-gradient(45deg, transparent 75%, rgba(234, 90, 137, 0.5) 75%),
    linear-gradient(-45deg, transparent 75%, rgba(234, 90, 137, 0.5) 75%),
    var(--cream-2);
  background-size: 96px 96px;
  background-position: 0 0, 0 48px, 48px -48px, -48px 0;
  animation: storeWalkChecker 6.4s linear infinite;
}

html,
body {
  max-width: 100%;
  overflow-x: clip;
}

body.path-frontpage .section1,
body.vivace-2025 .section1,
body.path-frontpage .section4,
body.vivace-2025 .section4 {
  background-image: none !important;
  background: transparent !important;
}

body.path-frontpage .section4,
body.path-frontpage .section5,
body.vivace-2025 .section4,
body.vivace-2025 .section5 {
  padding-top: 0;
}

body.path-frontpage .section1::after,
body.vivace-2025 .section1::after {
  display: none !important;
}

body.path-frontpage .main-container,
body.vivace-2025 .main-container {
  font-family: "Fredoka", system-ui, sans-serif !important;
}

.basket-zone {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
  padding-top: 60px;
  overflow: visible;
}

.basket-showcase {
  position: relative;
  width: min(720px, 94vw);
  aspect-ratio: 16 / 25;
  margin-top: 56px;
  animation: basketCruise 4.6s ease-in-out infinite;
}

.find-cca-sign {
  position: relative;
  width: min(560px, 82vw);
  margin: 0 auto 8px;
  z-index: 9;
  pointer-events: none;
  filter:
    drop-shadow(0 3px 0 rgba(255, 255, 255, 0.75))
    drop-shadow(5px 7px 8px rgba(0, 0, 0, 0.18));
  transform: rotate(-1.5deg);
}

.find-cca-sign img {
  width: 100%;
  height: auto;
  display: block;
}

.find-cca-arrow {
  display: flex;
  justify-content: center;
  margin: 4px auto 80px;
}

.find-cca-arrow svg {
  width: 56px;
  height: 64px;
  color: #151515;
  filter: drop-shadow(0 3px 0 rgba(0, 0, 0, 0.3));
  animation: arrowBounce 1.2s ease-in-out infinite;
}

@keyframes arrowBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(12px); }
}

@keyframes basketCruise {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(5px) rotate(-0.35deg); }
}

.market-basket {
  position: absolute;
  inset: 0;
  z-index: 2;
  filter: drop-shadow(16px 18px 0 rgba(26, 26, 26, 0.92)) drop-shadow(0 28px 40px rgba(26, 26, 26, 0.38));
}

.basket-image {
  position: absolute;
  width: 100%;
  aspect-ratio: 25 / 16;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(90deg) scale(1.75);
  object-fit: contain;
}

.basket-decor {
  position: absolute;
  z-index: 5;
  left: var(--x);
  top: var(--y);
  width: var(--w);
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(var(--r, 0deg));
  transform-origin: center;
  filter:
    saturate(1)
    drop-shadow(0 3px 0 rgba(255, 255, 255, 0.9))
    drop-shadow(7px 10px 6px rgba(0, 0, 0, 0.26));
  opacity: 0.95;
  animation: decorFloat 4.8s ease-in-out infinite;
  transition: filter 0.32s ease, opacity 0.32s ease;
}

.basket-decor img {
  display: block;
  width: 100%;
  height: auto;
}

.basket-decor.is-back { z-index: 3; opacity: 0.88; }
.basket-decor.is-front { z-index: 8; opacity: 1; }
.basket-decor.price-tag { --x: 90%; --y: 6%; --w: 58%; --r: 8deg; animation-delay: -0.8s; }
.basket-decor.sun-tag { --x: 9%; --y: 10%; --w: 24%; --r: -16deg; animation-delay: -1.5s; }
.basket-decor.juice-tag { --x: -6%; --y: 34%; --w: 20%; --r: -9deg; animation-delay: -2.2s; }
.basket-decor.label-tag { --x: 100%; --y: 30%; --w: 62%; --r: 16deg; animation-delay: -0.3s; }
.basket-decor.button-tag { --x: -4%; --y: 72%; --w: 20%; --r: 12deg; animation-delay: -1s; }
.basket-decor.clip-tag { --x: 105%; --y: 91%; --w: 36%; --r: -6deg; animation-delay: -1.9s; }
.basket-decor.croissant-tag { --x: 8%; --y: 96%; --w: 30%; --r: 11deg; animation-delay: -2.8s; }
.basket-decor.green-price-tag { --x: -12%; --y: 12%; --w: 55%; --r: -12deg; animation-delay: -0.5s; }
.basket-decor.red-price-tag { --x: 108%; --y: 54%; --w: 56%; --r: 9deg; animation-delay: -2.5s; }
.basket-decor.delmonte-tag { --x: -12%; --y: 52%; --w: 52%; --r: -14deg; animation-delay: -1.3s; }

@keyframes decorFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -7px; }
}

.scan-beam {
  position: absolute;
  z-index: 13;
  left: 12%;
  right: 12%;
  top: 10%;
  height: 16%;
  pointer-events: none;
  opacity: 0;
  mix-blend-mode: screen;
  background: linear-gradient(180deg, transparent 0, rgba(255, 255, 255, 0.72) 42%, rgba(241, 173, 43, 0.9) 50%, rgba(255, 255, 255, 0.65) 58%, transparent 100%);
  filter: blur(0.3px) drop-shadow(0 0 14px rgba(241, 173, 43, 0.85));
  transform: translateY(-28%);
}

.basket-showcase.has-focus .basket-decor {
  opacity: 0.12;
  filter:
    grayscale(1)
    drop-shadow(0 1px 0 rgba(255, 255, 255, 0.25))
    drop-shadow(2px 3px 3px rgba(0, 0, 0, 0.1));
}

.school-fruit.product {
  position: absolute;
  z-index: 6;
  isolation: isolate;
  aspect-ratio: 1;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  filter: saturate(1.18) contrast(1.08) drop-shadow(0 0 16px rgba(255, 255, 255, 0.72)) drop-shadow(8px 12px 9px rgba(0, 0, 0, 0.26));
  transform: rotate(var(--r, 0deg));
  transition: transform 0.24s cubic-bezier(0.2, 1.35, 0.32, 1), filter 0.24s ease;
  will-change: transform, filter;
}

.school-fruit.product::before,
.school-fruit.product::after {
  content: "";
  position: absolute;
  pointer-events: none;
  transition: transform 0.24s cubic-bezier(0.2, 1.35, 0.32, 1), opacity 0.2s ease, box-shadow 0.24s ease;
}

.school-fruit.product::before {
  z-index: 0;
  inset: 7%;
  border: 3px solid rgba(26, 26, 26, 0.9);
  border-radius: 46% 54% 50% 47%;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 4px 5px 0 rgba(26, 26, 26, 0.9), 0 0 0 0 rgba(241, 173, 43, 0);
  opacity: 0.78;
  transform: scale(0.9) rotate(calc(var(--r, 0deg) * -1));
}

.school-fruit.product::after {
  z-index: -1;
  inset: -20%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 20%, rgba(241, 173, 43, 0.48) 42%, rgba(255, 120, 40, 0.18) 56%, rgba(234, 90, 137, 0) 74%);
  opacity: 0.28;
  transform: scale(0.86);
}

.school-fruit.product:hover,
.school-fruit.product:focus-visible {
  z-index: 14;
  transform: translateY(-24px) scale(1.2) rotate(var(--r, 0deg));
  filter: saturate(1.35) contrast(1.14) drop-shadow(0 0 20px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 22px rgba(241, 173, 43, 0.58)) drop-shadow(14px 22px 13px rgba(0, 0, 0, 0.36));
  outline: 0;
}

.school-fruit.product:hover::before,
.school-fruit.product:focus-visible::before {
  opacity: 1;
  transform: scale(1.06) rotate(calc(var(--r, 0deg) * -1));
  box-shadow: 7px 9px 0 rgba(26, 26, 26, 0.95), 0 0 0 8px rgba(241, 173, 43, 0.95), 0 0 0 13px rgba(255, 255, 255, 0.92);
}

.school-fruit.product:hover::after,
.school-fruit.product:focus-visible::after {
  opacity: 0.95;
  transform: scale(1.06);
}

.school-fruit img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: saturate(1.48) contrast(1.08) drop-shadow(0 2px 0 rgba(255, 255, 255, 0.88)) drop-shadow(0 0 10px rgba(255, 255, 255, 0.4));
  transition: filter 0.24s ease;
}

.school-fruit.product:hover img,
.school-fruit.product:focus-visible img {
  filter: drop-shadow(0 0 0 #fff) drop-shadow(0 3px 0 #fff) drop-shadow(0 8px 8px rgba(0, 0, 0, 0.12));
}

.school-fruit.smux-can img { transform: scale(1.28); }
.school-fruit.icon-good img { transform: scale(1.08); }
.school-fruit.ssu-good img { transform: scale(1.42); }
.school-fruit.acad-good img { transform: scale(1.18); }

.school-fruit .fruit-label {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%) rotate(calc(var(--r, 0deg) * -1));
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 10px;
  padding: 4px 9px;
  box-shadow: 3px 3px 0 var(--ink);
  font-family: "Fredoka", sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.2;
  white-space: normal;
  text-align: center;
  width: max-content;
  max-width: 130px;
  transition: background 0.2s ease, color 0.2s ease, transform 0.24s cubic-bezier(0.2, 1.35, 0.32, 1), box-shadow 0.24s ease;
}

.school-fruit.product:hover .fruit-label,
.school-fruit.product:focus-visible .fruit-label {
  background: var(--yellow);
  color: var(--ink);
  transform: translateX(-50%) translateY(-3px) rotate(calc(var(--r, 0deg) * -1));
  box-shadow: 5px 6px 0 var(--ink);
}

.school-fruit .aisle-tag {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: -22px;
  transform: translate(-50%, 8px) rotate(calc(var(--r, 0deg) * -1));
  min-width: max-content;
  max-width: 180px;
  padding: 6px 10px;
  border: 3px solid var(--ink);
  border-radius: 10px;
  background: var(--blue);
  color: #fff;
  box-shadow: 4px 4px 0 var(--ink);
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1.1;
  text-transform: uppercase;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease, transform 0.22s cubic-bezier(0.2, 1.35, 0.32, 1);
}

.school-fruit .aisle-tag::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  width: 12px;
  height: 12px;
  background: inherit;
  border-right: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  transform: translateX(-50%) rotate(45deg);
}

.school-fruit.product:hover .aisle-tag,
.school-fruit.product:focus-visible .aisle-tag {
  opacity: 1;
  transform: translate(-50%, -8px) rotate(calc(var(--r, 0deg) * -1));
}

@media (max-width: 768px) {
  .combined-section .hero-video {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .basket-zone {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    transform: none;
    overflow: visible;
  }

  .basket-showcase {
    width: min(720px, 100%);
    max-width: 100%;
  }
}

.about-receipt-content {
  min-height: 0;
  padding: 0 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: transparent;
}

.about-receipt-content--intro {
  padding-top: 90px;
}

.about-receipt-content--outro {
  padding-bottom: 96px;
}

body.node-2286 .breadcrumb,
body.node-2286 .page-title,
body.node-2286 #block-vivace-2026-5g-breadcrumbs-2,
body.node-2286 #block-vivace-2026-5g-page-title {
  display: none;
}

body.node-2286 .main-container {
  margin-top: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: var(--cream-2);
  background-image: url("/sites/vivace.smu.edu.sg/themes/vivace_2026_5g/images/about_vvc_bg.png");
  background-position: top center;
  background-repeat: repeat-y;
  background-size: 100% auto;
}

body.node-2286 .main-container > .container,
body.node-2286 .main-container .region-content {
  max-width: none;
  width: 100%;
  padding-bottom: 0 !important;
  padding-right: 0;
  padding-left: 0;
}

body.node-2286 .main-container > .container {
  padding-top: 190px !important;
}

body.node-2286 .region-content {
  padding-top: 0 !important;
}

body.node-2286 .about-main {
  min-height: 100vh;
  padding-bottom: 96px;
}

body.node-2286 .about-receipt-content .receipt-team {
  display: none;
}

body.node-2286 .about-receipt-content .team-break {
  display: block;
  height: 128px;
  margin: 30px -46px;
  border-radius: 10px;
  background: #0d1b4b;
}

body.node-2286 .paragraph--type--carousel {
  width: min(100%, 620px);
  max-width: none;
  margin: 0 auto 28px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.node-2286 .paragraph--type--carousel::before {
  content: "VIVACE '26 TEAM";
  display: block;
  margin: 24px 0 20px;
  color: var(--ink);
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(42px, 9vw, 72px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

body.node-2286 .paragraph--type--carousel .carousel {
  overflow: hidden;
  border: 16px solid #f5efd8;
  border-radius: 0;
  background: #efe8d3;
  margin: 0 !important;
  padding: 0 !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16), inset 0 0 0 1px rgba(124, 23, 23, 0.08);
}

body.node-2286 .paragraph--type--carousel .carousel::after {
  display: none !important;
  content: none !important;
}

body.node-2286 .about-receipt-content--intro .receipt-edge--bottom,
body.node-2286 .about-receipt-content--outro .receipt-edge--top {
  display: none;
}

body.node-2286 .about-receipt-content--outro .receipt-body {
  padding-top: 0;
}

body.node-2286 .about-receipt-content .receipt-wrap {
  filter: drop-shadow(2px 6px 24px rgba(0, 0, 0, 0.12)) drop-shadow(0 2px 0 rgba(0, 0, 0, 0.06));
}

body.node-2286 .paragraph--type--carousel .carousel-inner,
body.node-2286 .paragraph--type--carousel .carousel-item {
  aspect-ratio: 16 / 9;
}

body.node-2286 .paragraph--type--carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.node-2286 .paragraph--type--carousel .carousel-control-prev,
body.node-2286 .paragraph--type--carousel .carousel-control-next {
  width: 42px;
  height: 58px;
  top: 50%;
  bottom: auto;
  opacity: 1;
  transform: translateY(-50%);
}

body.node-2286 .paragraph--type--carousel .carousel-control-prev-icon,
body.node-2286 .paragraph--type--carousel .carousel-control-next-icon {
  filter: drop-shadow(0 1px 5px rgba(0, 0, 0, 0.45));
}

.about-receipt-content .receipt-machine,
.about-receipt-content .receipt-feed {
  width: min(760px, calc(100vw - 32px));
  margin: 0 auto;
}

.about-receipt-content .rm-body {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13px 20px 10px;
  border: 1.5px solid rgba(255, 255, 255, 0.07);
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: linear-gradient(to bottom, #242424, #181818);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 -4px 16px rgba(0, 0, 0, 0.08);
}

.about-receipt-content .rm-brand,
.about-receipt-content .receipt-body,
.about-receipt-content .evoucher-eyebrow,
.about-receipt-content .evoucher-tear-label,
.about-receipt-content .evoucher-code-label,
.about-receipt-content .evoucher-code,
.about-receipt-content .evoucher-disclaimer {
  font-family: "Space Mono", monospace;
}

.about-receipt-content .rm-brand {
  font-size: 8px;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.22);
  text-transform: uppercase;
}

.about-receipt-content .rm-led {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #52ff48;
  box-shadow: 0 0 6px rgba(82, 255, 72, 0.6);
  transform: translateY(-50%);
}

.about-receipt-content .rm-led.is-printing {
  animation: rm-blink 0.55s steps(1, end) infinite;
}

@keyframes rm-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0.18; }
}

.about-receipt-content .rm-slot-wrap {
  display: flex;
  justify-content: center;
  padding: 0 20px 9px;
  border: 1.5px solid rgba(255, 255, 255, 0.06);
  border-top: 0;
  border-radius: 0 0 4px 4px;
  background: #141414;
}

.about-receipt-content .rm-slot {
  width: 65%;
  height: 5px;
  border-radius: 0 0 3px 3px;
  background: #060606;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.95), inset 0 0 8px rgba(0, 0, 0, 0.6);
  transform-origin: top center;
  transition: height 0.42s ease, width 0.42s ease, box-shadow 0.42s ease;
}

.about-receipt-content .rm-slot.is-opening,
.about-receipt-content .rm-slot.is-open {
  width: 72%;
  height: 13px;
  box-shadow: inset 0 5px 9px rgba(0, 0, 0, 0.98), inset 0 0 12px rgba(0, 0, 0, 0.78), 0 6px 14px rgba(0, 0, 0, 0.28);
}

.about-receipt-content .receipt-feed {
  position: relative;
  display: flex;
  justify-content: center;
  overflow: visible;
  align-items: flex-end;
  transition: height var(--receipt-print-duration, 4800ms) linear;
  will-change: height;
}

html.js .about-receipt-content .receipt-feed {
  height: 0;
  overflow: hidden;
}

.about-receipt-content .receipt-feed.is-printing {
  overflow: hidden;
}

.about-receipt-content .receipt-feed.is-printed {
  overflow: visible;
}

.about-receipt-content .receipt-printer-head {
  position: absolute;
  z-index: 4;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent 2%, rgba(255, 120, 40, 0.4) 20%, rgba(255, 200, 120, 1) 50%, rgba(255, 120, 40, 0.4) 80%, transparent 98%);
  box-shadow: 0 0 6px rgba(255, 140, 60, 0.7), 0 0 16px rgba(255, 100, 30, 0.3);
  transition: opacity 0.25s ease;
  animation: receipt-head-pulse 0.42s ease-in-out infinite alternate;
}

@keyframes receipt-head-pulse {
  from { transform: translateY(-1px); }
  to { transform: translateY(2px); }
}

.about-receipt-content .receipt-wrap {
  position: relative;
  width: 100%;
  filter: drop-shadow(2px 6px 24px rgba(0, 0, 0, 0.12)) drop-shadow(0 2px 0 rgba(0, 0, 0, 0.06));
}

.about-receipt-content .receipt-edge {
  width: 100%;
  height: 18px;
  background-size: 18px 18px;
}

.about-receipt-content .receipt-edge--top {
  background-image: linear-gradient(135deg, var(--cream-2) 50%, var(--paper) 50%), linear-gradient(225deg, var(--paper) 50%, var(--cream-2) 50%);
  background-position: 0 0, 9px 0;
}

.about-receipt-content .receipt-edge--bottom {
  background-image: linear-gradient(315deg, var(--cream-2) 50%, var(--paper) 50%), linear-gradient(45deg, var(--paper) 50%, var(--cream-2) 50%);
  background-position: 0 0, 9px 0;
}

.about-receipt-content .receipt-body {
  padding: 30px 46px 40px;
  border-left: 1px solid rgba(0, 0, 0, 0.05);
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  background-color: var(--paper);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.68' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.22'/%3E%3C/svg%3E"), repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(0, 0, 0, 0.055) 28px, rgba(0, 0, 0, 0.055) 29px);
  background-size: 300px 300px, 100% 100%;
  background-repeat: repeat, repeat;
  color: var(--ink);
  font-size: clamp(16px, 1.65vw, 19px);
  line-height: 1.78;
  text-align: center;
}

.about-receipt-content .rl {
  display: block;
  margin: 0;
}

.about-receipt-content.is-print-ready .rl {
  clip-path: inset(102% 0 0 0);
  transition: clip-path 0.12s ease-out;
}

.about-receipt-content.is-print-ready .rl.is-printed {
  clip-path: inset(0);
}

.about-receipt-content .rl.center { text-align: center; }
.about-receipt-content .rl.bold { font-weight: 700; }
.about-receipt-content .rl.muted { color: rgba(21, 21, 21, 0.32); }

.about-receipt-content .rl.label {
  font-family: "Fredoka", sans-serif;
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

body.node-2286 .about-receipt-content iframe {
  display: block;
  width: min(100%, 800px);
  aspect-ratio: 16 / 9;
  height: auto;
  margin: 24px auto;
  border: 4px solid var(--ink);
  border-radius: 18px;
  box-shadow: 10px 10px 0 var(--ink);
}

.about-receipt-content .receipt-details-wrap {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin: 0 auto;
}

.about-receipt-content .detail-row {
  display: flex;
  align-items: baseline;
  gap: 16px;
}

.about-receipt-content .rk {
  min-width: 12ch;
  flex-shrink: 0;
  font-weight: 700;
  text-align: right;
}

.about-receipt-content .detail-row span:last-child {
  text-align: left;
}

.about-receipt-content .receipt-logo-wrap {
  padding: 20px 0 16px;
  text-align: center;
}

.about-receipt-content .receipt-logo-img {
  display: block;
  max-width: min(480px, 90%);
  height: auto;
  margin: 0 auto;
  filter: drop-shadow(2px 4px 0 rgba(26, 26, 26, 0.12));
}

.about-receipt-content .receipt-logo-sub {
  margin: 12px 0 0;
  font-family: "Space Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(21, 21, 21, 0.4);
}

.about-receipt-content .receipt-team {
  padding: 0 0 18px;
  text-align: center;
}

.about-receipt-content .team-break {
  height: 128px;
  margin: 0 -46px;
  border-radius: 10px;
  background: #0d1b4b;
}

.about-receipt-content .receipt-team-heading {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 8px;
  margin: 24px 0 20px;
}

.about-receipt-content .receipt-team-title-word,
.about-receipt-content .receipt-team-title-year {
  font-family: "Bagel Fat One", sans-serif;
  line-height: 1;
}

.about-receipt-content .receipt-team-title-word {
  color: var(--ink);
  font-size: clamp(48px, 12vw, 88px);
}

.about-receipt-content .receipt-team-title-year {
  color: var(--red);
  font-size: clamp(30px, 7vw, 54px);
}

.about-receipt-content .team-slide-window {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: min(100%, 620px);
  margin: 0 auto;
  padding: 16px;
  overflow: hidden;
  background: #efe8d3;
  border: 16px solid #f5efd8;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.16), inset 0 0 0 1px rgba(124, 23, 23, 0.08);
}

.about-receipt-content .team-slider {
  position: relative;
  width: min(100%, 620px);
  margin: 0 auto;
}

.about-receipt-content .team-slider .team-slide-window {
  display: block;
  aspect-ratio: 16 / 9;
  padding: 0;
}

.about-receipt-content .team-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateX(22px);
  transition: opacity 0.24s ease, transform 0.28s ease;
}

.about-receipt-content .team-slide.is-active {
  opacity: 1;
  transform: translateX(0);
}

.about-receipt-content .team-slider .team-photo-placeholder {
  height: 100%;
}

.about-receipt-content .team-slider-btn {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 42px;
  height: 58px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #fff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  line-height: 1;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.45);
  transform: translateY(-50%);
}

.about-receipt-content .team-slider-btn--prev { left: 12px; }
.about-receipt-content .team-slider-btn--next { right: 12px; }

.about-receipt-content .team-slider-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}

.about-receipt-content .team-slider-dots button {
  width: 9px;
  height: 9px;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(124, 23, 23, 0.28);
  color: transparent;
  overflow: hidden;
}

.about-receipt-content .team-slider-dots button.is-active {
  width: 24px;
  background: #7c1717;
}

.about-receipt-content .team-photo-placeholder {
  min-height: 132px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(124, 23, 23, 0.1) 0 1px, transparent 1px 18px), linear-gradient(45deg, rgba(124, 23, 23, 0.08) 0 1px, transparent 1px 18px), #d9d2bf;
  color: rgba(124, 23, 23, 0.72);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(18px, 3vw, 30px);
  font-style: italic;
  font-weight: 700;
}

.about-receipt-content .receipt-evoucher {
  width: min(100%, 620px);
  margin: 32px auto 8px;
  overflow: hidden;
  border: 3px solid var(--ink);
  border-radius: 14px;
  background: #fff;
  box-shadow: 4px 4px 0 rgba(26, 26, 26, 0.15);
}

.about-receipt-content .evoucher-top {
  padding: 20px 28px 18px;
  background: #7c1717;
  color: #fff;
  text-align: center;
}

.about-receipt-content .evoucher-eyebrow,
.about-receipt-content .evoucher-code-label,
.about-receipt-content .evoucher-tear-label {
  text-transform: uppercase;
}

.about-receipt-content .evoucher-eyebrow {
  display: block;
  margin-bottom: 10px;
  font-size: 10px;
  letter-spacing: 0.22em;
  opacity: 0.75;
}

.about-receipt-content .evoucher-value {
  font-family: "Fredoka", sans-serif;
  font-size: clamp(26px, 5vw, 40px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.1;
}

.about-receipt-content .evoucher-desc {
  margin-top: 6px;
  font-family: "Fredoka", sans-serif;
  font-size: 15px;
  opacity: 0.85;
}

.about-receipt-content .evoucher-tear {
  display: flex;
  align-items: center;
  padding: 6px 0;
  border-top: 2px dashed rgba(26, 26, 26, 0.25);
  border-bottom: 2px dashed rgba(26, 26, 26, 0.25);
  background: #f5f0e8;
}

.about-receipt-content .evoucher-notch {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--paper);
}

.about-receipt-content .evoucher-notch--l { margin-left: -12px; }
.about-receipt-content .evoucher-notch--r { margin-right: -12px; }

.about-receipt-content .evoucher-tear-label {
  flex: 1;
  color: rgba(26, 26, 26, 0.4);
  font-size: 9px;
  letter-spacing: 0.25em;
  text-align: center;
}

.about-receipt-content .evoucher-bottom {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 28px 20px;
  background: #fffdf8;
  text-align: center;
}

.about-receipt-content .evoucher-gift-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-bottom: 4px;
}

.about-receipt-content .evoucher-gift {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 100px;
  padding: 10px 16px;
  border: 2px solid var(--ink);
  border-radius: 10px;
  background: #fff;
  box-shadow: 3px 3px 0 var(--ink);
}

.about-receipt-content .evoucher-gift-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid rgba(26, 26, 26, 0.9);
  border-radius: 12px;
  background: var(--cream-2);
  color: #7c1717;
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.about-receipt-content .evoucher-gift-label {
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

.about-receipt-content .evoucher-code-label {
  color: rgba(26, 26, 26, 0.4);
  font-size: 9px;
  letter-spacing: 0.2em;
}

.about-receipt-content .evoucher-code {
  margin-top: 2px;
  color: #7c1717;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.about-receipt-content .evoucher-validity {
  color: rgba(26, 26, 26, 0.5);
  font-family: "Fredoka", sans-serif;
  font-size: 13px;
}

.about-receipt-content .evoucher-disclaimer {
  max-width: 34ch;
  margin: 0 auto;
  color: rgba(26, 26, 26, 0.35);
  font-size: 9px;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.about-receipt-content .receipt-barcode {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 2px;
  height: 48px;
  margin: 10px auto 8px;
}

.about-receipt-content .receipt-barcode span {
  display: inline-block;
  background: var(--ink);
}

.about-receipt-content .receipt-barcode .w1 { width: 3px; }
.about-receipt-content .receipt-barcode .w2 { width: 6px; }
.about-receipt-content .receipt-barcode .w3 { width: 9px; }
.about-receipt-content .receipt-barcode .w4 { width: 12px; }

.about-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: 44px;
  margin-bottom: 56px;
  opacity: 1;
  transform: none;
  transition: opacity 0.5s ease, transform 0.4s ease;
}

html.js .about-cta {
  opacity: 0;
  transform: translateY(10px);
}

.about-receipt-content .about-cta.is-visible {
  opacity: 1;
  transform: none;
}

.about-cta .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 14px 24px;
  border: 4px solid var(--ink);
  border-radius: 999px;
  background: var(--red);
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-decoration: none;
  text-transform: none;
  box-shadow: 6px 6px 0 var(--ink);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.about-cta .btn:hover,
.about-cta .btn:focus-visible {
  transform: translate(-2px, -2px);
  box-shadow: 8px 8px 0 var(--ink);
}

.about-cta .btn.ghost {
  background: #fff;
  color: var(--ink);
}

.about-cta .btn.ghost:hover,
.about-cta .btn.ghost:focus-visible {
  background: #fff;
}

body.path-events-smoo-run,
body.events-smoo-run,
body.path-events-artfest,
body.events-artfest,
body:has(.smoo-run-page),
body:has(.artfest-page) {
  background-color: var(--cream-2);
}

body.path-events-smoo-run .breadcrumb,
body.path-events-smoo-run .page-title,
body.path-events-smoo-run #block-vivace-2026-5g-breadcrumbs-2,
body.path-events-smoo-run #block-vivace-2026-5g-page-title,
body.events-smoo-run .breadcrumb,
body.events-smoo-run .page-title,
body.events-smoo-run #block-vivace-2026-5g-breadcrumbs-2,
body.events-smoo-run #block-vivace-2026-5g-page-title,
body:has(.smoo-run-page) .breadcrumb,
body:has(.smoo-run-page) .page-title,
body:has(.smoo-run-page) #block-vivace-2026-5g-breadcrumbs-2,
body:has(.smoo-run-page) #block-vivace-2026-5g-page-title,
body.path-events-artfest .breadcrumb,
body.path-events-artfest .page-title,
body.path-events-artfest #block-vivace-2026-5g-breadcrumbs-2,
body.path-events-artfest #block-vivace-2026-5g-page-title,
body.events-artfest .breadcrumb,
body.events-artfest .page-title,
body.events-artfest #block-vivace-2026-5g-breadcrumbs-2,
body.events-artfest #block-vivace-2026-5g-page-title,
body:has(.artfest-page) .breadcrumb,
body:has(.artfest-page) .page-title,
body:has(.artfest-page) #block-vivace-2026-5g-breadcrumbs-2,
body:has(.artfest-page) #block-vivace-2026-5g-page-title {
  display: none;
}

body.path-events-smoo-run .main-container,
body.events-smoo-run .main-container,
body:has(.smoo-run-page) .main-container,
body.path-events-artfest .main-container,
body.events-artfest .main-container,
body:has(.artfest-page) .main-container {
  margin-top: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: var(--cream-2);
  background-position: top center;
  background-repeat: repeat-y;
  background-size: 100% auto;
}

body.path-events-smoo-run .main-container,
body.events-smoo-run .main-container,
body:has(.smoo-run-page) .main-container {
  background-image: url("/sites/vivace.smu.edu.sg/themes/vivace_2026_5g/images/smoo_run_bg.png");
}

body.path-events-artfest .main-container,
body.events-artfest .main-container,
body:has(.artfest-page) .main-container {
  background-image: url("/sites/vivace.smu.edu.sg/themes/vivace_2026_5g/images/art_fest_bg.png");
}

body.path-events-smoo-run .main-container > .container,
body.path-events-smoo-run .main-container .region-content,
body.path-events-smoo-run .node--page-wrapper,
body.events-smoo-run .main-container > .container,
body.events-smoo-run .main-container .region-content,
body.events-smoo-run .node--page-wrapper,
body:has(.smoo-run-page) .main-container > .container,
body:has(.smoo-run-page) .main-container .region-content,
body:has(.smoo-run-page) .node--page-wrapper,
body.path-events-artfest .main-container > .container,
body.path-events-artfest .main-container .region-content,
body.path-events-artfest .node--page-wrapper,
body.events-artfest .main-container > .container,
body.events-artfest .main-container .region-content,
body.events-artfest .node--page-wrapper,
body:has(.artfest-page) .main-container > .container,
body:has(.artfest-page) .main-container .region-content,
body:has(.artfest-page) .node--page-wrapper {
  width: 100%;
  max-width: none;
  padding: 0 !important;
  background: transparent !important;
}

.smoo-run-page,
.artfest-page {
  min-height: 100vh;
  padding: 190px 16px 24px;
}

.smoo-run-page .about-cta,
.artfest-page .about-cta {
  margin-bottom: 0;
}

body.events-smoo-run .site-footer,
body.events-artfest .site-footer,
body:has(.smoo-run-page) .site-footer,
body:has(.artfest-page) .site-footer {
  margin-top: -16px;
}

.smoo-run-page .smoo-receipt-body {
  text-align: center;
  font-size: clamp(15px, 1.55vw, 18px);
  line-height: 1.58;
}

.smoo-run-page .smoo-receipt-title {
  margin: 0 0 30px;
  font-family: "Fredoka", sans-serif;
  font-size: clamp(42px, 5.8vw, 66px);
  font-weight: 700;
  line-height: 0.96;
  letter-spacing: 0.02em;
  text-align: center;
  text-transform: uppercase;
}

.smoo-run-page .smoo-hero-banner {
  min-height: 260px;
  margin: 0 0 20px;
  display: grid;
  place-items: center;
  border: 4px solid var(--ink);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(26, 26, 26, 0.2), rgba(26, 26, 26, 0) 45%), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.18) 0 8px, transparent 8px 18px), #e84040;
  box-shadow: 6px 6px 0 var(--ink);
  color: #fff;
  text-align: center;
}

.smoo-run-page .smoo-hero-banner span {
  display: block;
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(44px, 7.6vw, 82px);
  line-height: 0.9;
  letter-spacing: 0.04em;
  text-shadow: 4px 4px 0 var(--ink);
}

.smoo-run-page .smoo-hero-banner small {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.smoo-run-page .smoo-kicker {
  margin: 0 0 24px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.smoo-run-page .smoo-intro-copy {
  max-width: 68ch;
  margin: 0 auto 34px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}

.smoo-run-page .smoo-break {
  margin: 30px 0 38px;
  padding: 26px 28px;
  border: 4px solid var(--ink);
  border-radius: 24px;
  background: var(--blue);
  box-shadow: 6px 6px 0 var(--ink);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.smoo-run-page .smoo-section h2,
.smoo-run-page .smoo-register h2 {
  margin: 0 0 34px;
  font-family: "Fredoka", sans-serif;
  font-size: clamp(36px, 5vw, 58px);
  line-height: 1.12;
  letter-spacing: 0.01em;
  text-align: center;
}

.smoo-run-page .smoo-feature-row {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 24px;
  align-items: stretch;
  max-width: 620px;
  margin: 0 auto 30px;
}

.smoo-run-page .smoo-feature-thumb {
  min-height: 176px;
  display: grid;
  place-items: center;
  border: 4px solid var(--ink);
  border-radius: 10px;
  box-shadow: 5px 5px 0 var(--ink);
  color: #fff;
  text-align: center;
}

.smoo-run-page .smoo-feature-thumb--red { background: #e84040; }
.smoo-run-page .smoo-feature-thumb--orange { background: #f57c00; }

.smoo-run-page .smoo-feature-thumb span {
  font-family: "Fredoka", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  text-shadow: 2px 2px 0 var(--ink);
}

.smoo-run-page .smoo-feature-copy {
  padding: 6px 0;
  text-align: center;
}

.smoo-run-page .smoo-feature-copy h3,
.smoo-run-page .smoo-step h3 {
  margin: 0 0 8px;
  font-family: "Fredoka", sans-serif;
  font-size: clamp(28px, 3.4vw, 38px);
  font-weight: 700;
  line-height: 1;
}

.smoo-run-page .smoo-feature-meta {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
}

.smoo-run-page .smoo-feature-copy p,
.smoo-run-page .smoo-step p,
.smoo-run-page .smoo-extra {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.smoo-run-page .smoo-register {
  max-width: 620px;
  margin: 0 auto;
}

.smoo-run-page .smoo-register h2 {
  text-transform: uppercase;
}

.smoo-run-page .smoo-step {
  margin: 0 0 32px;
}

.smoo-run-page .smoo-extra {
  margin-top: 16px;
  font-size: 12px;
}

.artfest-page .artfest-receipt-body {
  text-align: center;
  font-size: clamp(15px, 1.55vw, 18px);
  line-height: 1.58;
}

.artfest-page .artfest-receipt-title {
  margin: 0 0 34px;
  font-family: "Fredoka", sans-serif;
  font-size: clamp(44px, 6vw, 72px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-align: center;
}

.artfest-page .artfest-hero-banner {
  min-height: 300px;
  margin: 0 0 24px;
  display: grid;
  place-items: center;
  border: 4px solid var(--ink);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(26, 26, 26, 0.15), rgba(26, 26, 26, 0) 45%), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.14) 0 8px, transparent 8px 18px), var(--pink);
  box-shadow: 6px 6px 0 var(--ink);
  color: #fff;
}

.artfest-page .artfest-hero-banner span {
  display: block;
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(42px, 7vw, 78px);
  line-height: 0.92;
  letter-spacing: 0.04em;
  text-shadow: 4px 4px 0 var(--ink);
}

.artfest-page .artfest-hero-banner small {
  display: block;
  margin-top: 14px;
  font-size: 14px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.artfest-page .artfest-kicker {
  margin: 0 0 34px;
  font-size: 15px;
  font-weight: 700;
}

.artfest-page .artfest-intro-copy {
  max-width: 68ch;
  margin: 0 auto 34px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.55;
}

.artfest-page .artfest-link-wrap {
  margin: 0 0 34px;
}

.artfest-page .artfest-receipt-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: min(380px, 100%);
  padding: 14px 28px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--blue);
  box-shadow: 5px 5px 0 var(--ink);
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.artfest-page .artfest-receipt-link:hover,
.artfest-page .artfest-receipt-link:focus-visible {
  color: #fff;
  transform: translate(-1px, -1px);
  box-shadow: 6px 6px 0 var(--ink);
}

@media (max-width: 700px) {
  body.path-events-smoo-run .main-container,
  body.events-smoo-run .main-container,
  body:has(.smoo-run-page) .main-container,
  body.path-events-artfest .main-container,
  body.events-artfest .main-container,
  body:has(.artfest-page) .main-container {
    background-size: auto 760px;
  }

  .smoo-run-page,
  .artfest-page {
    padding: 150px 8px 24px;
  }

  .smoo-run-page .smoo-receipt-title {
    margin-bottom: 22px;
    font-size: 36px;
  }

  .smoo-run-page .smoo-hero-banner {
    min-height: 170px;
  }

  .smoo-run-page .smoo-hero-banner small {
    font-size: 11px;
  }

  .smoo-run-page .smoo-kicker,
  .smoo-run-page .smoo-intro-copy,
  .smoo-run-page .smoo-break {
    font-size: 13px;
  }

  .smoo-run-page .smoo-break {
    margin: 24px 0 30px;
    padding: 20px 16px;
    border-radius: 18px;
  }

  .smoo-run-page .smoo-feature-row {
    grid-template-columns: 104px 1fr;
    gap: 14px;
    margin-bottom: 24px;
  }

  .smoo-run-page .smoo-feature-thumb {
    min-height: 124px;
  }

  .smoo-run-page .smoo-feature-thumb span {
    font-size: 15px;
  }

  .smoo-run-page .smoo-section h2,
  .smoo-run-page .smoo-register h2 {
    margin-bottom: 24px;
    font-size: 30px;
  }

  .smoo-run-page .smoo-feature-copy h3,
  .smoo-run-page .smoo-step h3 {
    font-size: 24px;
  }

  .smoo-run-page .smoo-feature-meta,
  .smoo-run-page .smoo-feature-copy p,
  .smoo-run-page .smoo-step p {
    font-size: 12px;
  }

  .artfest-page .artfest-receipt-title {
    margin-bottom: 24px;
    font-size: 36px;
  }

  .artfest-page .artfest-hero-banner {
    min-height: 180px;
  }

  .artfest-page .artfest-hero-banner small {
    font-size: 11px;
  }

  .artfest-page .artfest-kicker,
  .artfest-page .artfest-intro-copy {
    font-size: 13px;
  }

  .artfest-page .artfest-receipt-link {
    min-width: 0;
    width: 100%;
    padding: 12px 16px;
    font-size: 15px;
  }
}

@media (max-width: 700px) {
  .about-receipt-content {
    padding-right: 8px;
    padding-left: 8px;
  }

  .about-receipt-content .receipt-machine,
  .about-receipt-content .receipt-feed {
    width: min(100%, calc(100vw - 16px));
  }

  .about-receipt-content .rm-body {
    padding-right: 34px;
    padding-left: 14px;
  }

  .about-receipt-content .rm-brand {
    font-size: 7px;
    letter-spacing: 0.12em;
    white-space: nowrap;
  }

  .about-receipt-content .rm-slot-wrap {
    padding-right: 12px;
    padding-left: 12px;
  }

  .about-receipt-content--intro {
    padding-top: 48px;
  }

  .about-receipt-content--outro {
    padding-bottom: 72px;
  }

  .about-receipt-content .receipt-body {
    padding: 24px 22px 34px;
    font-size: 14px;
  }

  body.node-2286 .paragraph--type--carousel {
    width: 100%;
    padding: 0;
  }

  body.node-2286 .paragraph--type--carousel::before {
    margin: 18px 0 16px;
    font-size: clamp(34px, 11vw, 48px);
  }

  body.node-2286 .paragraph--type--carousel .carousel {
    border-width: 10px;
  }

  body.node-2286 .paragraph--type--carousel .carousel-control-prev,
  body.node-2286 .paragraph--type--carousel .carousel-control-next {
    width: 34px;
    height: 48px;
  }

  body.node-2286 .main-container {
    background-size: auto 760px;
  }

  body.node-2286 .main-container > .container {
    padding-top: 150px !important;
  }

  body.node-2286 .receipt-feed {
    margin-top: -1px;
  }

  body.node-2286 .receipt-wrap {
    margin-top: -8px;
  }

  .about-receipt-content .detail-row {
    gap: 10px;
  }

  .about-receipt-content .team-slide-window {
    grid-template-columns: 1fr;
    border-width: 10px;
  }

  body.node-2286 .about-receipt-content .team-break {
    height: 72px;
    margin: 22px -22px;
    border-radius: 8px;
  }

  .about-receipt-content .team-photo-placeholder {
    min-height: 86px;
  }

  .about-receipt-content .evoucher-top,
  .about-receipt-content .evoucher-bottom {
    padding-left: 16px;
    padding-right: 16px;
  }

  body.node-2286 .about-main {
    padding-bottom: 40px;
  }
}

body.path-node.page-node-type-page.explore-page-ready {
  overflow-x: hidden !important;
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, .08) 0 2px, transparent 2px 28px),
    linear-gradient(180deg, var(--yellow), var(--cream)) !important;
}

body.path-node.page-node-type-page.explore-page-ready::before {
  display: none !important;
}

body.explore-page-ready .dialog-off-canvas-main-canvas,
body.explore-page-ready .main-container,
body.explore-page-ready .main-container > .container,
body.explore-page-ready .region-content,
body.explore-page-ready .node--page-wrapper {
  background: transparent !important;
}

body.explore-page-ready .main-container > .container {
  padding-top: 0 !important;
}

body.explore-page-ready .explore-page {
  background: transparent !important;
}

body.explore-page-ready .explore-shell {
  width: min(1180px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.explore-page-ready .explore-head {
  width: 100vw !important;
  margin: -70px 0 32px calc(50% - 50vw) !important;
  padding: 56px max(22px, calc((100vw - 1180px) / 2)) 48px !important;
  background: var(--cream-2) !important;
}

body.explore-page-ready .explore-stock {
  display: inline-block !important;
  padding: 6px 14px !important;
  border: 3px solid var(--ink) !important;
  border-radius: 8px !important;
  background: var(--red) !important;
  color: #fff !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: 2px 2px 0 var(--ink) !important;
  transform: rotate(-2deg) !important;
}

body.explore-page-ready .explore-filter-bar {
  align-items: stretch !important;
  gap: 14px !important;
  margin: 0 0 32px !important;
  padding: 14px !important;
  border: 4px solid var(--ink) !important;
  border-radius: 12px !important;
  background: var(--blue) !important;
  box-shadow: 8px 8px 0 var(--ink) !important;
}

body.explore-page-ready .explore-filter-bar p {
  flex: 1 1 240px !important;
  min-width: 240px !important;
  margin: 0 !important;
}

body.explore-page-ready .explore-search {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 3px solid var(--ink) !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--ink) !important;
}

body.explore-page-ready .explore-search::before {
  content: "";
  position: relative;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border: 3px solid var(--ink);
  border-radius: 50%;
}

body.explore-page-ready .explore-search::after {
  content: none !important;
}

body.explore-page-ready .explore-search input {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 12px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ink) !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  outline: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.explore-page-ready .explore-search:focus-within {
  background: #fff !important;
  box-shadow: 4px 4px 0 var(--ink) !important;
}

body.explore-page-ready .explore-search input:-webkit-autofill,
body.explore-page-ready .explore-search input:-webkit-autofill:hover,
body.explore-page-ready .explore-search input:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--ink) !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  transition: background-color 9999s ease-out 0s !important;
}

body.explore-page-ready .explore-count {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border: 3px solid var(--ink) !important;
  border-radius: 999px !important;
  background: var(--pink) !important;
  color: #fff !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}

@media (min-width: 576px) and (max-width: 820px) {
  body.explore-page-ready .explore-filter-bar p {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.explore-page-ready .explore-search {
    height: auto !important;
    min-height: 48px !important;
  }

  body.explore-page-ready .explore-count {
    width: 100% !important;
    justify-content: center !important;
  }
}

@media (max-width: 575.98px) {
  body.explore-page-ready .explore-head {
    margin-top: -44px !important;
  }

  body.explore-page-ready .explore-filter-bar {
    gap: 10px !important;
    margin-bottom: 22px !important;
    padding: 14px !important;
    border-radius: 20px !important;
    box-shadow: 5px 5px 0 var(--ink) !important;
  }

  body.explore-page-ready .explore-filter-bar p {
    flex: 0 0 100% !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.explore-page-ready .explore-search {
    min-height: 48px !important;
    padding: 0 14px !important;
  }

  body.explore-page-ready .explore-search input {
    padding: 10px 0 !important;
    font-size: 14px !important;
  }

  body.explore-page-ready .explore-count {
    flex: 0 0 100% !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
  }
}

body.explore-page-ready .explore-chip {
  position: relative !important;
  overflow: visible !important;
  background: #fff !important;
  color: var(--ink) !important;
  transform: rotate(-1.6deg) !important;
}

body.explore-page-ready .explore-chip:nth-child(even) {
  transform: rotate(1.3deg) !important;
}

body.explore-page-ready .explore-chip:nth-child(3n) {
  transform: rotate(-0.7deg) !important;
}

body.explore-page-ready .explore-chip:hover,
body.explore-page-ready .explore-chip:focus-visible {
  transform: translate(-1px, -1px) rotate(-1.6deg) !important;
}

body.explore-page-ready .explore-chip:nth-child(even):hover,
body.explore-page-ready .explore-chip:nth-child(even):focus-visible {
  transform: translate(-1px, -1px) rotate(1.3deg) !important;
}

body.explore-page-ready .explore-chip:nth-child(3n):hover,
body.explore-page-ready .explore-chip:nth-child(3n):focus-visible {
  transform: translate(-1px, -1px) rotate(-0.7deg) !important;
}

body.explore-page-ready .explore-chip em {
  display: inline-flex !important;
  align-items: center !important;
  transform: none !important;
  box-shadow: none !important;
}

body.explore-page-ready .explore-chip.is-active {
  background: var(--red) !important;
  color: #fff !important;
}

body.explore-page-ready .explore-chip.is-active em {
  color: var(--ink) !important;
  background: var(--yellow) !important;
}

body.explore-page-ready .explore-chip.is-active b {
  background: rgba(255, 255, 255, 0.22) !important;
}

body.explore-page-ready .explore-card-logo {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

body.explore-page-ready .explore-section-heading {
  grid-column: 1 / -1;
  width: max-content;
  max-width: 100%;
  margin: 4px 0 0;
  padding: 8px 16px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 400;
  line-height: 1;
  box-shadow: 5px 5px 0 var(--ink);
}

body.explore-page-ready .explore-section-heading--ccas {
  margin-top: 18px;
  background: #fff;
}

body.explore-page-ready .explore-card-top {
  color: var(--card-ink, #fff) !important;
}

body.explore-page-ready .explore-card-top h2,
body.explore-page-ready .explore-card-meta {
  color: var(--card-ink, #fff) !important;
}

body.explore-page-ready .explore-card-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  margin: 0 0 6px;
  padding: 4px 9px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: #fff;
  color: var(--ink) !important;
  font-family: "Space Mono", monospace;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}

body.explore-page-ready .explore-card-logo.has-bg img {
  display: none !important;
}

body.explore-page-ready .explore-card[data-cat="acf"] {
  --card-tone: #ff5aa2 !important;
  --card-ink: #fff !important;
}

body.explore-page-ready .explore-card[data-cat="icon"] {
  --card-tone: #ffd735 !important;
  --card-ink: #151515 !important;
}

body.explore-page-ready .explore-card[data-cat="smux"] {
  --card-tone: #ff7a1a !important;
  --card-ink: #fff !important;
}

body.explore-page-ready .explore-card[data-cat="ssu"] {
  --card-tone: #1f78f2 !important;
  --card-ink: #fff !important;
}

body.explore-page-ready .explore-card[data-cat="gri"] {
  --card-tone: #151515 !important;
  --card-ink: #fff7dd !important;
}

body.explore-page-ready .explore-card[data-cat="acad"] {
  --card-tone: #ff4438 !important;
  --card-ink: #fff !important;
}

body.explore-page-ready .explore-grid {
  align-items: start;
}

body.explore-page-ready .explore-house-overview,
body.explore-page-ready .explore-cbd-divider,
body.explore-page-ready .explore-cbd-section {
  grid-column: 1 / -1;
  width: 100%;
}

body.explore-page-ready .explore-house-overview {
  margin: 6px 0 0;
}

body.explore-page-ready .cbd-overview-intro {
  margin: 0 0 28px;
}

body.explore-page-ready .section-label {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding: 7px 14px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--ink);
  color: var(--cream);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.explore-page-ready .cbd-overview-title {
  margin: 12px 0 10px;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(36px, 5.5vw, 66px);
  font-weight: 400;
  line-height: 1.08;
}

body.explore-page-ready .cbd-hi {
  display: inline-block;
  padding: 0 12px 4px;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 5px 5px 0 var(--ink);
  transform: rotate(-2deg);
}

body.explore-page-ready .cbd-overview-desc {
  max-width: 56ch;
  margin: 0;
  color: rgba(26, 26, 26, 0.65);
  font-family: "Space Mono", monospace;
  font-size: 13px;
  line-height: 1.65;
}

body.explore-page-ready .explore-house-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body.explore-page-ready .explore-house-card {
  width: 100%;
}

body.explore-page-ready .explore-house-card .explore-card-top {
  min-height: 96px;
}

body.explore-page-ready .explore-house-card .explore-card-logo {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  font-size: 28px !important;
}

body.explore-page-ready .explore-house-icon {
  color: var(--ink) !important;
  font-size: 24px !important;
}

body.explore-page-ready .explore-house-count {
  flex: 0 0 auto;
  margin-left: auto;
  padding: 7px 12px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  font-family: "Space Mono", monospace;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

body.explore-page-ready .explore-filtered-house {
  margin: 0 0 28px;
}

body.explore-page-ready .explore-cbd-divider {
  display: flex;
  align-items: center;
  margin: 56px 0;
}

body.explore-page-ready .cbd-divider-line {
  flex: 1;
  border-top: 3px dashed var(--ink);
}

body.explore-page-ready .cbd-divider-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  margin: 0 -2px;
  padding: 14px 28px;
  border: 4px solid var(--ink);
  border-radius: 18px;
  background: var(--ink);
  color: var(--cream);
  box-shadow: 5px 5px 0 rgba(26, 26, 26, 0.25);
}

body.explore-page-ready .cbd-divider-label {
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: 24px;
  line-height: 1;
}

body.explore-page-ready .cbd-divider-sub {
  font-family: "Space Mono", monospace;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
}

body.explore-page-ready .explore-cbd-section {
  margin: 0 0 64px;
}

body.explore-page-ready .cbd-section-header {
  display: none !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 4px solid var(--ink);
  border-radius: 22px;
  background: var(--card-tone, var(--red));
  color: var(--card-ink, #fff);
  box-shadow: 6px 6px 0 var(--ink);
}

body.explore-page-ready .cbd-section-fullname {
  color: inherit;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: clamp(18px, 2.2vw, 28px);
  font-weight: 700;
  line-height: 1.05;
  text-transform: uppercase;
}

body.explore-page-ready .cbd-count-pill {
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  box-shadow: 3px 3px 0 var(--ink);
  font-family: "Space Mono", monospace;
  font-size: 12px;
  white-space: nowrap;
}

body.explore-page-ready .explore-house-cca-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

body.explore-page-ready .explore-cca-card .explore-card-top {
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
}

body.explore-page-ready .explore-cca-card .explore-card-top h2 {
  margin: 0 0 3px;
  color: var(--card-ink, #fff) !important;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}

body.explore-page-ready .explore-cca-card .explore-card-logo {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  border-radius: 50%;
  transition: transform 0.14s ease;
}

body.explore-page-ready .explore-cca-card:hover .explore-card-logo,
body.explore-page-ready .explore-cca-card:focus-visible .explore-card-logo {
  transform: scale(1.1) rotate(-6deg);
}

@media (max-width: 1100px) {
  body.explore-page-ready .explore-house-cca-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.explore-page-ready .explore-house-cca-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.explore-page-ready .cbd-section-header,
  body.explore-page-ready .explore-house-card .explore-card-top {
    align-items: flex-start;
    flex-direction: column;
  }

  body.explore-page-ready .explore-house-count {
    margin-left: 0;
  }
}

@media (max-width: 560px) {
  body.explore-page-ready .explore-house-cca-grid {
    grid-template-columns: 1fr;
  }
}

body.page-node-type-vivace-islands .node--club-content {
  margin: 0 auto 80px;
}

body.page-node-type-vivace-islands .cca-hero-panel,
body.page-node-type-vivace-islands .cca-content,
body.page-node-type-vivace-islands .cca-final-row {
  display: grid;
  gap: 28px;
  margin: 28px auto 0;
}

body.page-node-type-vivace-islands .cca-hero-panel,
body.page-node-type-vivace-islands .cca-final-row {
  grid-template-columns: 1fr;
}

body.page-node-type-vivace-islands .cca-hero-panel .cca-booth-panel {
  display: none !important;
}

body.page-node-type-vivace-islands .ms-club-col {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: clamp(360px, 45vw, 560px);
}

body.page-node-type-vivace-islands .ms-logo-badge {
  position: absolute;
  top: -16px;
  left: -16px;
  z-index: 5;
  width: 112px;
  min-height: 112px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 4px solid var(--ink);
  border-radius: 22px;
  overflow: hidden;
  background: var(--ink);
  box-shadow: 6px 6px 0 rgba(26, 26, 26, 0.45);
  transform: rotate(-6deg);
}

body.page-node-type-vivace-islands .ms-logo-badge img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 18px;
  background: #fff;
}

body.page-node-type-vivace-islands .ms-badge-icon {
  color: #fff;
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: 40px;
  line-height: 1;
  text-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);
}

body.page-node-type-vivace-islands .ms-club-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: inherit;
  overflow: hidden;
  border: 4px solid var(--ink);
  border-radius: 20px;
  background: var(--paper);
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-vivace-islands .ms-banner-area {
  position: relative;
  flex: 1;
  min-height: 280px;
  overflow: hidden;
  background:
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.14) 0 10px, transparent 10px 24px),
    var(--blue);
}

body.page-node-type-vivace-islands .ms-banner-area img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

body.page-node-type-vivace-islands .ms-club-name-bar {
  border-top: 4px solid var(--ink);
  background: #fff;
  padding: 22px 24px;
}

body.page-node-type-vivace-islands .ms-club-name {
  display: block;
  margin: 0;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0;
  text-align: left;
}

body.page-node-type-vivace-islands .cca-content {
  grid-template-columns: 1.2fr 0.8fr;
}

body.page-node-type-vivace-islands .cca-content > *,
body.page-node-type-vivace-islands .cca-final-row > * {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

body.page-node-type-vivace-islands .cca-detail-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin: 20px auto 0;
}

body.page-node-type-vivace-islands .cca-detail-actions .saved-receipt-link,
body.page-node-type-vivace-islands .cca-detail-actions .cca-shelf-link,
body.page-node-type-vivace-islands .field_about_section .cca-actions a,
body.page-node-type-vivace-islands .field_about_section .cca-actions button.save-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 16px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 4px 4px 0 var(--ink);
  cursor: pointer;
}

body.page-node-type-vivace-islands .cca-title-panel,
body.page-node-type-vivace-islands .cca-booth-panel {
  box-sizing: border-box;
  min-height: clamp(360px, 45vw, 560px);
  border: 4px solid var(--ink);
  border-radius: 14px;
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-title-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: visible;
  padding: 28px;
  background:
    var(--cca-profile-photo, none) center / min(74%, 440px) auto no-repeat,
    repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.2) 0 12px, transparent 12px 28px),
    var(--red);
  color: #fff;
}

body.page-node-type-vivace-islands .cca-title-panel::after {
  content: "";
  position: absolute;
  right: -58px;
  bottom: -64px;
  width: 230px;
  height: 230px;
  border: 5px dashed rgba(255, 255, 255, 0.68);
  border-radius: 50%;
}

body.page-node-type-vivace-islands .cca-title-panel h1 {
  position: relative;
  z-index: 1;
  max-width: 11ch;
  margin: 0;
  color: #fff;
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(54px, 7.8vw, 112px);
  font-weight: 400;
  line-height: 0.88;
  text-align: left;
  text-shadow: 5px 5px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-eyebrow,
body.page-node-type-vivace-islands .cca-card-eyebrow,
body.page-node-type-vivace-islands .cca-gallery-count,
body.page-node-type-vivace-islands .cca-booth-zone {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 7px 12px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--yellow);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 3px 3px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-eyebrow {
  position: absolute;
  top: 28px;
  left: 28px;
  z-index: 1;
  border-width: 4px;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
}

body.page-node-type-vivace-islands .cca-card-eyebrow {
  margin: 0 0 16px;
}

body.page-node-type-vivace-islands .cca-card-eyebrow {
  display: none !important;
}

body.page-node-type-vivace-islands .cca-booth-panel,
body.page-node-type-vivace-islands .cbd-info-panel {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 22px;
  background:
    repeating-linear-gradient(90deg, rgba(21, 21, 21, 0.06) 0 2px, transparent 2px 30px),
    linear-gradient(135deg, var(--cream-2), #fff);
}

body.page-node-type-vivace-islands .cca-booth-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

body.page-node-type-vivace-islands .cca-booth-head h2,
body.page-node-type-vivace-islands .field_about_section > h2,
body.page-node-type-vivace-islands .field_key_events > h2,
body.page-node-type-vivace-islands .field_achievements > h2,
body.page-node-type-vivace-islands .field_social_medias > div:first-child + div,
body.page-node-type-vivace-islands .field_club_sessions > h2,
body.page-node-type-vivace-islands .field_how_to_join > h2,
body.page-node-type-vivace-islands .field_accomplishments > h2,
body.page-node-type-vivace-islands .field_faq > h2,
body.page-node-type-vivace-islands .cca-gallery-head h2 {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: "Bagel Fat One", "Fredoka", system-ui, sans-serif;
  font-size: clamp(34px, 3.6vw, 44px);
  font-weight: 400;
  line-height: 0.95;
}

body.page-node-type-vivace-islands .cca-booth-map-area,
body.page-node-type-vivace-islands .cbd-cover-area {
  position: relative;
  flex: 1;
  min-height: 350px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border: 4px solid var(--ink);
  border-radius: 12px;
  overflow: hidden;
  background:
    var(--cbd-cover-photo, none) center / cover no-repeat,
    var(--paper);
}

body.page-node-type-vivace-islands .cca-booth-location-note {
  position: relative;
  z-index: 1;
  margin: auto 14px 14px;
  padding: 12px;
  border: 3px dashed var(--ink);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

body.page-node-type-vivace-islands .field_about_section,
body.page-node-type-vivace-islands .field_key_events,
body.page-node-type-vivace-islands .field_achievements,
body.page-node-type-vivace-islands .field_social_medias,
body.page-node-type-vivace-islands .field_club_sessions,
body.page-node-type-vivace-islands .field_how_to_join,
body.page-node-type-vivace-islands .field_accomplishments,
body.page-node-type-vivace-islands .field_faq,
body.page-node-type-vivace-islands .cca-gallery-card {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  margin: 28px auto 0;
  padding: 24px;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: var(--paper);
  box-shadow: 10px 10px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-content > :only-child,
body.page-node-type-vivace-islands .cca-final-row > :only-child {
  grid-column: 1 / -1;
  width: 100%;
}

body.page-node-type-vivace-islands .field_about_section > .row,
body.page-node-type-vivace-islands .field_key_events > .event-list,
body.page-node-type-vivace-islands .field_achievements > .event-list,
body.page-node-type-vivace-islands .field_club_sessions > .row,
body.page-node-type-vivace-islands .field_how_to_join > .row,
body.page-node-type-vivace-islands .field_accomplishments > .row {
  display: block;
  margin: 0;
}

body.page-node-type-vivace-islands .field_about_section > .row > h2:first-child,
body.page-node-type-vivace-islands .field_key_events > .event-list > h2:first-child,
body.page-node-type-vivace-islands .field_achievements > .event-list > h2:first-child {
  display: none;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content table {
  display: table;
  width: 100%;
  margin: 0 0 14px;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content thead {
  display: table-header-group;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content tbody {
  display: table-row-group;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content tr {
  display: table-row;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content td,
body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content th {
  display: table-cell;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(21, 21, 21, 0.24);
  background: transparent;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  text-align: inherit;
  vertical-align: top;
}

body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content th {
  font-weight: 700;
}

body.page-node-type-clubs .field_key_events:not(:has(.event-list > *)),
body.page-node-type-vivace-islands .field_key_events:not(:has(.event-list > *)),
body.page-node-type-clubs .field_achievements:not(:has(.event-list > *)),
body.page-node-type-vivace-islands .field_achievements:not(:has(.event-list > *)),
body.page-node-type-clubs .cca-gallery-card:not(:has(.carousel-item)),
body.page-node-type-vivace-islands .cca-gallery-card:not(:has(.carousel-item)),
body.page-node-type-clubs .field_faq:not(:has(.cca-faq-item)),
body.page-node-type-vivace-islands .field_faq:not(:has(.cca-faq-item)) {
  display: none !important;
}

body.page-node-type-vivace-islands .field_about_section p,
body.page-node-type-vivace-islands .field_key_events p,
body.page-node-type-vivace-islands .field_key_events li,
body.page-node-type-vivace-islands .field_achievements p,
body.page-node-type-vivace-islands .field_achievements li,
body.page-node-type-vivace-islands .field_club_sessions p,
body.page-node-type-vivace-islands .field_club_sessions li,
body.page-node-type-vivace-islands .field_how_to_join p,
body.page-node-type-vivace-islands .field_how_to_join li,
body.page-node-type-vivace-islands .field_accomplishments p,
body.page-node-type-vivace-islands .field_accomplishments li {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.58;
}

body.page-node-type-vivace-islands .field_about_section .cca-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

body.page-node-type-vivace-islands .register-pill {
  position: fixed;
  left: 28px;
  bottom: 32px;
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 22px;
  border: 3px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  text-decoration: none;
  box-shadow: 5px 5px 0 var(--ink);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

body.page-node-type-vivace-islands .register-pill:hover,
body.page-node-type-vivace-islands .register-pill:focus-visible {
  color: #fff;
  transform: translate(-2px, -2px);
  box-shadow: 7px 7px 0 var(--ink);
}

body.page-node-type-vivace-islands .register-pill-icon {
  font-size: 13px;
  line-height: 1;
}

body.page-node-type-vivace-islands .cca-social-list,
body.page-node-type-vivace-islands .cca-faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

body.page-node-type-vivace-islands .cca-social-item,
body.page-node-type-vivace-islands .cca-faq-item {
  overflow: hidden;
  border: 3px solid var(--ink);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-social-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  max-width: 100%;
  min-width: 0;
  padding: 12px 14px;
}

body.page-node-type-vivace-islands .cca-social-item strong,
body.page-node-type-vivace-islands .cca-social-item small {
  display: block;
}

body.page-node-type-vivace-islands .cca-social-item span {
  min-width: 0;
}

body.page-node-type-vivace-islands .cca-social-item small {
  max-width: none;
  margin-top: 4px;
  overflow: hidden;
  color: rgba(21, 21, 21, 0.68);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.page-node-type-vivace-islands .cca-social-item em {
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-style: normal;
  font-weight: 700;
}

body.page-node-type-vivace-islands .cca-faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 0;
  background: #fff;
  color: var(--ink);
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  text-align: left;
}

body.page-node-type-vivace-islands .cca-faq-question em {
  display: none;
}

body.page-node-type-vivace-islands .cca-faq-answer {
  padding: 12px 14px 14px;
  border-top: 2px dashed var(--ink);
  color: #555;
  font-family: "Fredoka", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

body.page-node-type-vivace-islands .cca-gallery-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 18px;
}

body.page-node-type-vivace-islands .cca-gallery-carousel {
  position: relative;
  overflow: visible;
  margin-bottom: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-inner {
  overflow: hidden;
  min-height: 360px;
  aspect-ratio: 16 / 10;
  border: 4px solid var(--ink);
  border-radius: 14px;
  background: #fff;
  box-shadow: 7px 7px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-item {
  min-height: 360px;
  height: 100%;
  background: #fff;
}

body.page-node-type-vivace-islands .cca-gallery-carousel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 28px;
}

body.page-node-type-vivace-islands .cca-gallery-item--video {
  padding: 28px;
}

body.page-node-type-vivace-islands .cca-gallery-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-control-prev,
body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-control-next {
  top: 50%;
  bottom: auto;
  width: 46px;
  height: 46px;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink);
  font-size: 28px;
  font-weight: 700;
  opacity: 1;
  transform: translateY(-50%);
  box-shadow: 4px 4px 0 var(--ink);
}

body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-control-prev { left: -12px; }
body.page-node-type-vivace-islands .cca-gallery-carousel .carousel-control-next { right: -12px; }

@media (max-width: 768px) {
  body.page-node-type-vivace-islands .node--club-content {
    width: min(100%, calc(100vw - 24px));
  }

  body.page-node-type-vivace-islands .cca-hero-panel,
  body.page-node-type-vivace-islands .cca-content,
  body.page-node-type-vivace-islands .cca-final-row {
    grid-template-columns: 1fr;
  }

  body.page-node-type-vivace-islands .cca-title-panel,
  body.page-node-type-vivace-islands .ms-club-col,
  body.page-node-type-vivace-islands .cca-booth-panel {
    min-height: 330px;
  }

  body.page-node-type-vivace-islands .ms-logo-badge {
    top: -12px;
    left: -10px;
    width: 88px;
    min-height: 88px;
    border-radius: 18px;
  }

  body.page-node-type-vivace-islands .ms-logo-badge img {
    border-radius: 14px;
  }

  body.page-node-type-vivace-islands .ms-banner-area {
    min-height: 240px;
  }

  body.page-node-type-vivace-islands .ms-club-name-bar {
    padding: 18px;
  }

  body.page-node-type-vivace-islands .field_about_section,
  body.page-node-type-vivace-islands .field_key_events,
  body.page-node-type-vivace-islands .field_achievements,
  body.page-node-type-vivace-islands .field_social_medias,
  body.page-node-type-vivace-islands .field_club_sessions,
  body.page-node-type-vivace-islands .field_how_to_join,
  body.page-node-type-vivace-islands .field_accomplishments,
  body.page-node-type-vivace-islands .field_faq {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 18px;
    border-width: 3px;
    border-radius: 12px;
    box-shadow: 6px 6px 0 var(--ink);
    overflow: hidden;
  }

  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
  }

  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content table,
  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content tbody,
  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content tr {
    max-width: 100%;
    min-width: 0;
  }

  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content table {
    table-layout: fixed;
    width: 100%;
  }

  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content tr {
    padding: 0;
    border-width: 0;
    box-shadow: none;
    overflow-wrap: normal;
  }

  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content td,
  body.page-node-type-vivace-islands .field_club_sessions .club-sessions-content th {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

@media (max-width: 767px) {
  body.page-node-type-vivace-islands .cca-hero-panel {
    margin: 50px 16px 0 16px;
  }

  body.page-node-type-vivace-islands .cca-content,
  body.page-node-type-vivace-islands .cca-final-row {
    margin-right: 16px;
    margin-left: 16px;
    max-width: calc(100vw - 32px);
  }

  body.page-node-type-vivace-islands .field_key_events,
  body.page-node-type-vivace-islands .cca-gallery-card,
  body.page-node-type-vivace-islands .field_faq,
  body.page-node-type-vivace-islands .field_achievements {
    margin: 28px 16px 0 16px;
  }
}

body.node-2321 {
  background-color: #2d6fd4;
  background-image: radial-gradient(circle at center, rgba(10, 30, 120, 0.22) 3px, transparent 3px);
  background-size: 22px 22px;
}

body.node-2321 .main-container,
body.node-2321 .main-container > .container,
body.node-2321 .region-content,
body.node-2321 .node--page-wrapper,
body.node-2321 .layout,
body.node-2321 .layout__region {
  background: transparent !important;
}

body.node-2321 #block-vivace-2026-5g-breadcrumbs-2,
body.node-2321 .envelope-before,
body.node-2321 .envelope-after {
  display: none !important;
}

body.node-2321 #block-vivace-2026-5g-page-title {
  width: min(900px, 92vw);
  margin: 0 auto;
  padding: 72px 0 0;
  text-align: center;
}

body.node-2321 #block-vivace-2026-5g-page-title .page-title {
  margin: 0;
  color: #fff;
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(58px, 8vw, 106px);
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.01em;
  text-shadow: 4px 4px 0 var(--ink), 8px 8px 0 rgba(26, 26, 26, 0.18);
  transform: rotate(-1.5deg);
}

body.node-2321 #page_content {
  padding-top: 0;
}

body.node-2321 #block-vivace-2026-5g-content {
  width: min(900px, 92vw);
  margin: 0 auto;
  padding: 14px 0 100px;
}

body.node-2321 #block-vivace-2026-5g-content > div[data-history-node-id="2321"] > .layout .layout__region > .body {
  position: relative;
  max-width: 860px;
  margin: 0 auto 44px;
  padding: 0 20px 16px;
  text-align: center;
}

body.node-2321 #block-vivace-2026-5g-content > div[data-history-node-id="2321"] > .layout .layout__region > .body::before {
  content: none;
}

body.node-2321 #block-vivace-2026-5g-content > div[data-history-node-id="2321"] > .layout .layout__region > .body p {
  max-width: 720px;
  margin: 0 auto 8px;
  color: #fff;
  font-family: "Fredoka", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  text-shadow: 2px 2px 0 rgba(26, 26, 26, 0.28);
}

body.node-2321 .field_emerald_partners,
body.node-2321 .field_diamond_partners,
body.node-2321 .field_platinum_partners,
body.node-2321 .field_gold_partners,
body.node-2321 .field_silver_partners,
body.node-2321 .field_bronze_partners {
  --tier-color: #059669;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 62px;
  border-radius: 14px;
  overflow: hidden;
}

body.node-2321 .field_diamond_partners { --tier-color: #1e40af; }
body.node-2321 .field_platinum_partners { --tier-color: #7c3aed; }
body.node-2321 .field_gold_partners { --tier-color: #b45309; }
body.node-2321 .field_silver_partners { --tier-color: #374151; }
body.node-2321 .field_bronze_partners { --tier-color: #9a5a2f; }

body.node-2321 .field_emerald_partners > div:first-child,
body.node-2321 .field_diamond_partners > div:first-child,
body.node-2321 .field_platinum_partners > div:first-child,
body.node-2321 .field_gold_partners > div:first-child,
body.node-2321 .field_silver_partners > div:first-child,
body.node-2321 .field_bronze_partners > div:first-child {
  position: relative;
  order: 2;
  min-height: 48px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  background: linear-gradient(180deg, #e2d4b8 0%, #c8b898 45%, #a89270 100%);
  border-top: 3px solid var(--ink);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.4), 0 8px 18px rgba(0, 0, 0, 0.25);
}

body.node-2321 .field_emerald_partners > .sponsor-tier-content,
body.node-2321 .field_diamond_partners > .sponsor-tier-content,
body.node-2321 .field_platinum_partners > .sponsor-tier-content,
body.node-2321 .field_gold_partners > .sponsor-tier-content,
body.node-2321 .field_silver_partners > .sponsor-tier-content,
body.node-2321 .field_bronze_partners > .sponsor-tier-content,
body.node-2321 .field_emerald_partners > .row,
body.node-2321 .field_diamond_partners > .row,
body.node-2321 .field_platinum_partners > .row,
body.node-2321 .field_gold_partners > .row,
body.node-2321 .field_silver_partners > .row,
body.node-2321 .field_bronze_partners > .row {
  order: 1;
  padding: 28px 20px 34px;
}

body.node-2321 .shelf-strip {
  order: 3;
  overflow: hidden;
  padding: 11px 0;
  border-top: 3px solid var(--ink);
  background: var(--tier-color);
}

body.node-2321 .shelf-strip-track {
  display: flex;
  width: max-content;
  white-space: nowrap;
  animation: sponsorStripScroll 18s linear infinite;
  will-change: transform;
}

body.node-2321 .shelf-strip-track span {
  flex-shrink: 0;
  color: #fff;
  font-family: "Space Mono", monospace;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

@keyframes sponsorStripScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

body.node-2321 .field_emerald_partners .row,
body.node-2321 .field_diamond_partners .row,
body.node-2321 .field_platinum_partners .row,
body.node-2321 .field_gold_partners .row,
body.node-2321 .field_silver_partners .row,
body.node-2321 .field_bronze_partners .row {
  --bs-gutter-x: 18px;
  --bs-gutter-y: 20px;
  gap: 22px;
  justify-content: center;
  align-items: stretch;
}

body.node-2321 .fieldlabel {
  display: inline-flex;
  align-items: center;
  margin: 0 !important;
  padding: 5px 18px 4px;
  border: 3px solid var(--ink) !important;
  border-radius: 999px;
  background: var(--tier-color);
  color: #fff !important;
  font-family: "Fredoka", sans-serif;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 2px 2px 0 var(--ink);
}

body.node-2321 .deals {
  flex: 0 0 auto;
  width: auto;
  min-width: min(176px, 100%);
  max-width: 230px;
  padding: 0 !important;
  margin: 0 0 10px !important;
}

body.node-2321 .field_diamond_partners .deals,
body.node-2321 .field_emerald_partners .deals {
  max-width: 330px;
}

body.node-2321 .deals > .row {
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

body.node-2321 .deals .card {
  position: relative;
  min-height: 120px;
  padding: 22px 18px 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  border: 3px solid var(--ink) !important;
  border-radius: 10px 10px 6px 6px;
  box-shadow: 4px 4px 0 var(--ink), 0 8px 18px rgba(0, 0, 0, 0.12);
  overflow: visible;
  transform: none !important;
  transition: box-shadow 0.14s ease;
  cursor: pointer;
}

body.node-2321 .field_diamond_partners .deals .card,
body.node-2321 .field_emerald_partners .deals .card {
  min-width: 260px;
  min-height: 170px;
  padding: 30px 38px 28px;
}

body.node-2321 .deals .card::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 7px;
  background: var(--tier-color);
  border-top: 2px solid var(--ink);
}

body.node-2321 .deals .card:hover {
  box-shadow: 5px 7px 0 var(--ink), 0 12px 22px rgba(0, 0, 0, 0.15);
}

body.node-2321 .deals .modal {
  position: fixed !important;
  z-index: 1055;
}

body.node-2321 .deals .card-body {
  width: 100%;
  padding: 0 !important;
}

body.node-2321 .deal-image {
  min-height: 72px;
  margin: 0 !important;
  padding: 0 !important;
}

body.node-2321 .deal-logo-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: inherit;
  text-decoration: none;
}

body.node-2321 .deal-image img {
  display: block;
  max-width: 150px;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0 !important;
}

body.node-2321 .field_diamond_partners .deal-image img,
body.node-2321 .field_emerald_partners .deal-image img {
  max-width: 240px;
  max-height: 125px;
}

body.node-2321 .deal-title,
body.node-2321 .deal-body {
  display: none !important;
}

body.node-2321 .card-cta {
  display: none !important;
}

body.node-2321 .card-cta .btn {
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 2px solid var(--ink) !important;
  border-radius: 999px !important;
  background: var(--yellow) !important;
  color: var(--ink) !important;
  font-family: "Space Mono", monospace;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.1;
  text-transform: uppercase;
  box-shadow: 2px 2px 0 var(--ink);
}

body.node-2321 .modal.dealsmodal .modal-content {
  border: 4px solid var(--ink);
  border-radius: 22px;
  background: #fff7df;
  box-shadow: 10px 10px 0 var(--ink), 0 24px 60px rgba(0, 0, 0, 0.36);
  overflow: visible;
}

body.node-2321 .modal.dealsmodal .modal-dialog {
  max-width: min(1040px, calc(100vw - 40px));
}

body.node-2321 .modal.dealsmodal .modal-body {
  padding: 24px !important;
}

body.node-2321 .modal.dealsmodal .modal-body > .col-12 {
  display: block !important;
  align-items: stretch !important;
}

body.node-2321 .modal.dealsmodal .dealimgcarousel {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border: 3px solid var(--ink);
  border-radius: 16px;
  background: #fff;
  box-shadow: 5px 5px 0 var(--ink);
  overflow: hidden;
}

body.node-2321 .modal.dealsmodal .dealimgcarousel::after,
body.node-2321 .modal.dealsmodal .carousel::after {
  content: none !important;
  display: none !important;
}

body.node-2321 .modal.dealsmodal .carousel-inner {
  padding: 0 !important;
}

body.node-2321 .modal.dealsmodal .carousel-item img {
  width: 100%;
  height: auto;
  max-height: 62vh;
  object-fit: contain;
  background: #fff;
}

body.node-2321 .modal.dealsmodal .dealinner {
  max-height: none;
  overflow: auto;
  padding: 4px 2px 0 !important;
  border: 0 !important;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--ink);
  font-family: "Fredoka", sans-serif;
  font-size: 16px;
  line-height: 1.45;
}

body.node-2321 .modal.dealsmodal .dealinner h3 {
  margin: 0 0 14px;
  color: var(--ink);
  font-family: "Bagel Fat One", sans-serif;
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 400;
  line-height: 0.95;
}

body.node-2321 .modal.dealsmodal .dealinner p,
body.node-2321 .modal.dealsmodal .dealinner ul,
body.node-2321 .modal.dealsmodal .dealinner ol {
  margin-bottom: 12px;
}

body.node-2321 .modal.dealsmodal .dealinner ul,
body.node-2321 .modal.dealsmodal .dealinner ol {
  padding-left: 1.3rem;
}

body.node-2321 .modal.dealsmodal .close {
  top: -18px;
  right: -18px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 3px solid var(--ink);
  border-radius: 50%;
  background: var(--yellow);
  color: var(--ink) !important;
  box-shadow: 4px 4px 0 var(--ink);
  font-size: 30px;
  line-height: 40px;
}

@media (max-width: 640px) {
  body.node-2321 #block-vivace-2026-5g-content {
    width: min(100% - 24px, 900px);
  }

  body.node-2321 #block-vivace-2026-5g-page-title {
    width: min(100% - 24px, 900px);
    padding-top: 44px;
  }

  body.node-2321 #block-vivace-2026-5g-content > div[data-history-node-id="2321"] > .layout .layout__region > .body {
    margin-bottom: 30px;
  }

  body.node-2321 #block-vivace-2026-5g-content > div[data-history-node-id="2321"] > .layout .layout__region > .body p {
    font-size: 15px;
  }

  body.node-2321 .field_emerald_partners > div:last-child,
  body.node-2321 .field_diamond_partners > div:last-child,
  body.node-2321 .field_platinum_partners > div:last-child,
  body.node-2321 .field_gold_partners > div:last-child,
  body.node-2321 .field_silver_partners > div:last-child,
  body.node-2321 .field_bronze_partners > div:last-child,
  body.node-2321 .field_emerald_partners > .row,
  body.node-2321 .field_diamond_partners > .row,
  body.node-2321 .field_platinum_partners > .row,
  body.node-2321 .field_gold_partners > .row,
  body.node-2321 .field_silver_partners > .row,
  body.node-2321 .field_bronze_partners > .row {
    padding: 16px 12px 20px;
  }

  body.node-2321 .deals {
    min-width: min(130px, 48%);
    max-width: 48%;
  }

  body.node-2321 .deal-image img {
    max-width: 110px;
    max-height: 60px;
  }

  body.node-2321 .modal.dealsmodal .modal-dialog {
    max-width: calc(100vw - 22px);
    margin-left: auto;
    margin-right: auto;
  }

  body.node-2321 .modal.dealsmodal .modal-body {
    padding: 14px !important;
  }

  body.node-2321 .modal.dealsmodal .dealimgcarousel {
    margin-bottom: 14px !important;
  }

  body.node-2321 .modal.dealsmodal .carousel-item img {
    height: auto;
    max-height: 58vh;
  }

  body.node-2321 .modal.dealsmodal .dealinner {
    max-height: none;
    padding: 18px !important;
  }
}

body.explore-page-ready .explore-head h1 span {
  display: inline-block !important;
  padding: 0.02em 0.14em 0.08em !important;
  line-height: 0.82 !important;
  border-radius: 0.18em !important;
  transform: rotate(-2.5deg) translateY(-0.02em) !important;
  transform-origin: center !important;
  vertical-align: baseline !important;
}

body.path-frontpage,
body.vivace-2025 {
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.72) 0 220px, rgba(255, 255, 255, 0.22) 480px, transparent 700px),
    radial-gradient(circle at 15% 0%, rgba(255, 255, 255, 0.65) 0%, transparent 26%),
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.65) 0%, transparent 26%),
    radial-gradient(circle at 85% 0%, rgba(255, 255, 255, 0.65) 0%, transparent 26%),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.32) 0 3px, transparent 3px 100px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.32) 0 3px, transparent 3px 100px),
    repeating-linear-gradient(-45deg, transparent 0 46px, rgba(255, 255, 255, 0.09) 46px 50px),
    linear-gradient(to bottom, #f1ad2b 0%, #f7c044 40%, var(--cream-2) 82%, var(--cream) 100%) !important;
  background-size: auto !important;
}

body.path-frontpage::before,
body.path-frontpage::after,
body.vivace-2025::before,
body.vivace-2025::after {
  content: none !important;
}

body.path-frontpage::before,
body.vivace-2025::before {
  content: none !important;
}

body.path-frontpage::after,
body.vivace-2025::after {
  content: none !important;
}

body.path-frontpage .dialog-off-canvas-main-canvas,
body.path-frontpage .main-container,
body.path-frontpage .main-container > .container-fluid,
body.vivace-2025 .dialog-off-canvas-main-canvas,
body.vivace-2025 .main-container,
body.vivace-2025 .main-container > .container-fluid {
  background: transparent !important;
}

body.path-frontpage .dialog-off-canvas-main-canvas,
body.vivace-2025 .dialog-off-canvas-main-canvas {
  margin-top: 0;
}

body.path-frontpage .main-container,
body.vivace-2025 .main-container {
  padding-top: 0 !important;
}

body.path-frontpage #header .navbar,
body.vivace-2025 #header .navbar,
body.path-frontpage #header .region-group,
body.vivace-2025 #header .region-group {
  background: transparent !important;
}

body.path-frontpage #header .navbar-subheader,
body.vivace-2025 #header .navbar-subheader {
  color: #fff;
}

body.path-frontpage #header .navbar-subheader a,
body.vivace-2025 #header .navbar-subheader a,
body.path-frontpage #header .navbar-subheader .nav-link,
body.vivace-2025 #header .navbar-subheader .nav-link {
  color: #fff !important;
}

body.path-frontpage #header #header-main-nav,
body.vivace-2025 #header #header-main-nav {
  background: transparent !important;
}

body.path-frontpage .combined-section,
body.vivace-2025 .combined-section {
  min-height: 0;
  padding: 0 22px 0;
  border-bottom: 0;
  overflow: visible;
  background: transparent !important;
}

body.path-frontpage .combined-section .basket-hero-copy,
body.vivace-2025 .combined-section .basket-hero-copy {
  padding-top: 98px;
}

body.path-frontpage .combined-section .badge-row,
body.vivace-2025 .combined-section .badge-row {
  display: none !important;
}

.combined-section .hero-wordmark.has-hero-logo {
  display: block;
  margin: 0 auto;
  cursor: default;
  text-shadow: none;
  transform: none;
}

.combined-section .hero-logo-link {
  display: block;
  width: min(66vw, 900px);
  margin: 8px auto 32px;
  transition: transform 0.16s ease, filter 0.16s ease;
}

.combined-section .hero-logo-link:hover,
.combined-section .hero-logo-link:focus {
  transform: translateY(-4px) rotate(-1deg) scale(1.015);
  filter: drop-shadow(0 10px 0 rgba(21, 21, 21, 0.16));
}

.combined-section .hero-logo-link:focus-visible {
  outline: 4px solid var(--ink);
  outline-offset: 8px;
  border-radius: 18px;
}

.combined-section .hero-logo-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  filter: drop-shadow(0 8px 0 rgba(255, 255, 255, 0.7)) drop-shadow(7px 10px 0 rgba(21, 21, 21, 0.2));
}

.combined-section .hero-meta {
  margin-top: 6px;
}

.combined-section .hero-meta span {
  font-size: 22px !important;
  min-height: 52px !important;
  padding: 12px 26px !important;
}

body.store-intro-lock {
  overflow: hidden !important;
}

#store-intro {
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 22% at 50% 0%, rgba(255, 248, 200, 0.07) 0%, transparent 100%),
    rgba(6, 6, 6, 0.4);
}

#store-intro.si-exit {
  animation: siExitAnim 0.7s cubic-bezier(0.65, 0, 1, 1) forwards;
  pointer-events: none;
}

@keyframes siExitAnim {
  0% { opacity: 1; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.09); }
}

.si-door {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50%;
  z-index: 2;
  overflow: hidden;
  transition: transform 0.88s cubic-bezier(0.38, 0, 0.18, 1);
  will-change: transform;
  backdrop-filter: blur(26px) saturate(1.9) brightness(1.12);
  -webkit-backdrop-filter: blur(26px) saturate(1.9) brightness(1.12);
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.10) 42%, rgba(255, 255, 255, 0.20) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), inset 0 -1px 0 rgba(0, 0, 0, 0.14);
}

.si-door::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 6;
  height: 14px;
  background: linear-gradient(to bottom, rgba(230, 230, 230, 0.98), rgba(190, 190, 190, 0.92));
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.28);
}

.si-door::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 6;
  height: 7px;
  background: linear-gradient(to top, rgba(190, 190, 190, 0.95), rgba(220, 220, 220, 0.8));
}

.si-door-l {
  left: 0;
  border-right: 5px solid rgba(200, 200, 200, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), inset 0 -1px 0 rgba(0, 0, 0, 0.14), inset -3px 0 10px rgba(0, 0, 0, 0.07);
}

.si-door-r {
  right: 0;
  border-left: 5px solid rgba(200, 200, 200, 0.75);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), inset 0 -1px 0 rgba(0, 0, 0, 0.14), inset 3px 0 10px rgba(0, 0, 0, 0.07);
}

#store-intro.si-opening .si-door-l { transform: translateX(-100%); }
#store-intro.si-opening .si-door-r { transform: translateX(100%); }

.si-glare {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 12%;
  z-index: 3;
  width: 20%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.15) 30%, rgba(255, 255, 255, 0.30) 55%, rgba(255, 255, 255, 0.15) 80%, transparent 100%);
  animation: glareShift 3.6s ease-in-out infinite alternate;
}

.si-door-r .si-glare {
  right: 12%;
  left: auto;
  animation-direction: alternate-reverse;
}

@keyframes glareShift {
  from { transform: translateX(0); opacity: 0.85; }
  to { transform: translateX(8px); opacity: 1; }
}

.si-logo-half {
  position: absolute;
  top: 50%;
  z-index: 2;
  pointer-events: none;
}

.si-logo-half img {
  display: block;
  height: 70vh;
  width: auto;
  min-width: 50vw;
  user-select: none;
  filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.35));
}

.si-logo-half--l {
  right: 0;
  transform: translate(50%, -50%);
}

.si-logo-half--r {
  left: 0;
  transform: translate(-50%, -50%);
}

@media (prefers-reduced-motion: reduce) {
  #store-intro { display: none !important; }
}

@media (max-width: 768px) {
  body.path-frontpage .dialog-off-canvas-main-canvas,
  body.vivace-2025 .dialog-off-canvas-main-canvas {
    margin-top: 0;
  }

  body.path-frontpage #header .navbar-header,
  body.vivace-2025 #header .navbar-header {
    background: rgb(68, 73, 119) !important;
  }

  body.path-frontpage .combined-section,
  body.vivace-2025 .combined-section {
    padding: 0 10px 0;
  }

  .combined-section .basket-hero-copy {
    padding-inline: 8px;
    padding-top: 120px !important;
  }

  body.path-frontpage .basket-decor,
  body.vivace-2025 .basket-decor {
    display: none !important;
  }

  .combined-section .hero-meta span {
    font-size: 15px !important;
    min-height: 40px !important;
    padding: 8px 14px !important;
  }

  .si-logo-half img {
    height: auto;
    width: min(96vw, 560px);
    min-width: 0;
    max-width: 96vw;
  }

  .si-logo-half--l {
    transform: translate(calc(50% + 10px), -50%);
  }
}

body.path-frontpage .basket-showcase,
body.vivace-2025 .basket-showcase {
  width: min(720px, 94vw);
  aspect-ratio: 16 / 25;
  margin-top: 56px;
}

body.path-frontpage .basket-zone,
body.vivace-2025 .basket-zone {
  padding-top: 18px;
}

body.path-frontpage .continuejourney.mt-5,
body.vivace-2025 .continuejourney.mt-5 {
  margin-top: 0 !important;
}

body.path-frontpage #field_416.body,
body.vivace-2025 #field_416.body {
  margin-top: 0 !important;
}

body.path-frontpage .find-cca-sign,
body.vivace-2025 .find-cca-sign {
  margin-bottom: 0;
}

body.path-frontpage .basket-showcase::before,
body.vivace-2025 .basket-showcase::before {
  content: "";
  position: absolute;
  inset: -10% -12%;
  z-index: 1;
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.38) 45%, rgba(255, 255, 255, 0) 100%);
}

body.path-frontpage .market-basket,
body.vivace-2025 .market-basket {
  z-index: 2;
  filter: drop-shadow(16px 18px 0 rgba(26, 26, 26, 0.92)) drop-shadow(0 28px 40px rgba(26, 26, 26, 0.38));
}

body.path-frontpage .school-fruit.product::before,
body.vivace-2025 .school-fruit.product::before {
  opacity: 0;
}

body.path-frontpage .school-fruit.product.is-selected::before,
body.vivace-2025 .school-fruit.product.is-selected::before {
  opacity: 1;
  box-shadow: 5px 7px 0 rgba(26, 26, 26, 0.95), 0 0 0 7px rgba(73, 173, 119, 0.95), 0 0 0 12px rgba(255, 255, 255, 0.92);
}

body.path-frontpage .school-fruit.smux-can img,
body.path-frontpage .school-fruit.icon-good img,
body.path-frontpage .school-fruit.ssu-good img,
body.path-frontpage .school-fruit.acad-good img,
body.vivace-2025 .school-fruit.smux-can img,
body.vivace-2025 .school-fruit.icon-good img,
body.vivace-2025 .school-fruit.ssu-good img,
body.vivace-2025 .school-fruit.acad-good img {
  transform: scale(1);
}

body.path-frontpage .school-fruit .aisle-tag,
body.vivace-2025 .school-fruit .aisle-tag {
  display: none;
}

body.path-frontpage .school-fruit[href*="category=acf"],
body.vivace-2025 .school-fruit[href*="category=acf"] {
  left: 16% !important;
  top: 10% !important;
  width: 30% !important;
  --r: -8deg !important;
}

body.path-frontpage .school-fruit[href*="category=sics"],
body.vivace-2025 .school-fruit[href*="category=sics"] {
  left: 56% !important;
  top: 10% !important;
  width: 30% !important;
  --r: 7deg !important;
}

body.path-frontpage .school-fruit[href*="category=icon"],
body.vivace-2025 .school-fruit[href*="category=icon"] {
  left: 33% !important;
  top: 28% !important;
  width: 34% !important;
  --r: -5deg !important;
}

body.path-frontpage .school-fruit[href*="category=smux"],
body.vivace-2025 .school-fruit[href*="category=smux"] {
  left: 16% !important;
  top: 46% !important;
  width: 30% !important;
  --r: 10deg !important;
}

body.path-frontpage .school-fruit[href*="category=ssu"],
body.vivace-2025 .school-fruit[href*="category=ssu"] {
  left: 58% !important;
  top: 46% !important;
  width: 28% !important;
  --r: 8deg !important;
}

body.path-frontpage .school-fruit[href*="governance-registered-and-independents"],
body.vivace-2025 .school-fruit[href*="governance-registered-and-independents"] {
  left: 14% !important;
  top: 64% !important;
  width: 32% !important;
  --r: -10deg !important;
}

body.path-frontpage .school-fruit[href*="academic-based"],
body.vivace-2025 .school-fruit[href*="academic-based"] {
  left: 54% !important;
  top: 64% !important;
  width: 32% !important;
  --r: 5deg !important;
}

body.path-frontpage .basket-decor.sun-tag,
body.vivace-2025 .basket-decor.sun-tag { --x: 8%; --y: 4%; --w: 19%; --r: 22deg; }

body.path-frontpage .basket-decor.sticker2-tag,
body.vivace-2025 .basket-decor.sticker2-tag { --x: 92%; --y: 6%; --w: 22%; --r: 8deg; }

body.path-frontpage .basket-decor.juice-tag,
body.vivace-2025 .basket-decor.juice-tag { --x: -9%; --y: 22%; --w: 27%; --r: -9deg; }

body.path-frontpage .basket-decor.tomato-tag,
body.vivace-2025 .basket-decor.tomato-tag { --x: 106%; --y: 28%; --w: 35%; --r: 16deg; }

body.path-frontpage .basket-decor.button-tag,
body.vivace-2025 .basket-decor.button-tag { --x: -8%; --y: 70%; --w: 26%; --r: 12deg; }

body.path-frontpage .basket-decor.croissant-tag,
body.vivace-2025 .basket-decor.croissant-tag { --x: 10%; --y: 92%; --w: 28%; --r: 11deg; }

body.path-frontpage .basket-decor.clip-tag,
body.vivace-2025 .basket-decor.clip-tag { --x: 104%; --y: 80%; --w: 14%; --r: -12deg; }

body.path-frontpage .basket-decor.sticker3-tag,
body.vivace-2025 .basket-decor.sticker3-tag { --x: 98%; --y: 94%; --w: 38%; --r: -10deg; }

body.path-frontpage .basket-decor.sticker4-tag,
body.vivace-2025 .basket-decor.sticker4-tag { --x: 106%; --y: 55%; --w: 20%; --r: 9deg; }

body.path-frontpage .basket-decor.sticker1-tag,
body.vivace-2025 .basket-decor.sticker1-tag { --x: -9%; --y: 46%; --w: 22%; --r: -14deg; }

@media (max-width: 768px) {
  body.path-frontpage .basket-showcase,
  body.vivace-2025 .basket-showcase {
    width: min(720px, 100%);
    max-width: 100%;
  }
}

@media (max-width: 720px) {
  body.path-frontpage .basket-decor.sun-tag,
  body.vivace-2025 .basket-decor.sun-tag { --x: 10%; --y: 10%; --w: 17%; }

  body.path-frontpage .basket-decor.sticker2-tag,
  body.vivace-2025 .basket-decor.sticker2-tag { --x: 100%; --y: 6%; --w: 12%; }

  body.path-frontpage .basket-decor.juice-tag,
  body.vivace-2025 .basket-decor.juice-tag { --x: -2%; --y: 33%; --w: 18%; }

  body.path-frontpage .basket-decor.tomato-tag,
  body.vivace-2025 .basket-decor.tomato-tag { --x: 100%; --y: 28%; --w: 14%; }

  body.path-frontpage .basket-decor.button-tag,
  body.vivace-2025 .basket-decor.button-tag { --x: 0%; --y: 82%; --w: 10%; }

  body.path-frontpage .basket-decor.croissant-tag,
  body.vivace-2025 .basket-decor.croissant-tag { --x: 8%; --y: 67%; --w: 23%; }

  body.path-frontpage .basket-decor.clip-tag,
  body.vivace-2025 .basket-decor.clip-tag { --x: 104%; --y: 80%; --w: 10%; }

  body.path-frontpage .basket-decor.sticker3-tag,
  body.vivace-2025 .basket-decor.sticker3-tag { --x: 90%; --y: 94%; --w: 18%; }

  body.path-frontpage .basket-decor.sticker4-tag,
  body.vivace-2025 .basket-decor.sticker4-tag { --x: 100%; --y: 58%; --w: 10%; }

  body.path-frontpage .basket-decor.sticker1-tag,
  body.vivace-2025 .basket-decor.sticker1-tag { --x: -2%; --y: 52%; --w: 16%; }
}
