/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Nov 10 2026 | 18:49:58 */
/* 2026 - Site Chrome CSS (menu, footer, up arrow, back buttons, address box, reCAPTCHA badge, Cast margins) (merged Nov 10, 2026). Source items (kept OFF, never deleted): 91740, 91501, 91080, 90599, 90582, 90521, 91826. Each source starts below with its own header comment. */

/* ===== from #91740 2026 - Menu Restyle ===== */
/* ===== 2026 - Menu Restyle CSS (Code Snippets > Styles (CSS), front end, whole site) =====
   CSS ONLY. Deactivate this one snippet = full rollback. Header height is NOT changed (every banner gap is measured from it).
   Navy #0d1b3e / #2e4a66, gold #E0B02D, lavender #f4f4fc. Open Sans 500 for menu text (site Open Sans has fixed weights).
   Desktop: navy items, gold underline slides in on hover/current, dropdown = white card with a deep-navy top edge, hovered row has a gold left edge.
   Tablet/phone (menu collapsed): full-width light slide-over, white rows, 60px tall, open section has a gold left edge.
   Donate: plain menu text with a gold heart on the left, everywhere (no button).
   v2 (2026-10-22): the "you are here" bold is lighter: weight 500 + a thin .12px text stroke instead of weight 700 (the site font has only 400 / 500 / 700), the same as the bold words on the casting page. */
html body #thrive-header ul.tve_w_menu li.menu-item-33:not(#fx){background:none !important;background-image:none !important;box-shadow:none !important;border:0 !important;border-radius:0 !important}
html body #thrive-header ul.tve_w_menu li.menu-item-33:not(#fx){padding:4px 2px !important}
html body #thrive-header ul.tve_w_menu li.menu-item-33 > a:not(#fx)::before{content:"" !important;display:inline-block !important;flex:0 0 auto !important;width:17px !important;height:17px !important;margin-right:8px !important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E0B02D' d='M12 21s-7.5-4.6-9.6-9.2C.9 8.5 2.7 5 6.2 5c2.1 0 3.6 1.1 4.6 2.6h.4C12.2 6.1 13.7 5 15.8 5c3.5 0 5.3 3.5 3.8 6.8C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center/contain no-repeat !important;vertical-align:-3px !important}
html body #thrive-header ul.tve_w_menu li.menu-item-33 > a:not(#fx){display:inline-flex !important;align-items:center !important}

/* text colour and weight (all items, all widths) */
html body #thrive-header ul.tve_w_menu li.lvl-0 > a:not(#fx),html body #thrive-header ul.tve_w_menu li.lvl-0 > a .tve-disabled-text-inner:not(#fx){color:#0d1b3e !important;font-weight:500 !important}
html body #thrive-header ul.tve_w_menu li.lvl-0 > a .tve-item-dropdown-trigger:not(#fx){color:#2e4a66 !important}

