:root{
  --twl-takeover-primary:#1f9d55;
  --twl-takeover-secondary:#0f5c2e;
  --twl-takeover-accent:#f4c542;
  --twl-takeover-glow:rgba(31,157,85,.26);
  --twl-takeover-primary-rgb:31,157,85;
}

body.twl-takeover-active a,
body.twl-takeover-active button,
body.twl-takeover-active input,
body.twl-takeover-active .wp-block-button__link,
body.twl-takeover-active .elementor-button,
body.twl-takeover-active .rev-btn,
body.twl-takeover-active .woocommerce a.button,
body.twl-takeover-active .woocommerce button.button,
body.twl-takeover-active .woocommerce input.button {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

/* Once-per-visit intro popup */
#twl-takeover-intro-wrap{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:auto;
}

#twl-takeover-intro-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.34);
  opacity:1;
  transition:opacity .55s ease;
}

#twl-takeover-intro{
  position:relative;
  cursor:pointer;
  width:min(92vw, 680px);
  padding:28px 30px;
  border-radius:22px;
  color:#fff;
  text-align:center;
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--twl-takeover-secondary) 88%, #050505),
    color-mix(in srgb, var(--twl-takeover-primary) 88%, #101010)
  );
  border:1px solid color-mix(in srgb, var(--twl-takeover-accent) 40%, transparent);
  box-shadow:0 30px 80px rgba(0,0,0,.38), 0 0 30px color-mix(in srgb, var(--twl-takeover-primary) 35%, transparent);
  transform:translateY(0) scale(1);
  opacity:1;
}

#twl-takeover-intro .twl-takeover-intro-icon{
  display:block;
  font-size:44px;
  line-height:1;
  margin-bottom:12px;
}

#twl-takeover-intro .twl-takeover-intro-title{
  font-size:clamp(24px, 4vw, 38px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:.2px;
  margin:0 0 10px;
  color:#fff;
}

#twl-takeover-intro .twl-takeover-intro-sub{
  font-size:clamp(14px, 2vw, 18px);
  line-height:1.45;
  opacity:.96;
  margin:0;
  color:#fff;
}

#twl-takeover-intro-wrap.is-exploding::before{
  opacity:0;
}

#twl-takeover-intro-wrap.is-exploding #twl-takeover-intro{
  animation:twlTakeoverExplode .85s cubic-bezier(.2,.8,.2,1) forwards;
}

@keyframes twlTakeoverExplode{
  0%{transform:translateY(0) scale(1);opacity:1;filter:blur(0px);}
  18%{transform:translateY(-2px) scale(1.03);opacity:1;}
  55%{transform:translateY(-12px) scale(1.08);opacity:.98;box-shadow:0 34px 84px rgba(0,0,0,.4),0 0 44px color-mix(in srgb, var(--twl-takeover-accent) 40%, transparent);}
  100%{transform:translateY(-26px) scale(1.95);opacity:0;filter:blur(12px);}
}

