.elementor-11962 .elementor-element.elementor-element-69038be{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-11962 .elementor-element.elementor-element-57e96695 > .elementor-element-populated, .elementor-11962 .elementor-element.elementor-element-57e96695 > .elementor-element-populated > .elementor-background-overlay, .elementor-11962 .elementor-element.elementor-element-57e96695 > .elementor-background-slideshow{border-radius:25px 25px 25px 25px;}.elementor-11962 .elementor-element.elementor-element-57e96695 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);margin:0px 10px 0px 10px;--e-column-margin-right:10px;--e-column-margin-left:10px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-11962 .elementor-element.elementor-element-40bae062{text-align:center;}.elementor-11962 .elementor-element.elementor-element-21d1afcf > .elementor-element-populated, .elementor-11962 .elementor-element.elementor-element-21d1afcf > .elementor-element-populated > .elementor-background-overlay, .elementor-11962 .elementor-element.elementor-element-21d1afcf > .elementor-background-slideshow{border-radius:25px 25px 25px 25px;}.elementor-11962 .elementor-element.elementor-element-21d1afcf > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);margin:0px 10px 0px 010px;--e-column-margin-right:10px;--e-column-margin-left:010px;}.elementor-11962 .elementor-element.elementor-element-410ac6dd{text-align:center;}.elementor-11962 .elementor-element.elementor-element-6cd76098 > .elementor-element-populated, .elementor-11962 .elementor-element.elementor-element-6cd76098 > .elementor-element-populated > .elementor-background-overlay, .elementor-11962 .elementor-element.elementor-element-6cd76098 > .elementor-background-slideshow{border-radius:25px 25px 25px 25px;}.elementor-11962 .elementor-element.elementor-element-6cd76098 > .elementor-element-populated{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);margin:0px 10px 0px 10px;--e-column-margin-right:10px;--e-column-margin-left:10px;}.elementor-11962 .elementor-element.elementor-element-76b765a2{text-align:center;}.elementor-11962 .elementor-element.elementor-element-629b6bcf{--spacer-size:20px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-11962 .elementor-element.elementor-element-25e63579{text-align:center;}.elementor-11962 .elementor-element.elementor-element-25e63579 .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-weight:900;}.elementor-11962 .elementor-element.elementor-element-273ad423{--spacer-size:10px;}.elementor-11962 .elementor-element.elementor-element-a8cbb0e{--spacer-size:20px;}.elementor-11962 .elementor-element.elementor-element-6d179412{--spacer-size:20px;}.elementor-widget-media-carousel .elementor-carousel-image-overlay{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}.elementor-11962 .elementor-element.elementor-element-47657b3d .elementor-swiper-button{font-size:20px;}.elementor-11962 .elementor-element.elementor-element-22b514fe{--spacer-size:50px;}.elementor-11962 .elementor-element.elementor-element-636b078d .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-11962 .elementor-element.elementor-element-6d1722a5 .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-11962 .elementor-element.elementor-element-612a531c{text-align:center;}.elementor-11962 .elementor-element.elementor-element-612a531c .elementor-heading-title{font-family:"DM Sans", Sans-serif;font-size:30px;font-weight:900;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:1200px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:1024px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:880px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(max-width:767px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}@media(min-width:1660px){.elementor-11962 .elementor-element.elementor-element-47657b3d.elementor-skin-slideshow .elementor-main-swiper:not(.elementor-thumbnails-swiper){margin-bottom:10px;}}/* Start custom CSS for html, class: .elementor-element-7cf1ad6 */#htcTanzania .map-col{
  display:flex;
  flex-direction:column;   /* stacks map then caption */
  align-items:center;
  justify-content:center;
}
#htcTanzania .map-stamp{
  width:260px;
  aspect-ratio:1/1;
  border-radius:999px;
  overflow:hidden;
  border:4px solid #fff;
  box-shadow:0 12px 36px rgba(2,8,23,.20);
  outline:2px dashed var(--ring);
  outline-offset:8px;
  margin-bottom:12px;      /* space for caption below */
  flex:0 0 auto;           /* prevent shrinking */
}
#tzMap .leaflet-control-zoom{ top:12px; left:12px; } /* +/– fully visible */