/* ---------- desktop (full menu) ---------- */
@media (min-width:1024px){
  html body #thrive-header ul.tve_w_menu.tve_horizontal:not(#fx){flex-wrap:nowrap !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0:not(.menu-item-34) > a:not(#fx){position:relative !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0:not(.menu-item-34) > a:not(#fx)::after{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;bottom:1px !important;height:2px !important;border-radius:2px !important;background:#E0B02D !important;transform:scaleX(0) !important;transform-origin:left center !important;transition:transform .28s cubic-bezier(.22,.8,.3,1) !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0:hover > a:not(#fx)::after,
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0:focus-within > a:not(#fx)::after,
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-item > a:not(#fx)::after,
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-ancestor > a:not(#fx)::after{transform:scaleX(1) !important}
  /* dropdown card */
  html body #thrive-header ul.tve_w_menu ul.sub-menu:not(#fx){padding:8px !important;background:#fff !important;border:0 !important;border-top:3px solid #0d1b3e !important;border-radius:12px !important;box-shadow:0 18px 40px rgba(13,27,62,.18),0 2px 6px rgba(13,27,62,.08) !important;min-width:236px !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu li:not(#fx){background:none !important;margin:0 !important;border:0 !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu a:not(#fx){display:block !important;padding:10px 14px !important;border-radius:8px !important;font-size:14.5px !important;font-weight:400 !important;line-height:1.4 !important;color:#0d1b3e !important;background:none !important;transition:background-color .18s ease,box-shadow .18s ease !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu a .tve-disabled-text-inner:not(#fx){color:#0d1b3e !important;font-weight:400 !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu a:hover:not(#fx),html body #thrive-header ul.tve_w_menu ul.sub-menu a:focus-visible:not(#fx){background:#f3f5fb !important;box-shadow:inset 3px 0 0 #E0B02D !important}
}

/* ---------- tablet and phone (hamburger): full-width light slide-over ---------- */
@media (max-width:1023px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded:not(#fx){align-content:flex-start !important;padding:0 !important;background:#f4f4fc !important;min-height:calc(100vh - 130px) !important;border:0 !important;box-shadow:0 18px 30px rgba(13,27,62,.16) !important;animation:fxmIn .28s cubic-bezier(.22,.8,.3,1)}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li:not(#fx){background:#fff !important;margin:0 !important;border:0 !important;border-bottom:1px solid #e4e8f3 !important;border-radius:0 !important;padding:0 !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0 > a:not(#fx){min-height:60px !important;padding:0 24px !important;font-size:18px !important;display:flex !important;align-items:center !important;justify-content:space-between !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0 > a .tve-disabled-text-inner:not(#fx){font-size:18px !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.menu-item-33 > a:not(#fx){justify-content:flex-start !important;display:flex !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.menu-item-33 > a:not(#fx)::before{width:22px !important;height:22px !important;margin-right:12px !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0 > a:active:not(#fx){background:#fbf7e9 !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu:not(#fx){position:static !important;width:100% !important;margin:0 !important;padding:6px 24px 16px !important;background:#f9fafe !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu li:not(#fx){background:none !important;border:0 !important;margin:0 !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu a:not(#fx){display:block !important;min-height:44px !important;margin:0 0 2px 8px !important;padding:12px 16px !important;border-left:2px solid #E0B02D !important;font-size:16px !important;font-weight:400 !important;color:#0d1b3e !important;background:none !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu a .tve-disabled-text-inner:not(#fx){font-size:16px !important;font-weight:400 !important}
  html body #thrive-header a.tve-m-trigger:not(#fx){min-width:44px !important;min-height:44px !important}
}
@media (min-width:768px) and (max-width:1023px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0 > a:not(#fx){padding:0 40px !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu:not(#fx){padding:6px 40px 16px !important}
}
@keyframes fxmIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){html body #thrive-header *:not(#fx){transition:none !important;animation:none !important}}
/* open section: gold left edge + soft tint; third-level items */
@media (max-width:1023px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0.expand-children > a:not(#fx){box-shadow:inset 4px 0 0 #E0B02D !important;background:#fbf7e9 !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu ul.sub-menu:not(#fx){padding:0 0 4px 12px !important;background:none !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu ul.sub-menu a:not(#fx){font-size:15px !important;border-left:2px solid #c9d3e6 !important}
}
/* dropdown hover: stop Thrive's own hover border (2px) from nudging the text; drop the card 15px with an invisible bridge so the mouse can cross the gap */
@media (min-width:1024px){
  html body #thrive-header ul.tve_w_menu ul.sub-menu li.menu-item:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu ul.sub-menu li.menu-item:hover:not(#fx):not(#fy){border:0 !important;border-width:0 !important;outline:0 !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0 > ul.sub-menu:not(#fx){margin-top:15px !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0 > ul.sub-menu:not(#fx)::before{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;top:-24px !important;height:24px !important}
}
/* Dashboard row (logged-in members): soft blue shade on desktop dropdown and tablet/phone panel */
html body #thrive-header ul.tve_w_menu li.menu-item-25 > a:not(#fx):not(#fy){background:#e3ecf9 !important}
html body #thrive-header ul.tve_w_menu li.menu-item-25 > a .tve-disabled-text-inner:not(#fx){font-weight:500 !important}
html body #thrive-header ul.tve_w_menu li.menu-item-25 > a:hover:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu li.menu-item-25 > a:focus-visible:not(#fx):not(#fy){background:#d3e2f6 !important}
/* "You are here": current page is always marked, differently from hover.
   Desktop top level = bolder text + thicker solid gold underline (hover keeps the thinner slide-in line).
   Dropdown rows = bolder text + gold left edge. Tablet/phone = bolder text + warm shade on the current row.
   "Bolder": dropdown rows = weight 500 + .12px stroke (same as the casting page bold); top-level items already start at 500, so they get .3px (v2). */
@media (min-width:1024px){
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-item > a:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-ancestor > a:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-item > a .tve-disabled-text-inner:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-ancestor > a .tve-disabled-text-inner:not(#fx):not(#fy){font-weight:500 !important;-webkit-text-stroke:.3px currentColor !important}
  html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-item:not(.menu-item-34) > a:not(#fx):not(#fy)::after,html body #thrive-header ul.tve_w_menu.tve_horizontal > li.lvl-0.current-menu-ancestor > a:not(#fx):not(#fy)::after{height:3px !important;transform:scaleX(1) !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu li.current-menu-item > a:not(#fx):not(#fy){box-shadow:inset 3px 0 0 #E0B02D !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu li.current-menu-item:not(.menu-item-25) > a:not(#fx):not(#fy){background:#f3f5fb !important}
  html body #thrive-header ul.tve_w_menu ul.sub-menu li.current-menu-item > a .tve-disabled-text-inner:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu ul.sub-menu li.current-menu-ancestor > a .tve-disabled-text-inner:not(#fx):not(#fy){font-weight:500 !important;-webkit-text-stroke:.12px currentColor !important}
}
@media (max-width:1023px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded li.current-menu-item > a:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu.tve-m-expanded li.current-menu-item > a .tve-disabled-text-inner:not(#fx):not(#fy){font-weight:500 !important;-webkit-text-stroke:.12px currentColor !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0.current-menu-item > a:not(#fx):not(#fy),html body #thrive-header ul.tve_w_menu.tve-m-expanded > li.lvl-0.current-menu-item > a .tve-disabled-text-inner:not(#fx):not(#fy){-webkit-text-stroke:.3px currentColor !important}
  html body #thrive-header ul.tve_w_menu.tve-m-expanded ul.sub-menu li.current-menu-item:not(.menu-item-25) > a:not(#fx):not(#fy){background:#fbf7e9 !important}
}
/* Tablet/phone header alignment: hamburger centred on the logo (vertical) and mirroring the logo's left inset (horizontal). Relative offsets only, header height unchanged. */
@media (max-width:767px){
  html body #thrive-header a.tve-m-trigger:not(#fx):not(#fy){position:relative !important;top:-5.3px !important;left:15.7px !important}
}
@media (min-width:768px) and (max-width:1023px){
  html body #thrive-header a.tve-m-trigger:not(#fx):not(#fy){position:relative !important;top:calc(-6px + (100vw - 768px) * .0523) !important;left:25px !important}
}
/* Open menu panel starts exactly at the bottom of the header (it used to cover the bottom of the logo), and the desktop logo is centred on the menu text. */
@media (max-width:767px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded:not(#fx):not(#fy){margin-top:21px !important}
}
@media (min-width:768px) and (max-width:1023px){
  html body #thrive-header ul.tve_w_menu.tve-m-expanded:not(#fx):not(#fy){margin-top:calc(26.5px + max(0px, 100vw - 905px) * .197) !important}
}
@media (min-width:1024px){
  html body #thrive-header .tcb-logo:not(#fx):not(#fy){position:relative !important;top:max(3px, calc(3px + (1100px - 100vw) * .0247)) !important}
}
/* ===== END 2026 - Menu Restyle CSS ===== */

/* ===== from #91501 2026 - Cast Side Margins ===== */
/* ===== 2026 - Cast Side Margins CSS (CSS snippet, front end, whole site) =====
   GOLDEN RULE: the Cast & AirPlay banner has the same side margins as Streaming Access on tablet (32px) and phone (22px).
   The top gap (46px desktop, 48px tablet and phone) was already the same, and desktop is unchanged.
   Only touches the Cast page (it needs the .fx-cast block). The Cast block itself is not changed. */
@media (min-width: 769px) and (max-width: 1023px) {
  html body:has(.fx-cast) .fx-cast:not(#fx):not(#fz):not(#fw) { margin-left: -9px !important; transform: none !important; width: calc(100% + 18px) !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
}
@media (max-width: 768px) {
  html body:has(.fx-cast) .fx-cast:not(#fx):not(#fz):not(#fw) { margin-left: 6px !important; transform: none !important; width: calc(100% - 12px) !important; max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
}
/* ===== END 2026 - Cast Side Margins CSS ===== */

/* ===== from #91080 2026 - Hide reCAPTCHA Badge CSS ===== */
/* ===== 2026 - Hide reCAPTCHA Badge CSS (whole site, front end) =====
   Hides the round Google reCAPTCHA badge that sits in the bottom right corner of every page.
   It is only hidden, not removed: reCAPTCHA keeps protecting any form that uses it. */
html body .grecaptcha-badge:not(#fx),
html body .grecaptcha-badge:not(#fx) iframe {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  box-shadow: none !important;
}
/* ===== END 2026 - Hide reCAPTCHA Badge CSS ===== */

/* ===== from #90599 2026 - Collection Back ===== */
/* ===== 2026 - Collection Back Button (Back to Audio / Back to Video) =====
   Product pages only. Navy button on the same row as the gold up arrow, left side. */
html body .fx-gup a.fx-back-coll {
  position: absolute; z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  box-sizing: border-box; height: 48px; min-height: 48px; margin: 0; padding: 0 22px;
  background: #2e4a66; background-image: none; color: #fff; border: 0; border-radius: 8px; box-shadow: none;
  font-family: 'Montserrat', 'Open Sans', sans-serif; font-size: 16px; font-weight: 400; line-height: 1; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap;
  cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent; transition: background .2s ease;
}
html body .fx-gup a.fx-back-coll:hover, html body .fx-gup a.fx-back-coll:focus-visible {
  background: #E0B02D; background-image: none; color: #fff; text-decoration: none; outline: none;
}
html body .fx-gup a.fx-back-coll:focus-visible { box-shadow: 0 0 0 3px rgba(46, 74, 102, .35); }
html body .fx-gup a.fx-back-coll svg.fx-ar { display: block; flex: none; width: 18px; height: 18px; margin: 0; padding: 0; stroke: currentColor; fill: none; }
html body .fx-gup a.fx-back-coll .fx-bc-short { display: none; }
@media (max-width: 720px) {
  html body .fx-gup a.fx-back-coll { padding: 0 18px; }
  html body .fx-gup a.fx-back-coll .fx-bc-long { display: none; }
  html body .fx-gup a.fx-back-coll .fx-bc-short { display: inline; }
}
/* member-protected pages: the existing Back to Streaming Access button, moved onto the up arrow's row */
html body .fx-gup a.fx-pb-back { position: absolute !important; float: none !important; margin: 0 !important; z-index: 2; pointer-events: auto; }
/* ===== END 2026 - Collection Back Button ===== */

/* ===== from #90582 2026 - Page Footer ===== */
/* ===== 2026 - Page Footer (Up Arrow + Back Arrows) =====
   Site-wide. One gold up arrow under the last element of every page, with the same
   spacing everywhere, and one left-arrow style on every Back / Return / Dashboard button. */

/* ---- standard gold up arrow (placed by the JS just above the footer) ---- */
html body .fx-gup { position: relative; display: block; width: 100%; height: 0; margin: 0; padding: 0; background: transparent; z-index: 5; pointer-events: none; }
html body .fx-gup a.fx-gup-btn { position: absolute; display: block; width: 50px; height: 50px; margin: 0; padding: 0; border: 0; background: transparent; line-height: 0; text-decoration: none; cursor: pointer; pointer-events: auto; -webkit-tap-highlight-color: transparent; }
html body .fx-gup a.fx-gup-btn svg { display: block; width: 50px; height: 50px; fill: none; }
html body .fx-gup a.fx-gup-btn svg .fx-gup-bg { fill: #E0B02D; transition: fill .2s ease; }
html body .fx-gup a.fx-gup-btn svg .fx-gup-ar { fill: #fff; }
html body .fx-gup a.fx-gup-btn:hover svg .fx-gup-bg, html body .fx-gup a.fx-gup-btn:focus-visible svg .fx-gup-bg { fill: #c99a1f; }
html body .fx-gup a.fx-gup-btn:hover, html body .fx-gup a.fx-gup-btn:focus { background: transparent !important; border: 0 !important; box-shadow: none !important; }
html body .fx-gup a.fx-gup-btn:focus-visible { outline: 2px solid #2e4a66; outline-offset: 4px; border-radius: 50%; }

/* ---- older arrows are replaced by the standard one ---- */
html body a.fx-up,
html body .fx-rp-uprow,
html body .fx-gup-legacy { display: none !important; }

/* ---- footer links stay clickable ----
   The up-arrow script pulls the footer up under the page. On tall screens the (see-through) page content layer
   then sat on top of the footer and swallowed the clicks on About Us, Contact Information, FAQ, Policy Information,
   Donate, the e-mail link and the social icons. The footer now sits above the content layer. */
html body #thrive-footer:not(#fx) { position: relative !important; z-index: 6 !important; }

/* ---- one left-arrow style on every back button ---- */
html body :is(.fx-back-dash, .fx-sa-back, .fx-rp-btn, .fx-pb-back, a.fx-nav, p.return-to-shop a.button, a[class*="fx-back"], button[class*="fx-back"], .fx-backgen) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; min-height: 48px; box-sizing: border-box;
}
html body :is(.fx-back-dash, .fx-sa-back, .fx-rp-btn, .fx-pb-back, a.fx-nav, p.return-to-shop a.button, a[class*="fx-back"], button[class*="fx-back"], .fx-backgen) svg.fx-ar {
  display: block; flex: none; width: 18px; height: 18px; margin: 0 !important; padding: 0; stroke: currentColor; fill: none;
}
/* ===== END 2026 - Page Footer ===== */

/* ===== from #90521 2026 - Product Back Button ===== */
/* ===== 2026 - PRODUCT BACK BUTTON ===== */
html body.ppp-protected a.fx-pb-back{float:left;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;height:50px;margin:20px 0 0;padding:0 22px;background:#2e4a66;color:#fff;border-radius:8px;font-family:'Open Sans',sans-serif;font-size:15px;font-weight:500;line-height:1;text-decoration:none;white-space:nowrap;transition:background .2s}
html body.ppp-protected a.fx-pb-back:hover,
html body.ppp-protected a.fx-pb-back:focus-visible{background:#E0B02D;color:#fff;text-decoration:none}
html body.ppp-protected a.fx-pb-back svg{width:16px;height:16px;flex:none}
html body.ppp-protected a.fx-pb-back .fx-pb-short{display:none}
@media (max-width:720px){
  html body.ppp-protected a.fx-pb-back{padding:0 18px;font-size:15px}
  html body.ppp-protected a.fx-pb-back .fx-pb-long{display:none}
  html body.ppp-protected a.fx-pb-back .fx-pb-short{display:inline}
}
/* ===== END 2026 - PRODUCT BACK BUTTON ===== */

/* ===== from #91826 2026 - Footer Show Only One ===== */
/* ===== 2026 - Footer Show Only One (CSS) =====
   The footer is built three times (desktop, tablet, phone). These plain media queries hide the two that do not fit
   the screen width. Backup for the "2026 - Footer Show Only One" JS. Kept in its own snippet, with no modern
   selectors, so old phones read it without trouble. */
@media (max-width: 767px) { html body #thrive-footer .tcb-mobile-hidden:not(#fx) { display: none !important; } }
@media (min-width: 768px) and (max-width: 1023px) { html body #thrive-footer .tcb-tablet-hidden:not(#fx) { display: none !important; } }
@media (min-width: 1024px) { html body #thrive-footer .tcb-desktop-hidden:not(#fx) { display: none !important; } }
/* ===== END 2026 - Footer Show Only One ===== */