/* Global recolor */
body.twl-takeover-active a,
body.twl-takeover-active .color-primary,
body.twl-takeover-active .color--primary,
body.twl-takeover-active .btn-link,
body.twl-takeover-active .vc_general.vc_btn3.vc_btn3-style-btn-link,
body.twl-takeover-active .ct-header__logo-nav .current-menu-ancestor > a,
body.twl-takeover-active .ct-header__logo-nav .current-menu-parent > a,
body.twl-takeover-active .ct-header__logo-nav .current-menu-item > a,
body.twl-takeover-active .ct-header__logo-nav .current-page-parent > a,
body.twl-takeover-active .ct-header__logo-nav .current_page_parent > a,
body.twl-takeover-active .ct-header__logo-nav .current_page_ancestor > a,
body.twl-takeover-active .ct-header__logo-nav .current-page-ancestor > a,
body.twl-takeover-active .ct-header__logo-nav .current_page_item > a,
body.twl-takeover-active .ct-sidebar .sidebar-widget .widget-title,
body.twl-takeover-active .ct-sidebar .sidebar-widget .widget-title a,
body.twl-takeover-active .special-title,
body.twl-takeover-active .special-title > *,
body.twl-takeover-active .special-title small:last-child,
body.twl-takeover-active .section-bullets,
body.twl-takeover-active #ct-scroll-top,
body.twl-takeover-active .owl-nav .owl-prev::before,
body.twl-takeover-active .owl-nav .owl-next::after,
body.twl-takeover-active .owl-dots,
body.twl-takeover-active .wcs-filters__title,
body.twl-takeover-active .wcs-timetable__week .wcs-day__title,
body.twl-takeover-active .wcs-timetable__week .wcs-class__instructors::before,
body.twl-takeover-active .xtd-recent-posts__post__date::before,
body.twl-takeover-active .xtd-timeline__item::before,
body.twl-takeover-active .xtd-timeline__item::after,
body.twl-takeover-active .ct-vc-recent-news-post .ti-calendar,
body.twl-takeover-active .ct-vc-services-carousel__item-title,
body.twl-takeover-active .twl-show-title,
body.twl-takeover-active .twl-show-date,
body.twl-takeover-active .twl-show-date *,
body.twl-takeover-active .twl-cal-modal-link,
body.twl-takeover-active h3,
body.twl-takeover-active .h3,
body.twl-takeover-active h4,
body.twl-takeover-active .h4{
  color:var(--twl-takeover-primary) !important;
}

body.twl-takeover-active .ct-header__logo-nav a:hover,
body.twl-takeover-active .ct-main-navigation a:hover,
body.twl-takeover-active .twl-show-card a:hover,
body.twl-takeover-active .twl-cal-modal-link:hover{
  color:var(--twl-takeover-accent) !important;
}

body.twl-takeover-active .special-title::before,
body.twl-takeover-active .xtd-offset-frame::before,
body.twl-takeover-active .xtd-timeline::before,
body.twl-takeover-active .wcs-timetable__carousel .wcs-class__title::after,
body.twl-takeover-active .wcs-timetable__carousel .owl-prev,
body.twl-takeover-active .wcs-timetable__carousel .owl-next,
body.twl-takeover-active .btn-outline-primary,
body.twl-takeover-active .vc_general.vc_btn3.vc_btn3.vc_btn3-style-btn-outline-primary,
body.twl-takeover-active .comment-reply-link,
body.twl-takeover-active .pagination .nav-links .prev,
body.twl-takeover-active .pagination .nav-links .next,
body.twl-takeover-active table,
body.twl-takeover-active .ct-content,
body.twl-takeover-active .media.comment,
body.twl-takeover-active .ct-posts .ct-post.format-link,
body.twl-takeover-active .wcs-timetable__week,
body.twl-takeover-active .wcs-timetable__week .wcs-day,
body.twl-takeover-active .wcs-timetable__week .wcs-class,
body.twl-takeover-active .wcs-timetable__week .wcs-day__title,
body.twl-takeover-active .twl-show-card,
body.twl-takeover-active .twl-show-card-inner,
body.twl-takeover-active .twl-show-thumbwrap,
body.twl-takeover-active .twl-cal-modal-hr{
  border-color:color-mix(in srgb, var(--twl-takeover-primary) 55%, transparent) !important;
}

body.twl-takeover-active input[type="submit"],
body.twl-takeover-active input[type="button"],
body.twl-takeover-active button,
body.twl-takeover-active .btn-primary,
body.twl-takeover-active .vc_general.vc_btn3.vc_btn3.vc_btn3-style-btn-primary,
body.twl-takeover-active .wcs-more.wcs-btn--action,
body.twl-takeover-active .wcs-btn--action,
body.twl-takeover-active .woocommerce a.button,
body.twl-takeover-active .woocommerce button.button,
body.twl-takeover-active .woocommerce input.button,
body.twl-takeover-active .wp-block-button__link,
body.twl-takeover-active .elementor-button,
body.twl-takeover-active .rev-btn,
body.twl-takeover-active .fa-boxed,
body.twl-takeover-active .pagination .nav-links .current::before,
body.twl-takeover-active .wcs-timetable__week .wcs-class__title::after,
body.twl-takeover-active .wcs-modal:not(.wcs-modal--large) .wcs-btn--action.wcs-btn--action,
body.twl-takeover-active .ct-posts .ct-post.format-quote .ct-post__content,
body.twl-takeover-active .twl-show-btn,
body.twl-takeover-active .twl-show-ticket-link,
body.twl-takeover-active .twl-cal-modal-actions .twl-cal-modal-link{
  background-color:var(--twl-takeover-primary) !important;
  border-color:var(--twl-takeover-primary) !important;
  color:#06150d !important;
  box-shadow:0 0 0 0 transparent,0 0 16px var(--twl-takeover-glow);
}

