.elementor-4302 .elementor-element.elementor-element-aa808ce > .elementor-container{min-height:0px;}.elementor-4302 .elementor-element.elementor-element-aa808ce{border-style:solid;border-width:0px 0px 1px 0px;border-color:#CCCCCC;padding:20px 0px 0px 0px;}.elementor-4302 .elementor-element.elementor-element-883b35b{margin-top:-23px;margin-bottom:-23px;padding:0px 0px 0px 0px;}.elementor-4302 .elementor-element.elementor-element-69bc7cb:not(.elementor-motion-effects-element-type-background), .elementor-4302 .elementor-element.elementor-element-69bc7cb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-075cc30 );}.elementor-4302 .elementor-element.elementor-element-69bc7cb > .elementor-container{min-height:90px;}.elementor-4302 .elementor-element.elementor-element-69bc7cb{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;z-index:10;}.elementor-4302 .elementor-element.elementor-element-69bc7cb > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-4302 .elementor-element.elementor-element-d772591.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-4302 .elementor-element.elementor-element-d772591.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-4302 .elementor-element.elementor-element-d772591 > .elementor-element-populated{padding:0px 0px 0px 0px;}.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-4302 .elementor-element.elementor-element-33eaf11{text-align:left;}.elementor-bc-flex-widget .elementor-4302 .elementor-element.elementor-element-e327740.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-4302 .elementor-element.elementor-element-e327740.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-4302 .elementor-element.elementor-element-e327740 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4302 .elementor-element.elementor-element-8113f4a .elementor-menu-toggle{margin:0 auto;}.elementor-4302 .elementor-element.elementor-element-8113f4a .elementor-nav-menu--main .elementor-item{color:#082860;fill:#082860;}.elementor-4302 .elementor-element.elementor-element-8113f4a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-4302 .elementor-element.elementor-element-8113f4a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#FFFFFF00;}.elementor-4302 .elementor-element.elementor-element-8113f4a .e--pointer-framed .elementor-item:before,
					.elementor-4302 .elementor-element.elementor-element-8113f4a .e--pointer-framed .elementor-item:after{border-color:#FFFFFF00;}.elementor-bc-flex-widget .elementor-4302 .elementor-element.elementor-element-316a18b.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-4302 .elementor-element.elementor-element-316a18b.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-4302 .elementor-element.elementor-element-316a18b > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-4302 .elementor-element.elementor-element-dd25be0{--grid-template-columns:repeat(0, auto);text-align:center;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1200px){.elementor-4302 .elementor-element.elementor-element-8113f4a{width:var( --container-widget-width, 345.648px );max-width:345.648px;--container-widget-width:345.648px;--container-widget-flex-grow:0;}}@media(min-width:768px){.elementor-4302 .elementor-element.elementor-element-a19f07a{width:52.411%;}.elementor-4302 .elementor-element.elementor-element-aa30e70{width:47.5%;}.elementor-4302 .elementor-element.elementor-element-d772591{width:25%;}.elementor-4302 .elementor-element.elementor-element-e327740{width:50%;}.elementor-4302 .elementor-element.elementor-element-316a18b{width:24.554%;}}/* Start custom CSS for html, class: .elementor-element-01ae121 */.link-pipe {
  display: flex;
  font-size: 12px;
  justify-content: flex-end;
  align-items: center;
  font-family: "Comfortaa", sans-serif;
}

.link-pipe a {
  text-decoration: none;
  color: #222;
  padding: 2px 2px;
}

.link-pipe a:hover {
  text-decoration: none;
  color: #0a66c2;
}

.link-pipe a.active {
  color: #0a66c2;
  font-weight: 600;
}

.link-pipe span {
  padding: 0 8px;
  color: #999;
}/* End custom CSS */
/* Start custom CSS for global, class: .elementor-global-4377 *//* Wrap container that holds BOTH Nav Menu widget and HTML mega menu widget */
.mega-wrap { position: relative; z-index: 9999; }

/* Mega menu base (hidden) */
.mega-wrap .mega-menu {
    font-family: "Comfortaa";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(16px);
  width: 90vw;
  max-width: 1350px;
  background: rgba(5, 17, 56, 0.55);
  backdrop-filter: blur(12px) saturate(1.2);
  border-radius: 18px;
  padding: 40px 60px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.3);
  opacity: 0;
  visibility: hidden;
  transition: all 0.35s ease;
}

