/* TPT Homepage Live v1.0.0 */

/* ---------------------------------------------------------------
   Events carousel
--------------------------------------------------------------- */
.tpt-ev{position:relative;width:100%;}
.tpt-ev-track{
  display:flex;
  gap:18px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:4px 2px 14px;
  scrollbar-width:none;
}
.tpt-ev-track::-webkit-scrollbar{display:none}
.tpt-ev-card{
  flex:0 0 calc((100% - 36px) / 3);
  min-width:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(15,23,42,.07);
  scroll-snap-align:start;
}
.tpt-ev-media{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:linear-gradient(135deg,#eef4f9 0%,#dbeafe 100%);
}
.tpt-ev-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 35%;
  display:block;
  transition:transform .55s ease;
}
.tpt-ev-card:hover .tpt-ev-media img{transform:scale(1.04)}
.tpt-ev-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#8aa3bb;opacity:.55}
.tpt-ev-placeholder svg{width:46px;height:46px}
.tpt-ev-date{
  position:absolute;
  left:14px;
  top:14px;
  display:grid;
  place-items:center;
  min-width:46px;
  padding:6px 8px;
  border-radius:14px;
  background:#fff;
  color:#133256;
  line-height:1;
  text-align:center;
  box-shadow:0 8px 20px rgba(15,23,42,.18);
}
.tpt-ev-date b{display:block;font-size:18px;font-weight:900}
.tpt-ev-date small{display:block;margin-top:2px;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.tpt-ev-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:18px}
.tpt-ev-kicker{display:inline-flex;align-self:flex-start;margin:0;padding:4px 8px;border-radius:999px;background:#EEF4F9;color:#133256;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.tpt-ev-title{
  margin:0;
  color:#133256;
  font-family:Raleway,Arial,sans-serif;
  font-size:21px;
  font-weight:800;
  line-height:1.15;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-title a{color:#133256!important;text-decoration:none}
.tpt-ev-title a:hover{color:#3D5979!important}
.tpt-ev-when{display:flex;align-items:center;gap:6px;margin:0;color:#133256;font-size:14px;font-weight:800;line-height:1.3}
.tpt-ev-when svg{width:14px;height:14px;flex:0 0 14px;color:#3D5979}
.tpt-ev-location{display:flex;align-items:flex-start;gap:6px;margin:0;color:#5F7388;font-size:12.5px;font-weight:600;line-height:1.35}
.tpt-ev-location svg{width:14px;height:14px;flex:0 0 14px;margin-top:1px;color:#3D5979}
.tpt-ev-location span{min-width:0;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.tpt-ev-meta{
  margin:0;
  color:#5f7388;
  font-size:12px;
  font-weight:700;
  line-height:1.35;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-desc{
  margin:0;
  color:#4a5b6d;
  font-size:13px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-ev-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px}
.tpt-ev-cta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#133256!important;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  border-bottom:2px solid #F8B133;
  padding-bottom:2px;
}
.tpt-ev-cta:hover{color:#3D5979!important}
.tpt-ev-title a:hover{color:#3D5979!important}
.tpt-ev-signup{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:#133256;
  color:#fff!important;
  font-size:11px;
  font-weight:800;
  text-decoration:none;
}
.tpt-ev-signup:hover{background:#3D5979;color:#fff!important}
.tpt-ev-nav{display:flex;justify-content:flex-end;gap:8px;padding:4px 2px 0}
.tpt-ev-nav button{
  width:38px;
  height:38px;
  border:1px solid #dbe3ec;
  border-radius:999px;
  background:#fff;
  color:#133256;
  font-size:22px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
  transition:background .18s ease,color .18s ease,opacity .18s ease;
}
.tpt-ev-nav button:hover{background:#133256;color:#fff}
.tpt-ev-nav button.is-disabled{opacity:.35;cursor:default;pointer-events:none}
.tpt-ev-empty{padding:24px;border:1px dashed #dbe3ec;border-radius:20px;background:#f8fbfe;color:#5f7388;text-align:center}

@media (max-width:1024px){
  .tpt-ev-card{flex-basis:calc((100% - 18px) / 2)}
}
@media (max-width:640px){
  .tpt-ev-track{gap:14px;padding-bottom:10px}
  .tpt-ev-card{flex-basis:86%;border-radius:20px}
  .tpt-ev-body{padding:15px}
  .tpt-ev-title{font-size:18px}
  .tpt-ev-nav{justify-content:center;padding-top:6px}
}

/* ---------------------------------------------------------------
   Live activity rotator
--------------------------------------------------------------- */
.elementor-widget-tpt_activity_rotator,
.elementor-widget-tpt_activity_rotator > .elementor-widget-container{height:100%}
.tpt-live{
  position:relative;
  isolation:isolate;
  height:100%;
  min-height:440px;
  border-radius:0;
  overflow:hidden;
  background:#133256;
  box-shadow:none;
}
.tpt-live-slides{position:absolute;inset:0}
.tpt-live-slide{
  position:absolute;
  inset:0;
  display:block;
  color:#fff;
  text-decoration:none;
  opacity:0;
  visibility:hidden;
  z-index:1;
  transition:opacity .65s ease,visibility .65s ease;
}
.tpt-live-slide.is-active{opacity:1;visibility:visible;z-index:2}
.tpt-live-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 35%;
  transform:scale(1.02);
  transition:transform 9s ease;
}
.tpt-live-slide.is-active .tpt-live-bg{transform:scale(1.08)}
.tpt-live-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(7,26,43,.10) 0%,rgba(7,26,43,.48) 42%,rgba(7,26,43,.94) 100%);
}
.tpt-live-slide[data-has-image="0"] .tpt-live-shade{
  background:linear-gradient(140deg,var(--tpt-accent,#A80606) 0%,#133256 100%);
}
.tpt-live-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding:26px;
}
.tpt-live-kicker{
  display:inline-flex;
  align-self:flex-start;
  padding:6px 10px;
  border-radius:999px;
  background:var(--tpt-accent,#A80606);
  color:var(--tpt-accent-text,#fff);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.tpt-live-title{
  color:#fff;
  font-family:Raleway,Arial,sans-serif;
  font-size:clamp(20px,2.4vw,28px);
  font-weight:800;
  line-height:1.12;
  text-wrap:balance;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-live-meta{color:rgba(255,255,255,.82);font-size:13px;font-weight:700;line-height:1.3}
.tpt-live-excerpt{
  color:rgba(255,255,255,.86);
  font-size:14px;
  line-height:1.45;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tpt-live-cta{
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  gap:8px;
  margin-top:4px;
  color:#fff!important;
  font-size:13px;
  font-weight:800;
  text-decoration:underline;
  text-decoration-color:#F8B133;
  text-underline-offset:3px;
}
.tpt-live a.tpt-live-cta:hover{color:#F8B133!important}
.tpt-live-icon{
  position:absolute;
  top:22px;
  right:22px;
  z-index:4;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  border-radius:17px;
  background:rgba(255,255,255,.14);
  color:#fff;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.tpt-live-icon svg{width:27px;height:27px}
.tpt-live-dots{
  position:absolute;
  right:22px;
  bottom:22px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:6px;
}
.tpt-live-dot{
  appearance:none!important;
  -webkit-appearance:none!important;
  flex:0 0 7px!important;
  width:7px!important;
  min-width:7px!important;
  max-width:7px!important;
  height:7px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.38);
  cursor:pointer;
  transition:width .2s ease,background .2s ease,flex-basis .2s ease;
}
.tpt-live-dot.is-active{flex-basis:22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;background:#fff}
.tpt-live-week .tpt-live-content{padding:22px;gap:7px}
.tpt-live-week .tpt-live-title{font-size:clamp(19px,2.2vw,24px);-webkit-line-clamp:2}
.tpt-live-week .tpt-live-cta{margin-top:4px}
.tpt-live-week-list{list-style:none;margin:2px 0 4px;padding:0;display:grid;gap:0}
.tpt-live-week-item{border-bottom:1px solid rgba(255,255,255,.16)}
.tpt-live-week-item:last-child{border-bottom:0}
.tpt-live-week-row{display:grid;grid-template-columns:70px 52px minmax(0,1fr);gap:8px;align-items:baseline;padding:6px 0;text-decoration:none;color:#fff}
.tpt-live-week-row:hover .tpt-live-week-title{color:#F8B133}
.tpt-live-week-day{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#F8B133;white-space:nowrap}
.tpt-live-week-time{font-size:11px;font-weight:800;color:#fff;white-space:nowrap}
.tpt-live-week-title{font-size:12px;font-weight:600;color:rgba(255,255,255,.92);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1024px){.tpt-live-week-row{grid-template-columns:64px 46px minmax(0,1fr)}}
@media (max-width:640px){.tpt-live-week-row{grid-template-columns:60px 44px minmax(0,1fr);padding:5px 0}.tpt-live-week-title{font-size:11.5px}}

@media (max-width:1024px){
  .tpt-live{min-height:390px}
}
@media (max-width:640px){
  .tpt-live{min-height:350px;border-radius:20px}
  .tpt-live-content{padding:20px}
  .tpt-live-title{font-size:22px}
  .tpt-live-excerpt{font-size:13px}
  .tpt-live-icon{top:16px;right:16px;width:46px;height:46px;border-radius:14px}
  .tpt-live-dots{right:16px;bottom:16px}
}

/* ---------------------------------------------------------------
   Slim responsive header (scoped to Elementor header section)
--------------------------------------------------------------- */
.tpt-header-slim .elementor-element-0b2ba38{
  background-color:#133256 !important;
  background-image:none !important;
  filter:none !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 > .elementor-background-overlay{
  opacity:.14 !important;
  mix-blend-mode:luminosity !important;
  background-color:#133256 !important;
  filter:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  min-height:42px !important;
  max-width:1400px !important;
  margin:0 auto !important;
  padding:0 18px !important;
  box-sizing:border-box !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column{
  width:auto !important;
  max-width:none !important;
  flex:0 0 auto !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column > .elementor-widget-wrap{
  padding:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-b65b96a,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-880e570{
  display:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-column > .elementor-widget-wrap{
  padding:0 !important;
  margin:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn{
  margin:0 !important;
  padding:6px 10px !important;
  font-size:11px !important;
  box-shadow:none !important;
  background:#F8B133 !important;
  color:#0A2239 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn span{
  color:#0A2239 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn:hover{
  background:#FFD06A !important;
  color:#0A2239 !important;
}
@media (min-width:1025px){
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{display:none !important}
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{
  order:1;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:16px !important;
  margin:0 !important;
  padding:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-item{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.2 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon i,
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon svg{
  color:#FFFFFF !important;
  fill:currentColor !important;
  font-size:12px !important;
  line-height:1 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-icon i{
  color:#FFFFFF !important;
  font-size:12px !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-text{
  color:#fff !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  letter-spacing:.01em !important;
  padding-left:0 !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf a{
  color:inherit !important;
  text-decoration:none !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon{
  width:26px !important;
  height:26px !important;
  font-size:10px !important;
  border-radius:999px !important;
  background-color:rgba(255,255,255,.13) !important;
  color:#fff !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon:hover{
  background-color:#A80606 !important;
  color:#fff !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icons-wrapper{
  gap:5px !important;
}
.tpt-header-slim .elementor-element-0b2ba38 .elementor-widget-container{
  margin:0 !important;
}

/* Desktop: hide the first spacer/social column, show contact + social on the right */
@media (min-width:1025px){
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{display:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-dca2c3b{display:flex !important;order:2}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{display:flex !important}
}

/* Tablet: one centred row, using the social icons from the first column */
@media (min-width:768px) and (max-width:1024px){
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    justify-content:center !important;
    gap:14px !important;
    min-height:44px !important;
    padding:0 12px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{display:flex !important;order:3;width:auto !important;max-width:max-content !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-205bf73{width:auto !important;max-width:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{display:flex !important;order:2;width:auto !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-dca2c3b{display:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{justify-content:center !important}
}

/* Mobile: two compact centred rows */
@media (max-width:767px){
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    flex-direction:column !important;
    justify-content:center !important;
    gap:3px !important;
    min-height:0 !important;
    padding:6px 10px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 > .elementor-container{
    flex-direction:row !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:6px 12px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f,
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5,
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{
    display:flex !important;
    width:auto !important;
    flex:0 0 auto !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e50190f{order:1;width:100% !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-4eefaf9{order:2}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-e69bbc5{order:3;width:auto !important;max-width:max-content !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-205bf73{width:auto !important;max-width:none !important}
  .tpt-header-slim .elementor-element-0b2ba38 .tpt-app-download-btn{padding:5px 9px !important;font-size:10.5px !important;gap:5px !important;height:26px !important}
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-items{
    justify-content:center !important;
    gap:2px 12px !important;
    flex-wrap:wrap !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-item{
    white-space:nowrap !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-element-36cbebf .elementor-icon-list-text{
    font-size:10.5px !important;
  }
  .tpt-header-slim .elementor-element-0b2ba38 .elementor-social-icon{
    width:24px !important;
    height:24px !important;
    font-size:9px !important;
  }
}

/* Ticker iframe: keep the red bar visible while the embed loads. */
#tpt-news-ticker{background:#A80606;min-height:44px;}


/* TPT_TICKER_ENTRANCE_V1_20261107: hide the red bar until we know whether
   the ticker has live announcements, then give it an obvious entrance. */
html.tpt-ticker-js .elementor-element-4c74889{visibility:hidden}
html.tpt-ticker-js .elementor-element-4c74889:not(.tpt-ticker-enter){animation:none!important}
@keyframes tptTickerDrop{
  0%{transform:translateY(-120%) scaleY(.92);opacity:0}
  45%{transform:translateY(0) scaleY(1.05);opacity:1}
  65%{transform:translateY(0) scaleY(.99)}
  82%{transform:translateY(0) scaleY(1.01)}
  100%{transform:translateY(0) scaleY(1);opacity:1}
}
@keyframes tptTickerGlow{
  0%,100%{box-shadow:inset 0 0 0 0 rgba(248,177,51,0);filter:none}
  20%{box-shadow:inset 0 0 0 6px rgba(248,177,51,1);filter:brightness(1.18)}
  45%{box-shadow:inset 0 0 0 3px rgba(248,177,51,.75);filter:brightness(1.08)}
  70%{box-shadow:inset 0 0 0 5px rgba(248,177,51,.9);filter:brightness(1.12)}
}
@keyframes tptTickerShine{
  0%{transform:translateX(-130%) skewX(-12deg)}
  100%{transform:translateX(130%) skewX(-12deg)}
}
.elementor-element-4c74889.tpt-ticker-enter{
  position:relative;
  overflow:hidden;
  animation:tptTickerDrop .95s cubic-bezier(.18,.9,.28,1.08) both,
            tptTickerGlow 1.5s ease .1s 1 !important;
  will-change:transform,filter;
}
.elementor-element-4c74889.tpt-ticker-enter::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(100deg,transparent 25%,rgba(255,220,130,.75) 45%,rgba(255,220,130,.15) 55%,transparent 75%);
  animation:tptTickerShine .95s ease .12s 1 both;
}
@media (prefers-reduced-motion: reduce){
  .elementor-element-4c74889.tpt-ticker-enter{animation:none !important}
  .elementor-element-4c74889.tpt-ticker-enter::after{animation:none !important}
}