body.twl-takeover-active input[type="submit"]:hover,
body.twl-takeover-active input[type="submit"]:active,
body.twl-takeover-active input[type="button"]:hover,
body.twl-takeover-active input[type="button"]:active,
body.twl-takeover-active button:hover,
body.twl-takeover-active button:active,
body.twl-takeover-active .btn-primary:hover,
body.twl-takeover-active .btn-primary:active,
body.twl-takeover-active .btn-primary:active:hover,
body.twl-takeover-active .vc_btn3.vc_btn3.vc_btn3-style-btn-primary:hover,
body.twl-takeover-active .vc_general.vc_btn3.vc_btn3.vc_btn3-style-btn-outline-primary:hover,
body.twl-takeover-active .woocommerce a.button:hover,
body.twl-takeover-active .woocommerce button.button:hover,
body.twl-takeover-active .woocommerce input.button:hover,
body.twl-takeover-active .wp-block-button__link:hover,
body.twl-takeover-active .elementor-button:hover,
body.twl-takeover-active .rev-btn:hover,
body.twl-takeover-active .twl-show-btn:hover,
body.twl-takeover-active .twl-show-ticket-link:hover,
body.twl-takeover-active .twl-cal-modal-actions .twl-cal-modal-link:hover{
  background-color:var(--twl-takeover-secondary) !important;
  border-color:var(--twl-takeover-secondary) !important;
  color:#fff !important;
  box-shadow:0 0 0 2px rgba(var(--twl-takeover-primary-rgb),.15),0 0 22px rgba(var(--twl-takeover-primary-rgb),.35) !important;
}

body.twl-takeover-active .btn-outline-primary,
body.twl-takeover-active .vc_general.vc_btn3.vc_btn3.vc_btn3-style-btn-outline-primary,
body.twl-takeover-active .comment-reply-link{
  color:var(--twl-takeover-primary) !important;
  background-color:transparent !important;
}

body.twl-takeover-active .btn-outline-primary:hover,
body.twl-takeover-active .btn-outline-primary:hover:active,
body.twl-takeover-active .btn-outline-primary:active,
body.twl-takeover-active .comment-reply-link:hover{
  background-color:var(--twl-takeover-primary) !important;
  color:#06150d !important;
}

body.twl-takeover-active h1,
body.twl-takeover-active h2,
body.twl-takeover-active .elementor-heading-title{
  text-shadow:0 0 14px color-mix(in srgb, var(--twl-takeover-primary) 20%, transparent);
}

body.twl-takeover-active .ct-header,
body.twl-takeover-active .ct-header__wrapper--stuck,
body.twl-takeover-active .ct-main-navigation .sub-menu,
body.twl-takeover-active .ct-main-navigation .children,
body.twl-takeover-active #ct-main-nav::before,
body.twl-takeover-active .ct-menu--inverted #ct-main-nav::before{
  background-color:color-mix(in srgb, var(--twl-takeover-secondary) 88%, #050505) !important;
}

body.twl-takeover-active .site-header,
body.twl-takeover-active .elementor-section:first-of-type,
body.twl-takeover-active .rev_slider_wrapper,
body.twl-takeover-active .twl-show-card,
body.twl-takeover-active .twl-show-card-inner{
  position:relative;
}

body.twl-takeover-active .site-header::after,
body.twl-takeover-active .elementor-section:first-of-type::after,
body.twl-takeover-active .rev_slider_wrapper::after,
body.twl-takeover-active .twl-show-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at top center, color-mix(in srgb, var(--twl-takeover-primary) 10%, transparent), transparent 45%);
}