#htcTanzania .hero .subhead,
#htcTanzania .hero .subhead * { color:#fff !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6152aa50 *//* === Buttons: normalize <a> and <button> to look identical === */
#travelCards .button,
#travelCards button.button{
  font-size:14px;
  line-height:1.2;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#f8fafc;
  border:1px solid #e2e8f0; /* --ring */
  color:#075985;
  font-weight:700;
  text-decoration:none;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
#travelCards .button:hover{ background:#e6f4fa; border-color:#cfe8f1; transform:translateY(-1px); }

/* === Cards: configurable wash + optional bg image layer === */
#travelCards .card{
  position:relative; overflow:hidden; isolation:isolate;
  border:1px solid #e2e8f0; border-radius:16px;
  box-shadow:0 10px 28px rgba(2,8,23,.08);
  padding:18px 18px 16px;
  display:flex; flex-direction:column; gap:10px;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  /* Base wash (override per-card with --wash) */
  background:linear-gradient(180deg, var(--wash, #f6fbfe) 0%, #ffffff 70%);
}
#travelCards .card:hover{ transform:translateY(-4px); border-color:#cfe8f1; box-shadow:0 16px 40px rgba(2,8,23,.12); }

/* Optional faint background image (set with --bg-url on the card) */
#travelCards .card::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background: var(--bg-url) center/cover no-repeat;
  opacity:.06; mix-blend:multiply;
}

/* Soft corner tint overlay (customize per-card with --tint) */
#travelCards .card::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(900px 280px at 100% 0, var(--tint, rgba(5,120,166,.08)) 0%, transparent 60%);
  mix-blend:multiply; opacity:.9;
}

/* Content layers above overlays */
#travelCards .head,
#travelCards p,
#travelCards .pills,
#travelCards .cta{ position:relative; z-index:1; }

/* Icon tile (HTC Green stroke) */
#travelCards .icon{
  width:42px; height:42px; border-radius:12px; flex:0 0 auto;
  display:grid; place-items:center;
  background:#eaf7f1; border:1px solid #cfeadd;
  box-shadow:0 6px 16px rgba(20,155,82,.15);
}
#travelCards .icon svg{
  width:22px; height:22px; stroke:#149b52; fill:none;
  stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
}

/* Title underline accent */
#travelCards .title{ margin:0; font-size:18px; color:#0f172a; font-weight:800; letter-spacing:.2px; }
#travelCards .title::after{
  content:""; display:block; width:36px; height:3px; margin-top:6px; border-radius:2px; background:#149b52;
}

/* Body text + pills */
#travelCards p{ margin:0 0 8px; color:#475569; font-size:15px; line-height:1.55; }
#travelCards .em{ color:#0f172a; font-weight:700; }
#travelCards .pills{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }
#travelCards .pill{ font-size:12.5px; color:#0b3a4a; background:#e6f4fa; border:1px solid #dbeafe; padding:6px 10px; border-radius:999px; }

/* Subtle watermark behind card content */
#travelCards .wm{
  position:absolute; z-index:0; pointer-events:none; opacity:.05; /* adjust here if needed */
  width:140px; height:140px; right:-8px; top:-8px;
  background-repeat:no-repeat; background-position:center; background-size:contain;
  transform:rotate(-6deg);
  filter:contrast(0) brightness(0); /* neutral ink-like */
}
@media (min-width:820px){
  #travelCards .wm{ right:-12px; top:-12px; width:160px; height:160px; }
}
/* Watermark variants */
#travelCards .wm.passport{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='4.5' y='2.8' rx='2.4' ry='2.4' width='14.8' height='18.4'/><path d='M9 6h6a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H9z'/><circle cx='14' cy='10.5' r='2.3'/></svg>");
}
#travelCards .wm.plane{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M22 13l-8 2-3 7-2 0 1.2-7L3 14v-2l6.2-1L9 4h2l3 7 8-2z'/></svg>");
}
#travelCards .wm.plug{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 2v6M16 2v6M6 8h12v3a6 6 0 0 1-6 6v5h-2v-5a6 6 0 0 1-6-6V8z'/></svg>");
}

/* === Spacing + Help strip (blue divider forced) === */
#travelCards .grid{
  margin-bottom:0 !important;
  row-gap:16px;
}
#travelCards .card{ margin-bottom:0 !important; }
#travelCards .card > *:last-child{ margin-bottom:0 !important; }