/* ✅ Pure CSS hover using :has() — when Services is hovered, show mega */
@media (hover: hover) {
  .mega-wrap:has(.mega-menu-parent:hover) .mega-menu,
  .mega-wrap .mega-menu:hover {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
  }
}

/* Layout */
.mega-menu-inner { display: flex; align-items: flex-start; gap: 50px; }
.mega-columns { display: grid; grid-template-columns: repeat(5,1fr); gap: 40px; flex: 1; }

.mega-columns .column h4 {
  color:#fff; font-size:1.1rem; font-weight:600; margin-bottom:15px;
  border-bottom:1px solid rgba(255,255,255,0.2); padding-bottom:5px;
}
/* Make H4 bigger and clickable inside mega menu */
.mega-columns .column h4 a {
  font-size: 16px !important;
  font-weight: 900 !important;
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding-bottom: 5px;
  transition: color 0.3s ease;
}

.mega-columns .column h4 a:hover {
  color: #00b4db;
}
.mega-columns .column ul { list-style:none; margin:0; padding:0; }
.mega-columns .column li { margin-bottom:10px; }
.mega-columns .column a {
  color:#fff; text-decoration:none; opacity:.9; font-size:15px; transition:.3s;
  position:relative;
}
.mega-columns .column a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:1px;
  background:rgba(255,255,255,.4); transition:width .3s;
}
.mega-columns .column a:hover { color:#00b4db; opacity:1; }
.mega-columns .column a:hover::after{ width:100%; }

.mega-promo {
  width:320px; background:rgba(255,255,255,.08); border-radius:15px; padding:25px;
  color:#fff; text-align:center; backdrop-filter:blur(15px);
  box-shadow: inset 0 0 15px rgba(0,180,219,.2);
}
.promo-box .tag{ display:inline-block; font-size:12px; background:#009ee1; color:#fff;
  padding:4px 10px; border-radius:5px; margin-bottom:5px; letter-spacing:1px; text-transform:uppercase; }
.promo-box h5{ font-size:1rem; margin-bottom:8px; }
.promo-box p{ font-size:14px; opacity:.9; line-height:1.5; margin-bottom:15px; }
.promo-box img{ width:140px; filter: drop-shadow(0 0 10px rgba(255,255,255,.2)); margin-top:5px; }

/* Desktop only positioning; on mobile we let Elementor’s menu take over */
@media (max-width:1024px){
  .mega-wrap .mega-menu{ position: static; transform:none; width:100%; border-radius:0; padding:24px; opacity:1; visibility:visible; box-shadow:none; }
  .mega-menu-inner{ flex-direction:column; }
  .mega-columns{ grid-template-columns: repeat(2,1fr); }
  .mega-promo{ width:100%; }
}

/* ===== Hide mega menu on mobile & tablets ===== */
@media (max-width: 1024px) {
  .mega-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for social-icons, class: .elementor-element-dd25be0 *//* Facebook */
.elementor-social-icon-mixcloud i,
.elementor-social-icon-mixcloud svg {
    display: none !important; /* hide default icon only */
}

.elementor-social-icon-mixcloud {
    background: url('/wp-content/uploads/2025/10/zimbabwe.png') no-repeat center !important;
    background-size: contain !important;
    color: transparent !important;
}

/* Instagram */
.elementor-social-icon-snapchat i,
.elementor-social-icon-snapchat svg {
    display: none !important;
}

.elementor-social-icon-snapchat {
    background: url('/wp-content/uploads/2025/10/botswana.png') no-repeat center !important;
    background-size: contain !important;
    color: transparent !important;
}

/* WordPress */
.elementor-social-icon-wordpress i,
.elementor-social-icon-wordpress svg {
    display: none !important;
}

.elementor-social-icon-wordpress {
    background: url('/wp-content/uploads/2025/10/malawi.png') no-repeat center !important;
    background-size: contain !important;
    color: transparent !important;
}

/* YouTube */
.elementor-social-icon-xing i,
.elementor-social-icon-xing svg {
    display: none !important;
}

.elementor-social-icon-xing {
    background: url('/wp-content/uploads/2025/10/namibia.png') no-repeat center !important;
    background-size: contain !important;
    color: transparent !important;
}


.elementor-social-icon {
    transition: all 0.3s ease-in-out; /* smooth animation */
}

.elementor-social-icon:hover {
    filter: brightness(1.2) drop-shadow(0 0 6px rgba(0,0,0,0.4));
    transform: scale(1.1);
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-69bc7cb *//* ===== Sticky Header ===== */
.elementor-sticky--effects {
  background-color: rgba(255, 255, 255, 0.9) !important;
  transition: background 1s ease !important;
}

.elementor-sticky--effects > .elementor-container {
  min-height: 70px;
  transition: min-height 1s ease !important;
}

/* ===== Logo Scaling on Scroll ===== */
.logo img {
  max-width: 180px;
  height: auto;
  transition: all 0.5s ease;
}

.elementor-sticky--effects .logo img {
  max-width: 150px;
  height: auto;
}

/* ===== Dropdown Container ===== */
.sub-menu.elementor-nav-menu--dropdown {
  background: rgba(5, 17, 56, 0.40);
  border-radius: 12px;
  padding: 10px 0;
  margin: 0 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  position: absolute;
  top: 100%;
  left: 0 !important;
  min-width: 220px;
  width: auto;
  backdrop-filter: blur(10px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.4s ease;
}

/* ===== Smooth Fade for Dropdown ===== */
li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ===== Reset spacing ===== */
.sub-menu,
.sub-menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  position: relative;
  overflow: hidden;
}

/* ===== Full-width clickable links ===== */
.sub-menu li > a {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 12px 20px;
  color: #fff;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: color 0.3s ease, box-shadow 0.3s ease, transform 0.25s ease;
}

/* ===== Divider lines ===== */
.sub-menu li > a::after {
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.2);
  transition: opacity 0.3s ease;
}

.sub-menu li:last-child > a::after {
  display: none;
}

/* ===== Full-width gradient background on hover & active ===== */
.sub-menu li::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
  transition: background 0.35s ease, box-shadow 0.35s ease, transform 0.25s ease;
  z-index: 0;
  border-radius: 0;
}

/* Hover & Active States — gradient covers entire li */
.sub-menu li:hover::before,
.sub-menu li.active::before,
.sub-menu li.current-menu-item::before,
.sub-menu li.current_page_item::before,
.sub-menu li.menu-item-current::before {
  background: linear-gradient(
    90deg,
    rgba(0, 180, 219, 1) 0%,
    rgba(0, 131, 176, 0.9) 40%,
    rgba(0, 131, 176, 0.1) 100%
  );
  box-shadow: inset 0 0 10px rgba(0, 180, 219, 0.25),
              0 0 12px rgba(0, 180, 219, 0.45);
}

/* ===== Hover animations ===== */
.sub-menu li:hover > a {
  transform: translateX(4px);
}

/* Soften divider visibility on hover */
.sub-menu li:hover > a::after,
.sub-menu li.active > a::after,
.sub-menu li.current-menu-item > a::after,
.sub-menu li.current_page_item > a::after {
  opacity: 0.1;
}

/* ===== Top-Level Menu ===== */
.elementor-nav-menu > li > a {
  color: #0b1e48;
  font-weight: 600;
  position: relative;
  border-radius: 25px;
  padding: 8px 20px;
  transition: background 0.4s ease, box-shadow 0.4s ease, color 0.4s ease, transform 0.3s ease;
}

/* ===== Top-Level Hover Gradient ===== */
.elementor-nav-menu > li > a:hover {
  background: linear-gradient(
    90deg,
    rgba(0, 180, 219, 1) 0%,
    rgba(0, 131, 176, 0.9) 40%,
    rgba(0, 131, 176, 0.1) 100%
  ) !important;
  box-shadow: 0 0 18px rgba(0, 180, 219, 0.55);
  color: #fff !important;
}

/* ===== Top-Level Active Menu Items ===== */
.elementor-nav-menu > li.current-menu-item:not(.menu-item-has-children) > a,
.elementor-nav-menu > li.current_page_item:not(.menu-item-has-children) > a {
  background-color: #009EE1 !important;
  color: #fff !important;
  border-radius: 25px;
  box-shadow: 0 0 15px rgba(0, 158, 225, 0.5);
}

/* 🚫 Removed Gradient Underline for Active Top-Level Item */
.elementor-nav-menu > li.active > a::after,
.elementor-nav-menu > li.current-menu-item > a::after,
.elementor-nav-menu > li.current_page_item > a::after {
  display: none !important;
}

/* ===== Accessibility + Prevent Color Flash ===== */
.elementor-nav-menu a:focus,
.elementor-nav-menu a:active {
  background: inherit !important;
  color: inherit !important;
  box-shadow: none !important;
  outline: none !important;
}

.elementor-nav-menu a:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(0, 180, 219, 0.3);
}/* End custom CSS */