body.twl-takeover-active .twl-show-card,
body.twl-takeover-active .twl-show-card-inner{
  box-shadow:0 0 0 1px rgba(var(--twl-takeover-primary-rgb),.25), 0 8px 24px rgba(0,0,0,.12);
}

#twl-takeover-pill{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:9998;
  background:rgba(17,17,17,.92);
  color:#fff;
  padding:12px 14px;
  border-radius:999px;
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  font-size:14px;
  line-height:1.25;
  max-width:320px;
  border:1px solid color-mix(in srgb, var(--twl-takeover-primary) 40%, transparent);
}

#twl-takeover-pill strong{ color:var(--twl-takeover-accent); }

#twl-takeover-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:9997;
}

.twl-takeover-item,
.twl-takeover-burst-item,
.twl-takeover-cursor-item{
  position:absolute;
  top:-40px;
  opacity:.85;
  will-change:transform, opacity;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.18));
}

.twl-takeover-item{
  animation-name:twlTakeoverFall;
  animation-timing-function:linear;
  animation-fill-mode:forwards;
}

.twl-takeover-burst-item{
  animation:twlTakeoverBurst 1.35s cubic-bezier(.12,.8,.2,1) forwards;
}

.twl-takeover-cursor-item{
  animation:twlTakeoverCursorTrail .95s cubic-bezier(.2,.72,.2,1) forwards;
}


@keyframes twlTakeoverFall{
  0%{transform:translateY(-40px) translateX(0) rotate(0deg);opacity:0;}
  10%{opacity:.92;}
  100%{transform:translateY(110vh) translateX(45px) rotate(240deg);opacity:0;}
}

@keyframes twlTakeoverBurst{
  0%{transform:translate(-50%,-50%) translate(0,0) scale(.55) rotate(0deg);opacity:0;}
  10%{opacity:1;}
  55%{transform:translate(-50%,-50%) translate(calc(var(--twl-burst-x) * .72), calc(var(--twl-burst-y) * .72)) scale(1.04) rotate(calc(var(--twl-burst-r) * .55));opacity:1;}
  100%{transform:translate(-50%,-50%) translate(var(--twl-burst-x), var(--twl-burst-y)) scale(1.08) rotate(var(--twl-burst-r));opacity:0;}
}

.twl-takeover-item--from-intro{
  animation-name:twlTakeoverStreamFromIntro;
  animation-timing-function:cubic-bezier(.18,.7,.2,1);
  animation-fill-mode:forwards;
}

@keyframes twlTakeoverStreamFromIntro{
  0%{transform:translate(-50%,-50%) translate(0,0) scale(.45) rotate(0deg);opacity:0;}
  10%{opacity:.98;}
  40%{transform:translate(-50%,-50%) translate(calc(var(--twl-stream-x) * .55), calc(var(--twl-stream-y) * .55)) scale(.95) rotate(calc(var(--twl-stream-r) * .45));opacity:1;}
  100%{transform:translate(-50%,-50%) translate(var(--twl-stream-x), var(--twl-stream-y)) scale(1.02) rotate(var(--twl-stream-r));opacity:0;}
}

@media (max-width: 767px){
  #twl-takeover-intro{padding:22px 18px;border-radius:18px;}
  #twl-takeover-pill{right:10px;left:10px;bottom:10px;max-width:none;border-radius:16px;}
}