/* Help strip */
#travelCards .help{
  position:relative;              /* for ::before divider */
  margin-top:8px !important;      /* tighter space */
  padding-top:12px !important;    /* breathing room under the line */
  display:flex; align-items:center; justify-content:center; gap:12px;
  font-size:14px; color:#475569;
  border-top:2px solid #0578a6 !important; /* hard fallback line */
}
#travelCards .help::before{
  content:""; position:absolute; left:0; right:0; top:0; height:0;
  border-top:2px solid #0578a6;  /* HTC Blue divider (guaranteed) */
  pointer-events:none; z-index:0;
}
#travelCards .help p{ margin:0 !important; position:relative; z-index:1; }
#travelCards .help .icon{ position:relative; z-index:1; background:#149b52; width:28px; height:28px; display:flex; align-items:center; justify-content:center; border-radius:50%; box-shadow:0 3px 6px rgba(0,0,0,.15); }
#travelCards .help .icon svg{ width:16px; height:16px; stroke:#fff; }
#travelCards .help a{ color:#0578a6; font-weight:600; text-decoration:none; transition:color .2s ease; }
#travelCards .help a:hover{ color:#149b52; }

/* Nuke any container spacing Elementor/theme might add */
#travelCards{ margin-bottom:0 !important; padding-bottom:0 !important; }
#travelCards + *{ margin-top:0 !important; }                 /* next block up */
#travelCards .grid + .modal{ display:none !important; }      /* safety: modals never reserve space */

/* Keep any old .modal rules from touching our popup */
.htc-modal{
  position:fixed; inset:0;
  display:none !important;     /* start hidden, never reserves space */
  align-items:center; justify-content:center;
  background:rgba(0,0,0,.65);
  z-index:9999;
  opacity:0; transition:opacity .2s ease;
}
.htc-modal.is-open{ display:flex !important; opacity:1; }

.htc-modal__content{
  background:#fff; border-radius:12px; padding:16px;
  max-width:560px; width:92%;
  position:relative; box-shadow:0 10px 30px rgba(0,0,0,.3);
}
.htc-modal__close{
  position:absolute; right:14px; top:10px;
  background:transparent; border:0;
  font-size:26px; line-height:1; cursor:pointer; color:#475569;
}
.htc-modal__close:hover{ color:#000; }

/* Never show popups while editing in Elementor */
.elementor-editor-active .htc-modal{ display:none !important; }

/* Make sure nothing inside #travelCards can show a modal */
#travelCards .modal, #travelCards .htc-modal{ display:none !important; }

/* Help strip divider + spacing (in case earlier CSS got overridden) */
#travelCards .grid{ row-gap:18px !important; }
#travelCards .help{
  grid-column:1 / -1; border-top:2px solid #0578a6 !important;
  margin-top:12px !important; padding-top:12px !important;
  display:flex; align-items:center; justify-content:center; gap:12px;
}
#travelCards .help p{ margin:0 !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-38653242 */#htc-2026-challenge h2{
  margin:0 0 14px;
  line-height:1.2;
  color:#fff;
  font-weight:900;
  font-size:clamp(28px, 4vw, 48px); /* bumped max a bit bigger */
  text-shadow:0 2px 6px rgba(0,0,0,.65); /* black drop shadow */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7c744d8c *//* Wrapper centers the button */
.outreach-btn-wrap {
  display: flex;
  justify-content: center;
  margin: 40px 0;
  padding: 0 15px;
}

/* Button with icon + text inline */
.outreach-wide-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 18px; /* spacing between the image and text */

  padding: 22px 60px;
  background: radial-gradient(circle at 30% 30%, #31b7d6, #0f6b82);
  border: 6px solid #0d3d2e;
  border-radius: 50px;
  color: #fff;
  font-family: system-ui, sans-serif;
  font-size: 1.6rem; /* larger, bold text */
  font-weight: 900;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
  animation: pulse-glow 2.5s infinite;
}

/* Hover effect */
.outreach-wide-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.4);
  background: radial-gradient(circle at 30% 30%, #3ec3e2, #118298);
}

/* Icon image sizing */
.outreach-wide-btn .cta-icon-img {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
}

/* Button text */
.outreach-wide-btn .cta-text {
  white-space: nowrap;
}

/* Shine overlay */
.outreach-wide-btn .shine {
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.5) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  pointer-events: none;
}
.outreach-wide-btn:hover .shine {
  animation: shine-sweep 1.5s forwards;
}

/* Shine sweep animation */
@keyframes shine-sweep {
  0% { left: -75%; }
  100% { left: 125%; }
}

