{"product_id":"nihilism-2-midtempo-x-uk-bass-sample-pack","title":"NIHILISM 2 | PREMIUM MIDTEMPO X UK BASS SAMPLE\/PRESET PACK","description":"\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Bebas+Neue\u0026amp;family=Montserrat:wght@300;400;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\n\u003cstyle\u003e\n      .serum2-global-wrapper {\n        width: 100vw;\n        position: relative;\n        left: 50%;\n        transform: translateX(-50%);\n        background: transparent;\n        margin: 0;\n        padding: 0;\n      }\n\n      \/* Centered inner content *\/\n      .serum2-inner {\n        max-width: 1300px;\n        width: 100%;\n        margin: 0 auto;\n        padding: 0px 0px;\n        box-sizing: border-box;\n      }\n\n.whzly-list ul{ \n  list-style-type: none;\n  padding-left: 0;\n  margin-left: 0;\n}\n\n@media (max-width: 480px) {\n  .serum2-inner h1 {\n    font-size: 28px !important;\n  }\n}\n\n      .serum2-inner h1,\n      .serum2-inner h2,\n      .serum2-inner h3 {\n        color: #f0f0e6;\n        text-shadow: 0 0 4px #f0f0e6;\n        position: relative;\n        animation: subtle-glitch 1s ease-in-out infinite;\n      }\n\n      .serum2-inner h2::before {\n        content: \"\u003e \";\n        color: #f0f0e6;\n        margin-right: 6px;\n      }\n  \n      .serum2-inner h1 {\n        text-align: center;\n        margin-bottom: -5px;\n      }\n  \n      .serum2-inner p,\n      .serum2-inner li {\n        color: #f0f0e6;\n        font-size: 16px;\n        line-height: 1.6;\n        z-index: 1;\n        position: relative;\n      }\n\n.system-header::before {\n  content: none !important;\n}\n\n@media (max-width: 480px) {\n  .system-header {\n    font-size: 18px !important;\n    line-height: 1.4;\n  }\n}\n\n.serum2-inner li:not(.expandable-trigger):not(.expandable-wrapper)::before {\n  content: \"▶\\FE0E \";\n  color: #f0f0e6;\n  padding-right: 6px;\n  position: relative;\n  top: 2px;\n}\n\n      .serum2-inner ul {\n        list-style-type: none;\n        padding-left: 0.6rem;\n        margin-left: 0;\n      }\n\n      @keyframes subtle-glitch {\n        0%, 60%, 100% { text-shadow: 0 0 4px #f0f0e6; }\n        20% { text-shadow: -1px 0 #f0f0e6, 1px 0 #f0f0e6; }\n        40% { text-shadow: 1px 0 #f0f0e6, -1px 0 #f0f0e6; }\n        80% { text-shadow: 0 0 6px #f0f0e6; }\n      }\n\n      .cursor {\n        display: inline-block;\n        width: 8px;\n        height: 14px;\n        background-color: #f0f0e6;\n        margin-left: 3px;\n        animation: blink 0.8s infinite alternate;\n      }\n\n      @keyframes blink {\n        from { opacity: 1; }\n        to { opacity: 0; }\n      }\n\n.hook-plus-image {\n  display: flex;\n  flex-wrap: nowrap;\n  justify-content: space-between;\n  align-items: center;\n  gap: 40px;\n  margin: 40px 0;\n  width: 100%;\n}\n\n.hook-text {\n  flex: 1 1 50%;\n  min-width: 300px;\n}\n\n  .split-combine-section.in-view.animation-complete .half {\n  z-index: 0;\n  pointer-events: none;\n}\n\n.split-combine-section.in-view.animation-complete .sr-only {\n  pointer-events: auto;\n  z-index: 2;\n}\n  \n.serum2-upsell-text {\n  opacity: 0;\n  visibility: hidden;\n  transform: translateY(20px);\n  transition:\n    opacity 0.6s ease,\n    transform 0.6s ease,\n    visibility 0s linear 0.6s;\n  color: #f0f0e6;\n  text-shadow: 0 0 4px #f0f0e6;\n  animation: subtle-glitch 1s ease-in-out infinite;\n}\n\n\/* Increase heading size *\/\n.hook-text h2,\n.serum2-inner h2 {\n  font-size: 24px;\n}\n\n\/* Increase bullet list font *\/\n.hook-text li,\n.serum2-inner ul li {\n  font-size: 18px;\n  line-height: 1.8;\n}\n\n\/* Optional: increase paragraph size under vault section *\/\n.serum2-inner p {\n  font-size: 17px;\n}\n.split-combine-section {\n  flex: 1 1 40%;\n  max-width: 480px;\n  position: relative;\n  overflow: hidden;\n  height: 320px;\n}\n\n.split-combine-section .half {\n  position: absolute;\n  top: 0;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  transition: transform 1s ease-out;\n}\n\n.split-combine-section .half.left {\n  left: 0;\n  clip-path: polygon(0 0, 50% 0, 50% 100%, 0% 100%);\n  transform: translateX(-100%);\n}\n\n.split-combine-section .half.right {\n  left: 0;\n  clip-path: polygon(50% 0, 100% 0, 100% 100%, 50% 100%);\n  transform: translateX(100%);\n}\n\n  .split-combine-section .sr-only {\n  position: absolute;\n  width: 100%;\n  object-fit: cover;\n  top: 0;\n  left: 0;\n  opacity: 0;\n  transition: opacity 1s ease-in-out;\n  z-index: 0; \n}\n\n  .split-combine-section.in-view .sr-only {\n  opacity: 1;\n  transition-delay: 1s; \n}\n  \n.split-combine-section.in-view .half.left,\n.split-combine-section.in-view .half.right {\n  transform: translateX(0);\n}\n  \n.split-combine-section.in-view.animation-complete .sr-only {\n  z-index: 2;\n  pointer-events: auto;\n  transition: transform 0.25s ease-in-out;\n}\n\n.split-combine-section.in-view.animation-complete .sr-only:hover {\n  transform: scale(1.06);\n}\n  \n\n.split-combine-section.split-whzly {\n  aspect-ratio: 16 \/ 9;\n  height: auto;\n  max-width: 480px;\n}\n\n.split-img {\n  width: 100%;\n  height: 100%;\n  object-fit: cover;\n  transition: filter 0.8s ease;\n  filter: none;\n}\n\n@media (max-width: 768px) {\n  .hook-plus-image {\n    flex-direction: column;\n    align-items: center;\n    gap: 0px !important;\n  }\n\n  .split-combine-section {\n    max-width: 100%;\n    height: auto;\n    aspect-ratio: 16 \/ 9;\n  }\n}\n\n@media (min-width: 769px) {\n  .split-combine-section {\n    margin-top: 30px;\n  }\n}\n\n@keyframes pulse-glow-smaller {\n  0% { filter: drop-shadow(0 0 4px #f0f0e6); }\n  100% { filter: drop-shadow(0 0 8px #f0f0e6); }\n}\n\n      @media (max-width: 768px) {\n        .vault-plus-split {\n          flex-direction: column;\n          align-items: center;\n        }\n\n        .split-combine-section {\n          max-width: 100%;\n        }\n      }\n\n  .jukebox-wrapper {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  transform-origin: top center;\n  padding: 20px;\n  transform: translateX(100px);\n  margin-top: -10px !important;\n}\n\n\/* Scale for tablet *\/\n@media (max-width: 768px) {\n  .jukebox-wrapper {\n    transform: scale(0.85);\n  }\n}\n\n\/* Scale further for mobile *\/\n@media (max-width: 480px) {\n  .jukebox-wrapper {\n    transform: scale(0.7);\n  }\n}\n\n.animated-list ul ul {\n  max-height: 0;\n  opacity: 0;\n  transform: translateY(-8px);\n  overflow: hidden;\n  transition:\n    max-height 1.2s ease-in-out,\n    opacity 1.2s ease-in-out,\n    transform 1.2s ease-in-out;\n}\n\n.animated-list.visible ul ul {\n  max-height: 1000px;\n  opacity: 1;\n  transform: translateY(0);\n}\n\n@media (max-width: 768px) {\n  .hook-text h2 {\n    margin-top: 0px !important;\n    margin-bottom: 0px\n  }\n\n  .hook-text p {\n    margin-bottom: 0px !important;\n  }\n\n  .vault-and-player {\n    margin-top: 5px !important; \/* was 100px *\/\n  }\n\n  .glitch-button.scroll-button {\n    margin-bottom: 30px !important; \/* was 80px *\/\n  }\n}\n\n@media (max-width: 768px) {\n  .hook-plus-image .hook-text {\n    margin-top: -5px\n    margin-bottom: -5px !important;\n  }\n}\n\n    \u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .serum2-inner {\n    padding-left: 10px !important;\n    padding-right: 10px !important;\n    margin-left: auto !important;\n    margin-right: auto !important;\n    box-sizing: border-box;\n  }\n}\n\u003c\/style\u003e\n\n  \u003cstyle\u003e\n@media (max-width: 480px) {\n  .serum2-inner p,\n  .serum2-inner li {\n    font-size: 15px !important; \/* was 17-18px *\/\n    line-height: 1.5 !important; \/* was 1.8 *\/\n  }\n\n  .serum2-inner h2 {\n    font-size: 22px !important; \/* was 24px *\/\n    margin-top: 20px !important;\n    margin-bottom: 12px !important;\n  }\n\n  #fullscreenTip {\n    font-size: 12px !important;\n    line-height: 1.2 !important;\n  }\n}\n\n  .hook-text ul,\n  .vault-section ul {\n    margin-top: 8px !important;\n    margin-bottom: 0px !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"serum2-global-wrapper\"\u003e\n\u003cdiv class=\"serum2-inner\"\u003e\n\u003c!-- Content Starts Here --\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n.glitch-line {\n  width: 100%;\n  overflow: hidden;\n  white-space: nowrap;\n  font-size: 13px;\n  color: #f0f0e6;\n  font-family: 'Montserrat', sans-serif;\n  margin: 20px 0;\n  position: relative;\n}\n\n.scrolling-text {\n  display: inline-block;\n  white-space: nowrap;\n  animation: scroll-text 250s linear infinite;\n  padding-left: 0; \/* Remove the initial gap *\/\n}\n\n@keyframes scroll-text {\n  0% {\n    transform: translateX(0%);\n  }\n  100% {\n    transform: translateX(-100%);\n  }\n}\n\n.vault-statement {\n  text-align: center;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 22px;\n  margin: 40px auto -35px auto;\n  max-width: 900px;\n  color: #f0f0e6;\n  text-shadow: 0 0 4px #f0f0e6;\n  animation: subtle-glitch 1s ease-in-out infinite;\n}\n\n.vault-statement p {\n  margin-bottom: -15px; \/* Reduce bottom space *\/\n  line-height: 1.5;\n}\n\n@media (min-width: 769px) {\n  .vault-statement {\n    margin-top: 10px !important;\n  }\n}\n\n@media (max-width: 768px) {\n  .vault-statement {\n    font-size: 18px !important;\n    line-height: 1.4 !important;\n    padding: 0 10px;\n  }\n  \n  .vault-statement p {\n    font-size: 16px !important;\n    line-height: 1.4 !important;\n    margin-bottom: 0px !important;\n  }\n}\n\n.glitch-button.scroll-button {\n  margin-top: 4px !important;\n}\n\n.desktop-vault-text {\n  display: block;\n}\n.mobile-vault-text {\n  display: none;\n}\n\n@media (max-width: 768px) {\n  .desktop-vault-text {\n    display: none;\n  }\n  .mobile-vault-text {\n    display: block;\n  }\n}\n\n\u003c\/style\u003e\n\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .desktop-only-text {\n    display: none !important;\n  }\n}\n\n@media (min-width: 769px) {\n  .benchmark-tagline {\n    margin-top: -15px;\n    margin-bottom: 9px !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .split-combine-section.split-whzly .half,\n  .split-combine-section.split-serum .half {\n    display: none !important;\n\n  }\n\n.split-combine-section.split-serum {\n  display: flex;\n  align-items: center;\n}\n\n.split-combine-section.split-serum .half {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n}\n\/* Always show fallback sr-only image for sections that still use it *\/\n.split-combine-section .sr-only {\n  opacity: 1 !important;\n  position: relative !important;\n  z-index: 1 !important;\n  pointer-events: auto !important;\n  transition: none !important;\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .split-combine-section {\n    overflow: visible !important;\n    height: auto !important;\n    aspect-ratio: auto !important;\n    max-width: 100% !important;\n    transform: none !important;\n  }\n\n  .split-combine-section .sr-only {\n    width: 100% !important;\n    height: auto !important;\n    object-fit: contain !important;\n    border-radius: 0 !important;\n    margin: 20px 0 !important;\n    transform: none !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n.expandable-content \u003e ul {\n  margin-top: 4px !important;\n  padding-top: 0px !important;\n}\n\n\/* Second level bullets (nested ul inside ul) *\/\n.expandable-content ul ul {\n  margin-left: 16px !important;\n  padding-left: 16px !important;\n  border-left: none !important;\n  margin-top: 4px !important; \n  padding-top: 0px !important;\n  margin-bottom: 0px !important;\n}\n\n.expandable-content ul ul li::before {\n  content: \"•\" !important; \n  margin-right: 4px !important;\n  transform: translateX(-1px) !important;\n  position: relative;\n  top: -2px; \n}\n\n.expandable-content ul ul li {\n  font-weight: normal;\n  margin-top: 2px !important; \n  margin-bottom: 2px !important;\n  line-height: 1.5 !important; \n}\n\n.expandable-content ul li {\n  font-weight: bold;\n  margin-top: 2px !important;\n  margin-bottom: 2px !important;\n  line-height: 1.5 !important;\n}\n\n.nihilism-heading {\n style=\"text-align: center;\n margin-top: -5px;\n}\n\n  @media (max-width: 768px) {\n    .intro-mobile-hide {\n      display: none;\n    }\n  }\n\n  @media (max-width: 768px) {\n    .nihilism-heading {\n      margin-top: 0px !important;\n    }\n  }\n\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (min-width: 769px) {\n  .vault-and-player {\n    align-items: center;\n  }\n\n  .jukebox-section {\n    position: relative; \n    align-self: center;\n    margin-left: -225px;\n    transform: translateY(0);\n    transition: none;\n    transition: transform 0.3s ease;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .weapon-tagline {\n    margin-bottom: 8px !important;\n  }\n}\n\n.nihilism-subheading {\n  text-align: center;\n}\n\n@media (max-width: 768px) {\n  .desktop-only {\n    display: none;\n  }\n  .mobile-only {\n    display: block;\n  }\n}\n\n@media (min-width: 769px) {\n  .desktop-only {\n    display: block;\n  }\n  .mobile-only {\n    display: none;\n  }\n}\n\u003c\/style\u003e\n\n\u003c!-- HERO SECTION --\u003e\n\u003cdiv class=\"serum2-global-wrapper\"\u003e\n  \u003cdiv class=\"serum2-inner\"\u003e\n\n    \u003ch1 class=\"nihilism-heading\" style=\"margin-top:-40px\"\u003e\n  \u003cspan class=\"intro-mobile-hide\"\u003eINTRODUCING \u003c\/span\u003eNIHILISM 2\n\u003c\/h1\u003e\n\u003cp class=\"nihilism-subheading desktop-only\"\u003e\n  The follow-up to the pack that redefined midtempo. This time, it leaves nothing standing.\n\u003c\/p\u003e\n\u003cp class=\"nihilism-subheading mobile-only\"\u003e\n  The follow-up to the pack that redefined midtempo.\u003cbr\u003eThis time, it leaves nothing standing.\n\u003c\/p\u003e\n\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- DEMO TRACK VIDEO --\u003e\n\u003cdiv class=\"serum2-inner\" style=\"text-align: center; margin: 5px 0;\"\u003e\n  \u003cdiv class=\"video-glow-wrapper-static\" style=\"max-width: 800px; margin: 0 auto; border-radius: 12px; overflow: hidden; box-shadow: 0 0 20px #f0f0e6;\"\u003e\n    \u003cdiv class=\"whzly-video-inner\"\u003e\n      \u003ciframe src=\"https:\/\/www.youtube.com\/embed\/UOMhilmaWW8?si=V0zzcvaEsmiywSk2?rel=0\u0026amp;modestbranding=1\u0026amp;showinfo=0\u0026amp;autohide=1\u0026amp;controls=1\" style=\"width: 100%; height: 50vw; max-height: 450px; border: none;\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen\u003e\n      \u003c\/iframe\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .video-glow-wrapper-static {\n      box-shadow: none !important;\n    }\n  }\n\n.split-combine-section.split-serum .half.right,\n.split-combine-section.split-serum .half.left,\n.split-combine-section.split-serum .sr-only {\n  padding-top: 20px;\n}\n\n  @media (max-width: 768px) {\n    .serum2-inner h1 {\n      font-size: 38px !important;\n      line-height: 1.2 !important;\n    }\n  }\n\u003c\/style\u003e\n\n\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .nihilism-tagline-desktop {\n      display: block;\n    }\n\n    .nihilism-tagline-mobile {\n      display: none;\n    }\n\n    .hook-text h2 {\n      font-size: 24px !important;\n      margin-top: 40px !important;\n      margin-bottom: 20px !important;\n      text-align: center !important;\n    }\n\n    .inspired-by-line {\n      text-align: center !important;\n    }\n  }\n\n  @media (min-width: 769px) {\n    .nihilism-tagline-mobile {\n      display: none;\n    }\n  }\n\n@media (max-width: 768px) {\n  .hook-plus-image {\n    padding: 0 -20px !important;\n    margin: 0 auto !important;\n    width: 100% !important;\n    max-width: 100% !important;\n    box-sizing: border-box;\n  }\n\n  .hook-plus-image .hook-text {\n    width: 100% !important;\n    max-width: 100% !important;\n  }\n}\n\n@media (max-width: 768px) {\n  .hook-plus-image ul {\n    margin-left: 10px !important;\n  }\n}\n\n@media (max-width: 768px) {\n  .inspired-by-line {\n    font-family: inherit !important;\n  }\n}\n\n  @media (max-width: 768px) {\n    .nihilism-bullets-desktop {\n      display: none;\n    }\n    .nihilism-bullets-mobile {\n      display: block;\n      margin-left: 20px;\n    }\n  }\n\n  @media (min-width: 769px) {\n    .nihilism-bullets-mobile {\n      display: none;\n    }\n\n    .hook-text h2 .gear-icon {\n      display: none;\n    }\n  }\n  @media (max-width: 769px) {\n    .gear-icon {\n      display: none;\n    }\n  }\n\n@media (max-width: 768px) {\n  .split-combine-section.split-serum {\n    display: none;\n  }\n}\n\n@media (max-width: 768px) {\n  .vault-and-player {\n    margin-top: 30px !important;\n  }\n}\n\n@media (max-width: 768px) {\n  .inside-heading-desktop {\n    display: none;\n  }\n}\n\n@media (min-width: 769px) {\n  .inside-heading-mobile {\n    display: none;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cdiv class=\"hook-plus-image\"\u003e\n  \u003cdiv class=\"hook-text\"\u003e\n    \u003ch2 style=\"margin-top: 35px; margin-bottom: 5px;\"\u003e\n      \u003cspan class=\"gear-icon\"\u003e⚙️\u003c\/span\u003e Geared for a New Wave of Bass\n    \u003c\/h2\u003e\n\n    \u003cp class=\"nihilism-tagline-desktop\"\u003e\n      \u003cstrong\u003e\u003cspan class=\"desktop-only-text\"\u003eDesigned to cut through modern bass music\u003c\/span\u003e\u003c\/strong\u003e\n    \u003c\/p\u003e\n\n    \u003cp class=\"nihilism-tagline-mobile\"\u003e\n      Designed to cut through modern bass music\n    \u003c\/p\u003e\n\n    \u003cp class=\"inspired-by-line\" style=\"margin: -20px 0 0; font-family: 'Share Tech Mono', monospace; font-size: 13.5px; color: #f58a80;\"\u003e\n      Inspired by REZZ, Deathpact, 1788-L, Blanke, and X1-Y2.\n    \u003c\/p\u003e\n\n\u003cul class=\"nihilism-bullets-desktop\"\u003e\n  \u003cli\u003eAggressive midtempo meets modern UK Bass\u003c\/li\u003e\n  \u003cli\u003e120 cutting-edge Serum 2 presets\u003c\/li\u003e\n  \u003cli\u003eOne-note triggered presets included\u003c\/li\u003e\n  \u003cli\u003eAll 8 macros programmed for instant variation and control\u003c\/li\u003e\n  \u003cli\u003e2000+ samples - our biggest midtempo pack!\u003c\/li\u003e\n  \u003cli\u003e7 Ableton projects for reverse-engineering pro tracks\u003c\/li\u003e\n  \u003cli\u003eThe go-to kit for forward-thinking bass music producers\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cul class=\"nihilism-bullets-mobile\"\u003e\n  \u003cli\u003eAggressive midtempo meets UK Bass\u003c\/li\u003e\n  \u003cli\u003e120 cutting-edge Serum 2 presets\u003c\/li\u003e\n  \u003cli\u003eOne-note triggered presets included\u003c\/li\u003e\n  \u003cli\u003eAll 8 macros programmed\u003c\/li\u003e\n  \u003cli\u003e2000+ samples - our biggest midtempo kit!\u003c\/li\u003e\n  \u003cli\u003e7 Ableton projects to learn from\u003c\/li\u003e\n  \u003cli\u003eThe go-to kit for modern producers\u003c\/li\u003e\n\u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"split-combine-section split-serum\"\u003e\n    \u003cdiv class=\"half left\"\u003e\n      \u003cimg class=\"split-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/image2.webp?v=1751812222\" alt=\"Circular gear design with glowing center\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"half right\"\u003e\n      \u003cimg class=\"split-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/image2.webp?v=1751812222\" alt=\"Circular gear design with glowing center\"\u003e\n    \u003c\/div\u003e\n    \u003cimg class=\"sr-only\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/image2.webp?v=1751812222\" alt=\"Circular gear design with glowing center\"\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\n  \u003cdiv class=\"vault-and-player\" style=\"display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 40px; margin-top: 100px;\"\u003e\n\n    \u003c!-- Vault Section --\u003e\n    \u003cdiv class=\"vault-section\" style=\"flex: 1 1 50%; min-width: 320px;\"\u003e\n      \u003cdiv style=\"margin-bottom: 20px;\"\u003e\n        \u003ch2 class=\"inside-heading-desktop\"\u003e\n  📂 What’s Inside This Monstrous Collection?\n\u003c\/h2\u003e\n\u003ch2 class=\"inside-heading-mobile\"\u003e\n  📂 What’s Inside NIHILISM 2?\n\u003c\/h2\u003e\n      \u003c\/div\u003e\n\u003cp class=\"benchmark-tagline\"\u003e\u003cstrong\u003e\u003cspan class=\"desktop-only-text\"\u003e2200+ professionally engineered Serum 2 presets and samples\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n      \u003cdiv class=\"vault-scroll-area\"\u003e\n        \u003cul class=\"whzly-list\"\u003e\n          \u003cli class=\"expandable-wrapper\"\u003e\n            \u003cdiv class=\"expandable-trigger\" data-target=\"#presets-sublist\"\u003e\n              \u003cspan class=\"arrow-icon\"\u003e\u003c\/span\u003e\n              \u003cstrong\u003e120 Brand New Serum 2 Presets\u003c\/strong\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"expandable-content\" id=\"presets-sublist\"\u003e\n      \u003cul\u003e\n        \u003cli\u003e111 Massive Bass Presets\n          \u003cul\u003e\n            \u003cli\u003e21 Drop Wub Basslines\u003c\/li\u003e\n            \u003cli\u003e23 Heavy Drop Bass\u003c\/li\u003e\n            \u003cli\u003e10 ARP Basslines (Using Serum 2 ARP Mode!)\u003c\/li\u003e\n            \u003cli\u003e10 Punchy Bassline (Using Serum 2 ARP Mode!)\u003c\/li\u003e\n            \u003cli\u003e25 Spectral Bass One Shots\u003c\/li\u003e\n            \u003cli\u003e21 UK Basses\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/li\u003e\n        \u003cli\u003e7 Intro Presets\n          \u003cul\u003e\n            \u003cli\u003ePluck\u003c\/li\u003e\n            \u003cli\u003eGuitar\u003c\/li\u003e\n            \u003cli\u003eChoir\u003c\/li\u003e\n            \u003cli\u003eBass\u003c\/li\u003e\n            \u003cli\u003eMelody\u003c\/li\u003e\n          \u003c\/ul\u003e\n        \u003c\/li\u003e\n        \u003cli\u003e2 Bonus Presets\n          \u003cul\u003e\n            \u003cli\u003eFully-Customizable Riser Preset\u003c\/li\u003e\n            \u003cli\u003eSuper Sub Preset\u003c\/li\u003e\n          \u003c\/ul\u003e\n            \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n          \u003c\/li\u003e\n\n          \u003cli class=\"expandable-wrapper\"\u003e\n            \u003cdiv class=\"expandable-trigger\" data-target=\"#samples-sublist\"\u003e\n              \u003cspan class=\"arrow-icon\"\u003e\u003c\/span\u003e\n              \u003cstrong\u003e2000+ Professionally Engineered Samples\u003c\/strong\u003e\n            \u003c\/div\u003e\n\u003cdiv class=\"expandable-content\" id=\"samples-sublist\"\u003e\n  \u003cul\u003e\n    \u003cli\u003eBass\n      \u003cul\u003e\n        \u003cli\u003e182 Drop Bass Loops\u003c\/li\u003e\n        \u003cli\u003e53 Intro Bass Loops\u003c\/li\u003e\n        \u003cli\u003e175 Bass One Shots\u003c\/li\u003e\n        \u003cli\u003e100 Sub Loops\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli\u003eMelodic\n      \u003cul\u003e\n        \u003cli\u003e55 Melodic Loops\u003c\/li\u003e\n        \u003cli\u003e79 Melodic One Shots\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli\u003eDrums\n      \u003cul\u003e\n        \u003cli\u003e67 Full Loops\u003c\/li\u003e\n        \u003cli\u003e83 Top Loops\u003c\/li\u003e\n        \u003cli\u003e21 Orchestral Loops\u003c\/li\u003e\n        \u003cli\u003e210 Drum One Shots\u003c\/li\u003e\n        \u003cli\u003e63 Drum Fills\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli\u003eFX\n      \u003cul\u003e\n        \u003cli\u003e16 Buidups\u003c\/li\u003e\n        \u003cli\u003e23 Ambience\u003c\/li\u003e\n        \u003cli\u003e18 Misc Atmo\u003c\/li\u003e\n        \u003cli\u003e21 Riser\u003c\/li\u003e\n        \u003cli\u003e25 Downlifter\u003c\/li\u003e\n        \u003cli\u003e77 Sweep\u003c\/li\u003e\n        \u003cli\u003e36 Verb Shots\u003c\/li\u003e\n        \u003cli\u003e50 Impact\u003c\/li\u003e\n        \u003cli\u003e89 Perc \u0026amp; Special FX\u003c\/li\u003e\n        \u003cli\u003e87 Drop Layers\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli\u003eMIDI\n      \u003cul\u003e\n        \u003cli\u003e96 Drop Bass Loops\u003c\/li\u003e\n        \u003cli\u003e99 Sub Bass Loops\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n    \u003cli\u003eVocals\n      \u003cul\u003e\n        \u003cli\u003e109 Female\u003c\/li\u003e\n        \u003cli\u003e69 Male\u003c\/li\u003e\n        \u003cli\u003e38 Glitch\u003c\/li\u003e\n        \u003cli\u003e43 Radio\u003c\/li\u003e\n        \u003cli\u003e24 HYPNO Vocals (Dry\/Wet)\u003c\/li\u003e\n      \u003c\/ul\u003e\n    \u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003c\/div\u003e\n\n          \u003c\/li\u003e\n\n\u003cli class=\"expandable-wrapper\"\u003e\n  \u003cdiv class=\"expandable-trigger\" data-target=\"#projects-sublist\"\u003e\n    \u003cspan class=\"arrow-icon\"\u003e\u003c\/span\u003e\n    \u003cstrong\u003e4 Ableton Drop Projects + 3 Full-Length Ableton Projects\u003c\/strong\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"expandable-content\" id=\"projects-sublist\"\u003e\n    \u003cul\u003e\n      \u003cli\u003eRaw midtempo\u003c\/li\u003e\n      \u003cli\u003eHypnotic drops\u003c\/li\u003e\n      \u003cli\u003eUK bass-inspired bangers\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\u003c\/li\u003e\n\n\u003cli class=\"expandable-wrapper\"\u003e\n  \u003cdiv class=\"expandable-trigger\" data-target=\"#fxracks-sublist\"\u003e\n    \u003cspan class=\"arrow-icon\"\u003e\u003c\/span\u003e\n    \u003cstrong\u003eCustom FX Presets \u0026amp; Advanced Ableton Racks\u003c\/strong\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"expandable-content\" id=\"fxracks-sublist\"\u003e\n    \u003cul\u003e\n      \u003cli\u003eCreative FX chains\u003c\/li\u003e\n      \u003cli\u003eAdvanced workflow tools\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003c!-- Audio Player Section --\u003e\n\u003cdiv class=\"jukebox-section\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"preview-player-wrapper\"\u003e\n\u003ch3 class=\"audio-preview-heading\"\u003e\n\u003cspan class=\"emoji\"\u003e🎧\u003c\/span\u003e PREVIEW SOUNDS \u003cspan class=\"emoji\"\u003e🎧\u003c\/span\u003e\n\u003c\/h3\u003e\n  \u003cdiv class=\"sample-category-buttons\"\u003e\n    \u003cbutton class=\"sample-category-btn active\" data-category=\"bass\"\u003eBASS\u003c\/button\u003e\n    \u003cbutton class=\"sample-category-btn\" data-category=\"drums\"\u003eDRUMS\u003c\/button\u003e\n    \u003cbutton class=\"sample-category-btn\" data-category=\"intro\"\u003eINTRO\u003c\/button\u003e\n    \u003cbutton class=\"sample-category-btn\" data-category=\"vocal\"\u003eVOCAL\u003c\/button\u003e\n    \u003cbutton class=\"sample-category-btn\" data-category=\"fx\"\u003eFX\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n  \u003cdiv class=\"jukebox-wrapper\"\u003e\n    \u003cdiv class=\"jukebox-container\"\u003e\n      \u003cdiv class=\"jukebox-display\"\u003e\n        \u003cdiv class=\"serum-ui\"\u003e\n          \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Serum2AudioPlayer.jpg?v=1747181839\" alt=\"Serum 2 UI\" class=\"serum-bg\"\u003e\n          \u003cdiv id=\"sampleTitle\" class=\"serum-title\"\u003eWHZLY PRESET 1\u003c\/div\u003e\n          \u003cdiv id=\"waveformContainer\" class=\"serum-waveform\"\u003e\u003c\/div\u003e\n\u003cbutton id=\"prevSample\" class=\"jukebox-btn\"\u003e◀\u003c\/button\u003e\n\u003cbutton id=\"nextSample\" class=\"jukebox-btn\"\u003e▶\u003c\/button\u003e\n          \u003cbutton id=\"playPause\" class=\"play-pause-btn\"\u003e\u003c\/button\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"hook-plus-image\"\u003e\n  \u003cdiv class=\"hook-text\"\u003e\n\u003ch2 style=\"margin-top: 35px; margin-bottom: 15px;\"\u003e\n  \u003cspan class=\"project-emoji\"\u003e🎛️\u003c\/span\u003e 7 Ableton Project Files Included\n\u003c\/h2\u003e\n\u003c!-- DESKTOP LIST --\u003e\n\u003cul class=\"projects-list-desktop\" style=\"padding-left: 0;\"\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003eIncludes 3 full-length projects with full arrangements\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003e4 Drop templates with space for your creativity\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003eExplore FX routing, layering, automation \u0026amp; more\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003eBuilt using only sounds from this pack\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c!-- MOBILE LIST --\u003e\n\u003cul class=\"projects-list-mobile\" style=\"padding-left: 0;\"\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003e3 full-length Ableton projects included\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003e4 Drop templates with space for creativity\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003eMaster FX, layering, and automation\u003c\/li\u003e\n  \u003cli style=\"margin-bottom: 0px;\"\u003eBuilt using only sounds from this pack\u003c\/li\u003e\n\u003c\/ul\u003e\n\n    \u003c!-- SOUNDCLOUD PLAYERS --\u003e\n\u003cdiv class=\"soundcloud-player-wrap\" style=\"margin-top: 20px; max-width: 650px; padding-left: 10px;\"\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216031\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216034\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216028\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216046\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216037\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216043\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n  \u003ciframe width=\"100%\" height=\"20\" scrolling=\"no\" frameborder=\"no\" allow=\"autoplay\" src=\"https:\/\/w.soundcloud.com\/player\/?url=https%3A\/\/api.soundcloud.com\/tracks\/2138216040\u0026amp;color=%231d1d1e\u0026amp;inverse=true\u0026amp;auto_play=false\u0026amp;show_user=false\"\u003e\u003c\/iframe\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n\u003cdiv class=\"projects-image\" style=\"flex: 0 0 420px; display: flex; justify-content: center; margin-left: 85px; margin-top: 25px;\"\u003e\n  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Demo_radial.webp?v=1753793531\" alt=\"7 Ableton Project Files\" style=\"max-width: 100%; height: auto;\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .projects-list-desktop {\n      display: none;\n    }\n    .projects-list-mobile {\n      display: block;\n    }\n  }\n\n  @media (min-width: 769px) {\n    .projects-list-mobile {\n      display: none;\n    }\n  }\n\n@media (max-width: 400px) {\n  .audio-preview-heading .emoji {\n    display: none;\n  }\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .soundcloud-player-wrap {\n      padding-left: 0 !important;\n    }\n  }\n\u003c\/style\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .projects-image {\n      display: none !important;\n    }\n  }\n\u003c\/style\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .project-emoji {\n      display: none;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"hook-plus-image hook-plus-image-optimized\"\u003e\n  \u003cdiv class=\"hook-text\"\u003e\n\u003ch2 style=\"margin-top: 35px; margin-bottom: 15px;\"\u003e\n  \u003cspan class=\"no-filler-icon\"\u003e🧪\u003c\/span\u003e No Filler. No Guesswork.\n\u003c\/h2\u003e\n\u003c!-- Desktop version --\u003e\n\u003cul class=\"no-filler-list-desktop\"\u003e\n  \u003cli\u003eAll presets tuned, leveled, and macro-mapped for fast use\u003c\/li\u003e\n  \u003cli\u003e100s of loops designed for direct drop-ins\u003c\/li\u003e\n  \u003cli\u003eOne-note trigger presets built for aggressive drops\u003c\/li\u003e\n  \u003cli\u003eEvery file serves a purpose - no filler, no fluff\u003c\/li\u003e\n  \u003cli\u003eDelivered as a fully processed, organised toolkit\u003c\/li\u003e\n  \u003cli\u003e100% royalty-free and instantly downloadable\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003c!-- Mobile version --\u003e\n\u003cul class=\"no-filler-list-mobile\"\u003e\n  \u003cli\u003ePresets tuned, leveled \u0026amp; macro-ready\u003c\/li\u003e\n  \u003cli\u003e100s of loops for instant drop-ins\u003c\/li\u003e\n  \u003cli\u003eOne-note presets for heavy drops\u003c\/li\u003e\n  \u003cli\u003eNo filler - every sound has a role\u003c\/li\u003e\n  \u003cli\u003eOrganised, processed production kit\u003c\/li\u003e\n  \u003cli\u003eRoyalty-free \u0026amp; ready to download\u003c\/li\u003e\n\u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"split-combine-section split-whzly\"\u003e\n    \u003cdiv class=\"half left\"\u003e\n      \u003cimg class=\"split-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/WHZLY_studio.jpg?v=1746830700\" alt=\"WHZLY Studio\"\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"half right\"\u003e\n      \u003cimg class=\"split-img\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/WHZLY_studio.jpg?v=1746830700\" alt=\"WHZLY Studio\"\u003e\n    \u003c\/div\u003e\n    \u003cimg class=\"sr-only\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/WHZLY_studio.jpg?v=1746830700\" alt=\"WHZLY Studio\"\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e\n\n\n  \u003c\/div\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .no-filler-icon {\n      display: none;\n    }\n\n    .no-filler-heading {\n      margin-top: 30px;\n    }\n  }\n\n@media (max-width: 768px) {\n  .no-filler-list-mobile {\n    display: block;\n    padding-left: 0;\n    margin-top: 10px;\n  }\n\n  .no-filler-list-desktop {\n    display: none;\n  }\n}\n\n@media (min-width: 769px) {\n  .no-filler-list-mobile {\n    display: none;\n  }\n\n  .no-filler-list-desktop {\n    display: block;\n  }\n}\n\u003c\/style\u003e\n\u003cstyle\u003e\n  @media (max-width: 768px) {\n    .projects-wrapper {\n      flex-direction: column !important;\n      align-items: center !important;\n    }\n\n    .projects-wrapper \u003e div {\n      max-width: 100% !important;\n      margin-left: 0 !important;\n    }\n\n    .project-image {\n      margin-top: 40px !important;\n    }\n  }\n\n  .project-image img {\n    transition: transform 0.3s ease;\n  }\n\n  .project-image img:hover {\n    transform: scale(1.06);\n  }\n\n@media (max-width: 768px) {\n  .projects-wrapper {\n    width: 100%;\n    max-width: 650px;\n    margin: 0 auto;\n    padding: 0 15px;\n    box-sizing: border-box;\n  }\n\n  .projects-wrapper ul {\n    margin-left: 20px !important;\n    padding-left: 0 !important;\n  }\n\n  .projects-wrapper li {\n    margin-bottom: 10px;\n  }\n}\n\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n@media (max-width: 768px) {\n  .projects-wrapper,\n  .projects-wrapper * {\n    max-width: 650px !important;\n    width: 100% !important;\n    font-size: 15px !important;\n    line-height: 1.6 !important;\n    font-family: 'Syne', sans-serif !important;\n    box-sizing: border-box !important;\n    color: #f0f0e6 !important;\n  }\n\n  .projects-wrapper h2 {\n    font-size: 22px !important;\n    margin-top: 25px !important;\n    margin-bottom: 15px !important;\n    text-align: center !important;\n  }\n\n  .projects-wrapper ul {\n    padding-left: 20px !important;\n    margin: 0 !important;\n  }\n\n  .projects-wrapper li {\n    margin-bottom: 12px !important;\n    list-style-type: disc !important;\n  }\n}\n\n@media (max-width: 768px) {\n  .projects-wrapper ul {\n    font-size: 15px !important;\n    line-height: 1.6 !important;\n    font-family: 'Syne', sans-serif !important;\n    padding-left: 20px !important;\n    margin: 0 !important;\n    color: #f0f0e6 !important;\n  }\n\n  .projects-wrapper li {\n    margin-bottom: 12px !important;\n    list-style-type: disc !important;\n  }\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n.expandable-content {\n  display: block;\n  max-height: 0;\n  overflow: hidden;\n  opacity: 0;\n  transition:\n    max-height 0.6s ease,\n    opacity 0.6s ease;\n  will-change: max-height, opacity;\n}\n\n.expandable-content ul {\n  margin-left: 15px;\n  padding-left: 20px;\n  border-left: 2px solid #f0f0e6;\n}\n\n.expandable-content ul li {\n  font-size: 16px;\n  opacity: 0.9;\n}\n\n.expandable-content ul li::before {\n  content: \"◦\";\n  color: #7cff5a;\n  margin-right: 8px;\n}\n\n.expandable-content.visible {\n  max-height: 1000px; \/* or whatever is tall enough for your list *\/\n  opacity: 1;\n}\n\n@media (max-width: 768px) {\n  \/* Pull the inner dropdown (ul) closer to the left *\/\n  .expandable-content ul {\n    margin-left: 8px !important; \n    padding-left: 12px !important; \n    border-left: 2px solid #f0f0e6;\n  }\n\n  \/* Tighten spacing inside the expandable-trigger (where the arrow + text are) *\/\n  .expandable-trigger .arrow-icon {\n    margin-right: 2px !important; \n  }\n\n  \/* Tighten space between bullet (▶) and text inside dropdown *\/\n  .expandable-content ul li::before {\n    padding-right: 0px !important;\n    margin-right: 4px !important;\n  }\n}\n\n\/* Base list styling *\/\n.whzly-list {\n  list-style: none;\n  padding-left: 0;\n}\n\n\/* Only apply ▶ arrow to list items that are NOT expandable triggers *\/\n.whzly-list li:not(.expandable-wrapper):not(.expandable-trigger)::before {\n  content: \"▶\\FE0E \";\n  color: #f0f0e6;\n  padding-right: 6px;\n}\n\n\/* Expandable list container *\/\n.expandable-wrapper {\n  margin-bottom: 10px;\n}\n\n\/* Expandable trigger overrides normal bullet *\/\n.expandable-trigger::before {\n  content: none; \/* Disable default list-style bullet *\/\n}\n\n\/* Flashing arrow icon *\/\n.arrow-icon {\n  display: inline-block;\n  color: #f0f0e6;\n  margin-right: 8px;\n  animation: arrowPulse 1.6s ease-in-out infinite;\n  transition: transform 0.3s ease;\n}\n\n.expandable-trigger,\n.expandable-trigger .arrow-icon {\n  cursor: pointer;\n}\n\n.expandable-trigger strong {\n  color: #f0f0e6;\n  text-shadow: 0 0 4px #f0f0e6;\n  font-weight: bold;\n}\n\n@keyframes arrowPulse {\n  0%, 100% {\n    opacity: 1;\n    transform: translateX(0);\n  }\n  50% {\n    opacity: 0.5;\n    transform: translateX(2px);\n  }\n}\n\n.expandable-trigger.active .arrow-icon {\n  animation: none;\n}\n\n\/* Arrow content: ▶ \/ ▼ *\/\n.arrow-icon::before {\n  content: \"▶\";\n}\n\n.expandable-trigger.active .arrow-icon::before {\n  content: \"▼\";\n}\n\u003c\/style\u003e\n\n\u003cstyle\u003e\n.preview-player-wrapper {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  margin-bottom: 16px;\n  margin-top: -12px !important;\n  width: 100%;\n}\n\n@media (min-width: 769px) {\n  .preview-player-wrapper {\n    transform: translateX(100px);\n  }\n}\n\n.sample-category-buttons {\n  display: flex;\n  justify-content: center;\n  flex-wrap: wrap;\n  gap: 8px;\n  margin-top: 8px;\n  margin-bottom: -10px !important;\n}\n\n@media (max-width: 480px) {\n  .sample-category-buttons {\n    transform: scale(0.7);\n    transform-origin: top center;\n    margin-left: -10px !important;\n    margin-right: -10px !important;\n  }\n}\n\n.sample-category-btn {\n  background: transparent;\n  border: 2px solid #f0f0e6;\n  color: #f0f0e6;\n  font-family: 'Montserrat', sans-serif;\n  padding: 6px 14px;\n  font-size: 14px;\n  border-radius: 4px;\n  cursor: pointer;\n  transition: all 0.3s ease;\n  text-shadow: 0 0 4px #f0f0e6;\n}\n\n.sample-category-btn:hover,\n.sample-category-btn.active {\n  background: #f0f0e6;\n  color: black;\n  box-shadow: 0 0 10px #f0f0e6;\n}\n\n.category-buttons {\n  display: flex;\n  justify-content: space-between;\n  gap: 10px;\n  width: 400px; \n  margin: 0 auto 10px auto;\n  transform: translateX(100px);\n}\n\n@media (max-width: 480px) {\n  .sample-category-buttons {\n    flex-wrap: nowrap;\n    overflow-x: auto;\n    scrollbar-width: none; \/* Firefox *\/\n  }\n\n  .sample-category-buttons::-webkit-scrollbar {\n    display: none; \/* Chrome, Safari, Edge *\/\n  }\n}\n\u003c\/style\u003e\n\n\u003cscript\u003e\n  document.addEventListener('DOMContentLoaded', () =\u003e {\n    const triggers = document.querySelectorAll('.expandable-trigger');\n    const manualToggles = new Set();\n    const autoExpanded = new Set();\n    let lastY = window.scrollY;\n\n    triggers.forEach(trigger =\u003e {\n      trigger.addEventListener('click', () =\u003e {\n        const target = document.querySelector(trigger.dataset.target);\n        const id = trigger.dataset.target;\n\n        trigger.classList.toggle('active');\n        target.classList.toggle('visible');\n        manualToggles.add(id); \n        autoExpanded.delete(id); \n      });\n    });\n\n    const handleScrollExpand = () =\u003e {\n      const currentY = window.scrollY;\n      const scrollingUp = currentY \u003c lastY;\n      lastY = currentY;\n\n      triggers.forEach(trigger =\u003e {\n        const id = trigger.dataset.target;\n        const target = document.querySelector(id);\n        const rect = target.getBoundingClientRect();\n\n        const triggerPoint = window.innerHeight * (id === '#samples-sublist' ? 0.65 : 0.75);\n\n        if (manualToggles.has(id)) return;\n\n        \n        if (!scrollingUp \u0026\u0026 rect.top \u003c triggerPoint \u0026\u0026 rect.bottom \u003e 0) {\n          trigger.classList.add('active');\n          target.classList.add('visible');\n          autoExpanded.add(id);\n        }\n\n        \n        if (scrollingUp \u0026\u0026 autoExpanded.has(id) \u0026\u0026 rect.top \u003e triggerPoint) {\n          trigger.classList.remove('active');\n          target.classList.remove('visible');\n          autoExpanded.delete(id);\n        }\n      });\n    };\n\n    window.addEventListener('scroll', handleScrollExpand, { passive: true });\n    handleScrollExpand(); \/\/ run once on page load\n  });\n\u003c\/script\u003e\n\n\n\u003cstyle\u003e\n.audio-preview-heading {\n  display: block;\n  text-align: center;\n  color: #f0f0e6;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 24px;\n  font-weight: bold;\n  letter-spacing: 1px;\n  margin-bottom: 8px !important; \n}\n\n@media (min-width: 769px) {\n  .audio-preview-heading {\n    margin-left: 197px;\n    margin-top: 10px;   \n    text-align: left;   \n    transform: translateX(-100px);\n  }\n}\n\n.jukebox-section {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: flex-start;\n  margin-top: 0;\n  margin-bottom: 0;\n  margin-left: -225px;\n}\n\n.vault-and-player {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: space-between;\n  align-items: center;\n  gap: 40px;\n  margin-top: 60px;\n}\n\n.vault-text {\n  flex: 1 1 50%;\n  min-width: 300px;\n}\n\n.player-container {\n  flex: 1 1 40%;\n  min-width: 300px;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n}\n\n@media (max-width: 768px) {\n  .vault-and-player {\n    flex-direction: column;\n    width: 100%;\n    align-items: center;\n    margin: 0 auto;\n  }\n\n  .vault-text, .player-container {\n    width: 100%;\n  }\n}\n\n\n.jukebox-container {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  transform: scale(1);\n  transform-origin: top center;\n  padding: 0;\n  margin-top: 0;\n  margin-top: 0;\n}\n\n.jukebox-display {\n  position: relative;\n  width: 100%;\n  max-width: 400px;\n  aspect-ratio: 657 \/ 778;\n  margin: 0 auto;\n}\n\n.serum-ui {\n  position: relative;\n  width: 100%;\n  height: 100%;\n}\n\n.serum-bg {\n  width: 100%;\n  height: auto;\n  display: block;\n}\n\n.serum-title {\n  position: absolute;\n  top: 43px;\n  left: 50%;\n  transform: translateX(-51%);\n  font-family: 'Montserrat', sans-serif;\n  font-size: 21px;\n  font-weight: 400;\n  color: #ffffff;\n  letter-spacing: 0.5px;\n  text-shadow: none;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n\n.serum-waveform {\n  position: absolute;\n  top: 110px;\n  left: 50%;\n  transform: translateX(-50%);\n  width: 100%;\n  height: 144px;\n  overflow: hidden;\n}\n\n.play-pause-btn {\n  position: absolute;\n  top: 184px;\n  left: 50%; \/* was 50% *\/\n  transform: translate(-50%, -50%) translateX(10px);\n  width: 100px;\n  height: 100px;\n  background: transparent;\n  border: none;\n  z-index: 3;\n  opacity: 1;\n  padding: 0;\n  font-size: 0;\n  pointer-events: auto;\n}\n\n.play-pause-btn::before {\n  content: '';\n  display: block;\n  width: 0;\n  height: 0;\n  margin: auto;\n  border-style: solid;\n  border-width: 30px 0 30px 50px;\n  border-color: transparent transparent transparent #f0f0e6;\n  position: relative;\n  left: -6px;\n}\n\n.play-pause-btn.paused::before {\n  content: '';\n  display: block;\n  width: 24px;\n  height: 28px;\n  margin: 0 auto;\n  background:\n    linear-gradient(to right,\n      #f0f0e6 8px,\n      transparent 8px,\n      transparent 16px,\n      #f0f0e6 16px\n    );\n  transform: translateX(-2px); \/* slight left nudge *\/\n}\n\n.play-pause-btn::before,\n.play-pause-btn.paused::before {\n  text-shadow: 0 0 6px #f0f0e6;\n  filter: drop-shadow(0 0 6px #f0f0e6);\n  transition: filter 0.3s ease-in-out;\n}\n\n.play-pause-btn:hover::before,\n.play-pause-btn.paused:hover::before {\n  filter: drop-shadow(0 0 10px #f0f0e) drop-shadow(0 0 16px #f0f0e);\n}\n\n.play-pause-btn.playing::before {\n  opacity: 0.2; \n  transition: opacity 0.3s ease;\n}\n\n@media (max-width: 480px) {\n  .play-pause-btn {\n    width: 82px !important;\n    height: 82px !important;\n    position: absolute;\n    top: 47%;\n    left: 52%; \/* ✅ nudge it right *\/\n    transform: translate(-50%, -50%);\n    z-index: 10;\n  }\n\n  .play-pause-btn::before {\n    content: '';\n    position: absolute;\n    border-style: solid;\n    border-width: 41px 0 41px 68px;\n    border-color: transparent transparent transparent #f0f0e6;\n    background: none;\n    left: -2px;\n    top: 0;\n    transform: none;\n    opacity: 1;\n  }\n\n  .play-pause-btn.paused::before {\n    content: '';\n    position: absolute;\n    width: 54px;\n    height: 76px;\n    background: linear-gradient(to right,\n      #f0f0e6 18px,\n      transparent 18px,\n      transparent 36px,\n      #f0f0e6 36px\n    );\n    border: none;\n    left: 14px;\n    top: 3px;\n    transform: none;\n    opacity: 1;\n  }\n}\n\n@media (max-width: 375px) {\n  .play-pause-btn {\n    width: 65px !important;\n    height: 65px !important;\n  }\n\n  .play-pause-btn::before {\n    border-width: 30px 0 30px 50px;\n    left: -4px;\n  }\n\n  .play-pause-btn.paused::before {\n    width: 42px;\n    height: 60px;\n  }\n}\n\n\n@media (max-width: 480px) {\n  .play-pause-btn::before,\n  .play-pause-btn.paused::before {\n    transform: scale(0.7) translateX(-2px);\n  }\n}\n\n\/* Navigation Arrows *\/\n.jukebox-btn {\n  position: absolute;\n  top: 184px;\n  transform: translateY(-50%);\n  background: transparent;\n  border: none;\n  color: #f0f0e6;\n  font-size: 40px;\n  font-family: 'Arial', 'Helvetica Neue', sans-serif; \/* remove Montserrat, exclude emoji fonts *\/\n  cursor: pointer;\n  z-index: 3;\n  transition: color 0.2s ease, text-shadow 0.2s ease;\n  text-shadow: 0 0 6px #f0f0e6;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n\n\n.jukebox-btn:hover {\n  color: #f0f0e;\n  text-shadow:\n    0 0 6px #f0f0e6,\n    0 0 12px #f0f0e6,\n    0 0 18px #f0f0e6;\n}\n\n#prevSample {\n  left: -34px;\n}\n\n#nextSample {\n  right: -34px;\n}\n\n@media (max-width: 480px) {\n  .jukebox-btn {\n    top: 178px; \/* move up from 184px *\/\n  }\n\n  #prevSample {\n    left: -40px;\n  }\n\n  #nextSample {\n    right: -40px;\n  }\n}\n\n\/* Mobile general scaling *\/\n@media (max-width: 480px) {\n  .jukebox-display {\n    max-width: 100%;\n    width: 90vw;\n    transform: scale(0.85); \/* actual scale down now *\/\n    transform-origin: top center;\n    margin: 0 auto;\n  }\n\n  .serum-title {\n    font-size: 18px;\n    top: 9.1%; \/* percentage relative to player *\/\n  }\n\n  .play-pause-btn {\n    font-size: 86px;\n    top: 39%;\n    transform: translate(-50%, -50%);\n  }\n\n  .serum-waveform {\n    height: 30%;\n    top: 23%;\n  }\n\n  .jukebox-btn {\n    font-size: 63px;\n    top: 38.2%;\n  }\n}\n\n\/* Tiny mobile scaling (375px and below) *\/\n@media (max-width: 375px) {\n  .jukebox-display {\n    transform: scale(0.8);\n  }\n\n  .serum-title {\n    font-size: 16px;\n    top: 9.5%;\n  }\n\n  .play-pause-btn {\n    font-size: 58px;\n    top: 40%;\n    transform: translate(-50%, -50%);\n  }\n\n  .serum-waveform {\n    height: 29%;\n    top: 24%;\n  }\n\n  .jukebox-btn {\n    font-size: 58px;\n    top: 40%;\n  }\n}\n\n@media (max-width: 768px) {\n  .jukebox-section {\n    margin-bottom: -50px;\n  }\n}\n\n@media (min-width: 769px) {\n  .jukebox-section {\n    flex: 1 1 40%;\n    min-width: 300px;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    margin-left: -225px;\n  }\n}\n\n@media (max-width: 480px) {\n  .jukebox-display {\n    transform: scale(0.85);\n    transform-origin: top center;\n    width: 100%;\n    max-width: 400px;\n    margin: 0 auto;\n  }\n\n  .serum-ui {\n    transform: scale(1);\n    width: 100%;\n    height: auto;\n  }\n}\n\n@media (max-width: 768px) {\n  .jukebox-section {\n    margin-left: 0 !important;\n    width: 100%;\n    padding: 0 10px;\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .jukebox-wrapper {\n    width: 100%;\n    max-width: 400px;\n    margin: 0 auto;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    transform: none !important;\n    padding: 0;\n    box-sizing: border-box;\n  }\n\n  .jukebox-container {\n    width: 100%;\n    max-width: 400px;\n    margin: 0 auto;\n    transform: none !important;\n  }\n\n  .jukebox-display {\n    width: 100%;\n    max-width: 400px;\n    margin: 0 auto;\n  }\n}\n\n\n\/* MARGIN REDUCE, COMMENTED OUT\n@media (max-width: 480px) {\n  .jukebox-section {\n    margin-bottom: -80px !important;\n  }\n}\n*\/\n\n@media (max-width: 768px) {\n  .jukebox-section {\n    margin-left: 0 !important;\n    padding-left: 15px;\n    padding-right: 15px;\n    width: 100%;\n    box-sizing: border-box;\n  }\n\n  .jukebox-container {\n    width: 100%;\n    justify-content: center;\n  }\n}\n\n@media (max-width: 768px) {\n  .audio-preview-heading {\n    margin-left: 0 !important;\n    font-size: 22px !important;\n    margin-right: 0 !important;\n    padding-left: 0 !important;\n    padding-right: 0 !important;\n    text-align: center !important;\n  }\n}\n\n\n\u003c\/style\u003e\n\n\u003cscript\u003e\nconst sampleData = {\n  bass: [\n{ title: \"DROP WUB 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_01.mp3?v=1753882952\" },\n{ title: \"DROP WUB 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_05.mp3?v=1753882953\" },\n{ title: \"DROP WUB 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_06.mp3?v=1753882953\" },\n{ title: \"DROP WUB 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_09.mp3?v=1753882953\" },\n{ title: \"DROP WUB 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_10.mp3?v=1753882954\" },\n{ title: \"DROP WUB 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_13.mp3?v=1753882954\" },\n{ title: \"DROP WUB 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_15.mp3?v=1753882953\" },\n{ title: \"DROP WUB 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_19.mp3?v=1753882954\" },\n{ title: \"DROP WUB 20\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_20.mp3?v=1753882953\" },\n{ title: \"DROP WUB 21\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/DROP_WUB_-_21.mp3?v=1753882953\" },\n{ title: \"HEAVY DROP BASS 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_01.mp3?v=1753883157\" },\n{ title: \"HEAVY DROP BASS 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_02.mp3?v=1753883156\" },\n{ title: \"HEAVY DROP BASS 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_07.mp3?v=1753883157\" },\n{ title: \"HEAVY DROP BASS 08\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_08.mp3?v=1753883157\" },\n{ title: \"HEAVY DROP BASS 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_09.mp3?v=1753883157\" },\n{ title: \"HEAVY DROP BASS 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_10.mp3?v=1753883157\" },\n{ title: \"HEAVY DROP BASS 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_13.mp3?v=1753883156\" },\n{ title: \"HEAVY DROP BASS 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_15.mp3?v=1753883156\" },\n{ title: \"HEAVY DROP BASS 18\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/HEAVY_DROP_BASS_-_18.mp3?v=1753883157\" },\n{ title: \"PUNCHY BASSLINE 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/PUNCHY_BASSLINE_-_01.mp3?v=1753883329\" },\n{ title: \"PUNCHY BASSLINE 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/PUNCHY_BASSLINE_-_02.mp3?v=1753883328\" },\n{ title: \"PUNCHY BASSLINE 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/PUNCHY_BASSLINE_-_09.mp3?v=1753883329\" },\n{ title: \"PUNCHY BASSLINE 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/PUNCHY_BASSLINE_-_10.mp3?v=1753883328\" },\n{ title: \"ARP BASS 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_02.mp3?v=1753883656\" },\n{ title: \"ARP BASS 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_03.mp3?v=1753883656\" },\n{ title: \"ARP BASS 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_05.mp3?v=1753883656\" },\n{ title: \"ARP BASS 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_07.mp3?v=1753883656\" },\n{ title: \"ARP BASS 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_09.mp3?v=1753883656\" },\n{ title: \"ARP BASS 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/ARP_BASS_-_10.mp3?v=1753883655\" },\n{ title: \"UK WUB BASS 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_01.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_03.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_05.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_07.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_09.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 11\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_11.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_13.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 14\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_14.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_15.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 16\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_16.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 17\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_17.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_19.mp3?v=1753883411\" },\n{ title: \"UK WUB BASS 20\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_20.mp3?v=1753883412\" },\n{ title: \"UK WUB BASS 21\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/UK_WUB_BASS_-_21.mp3?v=1753883411\" },\n{ title: \"SPECTRAL ONE SHOT 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_01.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_03.mp3?v=1753883737\" },\n{ title: \"SPECTRAL ONE SHOT 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_06.mp3?v=1753883737\" },\n{ title: \"SPECTRAL ONE SHOT 08\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_08.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_09.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_10.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 12\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_12.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_13.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_15.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 16\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_16.mp3?v=1753883737\" },\n{ title: \"SPECTRAL ONE SHOT 20\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_20.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 21\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_21.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 22\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_22.mp3?v=1753883737\" },\n{ title: \"SPECTRAL ONE SHOT 23\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_23.mp3?v=1753883736\" },\n{ title: \"SPECTRAL ONE SHOT 25\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/SPECTRAL_ONE_SHOT_-_25.mp3?v=1753883736\" },\n{ title: \"BASS LOOP 01 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_01_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 03 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_03_95.mp3?v=1753883966\" },\n{ title: \"BASS LOOP 05 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_05_95.mp3?v=1753883966\" },\n{ title: \"BASS LOOP 06 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_06_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 07 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_07_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 11 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_11_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 17 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_17_95.mp3?v=1753883966\" },\n{ title: \"BASS LOOP 19 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_19_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 21 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_21_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 25 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_25_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 34 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_34_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 42 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_42_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 68 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_68_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 130 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_130_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 146 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_146_95.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 01 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_01_100.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 02 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_02_100.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 04 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_04_100.mp3?v=1753883966\" },\n{ title: \"BASS LOOP 05 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_05_100.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 07 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_07_100.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 12 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_12_100.mp3?v=1753883965\" },\n{ title: \"BASS LOOP 21 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bass_Loop_21_100.mp3?v=1753883966\" }\n  ],\n  drums: [\n{ title: \"DRUM LOOP 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_01.mp3?v=1753885136\" },\n{ title: \"DRUM LOOP 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_03.mp3?v=1753885135\" },\n{ title: \"DRUM LOOP 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_04.mp3?v=1753885135\" },\n{ title: \"DRUM LOOP 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_09.mp3?v=1753885135\" },\n{ title: \"DRUM LOOP 21\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_21.mp3?v=1753885136\" },\n{ title: \"DRUM LOOP 30\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_30.mp3?v=1753885136\" },\n{ title: \"DRUM LOOP 31\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_31.mp3?v=1753885136\" },\n{ title: \"DRUM LOOP 44\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drum_Loop_44.mp3?v=1753885135\" },\n{ title: \"TOP LOOP 01 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_01_95.mp3?v=1753885283\" },\n{ title: \"TOP LOOP 04 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_04_95.mp3?v=1753885283\" },\n{ title: \"TOP LOOP 09 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_09_95.mp3?v=1753885283\" },\n{ title: \"TOP LOOP 11 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_11_95.mp3?v=1753885282\" },\n{ title: \"TOP LOOP 15 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_15_95.mp3?v=1753885283\" },\n{ title: \"TOP LOOP 31 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_31_95.mp3?v=1753885282\" },\n{ title: \"TOP LOOP 01 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_01_100.mp3?v=1753885283\" },\n{ title: \"TOP LOOP 26 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_26_100.mp3?v=1753885282\" },\n{ title: \"TOP LOOP 35 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Top_Loop_35_100.mp3?v=1753885283\" },\n{ title: \"ORCHESTRAL LOOP 01 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Orchestral_Loop_01_95.mp3?v=1753885413\" },\n{ title: \"ORCHESTRAL LOOP 02 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Orchestral_Loop_02_95.mp3?v=1753885414\" },\n{ title: \"ORCHESTRAL LOOP 03 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Orchestral_Loop_03_100.mp3?v=1753885414\" },\n{ title: \"ORCHESTRAL LOOP 11 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Orchestral_Loop_11_100.mp3?v=1753885414\" },\n{ title: \"KICK 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_01.mp3?v=1753885466\" },\n{ title: \"KICK 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_05.mp3?v=1753885466\" },\n{ title: \"KICK 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_07.mp3?v=1753885466\" },\n{ title: \"KICK 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_13.mp3?v=1753885466\" },\n{ title: \"KICK 25\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_25.mp3?v=1753885467\" },\n{ title: \"KICK 35\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_35.mp3?v=1753885466\" },\n{ title: \"KICK 36\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_36.mp3?v=1753885466\" },\n{ title: \"KICK 39\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_39.mp3?v=1753885466\" },\n{ title: \"KICK 46\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_46.mp3?v=1753885466\" },\n{ title: \"KICK 52\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Kick_52.mp3?v=1753885466\" },\n{ title: \"MIDTEMPO CLAP SNARE 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Midtempo_Clap_Snare_01.mp3?v=1753885599\" },\n{ title: \"MIDTEMPO CLAP SNARE 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Midtempo_Clap_Snare_10.mp3?v=1753885598\" },\n{ title: \"MIDTEMPO CLAP SNARE 18\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Midtempo_Clap_Snare_18.mp3?v=1753885599\" },\n{ title: \"MIDTEMPO CLAP SNARE 24\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Midtempo_Clap_Snare_24.mp3?v=1753885598\" },\n{ title: \"MIDTEMPO CLAP SNARE 29\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Midtempo_Clap_Snare_29.mp3?v=1753885599\" },\n{ title: \"TRAP CLAP SNARE 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_01.mp3?v=1753885656\" },\n{ title: \"TRAP CLAP SNARE 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_02.mp3?v=1753885655\" },\n{ title: \"TRAP CLAP SNARE 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_06.mp3?v=1753885656\" },\n{ title: \"TRAP CLAP SNARE 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_13.mp3?v=1753885656\" },\n{ title: \"TRAP CLAP SNARE 17\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_17.mp3?v=1753885656\" },\n{ title: \"TRAP CLAP SNARE 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_19.mp3?v=1753885656\" },\n{ title: \"TRAP CLAP SNARE 22\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Trap_Clap_Snare_22.mp3?v=1753885656\" },\n{ title: \"HAT 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_01.mp3?v=1753885729\" },\n{ title: \"HAT 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_02.mp3?v=1753885729\" },\n{ title: \"HAT 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_04.mp3?v=1753885729\" },\n{ title: \"HAT 12\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_12.mp3?v=1753885729\" },\n{ title: \"HAT 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_13.mp3?v=1753885729\" },\n{ title: \"HAT 16\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_16.mp3?v=1753885729\" },\n{ title: \"HAT 17\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_17.mp3?v=1753885729\" },\n{ title: \"HAT 24\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_24.mp3?v=1753885729\" },\n{ title: \"HAT 40\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_40.mp3?v=1753885729\" },\n{ title: \"HAT 76\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hat_76.mp3?v=1753886145\" }\n  ],\n  intro: [\n{ title: \"INTRO SYNTH 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_01.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_02.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_03.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_04.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_05.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_06.mp3?v=1753920688\" },\n{ title: \"INTRO SYNTH 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/INTRO_SYNTH_-_07.mp3?v=1753920688\" },\n{ title: \"MELODIC LOOP 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_01.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_02.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_04.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_06.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_07.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_15.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 20\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_20.mp3?v=1753920791\" },\n{ title: \"MELODIC LOOP 35\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_Loop_35.mp3?v=1753920791\" },\n{ title: \"MELODIC ONE SHOT 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_05.mp3?v=1753920884\" },\n{ title: \"MELODIC ONE SHOT 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_09.mp3?v=1753920883\" },\n{ title: \"MELODIC ONE SHOT 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_15.mp3?v=1753920883\" },\n{ title: \"MELODIC ONE SHOT 65\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_65.mp3?v=1753920882\" },\n{ title: \"MELODIC ONE SHOT 79\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_79.mp3?v=1753920882\" },\n{ title: \"MELODIC ONE SHOT 80\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Melodic_One_Shot_80.mp3?v=1753920882\" },\n{ title: \"INTRO BASS 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_04.mp3?v=1753920941\" },\n{ title: \"INTRO BASS 14\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_14.mp3?v=1753920940\" },\n{ title: \"INTRO BASS 22\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_22.mp3?v=1753920941\" },\n{ title: \"INTRO BASS 31\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_31.mp3?v=1753920941\" },\n{ title: \"INTRO BASS 32\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_32.mp3?v=1753920941\" },\n{ title: \"INTRO BASS 34\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Intro_Bass_34.mp3?v=1753920941\" }\n],\n  fx: [\n  { title: \"AMBIENCE 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Ambience_01.mp3?v=1753916142\" },\n  { title: \"AMBIENCE 11\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Ambience_11.mp3?v=1753916142\" },\n  { title: \"AMBIENCE 23\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Ambience_23.mp3?v=1753916142\" },\n  { title: \"ATMO MISC 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Atmo_Misc_01.mp3?v=1753916180\" },\n  { title: \"ATMO MISC 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Atmo_Misc_04.mp3?v=1753916180\" },\n  { title: \"BUILDUP 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Buildup_01.mp3?v=1753916206\" },\n  { title: \"BUILDUP 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Buildup_07.mp3?v=1753916207\" },\n  { title: \"BUILDUP 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Buildup_10.mp3?v=1753916207\" },\n  { title: \"BUILDUP 11\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Buildup_11.mp3?v=1753916206\" },\n  { title: \"DROP LAYER 01 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_01_95.mp3?v=1753916254\" },\n  { title: \"DROP LAYER 04 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_04_95.mp3?v=1753916254\" },\n  { title: \"DROP LAYER 06 95\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_06_95.mp3?v=1753916254\" },\n  { title: \"DROP LAYER 01 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_01_100.mp3?v=1753916254\" },\n  { title: \"DROP LAYER 03 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_03_100.mp3?v=1753916254\" },\n  { title: \"DROP LAYER 04 100\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop_Layer_04_100.mp3?v=1753916254\" },\n  { title: \"DOWNLIFTER 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Downlifter_01.mp3?v=1753916395\" },\n  { title: \"DOWNLIFTER 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Downlifter_04.mp3?v=1753916395\" },\n  { title: \"DOWNLIFTER 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Downlifter_07.mp3?v=1753916395\" },\n  { title: \"DOWNLIFTER 16\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Downlifter_16.mp3?v=1753916395\" },\n  { title: \"DOWNLIFTER 24\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Downlifter_24.mp3?v=1753916395\" },\n  { title: \"IMPACT 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Impact_01.mp3?v=1753916496\" },\n  { title: \"IMPACT 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Impact_10.mp3?v=1753916496\" },\n  { title: \"IMPACT 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Impact_13.mp3?v=1753916497\" },\n  { title: \"IMPACT 16\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Impact_16.mp3?v=1753916496\" },\n  { title: \"IMPACT 48\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Impact_48.mp3?v=1753916496\" },\n  { title: \"PERCS SFX 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_01.mp3?v=1753916704\" },\n  { title: \"PERCS SFX 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_02.mp3?v=1753916704\" },\n  { title: \"PERCS SFX 06\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_06.mp3?v=1753916705\" },\n  { title: \"PERCS SFX 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_10.mp3?v=1753916705\" },\n  { title: \"PERCS SFX 12\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_12.mp3?v=1753916705\" },\n  { title: \"PERCS SFX 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_19.mp3?v=1753916704\" },\n  { title: \"PERCS SFX 25\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_25.mp3?v=1753916758\" },\n  { title: \"PERCS SFX 30\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_30.mp3?v=1753916758\" },\n  { title: \"PERCS SFX 42\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_42.mp3?v=1753916758\" },\n  { title: \"PERCS SFX 78\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_78.mp3?v=1753916759\" },\n  { title: \"PERCS SFX 79\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_79.mp3?v=1753916759\" },\n  { title: \"PERCS SFX 83\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Percs_SFX_83.mp3?v=1753916758\" },\n  { title: \"VERB SHOT 02\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_02.mp3?v=1753916862\" },\n  { title: \"VERB SHOT 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_05.mp3?v=1753916862\" },\n  { title: \"VERB SHOT 08\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_08.mp3?v=1753916861\" },\n  { title: \"VERB SHOT 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_10.mp3?v=1753916861\" },\n  { title: \"VERB SHOT 14\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_14.mp3?v=1753916862\" },\n  { title: \"VERB SHOT 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_19.mp3?v=1753916862\" },\n  { title: \"VERB SHOT 22\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_22.mp3?v=1753916861\" },\n  { title: \"VERB SHOT 29\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Verb_Shot_29.mp3?v=1753916861\" },\n  { title: \"RISER 05\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Riser_05.mp3?v=1753916943\" },\n  { title: \"RISER 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Riser_09.mp3?v=1753916943\" },\n  { title: \"RISER 15\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Riser_15.mp3?v=1753916942\" },\n  { title: \"RISER 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Riser_19.mp3?v=1753916943\" },\n  { title: \"RISER 20\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Riser_20.mp3?v=1753916985\" },\n  { title: \"SWEEP 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_01.mp3?v=1753917016\" },\n  { title: \"SWEEP 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_03.mp3?v=1753917016\" },\n  { title: \"SWEEP 07\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_07.mp3?v=1753917016\" },\n  { title: \"SWEEP 11\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_11.mp3?v=1753917017\" },\n  { title: \"SWEEP 13\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_13.mp3?v=1753917017\" },\n  { title: \"SWEEP 19\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Sweep_19.mp3?v=1753917016\" }\n],\n  vocal: [\n  { title: \"HYPNO VOCAL 04\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hypno_Vocal_04.mp3?v=1753917907\" },\n  { title: \"HYPNO VOCAL 08\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hypno_Vocal_08.mp3?v=1753917907\" },\n  { title: \"HYPNO VOCAL 09\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hypno_Vocal_09.mp3?v=1753917906\" },\n  { title: \"BRING IT BACK LIKE\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bring_it_back_like.mp3?v=1753917943\" },\n  { title: \"BRING IT BACK\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Bring_it_back.mp3?v=1753917943\" },\n  { title: \"DISTORT YOUR REALITY\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Distort_your_reality.mp3?v=1753917943\" },\n  { title: \"CYBER ATTACK\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Cyber_attack.mp3?v=1753917943\" },\n  { title: \"CORE BREACH\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Core_breach.mp3?v=1753917943\" },\n  { title: \"BREAK IT DOWN 2\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Break_it_down_2.mp3?v=1753917943\" },\n  { title: \"BOH\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Boh.mp3?v=1753917943\" },\n  { title: \"BLOOD FREQUENCY\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Blood_frequency.mp3?v=1753917943\" },\n  { title: \"FLIP THE SWITCH\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Flip_the_switch.mp3?v=1753917943\" },\n  { title: \"CHECK 1\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Check_1.mp3?v=1753917943\" },\n  { title: \"AMPLIFY THE PAIN\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Amplify_the_pain.mp3?v=1753917943\" },\n  { title: \"GO\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Go.mp3?v=1753917943\" },\n  { title: \"DROP\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Drop.mp3?v=1753917943\" },\n  { title: \"HOLD IT\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hold_it.mp3?v=1753917944\" },\n  { title: \"BACK IT UP\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Back_it_up.mp3?v=1753917943\" },\n  { title: \"EXECUTE\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Execute.mp3?v=1753917943\" },\n  { title: \"CRAZY 01\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Crazy_01.mp3?v=1753917943\" },\n  { title: \"CRAZY 03\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Crazy_03.mp3?v=1753917943\" },\n  { title: \"CRAZY 10\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Crazy_10.mp3?v=1753917943\" },\n  { title: \"ZONE 9 LOCKDOWN\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Zone_9_lockdown.mp3?v=1753918103\" },\n  { title: \"RIDIN IN DA BACK LIKE\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Ridin_in_da_back_like.mp3?v=1753918105\" },\n  { title: \"NO SIGNAL\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/No_signal.mp3?v=1753918104\" },\n  { title: \"IT'S OVER OVER\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/It_s_over_over.mp3?v=1753918104\" },\n  { title: \"THIS IS WAR\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/This_is_war.mp3?v=1753918103\" },\n  { title: \"RUNTIME ERROR\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Runtime_error.mp3?v=1753918103\" },\n  { title: \"SYSTEM OFFLINE\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/System_offline.mp3?v=1753918103\" },\n  { title: \"SHUT IT DOWN\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Shut_it_down.mp3?v=1753918104\" },\n  { title: \"RUN THE LOOP\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Run_the_loop.mp3?v=1753918103\" },\n  { title: \"MAKE IT LOUDER\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Make_it_louder.mp3?v=1753918103\" },\n  { title: \"HYPNOTIZE YOUR SOUL\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Hypnotize_your_soul.mp3?v=1753918103\" },\n  { title: \"MIND CONTROL\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Mind_control.mp3?v=1753918104\" },\n  { title: \"WE CAN'T HOLD EM\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/We_can_t_hold_em.mp3?v=1753918103\" },\n  { title: \"TURN IT UP\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Turn_it_up.mp3?v=1753918104\" },\n  { title: \"STEP IT\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Step_it.mp3?v=1753918103\" },\n  { title: \"SWITCH IT\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Switch_it.mp3?v=1753918103\" },\n  { title: \"LET'S GO\", url: \"https:\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/Let_s_go.mp3?v=1753918103\" }\n]\n};\n\nlet isAutoplaying = false;\nlet currentCategory = \"bass\";\nlet currentSampleIndex = 0;\nlet wavesurfer;\nlet preloadedWavesurfer = null;\nlet preloadedSample = null;\n\nfunction loadSample(category, index) {\n  const sample = sampleData[category][index];\n  if (!sample) return;\n\n  document.getElementById('sampleTitle').textContent = sample.title;\n\n  if (wavesurfer) {\n    wavesurfer.destroy();\n  }\n\nconst isTinyScreen = window.innerWidth \u003c= 390;\n\nwavesurfer = WaveSurfer.create({\n  container: '#waveformContainer',\n  waveColor: '#72b547',\n  progressColor: '#72b547',\n  cursorColor: '#ffff99',\n  height: isTinyScreen ? 117 : 144, \/\/ 117px for tiny, 144px otherwise\n});\n\n  wavesurfer.load(sample.url);\n\n  document.querySelectorAll('.sample-category-btn').forEach(b =\u003e {\n    b.classList.remove('active');\n  });\n  const newActiveButton = document.querySelector(`.sample-category-btn[data-category=\"${category}\"]`);\n  if (newActiveButton) {\n    newActiveButton.classList.add('active');\n  }\n\n  wavesurfer.on('ready', () =\u003e {\n    if (isAutoplaying) {\n      wavesurfer.play();\n    }\n    preloadNextSample();\n  });\n\n  wavesurfer.on('finish', () =\u003e {\n    if (isAutoplaying) {\n      playNextSample();\n    }\n  });\n}\n\nfunction usePreloadedSampleOrLoad(category, index) {\n  if (\n    preloadedSampleInfo \u0026\u0026\n    preloadedSampleInfo.category === category \u0026\u0026\n    preloadedSampleInfo.index === index \u0026\u0026\n    preloadedSampleData\n  ) {\n    if (wavesurfer) {\n      wavesurfer.destroy();\n    }\n\n    document.getElementById('sampleTitle').textContent = sampleData[category][index].title;\n\n    wavesurfer = WaveSurfer.create({\n      container: '#waveformContainer',\n      waveColor: '#72b547',\n      progressColor: '#72b547',\n      cursorColor: '#ffff99',\n      height: 144,\n    });\n\n    wavesurfer.loadBlob(preloadedSampleData);\n\n    wavesurfer.on('ready', () =\u003e {\n      if (isAutoplaying) {\n        wavesurfer.play();\n      }\n      preloadNextSample(); \/\/ Preload following sample\n    });\n\n    wavesurfer.on('finish', () =\u003e {\n      if (isAutoplaying) {\n        playNextSample();\n      }\n    });\n\n    preloadedSampleData = null;\n    preloadedSampleInfo = null;\n\n    document.querySelectorAll('.sample-category-btn').forEach(b =\u003e {\n      b.classList.remove('active');\n    });\n    const newActiveButton = document.querySelector(`.sample-category-btn[data-category=\"${category}\"]`);\n    if (newActiveButton) {\n      newActiveButton.classList.add('active');\n    }\n\n  } else {\n    loadSample(category, index);\n  }\n}\n\nfunction playNextSample() {\n  const currentCategorySamples = sampleData[currentCategory];\n\n  if (currentSampleIndex \u003c currentCategorySamples.length - 1) {\n    currentSampleIndex++;\n    usePreloadedSampleOrLoad(currentCategory, currentSampleIndex);\n  } else {\n    const categories = Object.keys(sampleData);\n    const currentCategoryIndex = categories.indexOf(currentCategory);\n\n    if (currentCategoryIndex \u003c categories.length - 1) {\n      currentCategory = categories[currentCategoryIndex + 1];\n      currentSampleIndex = 0;\n      usePreloadedSampleOrLoad(currentCategory, currentSampleIndex);\n    } else {\n      isAutoplaying = false;\n      const playPauseButton = document.getElementById('playPause');\n      if (playPauseButton) playPauseButton.classList.remove('playing');\n    }\n  }\n}\n\nfunction preloadNextSample() {\n  preloadedSampleData = null;\n  preloadedSampleInfo = null;\n\n  const currentCategorySamples = sampleData[currentCategory];\n\n  let nextCategory = currentCategory;\n  let nextIndex = currentSampleIndex + 1;\n\n  if (nextIndex \u003e= currentCategorySamples.length) {\n    const categories = Object.keys(sampleData);\n    const currentCategoryIndex = categories.indexOf(currentCategory);\n\n    if (currentCategoryIndex \u003c categories.length - 1) {\n      nextCategory = categories[currentCategoryIndex + 1];\n      nextIndex = 0;\n    } else {\n      return; \/\/ No more samples to preload\n    }\n  }\n\n  const nextSample = sampleData[nextCategory][nextIndex];\n  if (!nextSample) return;\n\n  preloadedSampleInfo = { category: nextCategory, index: nextIndex };\n\n  fetch(nextSample.url)\n    .then(response =\u003e response.blob())\n    .then(blob =\u003e {\n      preloadedSampleData = blob;\n    })\n    .catch(error =\u003e {\n      console.error('Error preloading sample:', error);\n    });\n}\n\nfunction usePreloadedSampleOrLoad(category, index) {\n  if (\n    preloadedSample \u0026\u0026\n    preloadedSample.category === category \u0026\u0026\n    preloadedSample.index === index \u0026\u0026\n    preloadedWavesurfer\n  ) {\n    if (wavesurfer) {\n      wavesurfer.destroy();\n    }\n\n    \/\/ Move preloaded instance to real container\n    preloadedWavesurfer.container = document.getElementById('waveformContainer');\n    wavesurfer = preloadedWavesurfer;\n    preloadedWavesurfer = null;\n    preloadedSample = null;\n\n    document.getElementById('sampleTitle').textContent = sampleData[category][index].title;\n\n    wavesurfer.on('finish', () =\u003e {\n      if (isAutoplaying) {\n        const currentCategorySamples = sampleData[currentCategory];\n\n        if (currentSampleIndex \u003c currentCategorySamples.length - 1) {\n          currentSampleIndex++;\n          usePreloadedSampleOrLoad(currentCategory, currentSampleIndex);\n        } else {\n          const categories = Object.keys(sampleData);\n          const currentCategoryIndex = categories.indexOf(currentCategory);\n\n          if (currentCategoryIndex \u003c categories.length - 1) {\n            currentCategory = categories[currentCategoryIndex + 1];\n            currentSampleIndex = 0;\n            usePreloadedSampleOrLoad(currentCategory, currentSampleIndex);\n          } else {\n            isAutoplaying = false;\n            const playPauseButton = document.getElementById('playPause');\n            if (playPauseButton) playPauseButton.classList.remove('playing');\n          }\n        }\n      }\n    });\n\n    \/\/ Play instantly\n    if (isAutoplaying) {\n      wavesurfer.play();\n    }\n\n    \/\/ Preload the next one now\n    preloadNextSample();\n  } else {\n    loadSample(category, index);\n  }\n}\n\n\/\/ THIS SHOULD BE OUTSIDE loadSample()\ndocument.addEventListener('DOMContentLoaded', () =\u003e {\n  loadSample(currentCategory, currentSampleIndex);\n\n  document.querySelectorAll('.sample-category-btn').forEach(button =\u003e {\n    button.addEventListener('click', () =\u003e {\n      document.querySelectorAll('.sample-category-btn').forEach(b =\u003e b.classList.remove('active'));\n      button.classList.add('active');\n\n      currentCategory = button.dataset.category;\n      currentSampleIndex = 0;\n      loadSample(currentCategory, currentSampleIndex);\n    });\n  });\n\nfunction playPrevSample() {\n  if (currentSampleIndex \u003e 0) {\n    currentSampleIndex--;\n    loadSample(currentCategory, currentSampleIndex);\n  } else {\n    const categories = Object.keys(sampleData);\n    const currentCategoryIndex = categories.indexOf(currentCategory);\n\n    if (currentCategoryIndex \u003e 0) {\n      currentCategory = categories[currentCategoryIndex - 1];\n      currentSampleIndex = sampleData[currentCategory].length - 1;\n\n      \/\/ Update active button\n      document.querySelectorAll('.sample-category-btn').forEach(b =\u003e {\n        b.classList.remove('active');\n      });\n      const newActiveButton = document.querySelector(`.sample-category-btn[data-category=\"${currentCategory}\"]`);\n      if (newActiveButton) {\n        newActiveButton.classList.add('active');\n      }\n\n      loadSample(currentCategory, currentSampleIndex);\n    }\n  }\n}\n\ndocument.getElementById('nextSample').addEventListener('click', () =\u003e {\n  playNextSample();\n});\n\ndocument.getElementById('prevSample').addEventListener('click', () =\u003e {\n  playPrevSample();\n});\n\n  const playPauseButton = document.getElementById('playPause');\n\n  playPauseButton.addEventListener('click', () =\u003e {\n    if (wavesurfer.isPlaying()) {\n      wavesurfer.pause();\n      isAutoplaying = false;\n      playPauseButton.classList.remove('playing');\n    } else {\n      wavesurfer.play();\n      isAutoplaying = true;\n      playPauseButton.classList.add('playing');\n    }\n  });\n});\n\n\u003c\/script\u003e\n\u003cscript src=\"https:\/\/unpkg.com\/wavesurfer.js\"\u003e\u003c\/script\u003e\n\n\u003cdiv class=\"vault-statement\"\u003e\n  \u003cp class=\"desktop-vault-text\"\u003e\n    \u003cstrong\u003eA new wave begins here.\u003cbr\u003eThe follow-up to the midtempo pack that set the standard.\u003c\/strong\u003e\n  \u003c\/p\u003e\n  \u003cp class=\"mobile-vault-text\"\u003e\n    \u003cstrong\u003eA new wave begins here.\u003cbr\u003eThe follow-up to the midtempo pack that set the standard.\u003c\/strong\u003e\n  \u003c\/p\u003e\n\u003c\/div\u003e\n\n  \n\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n  const sections = document.querySelectorAll('.split-combine-section');\n  if (!sections.length) return;\n\n  let lastY = window.pageYOffset;\n  let hasCompleted = false;\n\nwindow.addEventListener('scroll', function () {\n  sections.forEach(section =\u003e {\n    const rect = section.getBoundingClientRect();\n    const triggerShow = window.innerHeight * 0.75;\n\n    if (rect.top \u003c triggerShow \u0026\u0026 !section.classList.contains('in-view')) {\n      section.classList.add('in-view');\n      setTimeout(() =\u003e {\n        section.classList.add('animation-complete');\n      }, 1000);\n    }\n\n    \/\/ Optional reset if needed when scrolling to top\n    if (window.pageYOffset === 0) {\n      section.classList.remove('in-view', 'animation-complete');\n    }\n  });\n}, { passive: true });\n});\n\u003c\/script\u003e\n\n\n\u003c!-- PRESETS PREVIEW --\u003e\n\u003cdiv class=\"serum2-inner whzly-trigger-area\" style=\"text-align: center; margin: 80px 0;\"\u003e\n  \u003ch2 class=\"whzly-heading\" style=\"margin-top: 35px; margin-bottom: 20px;\"\u003eNIHILISM 2 Preset Demo\u003c\/h2\u003e\n\n  \u003cp class=\"benchmark-tagline whzly-tagline\"\u003e\n    \u003cstrong\u003e\n      \u003cspan class=\"first-line\"\u003eCheck out the raw power of the presets - no post-processing needed.\u003c\/span\u003e\u003cbr\u003e\n    \u003c\/strong\u003e\n  \u003c\/p\u003e\n\n  \u003c!-- Glow wrapper --\u003e\n\u003cdiv class=\"video-glow-wrapper\" id=\"whzlyGlowWrapper\"\u003e\n  \u003cdiv class=\"whzly-video-inner\"\u003e\n    \u003ciframe src=\"https:\/\/www.youtube.com\/embed\/BcFGj62iwjc?rel=0\u0026amp;modestbranding=1\u0026amp;showinfo=0\u0026amp;autohide=1\u0026amp;controls=1\" style=\"width: 100%; height: 50vw; max-height: 500px; border: none;\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen\u003e\n    \u003c\/iframe\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n  \u003c!-- Fullscreen Tip --\u003e\n  \u003cdiv class=\"fullscreen-tip-wrapper\"\u003e\n    \u003cp class=\"mobile-fullscreen-tip\" id=\"fullscreenTip\"\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003cstyle\u003e\n  h2.whzly-heading.active::before {\n    display: none !important;\n  }\n\n@media (max-width: 768px) {\n  .serum2-inner.whzly-trigger-area {\n    margin-top: 60px !important;\n  }\n}\n\/* Initial states *\/\n.whzly-heading {\n  opacity: 0;\n  transform: translateX(-60px);\n  transition: opacity 0.6s ease-out, transform 0.6s ease-out;\n}\n.whzly-tagline {\n  opacity: 0;\n  transform: translateX(60px);\n  transition: opacity 0.6s ease-out 0.2s, transform 0.6s ease-out 0.2s;\n}\n.whzly-fade-in {\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.6s ease-out 0.4s, transform 0.6s ease-out 0.4s, box-shadow 0.6s ease-out 0.4s;\n}\n\n\/* Active states *\/\n.whzly-heading.active {\n  opacity: 1;\n  transform: translateX(0);\n}\n.whzly-tagline.active {\n  opacity: 1;\n  transform: translateX(0);\n}\n.whzly-fade-in.active {\n  opacity: 1;\n  transform: translateY(0);\n  box-shadow: 0 0 20px #f0f0e6;\n}\n\n.fullscreen-tip-wrapper {\n  max-width: 900px;\n  margin: 6px auto 0 auto;\n  text-align: center;\n}\n\n.mobile-fullscreen-tip {\n  color: #f0f0e6;\n  font-family: 'Montserrat', sans-serif;\n  font-size: 12px !important;\n  opacity: 0.85;\n  display: none; \/* Hidden by default *\/\n  overflow: hidden;\n  white-space: nowrap; \/* Keeps it on one line while typing *\/\n}\n\n\/* Only show on mobile *\/\n@media (max-width: 768px) {\n  .mobile-fullscreen-tip {\n    display: block;\n  }\n}\n\n.desktop-only-text {\n  display: inline;\n}\n\n@media (max-width: 768px) {\n  .desktop-only-text {\n    display: none;\n  }\n}\n\n\/* Flicker keyframes *\/\n@keyframes fullscreenFlicker {\n  0%, 100% { opacity: 1; }\n  5%, 15%, 25% { opacity: 0.6; }\n  10%, 20%, 30% { opacity: 1; }\n}\n\n@media (max-width: 480px) {\n  .whzly-fade-in {\n    margin-top: 20px !important; \/* Tighter top margin on mobile *\/\n  }\n}\n\n.whzly-heading {\n  font-size: 32px; \/* Set normal font size *\/\n}\n\n@media (max-width: 430px) {\n  .serum2-inner .whzly-heading {\n    font-size: 20px !important;\n    margin-top: 0px !important; \/* Match your other settings *\/\n    margin-bottom: 12px !important;\n  }\n}\n\n.video-glow-wrapper {\n  max-width: 900px;\n  margin: 40px auto 0 auto;\n  border-radius: 12px;\n  overflow: hidden;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.6s ease-out 0.4s, transform 0.6s ease-out 0.4s, box-shadow 0.6s ease-out 0.4s;\n}\n\n.video-glow-wrapper.active {\n  opacity: 1;\n  transform: translateY(0);\n  box-shadow: 0 0 20px #f0f0e6;\n}\n\n.whzly-fade-in {\n  max-width: 900px;\n  margin: 40px auto 0 auto;\n  border-radius: 12px;\n  overflow: hidden;\n  opacity: 0;\n  transform: translateY(40px);\n  transition: opacity 0.6s ease-out 0.4s, transform 0.6s ease-out 0.4s;\n}\n\n.whzly-fade-in.active {\n  opacity: 1;\n  transform: translateY(0);\n}\n\n\u003c\/style\u003e\n\n\u003cscript\u003e\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/\/ --- Fullscreen Typing + Flicker ---\n  const fullscreenTip = document.getElementById('fullscreenTip');\n  const message = \"Watch in fullscreen for best experience.\";\n  let charIndex = 0;\n\n  function typeText() {\n    if (!fullscreenTip) return;\n    if (charIndex \u003c message.length) {\n      fullscreenTip.innerHTML += message.charAt(charIndex);\n      charIndex++;\n      setTimeout(typeText, 40); \/\/ Typing speed\n    } else {\n      startRandomFlicker();\n    }\n  }\n\n  function startRandomFlicker() {\n    if (!fullscreenTip) return;\n    fullscreenTip.style.animation = 'fullscreenFlicker 2s ease-in-out forwards';\n    setTimeout(() =\u003e {\n      fullscreenTip.style.animation = '';\n    }, 2000);\n    const nextFlicker = Math.floor(Math.random() * 7000) + 8000;\n    setTimeout(startRandomFlicker, nextFlicker);\n  }\n\n  if (fullscreenTip) {\n    setTimeout(typeText, 600);\n  }\n\n  \/\/ --- WHZLY Scroll Animations ---\nconst glowWrapper = document.querySelector('#whzlyGlowWrapper');\nconst heading = document.querySelector('.whzly-heading');\nconst tagline = document.querySelector('.whzly-tagline');\nconst triggerArea = document.querySelector('.whzly-trigger-area');\n\nlet lastScrollY = window.scrollY;\n\nconst observer = new IntersectionObserver(entries =\u003e {\n  entries.forEach(entry =\u003e {\n    const scrollingUp = window.scrollY \u003c lastScrollY;\n    lastScrollY = window.scrollY;\n\n    if (entry.isIntersecting) {\n      heading.classList.add('active');\n      tagline.classList.add('active');\n      glowWrapper.classList.add('active');\n    } else if (scrollingUp) {\n      heading.classList.remove('active');\n      tagline.classList.remove('active');\n      glowWrapper.classList.remove('active');\n    }\n  });\n}, { threshold: 0.5 });\n\nif (triggerArea) {\n  observer.observe(triggerArea);\n}\n\n});\n\u003c\/script\u003e\n\n\n\u003c!-- SYSTEM COMPATIBILITY SECTION --\u003e\n\u003cdiv class=\"serum2-inner\" style=\"margin-top: 80px;\"\u003e\n  \u003ch2 class=\"system-header\"\u003e\n  \u003cspan class=\"desktop-text\"\u003e⚙️ SYSTEM REQUIREMENTS ⚙️\u003c\/span\u003e\n  \u003cspan class=\"mobile-text\"\u003e⚙️ SYSTEM REQUIREMENTS ⚙️\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cdiv class=\"requirements-list\"\u003e\n  \u003cdiv\u003eAny DAW\u003c\/div\u003e\n  \u003cdiv\u003eSerum 2\u003c\/div\u003e\n\n  \u003cdiv style=\"margin-top: 12px; color: #f0f0e6; font-weight: bold;\"\u003eProject File Requirements:\u003c\/div\u003e\n  \u003cdiv\u003eAbleton 12\n   \u003cbr\u003e\n       Serum 2\n   \u003cbr\u003e\n    GClip (\u003ca href=\"https:\/\/gvst.uk\/Downloads\/GClip\/Select\" target=\"_blank\" style=\"color:#f0f0e6; text-decoration: underline;\"\u003efree\u003c\/a\u003e)\n\u003cbr\u003e\nXfer OTT (\u003ca href=\"https:\/\/xferrecords.com\/freeware\" target=\"_blank\" style=\"color:#f0f0e6; text-decoration: underline;\"\u003efree\u003c\/a\u003e) (optional)\n\u003cbr\u003e\nSoothe2 (optional)\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n  .system-header {\n    font-family: 'Montserrat', sans-serif;\n    font-size: 22px;\n    color: #f0f0e6;\n    text-shadow: 0 0 4px #f0f0e6;\n    margin-bottom: 5px !important;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    text-align: center;\n  }\n\n  .requirements-list {\n    text-align: center;\n    font-family: 'Montserrat', sans-serif;\n    color: #f0f0e6;\n    font-size: 16px;\n    line-height: 1.8;\n  }\n\n  .requirements-list div {\n    margin: 6px 0;\n  }\n\n.system-header .mobile-text {\n  display: none;\n}\n\n@media (max-width: 768px) {\n  .hook-plus-image {\n    margin-top: 10px !important;\n    margin-bottom: 0px !important;\n  }\n\n  .glitch-button.scroll-button {\n    margin-top: 0px !important;\n  }\n}\n\n\/* This part ONLY applies at 480px and smaller *\/\n@media (max-width: 480px) {\n  .system-header .mobile-text {\n    display: inline;\n    font-size: 16px;\n  }\n\n  .system-header .desktop-text {\n    display: none;\n  }\n\n  .requirements-list {\n   font-size: 12px;\n  }\n\n  .vault-section,\n  .hook-plus-image-optimized .hook-text {\n    padding-left: 0px;\n    padding-right: 0px;\n    box-sizing: border-box;\n    flex-direction: column;\n    align-items: center;\n  }\n}\n@media (max-width: 480px) {\n  .whzly-fade-in {\n    max-width: 100% !important;\n    padding: 0 10px;\n    box-sizing: border-box;\n    overflow-x: hidden;\n  }\n\n  .whzly-fade-in iframe {\n    width: 100% !important;\n    max-width: 100% !important;\n    box-sizing: border-box;\n  }\n\n  .serum2-inner,\n  .serum2-inner .whzly-trigger-area,\n  .video-glow-wrapper {\n    overflow-x: hidden !important;\n    max-width: 100vw !important;\n  }\n}\n\u003c\/style\u003e\n\u003c\/div\u003e","brand":"EDM Templates","offers":[{"title":"Standaardtitel","offer_id":52663977541963,"sku":null,"price":34.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2426\/0385\/files\/NIHILISM2.webp?v=1751786716","url":"https:\/\/edmtemplates.net\/nl\/products\/nihilism-2-midtempo-x-uk-bass-sample-pack","provider":"⛓👽 EDM TEMPLATES","version":"1.0","type":"link"}