:root{
  --twl-takeover-surface: color-mix(in srgb, var(--twl-takeover-secondary) 78%, #18211b);
  --twl-takeover-surface-strong: color-mix(in srgb, var(--twl-takeover-secondary) 88%, #111714);
  --twl-takeover-surface-soft: color-mix(in srgb, var(--twl-takeover-primary) 26%, #1f2521);
}

/* Modal targeting for classes/camps and shows */
body.twl-takeover-active .twl-cal-modal-content,
body.twl-takeover-active .twl-cal-modal-dialog,
body.twl-takeover-active .twl-cal-modal-body,
body.twl-takeover-active .twl-cal-modal-content-html,
body.twl-takeover-active .twl-cal-modal-fulltext,
body.twl-takeover-active .twl-cal-modal .twl-cal-modal-content{
  background:linear-gradient(135deg, var(--twl-takeover-surface-strong), var(--twl-takeover-surface)) !important;
  color:#f5fbf7 !important;
}

body.twl-takeover-active .twl-cal-modal-backdrop{
  background:rgba(4, 14, 9, .76) !important;
}

body.twl-takeover-active .twl-cal-modal-title,
body.twl-takeover-active .twl-cal-modal-performances,
body.twl-takeover-active .twl-cal-modal-body strong,
body.twl-takeover-active .twl-cal-modal-body b,
body.twl-takeover-active .twl-cal-modal-content p,
body.twl-takeover-active .twl-cal-modal-content li,
body.twl-takeover-active .twl-cal-modal-content span,
body.twl-takeover-active .twl-cal-modal-content div{
  color:#f5fbf7 !important;
}

body.twl-takeover-active .twl-cal-modal-close{
  background:var(--twl-takeover-primary) !important;
  color:#06150d !important;
  border:1px solid rgba(var(--twl-takeover-primary-rgb), .25) !important;
  box-shadow:0 12px 30px rgba(0,0,0,.22) !important;
}

/* Show card refinement */
body.twl-takeover-active .twl-show-card,
body.twl-takeover-active .twl-show-card-inner,
body.twl-takeover-active .twl-show-right,
body.twl-takeover-active .twl-show-actions{
  background:linear-gradient(135deg, color-mix(in srgb, var(--twl-takeover-secondary) 72%, #161b18), color-mix(in srgb, var(--twl-takeover-primary) 24%, #202522)) !important;
}

body.twl-takeover-active .twl-show-title,
body.twl-takeover-active .twl-show-right .twl-show-title,
body.twl-takeover-active .twl-show-card h3,
body.twl-takeover-active .twl-show-card h4{
  color:#e7fff0 !important;
  text-shadow:none !important;
}

body.twl-takeover-active .twl-show-blurb,
body.twl-takeover-active .twl-show-venue,
body.twl-takeover-active .twl-show-right p,
body.twl-takeover-active .twl-show-right li,
body.twl-takeover-active .twl-show-right div,
body.twl-takeover-active .twl-show-right span{
  color:#e6f4eb !important;
}

body.twl-takeover-active .twl-show-date,
body.twl-takeover-active .twl-show-date *,
body.twl-takeover-active .twl-show-dates,
body.twl-takeover-active .twl-show-venue strong{
  color:var(--twl-takeover-accent) !important;
}

body.twl-takeover-active .twl-show-soon,
body.twl-takeover-active .twl-show-soon.button,
body.twl-takeover-active .twl-show-soon.btn,
body.twl-takeover-active .twl-show-soon:link,
body.twl-takeover-active .twl-show-soon:visited{
  background:color-mix(in srgb, var(--twl-takeover-secondary) 66%, #353535) !important;
  color:#f5fbf7 !important;
  border:2px solid color-mix(in srgb, var(--twl-takeover-accent) 32%, var(--twl-takeover-primary) 68%) !important;
  box-shadow:0 10px 26px rgba(0,0,0,.16) !important;
}

body.twl-takeover-active .twl-show-soon:hover,
body.twl-takeover-active .twl-show-soon:focus{
  background:var(--twl-takeover-primary) !important;
  color:#06150d !important;
  border-color:var(--twl-takeover-primary) !important;
}


body.twl-takeover-active .rev_slider_wrapper .tp-caption,
body.twl-takeover-active .rev_slider_wrapper .tp-caption *,
body.twl-takeover-active .rev_slider_wrapper .tp-layer-inner,
body.twl-takeover-active .rev_slider_wrapper .tp-layer-inner *,
body.twl-takeover-active .rev_slider_wrapper rs-layer:not(.rev-btn),
body.twl-takeover-active .rev_slider_wrapper rs-layer:not(.rev-btn) *,
body.twl-takeover-active sr7-content sr7-txt,
body.twl-takeover-active sr7-content sr7-txt *,
body.twl-takeover-active sr7-slide sr7-txt,
body.twl-takeover-active sr7-slide sr7-txt *,
body.twl-takeover-active sr7-txt{
  color:var(--twl-takeover-primary) !important;
  -webkit-text-fill-color:var(--twl-takeover-primary) !important;
}

body.twl-takeover-active .rev_slider_wrapper .tp-caption,
body.twl-takeover-active .rev_slider_wrapper .tp-layer-inner,
body.twl-takeover-active .rev_slider_wrapper rs-layer:not(.rev-btn),
body.twl-takeover-active sr7-content sr7-txt,
body.twl-takeover-active sr7-slide sr7-txt,
body.twl-takeover-active sr7-txt{
  text-shadow:0 2px 18px rgba(0,0,0,.45) !important;
}


.twl-takeover-burst-item{
  will-change: transform, opacity;
}

.twl-takeover-burst-item--coin{
  animation-name:twlTakeoverBurstCoin;
}

@keyframes twlTakeoverBurstCoin{
  0%{transform:translate(-50%,-50%) translate(0,0) scale(.5) rotate(0deg);opacity:0;}
  10%{opacity:1;}
  38%{transform:translate(-50%,-50%) translate(calc(var(--twl-burst-x) * .38), calc(var(--twl-burst-y) * .38 - var(--twl-burst-bounce, 18px))) scale(1.02) rotate(calc(var(--twl-burst-r) * .35));opacity:1;}
  62%{transform:translate(-50%,-50%) translate(calc(var(--twl-burst-x) * .64), calc(var(--twl-burst-y) * .64 + calc(var(--twl-burst-bounce, 18px) * .35))) scale(1.06) rotate(calc(var(--twl-burst-r) * .62));opacity:1;}
  100%{transform:translate(-50%,-50%) translate(var(--twl-burst-x), var(--twl-burst-y)) scale(1.08) rotate(var(--twl-burst-r));opacity:0;}
}

.twl-takeover-burst-item--coin{
  animation-name: twlTakeoverBurstCoin !important;
  animation-timing-function: cubic-bezier(.16,.84,.24,1) !important;
}

@keyframes twlTakeoverBurstCoin{
  0%{
    transform:translate3d(0,0,0) scale(.55) rotate(0deg);
    opacity:0;
  }
  10%{
    opacity:1;
  }
  52%{
    transform:translate3d(calc(var(--twl-burst-x) * .72), calc(var(--twl-burst-y) * .72 - var(--twl-burst-bounce, 18px)), 0) scale(1.05) rotate(calc(var(--twl-burst-r) * .55));
    opacity:1;
  }
  70%{
    transform:translate3d(calc(var(--twl-burst-x) * .88), calc(var(--twl-burst-y) * .88), 0) scale(.98) rotate(calc(var(--twl-burst-r) * .76));
    opacity:.96;
  }
  100%{
    transform:translate3d(var(--twl-burst-x), var(--twl-burst-y), 0) scale(.88) rotate(var(--twl-burst-r));
    opacity:0;
  }
}

@keyframes twlTakeoverFloatFromIntro{
  0%{
    transform:translate3d(0,0,0) scale(.5) rotate(0deg);
    opacity:0;
  }
  12%{
    opacity:1;
  }
  24%{
    transform:translate3d(calc(var(--twl-stream-x) * .35), var(--twl-stream-y, -22px), 0) scale(1) rotate(calc(var(--twl-stream-r) * .35));
    opacity:1;
  }
  100%{
    transform:translate3d(var(--twl-stream-x), calc(100vh - 50px), 0) scale(.92) rotate(var(--twl-stream-r));
    opacity:0;
  }
}


@keyframes twlTakeoverCursorTrail{
  0%{transform:translate(-50%,-50%) translate(0,0) scale(.6) rotate(0deg);opacity:0;}
  12%{opacity:.9;}
  100%{transform:translate(-50%,-50%) translate(var(--twl-cursor-x), var(--twl-cursor-y)) scale(.95) rotate(var(--twl-cursor-r));opacity:0;}
}