/* Pulse glow animation */
@keyframes pulse-glow {
  0% { box-shadow: 0 0 0 rgba(49,183,214,0.0), 0 6px 18px rgba(0,0,0,0.25); }
  50% { box-shadow: 0 0 28px rgba(49,183,214,0.6), 0 6px 18px rgba(0,0,0,0.25); }
  100% { box-shadow: 0 0 0 rgba(49,183,214,0.0), 0 6px 18px rgba(0,0,0,0.25); }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .outreach-wide-btn {
    width: 100%;
    font-size: 1.2rem;
    padding: 18px 24px;
    border-radius: 14px;
    justify-content: center;
    gap: 12px;
  }
  .outreach-wide-btn .cta-icon-img {
    width: 48px;
    height: 48px;
  }
  .outreach-wide-btn .cta-text {
    white-space: normal;
    text-align: center;
  }
}

.outreach-wide-btn .cta-icon-img {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  filter: drop-shadow(0 0 4px #fff);
}

/* Trim vertical whitespace without changing the look */
.outreach-btn-wrap{
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.outreach-btn-wrap .outreach-wide-btn{
  padding-top: 10px !important;   /* was higher */
  padding-bottom: 10px !important;/* was higher */
}/* End custom CSS */
/* Start custom CSS for media-carousel, class: .elementor-element-47657b3d *//* Make sure we're styling the carousel with your custom class */
.carousel-cards .swiper-slide {
  padding: 12px;
  border-radius: 20px;
  background: #fff;
  border: 4px solid #fff;
  box-shadow: 0 0 10px rgba(20,155,82,0.6), 0 0 20px rgba(80,40,136,0.6);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Hover effect */
.carousel-cards .swiper-slide:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 15px rgba(20,155,82,0.8), 0 0 30px rgba(80,40,136,0.8);
}

/* Ensure images fit nicely inside */
.carousel-cards .swiper-slide img {
  border-radius: 16px; /* slightly smaller than container */
  display: block;
  width: 100%;
  height: auto;
}

/* Pagination dots */
.carousel-cards .swiper-pagination-bullet {
  background: #149b52;
  opacity: 0.5;
  width: 12px;
  height: 12px;
  margin: 0 6px;
  transition: opacity 0.3s, transform 0.3s;
}

.carousel-cards .swiper-pagination-bullet-active {
  background: #502888;
  opacity: 1;
  transform: scale(1.3);
}

/* Arrows */
.carousel-cards .swiper-button-next,
.carousel-cards .swiper-button-prev {
  background: rgba(0,0,0,0.5);
  border-radius: 50%;
  color: #fff !important;
  width: 46px;
  height: 46px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  transition: background 0.3s ease, transform 0.2s ease;
}

.carousel-cards .swiper-button-next:hover,
.carousel-cards .swiper-button-prev:hover {
  background: rgba(0,0,0,0.8);
  transform: scale(1.1);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-957174a */#ti-card-vaccines .icon{
  width:60px;   /* give it more room */
  height:60px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
}

#ti-card-vaccines .icon img{
  width:36px;   /* 50% larger than 24px */
  height:36px;
  object-fit:contain;
  display:block;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-388de57e */<style id="ti-pack-icon-fix">
  /* Match the circle and spacing used on your other cards */
  #ti-card-packing .icon{
    width:46px; height:46px; border-radius:14px;
    display:grid; place-items:center;
    background:rgba(255,255,255,.14);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  }

  /* Scale the image 50% bigger */
  #ti-card-packing .icon .ti-pack-img{
    width:45px;   /* 50% bigger than 30px */
    height:45px;
    display:block;
    object-fit:contain;
  }
</style>/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-30d0893 */#ti-card-currency .icon .ti-currency-img {
  width: 45px;   /* 50% bigger than the default 30px */
  height: 45px;
  object-fit: contain;
  display: block;
}
#ti-card-currency .icon svg { width:24px; height:24px; display:block; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2acffe96 */#ti-card-itinerary p{
  margin:0 0 8px;
  font-size:14.5px;
  color:#fff;
  opacity:.95;
  line-height:1.4;
}

/* Kill the clamp/ellipsis on the itinerary card description */
#ti-card-itinerary .card p{
  display:block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;

  /* keep your styling */
  margin:0 0 8px;
  font-size:14.5px;
  color:#fff;
  opacity:.95;
  line-height:1.4;
}/* End custom CSS */