/* 
 * 1. Google Font
 */
@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,700);
/* 
 * 2.0 Global Style
 */
html, body {
  overflow-x: hidden; /* Stops the white side-bar scrolling */
  width: 100%;
  margin: 0;
  padding: 0;
}

 html {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
}

body {
  color: #4e4e4e;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.6;
  position: relative;
  -webkit-font-smoothing: antialiased;
}

a {
  color: #000;
}
a:focus {
  outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 700;
}

p {
  margin: 0 0 30px;
}

ul li {
  font-weight: 700;
  margin-bottom: 10px;
}

.custom-list-icon, .list-arrow-right {
  list-style-type: none;
  padding: 0;
}
.custom-list-icon li, .list-arrow-right li {
  position: relative;
  padding-left: 20px;
}
.custom-list-icon li::before, .list-arrow-right li::before {
  position: absolute;
  left: 0;
  color: #4e4e4e;
  font-family: "Ionicons";
}

.social-block {
  list-style-type: none;
  padding: 0;
}
.social-block li {
  display: inline-block;
}
.social-block li a {
  display: inline-block;
  height: 32px;
  width: 32px;
  color: #4e4e4e;
}
.social-block li a i {
  font-size: 1.5em;
}
.social-block li a:hover, .social-block li a:focus {
  color: #000;
}

.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
  outline: none;
}

.btn {
  border: 0;
  border-radius: 0;
  padding: 6px 28px;
  text-transform: uppercase;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: -webkit-transform;
          transition-property: transform;
}
.btn:hover {
  -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
          transform: scale(0.9);
}

.form-control {
  border-radius: 0;
  box-shadow: none;
  height: 48px;
  padding: 10px 12px;
  font-size: 16px;
  line-height: 1.6;
}
.form-control:focus {
  box-shadow: none;
  border-color: #ccc;
  background-color: #f8f8f8;
}

.valign-center {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.section {
  padding: 70px 0;
}

.section-title {
  color: #313131;
  letter-spacing: 1px;
  margin: 0 0 20px;
  text-transform: uppercase;
  text-align: center;
}

/* 
 * 3.0 Helper Class
 */
/* 
 * 3.1 Helper Class: font-weight
 */
.font-300 {
  font-weight: 300;
}

.font-400 {
  font-weight: 400;
}

.font-700 {
  font-weight: 700;
}

/* 
 * 3.2 Helper Class: margin
 */
.mt0 {
  margin-top: 0;
}

.mb0 {
  margin-bottom: 0;
}

.mt20 {
  margin-top: 20px;
}

/* 
 * 3.3 Helper Class: list
 */
.list-arrow-right li::before {
  content: "\f3d3";
}

/* 
 * 3.4 Helper Class: button
 */
.btn-white {
  color: #f5f5f5;
  background-color: #04610d;
}
.btn-white:hover, .btn-white:focus {
  color: #fcfafa;
  background-color: #044a47;
}

.btn-black {
  color: #fff;
  background-color: #000;
}
.btn-black:hover, .btn-black:focus {
  color: #fff;
  background-color: #000;
}

/* 
 * 3.5 Helper Class: background
 */
.bg-image, .bg-image-1, .bg-image-2 {
  position: relative;
}
.bg-image::before, .bg-image-1::before, .bg-image-2::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.bg-image-1 {
  background: url(../images/bg-1.jpg) no-repeat center center/cover;
}
.bg-image-1::before {
  background-color: rgba(0, 0, 0, 0.7);
}

.bg-image-2 {
  background: url(../images/bg-2.jpg) no-repeat center bottom/cover;
}
.bg-image-2::before {
  background-color: rgba(0, 0, 0, 0.7);
}

@media (min-width: 768px) {
  .section {
    padding: 90px 0;
  }

  .section-title {
    color: #313131;
    letter-spacing: 1px;
    margin: 0 0 60px;
    text-transform: uppercase;
    text-align: left;
  }
}
/* 
 * 4.0 Navigation
 */
.navbar-custom {
  border: 0;
  margin: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: #000;
  -webkit-transition: all 0.2s linear 0s;
          transition: all 0.2s linear 0s;
}
.navbar-custom .navbar-nav li {
  margin: 0;
}
.navbar-custom .navbar-nav > li > a {
  color: #fff;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  border-bottom: 1px solid transparent;
}
.navbar-custom .navbar-nav > li > a:focus, .navbar-custom .navbar-nav > li > a:hover {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.5);
}
.navbar-custom .navbar-nav > .active > a {
  border-color: rgba(255, 255, 255, 0.5);
}

.navbar-toggle {
  border: 0;
  border-radius: 0;
  margin-top: 2px;
}
.navbar-toggle .icon-bar {
  background-color: #fff;
}

.navbar-solid {
  background-color: #000 !important;
  padding: 0 !important;
  -webkit-transition: all 0.2s linear 0s;
          transition: all 0.2s linear 0s;
}

.site-branding {
  float: left;
  margin-top: 0;
  margin-left: 10px;
}
.site-branding .logo {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-right: 5px;
  letter-spacing: 3px;
  text-transform: uppercase;
}
.site-branding .logo:focus, .site-branding .logo:hover {
  text-decoration: none;
}


/* 
 * 5.0 Site Header
 */
/* assets/css/main.css */

/* Base styles for Desktop */
/* assets/css/main.css */

/* 1. DESKTOP DEFAULT (Unchanged) */
.site-header {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  position: relative;
  text-align: center;
  /* Desktop Image */
  background: url(../images/DesktopBackground.jpg) no-repeat center center scroll; 
  background-size: cover;
  display: table;
}

/* 2. MOBILE OVERRIDE (Clean Separation) */
@media (max-width: 768px) {
  .site-header {
    /* 
       A. FIX THE PATH: Added 'images2025/' 
       B. NO INTERFERENCE: Using 'background' shorthand resets EVERYTHING 
          (image, position, repeat, attachment) so no desktop styles bleed through.
    */
    background: url(../images/MobileBackground.jpg) no-repeat center top !important;
    background-position: center center !important;
    
    /* 
       C. SIZE: Use 'cover' to fill the screen, or '100% 100%' to stretch it exactly.
       Since this is a custom mobile image, 'cover' is usually best.
    */
    background-size: cover !important;
    background-repeat:no-repeat !important;
    
    /* D. HEIGHT: Ensure the container is tall enough */
    min-height: 100vh;
  }
}
  
  .site-header .intro h2 {
    font-size: 18px; /* Smaller text to fit */
    margin-top: 20px;
  }
  
  .site-header .intro h1 {
    font-size: 24px;
  }

.site-header::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
}
.site-header .intro {
  color: #fff;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
  z-index: 1;
  padding: 0 15px;
  display: table-cell;
  vertical-align: middle;
  height: 100vh;
}
.site-header .intro h2 {
  margin-top: 0px;
  font-size: 25px;
  font-weight: 300;
}
.site-header .intro h1 {
  margin-top: 0px;
  font-size: 30px;
}

.site-header .intro .link {
  color: #fff;
  margin-top: 0px;
  font-size: 30px;
}

.site-header .intro p {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 300;
}


/* Move the "Apply to attend" text and Register button down */
.site-header .intro h1 {
    /* Adjust this value to move it further down. 
       20vh means "20% of the screen height" */
    margin-top: 20vh; 
    
    /* Optional: Ensure there is space between the text and the button */
    margin-bottom: 30px; 
}

/* Mobile Adjustment: Move it down less on phones so it doesn't fall off screen */
@media (max-width: 768px) {
    .site-header .intro h1 {
        margin-top: 10vh; /* Only push down 10% on mobile */
    }
}


/* Push the Date text (H2) down so it doesn't touch the navbar */
.site-header .intro h2 {
    /* Add padding to the top to clear the navigation bar */
    padding-top: 100px; 
    
    /* Ensure line-height is normal so text doesn't overlap itself */
    line-height: 1.4;
}

/* Mobile check: Ensure it doesn't take up too much space on phones */
@media (max-width: 768px) {
    .site-header .intro h2 {
        padding-top: 80px;
        font-size: 18px; /* Slightly smaller text for safety */
    }
}


@media (min-width: 768px) {
  .navbar-custom {
    background-color: transparent;
    padding-top: 30px;
  }

  .site-branding {
    margin-top: 6px;
    margin-left: 0;
  }
}
/* 
 * 6.0 Section
 */
/* 
 * 6.1 Section: About 
 */
.about .section-title {
  margin: 0 0 20px;
}
.about figure {
  margin-bottom: 10px;
}

/* Left-align about section content (heading and paragraphs) */
.about .section-title {
  text-align: left;
}
.about .col-sm-6, .about .about-text {
  text-align: left;
}

/* Remove extra spacing between the two about paragraphs */
.about .col-sm-6 p {
  margin-bottom: 0;
}

/* Ensure the about text vertically centers next to the image and has consistent spacing */
.about .about-text {
  display: flex;
  flex-direction: column;
  justify-content: center; /* vertically center the paragraph content to align with the image */
}
.about .about-text p {
  margin-bottom: 10px; /* reduced spacing so paragraphs align more tightly with the image */
}

/* Center the About heading under the image horizontally within the left column */
.about .about-text h3.section-title.multiple-title {
  align-self: center;
  text-align: center; /* center the heading text itself */
}

/* On larger screens, make the about row a flex container so both columns stretch equally.
   This allows the image to fill the left column's height and visually match the paragraphs. */
@media (min-width: 768px) {
  .about .row {
    display: flex;
    align-items: stretch; /* make columns equal height */
  }

  .about figure {
    margin-bottom: 10px;
    display: block;
    width: 100%;
  }

  .about figure img {
    width: 100%;
    height: 100%; /* fill the column height */
    object-fit: cover; /* crop/scale to keep visual balance */
    display: block;
  }

  /* ensure text column vertically centers within the row height */
  .about .about-text {
    justify-content: center;
  }
}

/* 
 * 6.2 Section: Facts
 */
.facts i {
  color: #fff;
  font-size: 3em;
}
.facts h3 {
  color: #fff;
  text-align: center;
  font-weight: 400;
}

/* 
 * 6.3 Section: Speaker
 */
.speaker {
  text-align: center;
  color: #313131;
  text-transform: uppercase;
  margin: 25px 0;
}
.speaker h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}
.speaker p {
  margin-bottom: 5px;
}
.speaker img:hover {
  opacity: .7;
}
.speaker img {
  width: 100%;
  height: 300px; /* Set the desired fixed height */
  object-fit: cover; /* This ensures the image covers the area while maintaining aspect ratio */
}

/* Compact thumbnail for Speakers section (prospectus preview) */
.speakers-thumb img {
  max-width: 180px;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  display: inline-block;
}
.speakers-thumb { display:flex; align-items:center; justify-content:center; }

@media (max-width: 767px) {
  .speakers-thumb { margin-top: 15px; }
  .speakers-thumb img { max-width: 140px; }
}

/* 
 * 6.4 Section: Registration & Pricing
 */

 .registration {
  background-color: #f8f8f8;
}
/* 
 * 6.5 Section: Contribution
 */
.contribution {
  text-align: center;
  color: #fff;
}

#countdown {
  font-size: 2em;
  margin-top: 20px;
}

#countdown span {
  display: inline-block;
  min-width: 80px;
  background: #222;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
  margin: 0 5px;
}

/* assets/css/main.css */

/* 1. Push the Countdown DOWN */
#countdown {
    /* Increase this value to move it lower. 
       15vh means "15% of the screen height" */
    margin-top: 20vh !important; 
}

/* 2. Pull the "Apply to attend" text BACK UP */
/* We reduce the margin here so the button doesn't get pushed off the screen */
.site-header .intro h1 {
    /* Reduced from the previous 20vh/30vh to 5vh */
    margin-top: 5vh !important; 
}


/* 
 * 6.6 Section: Schedule
 */
.schedule-box {
  position: relative;
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 50px 0;
  margin: 25px 0 0;
}
.schedule-box::before {
  content: '';
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;
  left: 5px;
  border: 1px solid #fff;
}

.logo {
  width: 120px; /* Adjust width as needed */
  height: auto; /* Maintain aspect ratio */
}



/* assets/css/styles.css */
.schedule-day {
  margin-bottom: 40px;
}

.schedule-item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 20px;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background-color: #f9f9f9;
}

.schedule-item .time {
  min-width: 120px;
  font-weight: bold;
  color: #333;
}

.schedule-item .details {
  flex: 1;
  padding-left: 20px;
}

.schedule-item .details h3 {
  margin-top: 0;
  margin-bottom: 5px;
  font-size: 1.2em;
  color: #333;
}

.schedule-item .details p {
  margin: 0;
  color: #666;
}

.schedule-item + .schedule-item {
  margin-top: 10px;
}


/* 
 * 6.7 Section: Schedule
 */
.partner {
  background-color: #f8f8f8;
}
.partner .partner-box {
  display: block;
  opacity: 0.3;
  height: 150px;
  width: 150px;
  margin: 25px auto;
  -webkit-transition: 0.5s all linear;
          transition: 0.5s all linear;
}
.partner .partner-box:hover {
  opacity: 1;
}
.partner .partner-box-2 {
  background: url(../images/partner/DTC.png) no-repeat center center/contain;
}
.partner .partner-box-1 {
  background: url(../images/partner/GIZ\ LOGO\ last\ high\ resolution.jpg) no-repeat center center/contain;
}
.partner .partner-box-3 {
  background: url(../images/partner/FairForward.jpg) no-repeat center center/contain;
}
.partner .partner-box-5 {
  background: url(../images/partner/DIGITAL\ UMUGANDA\ LOGO\ 1.png) no-repeat center center/contain;
}
.partner .partner-box-6 {
  background: url(../images/partner/indaba.png) no-repeat center center/contain;
}
/* .partner .partner-box-7 {
  background: url(../images/partner/partner-7.png) no-repeat center center/contain;
}
.partner .partner-box-8 {
  background: url(../images/partner/partner-8.png) no-repeat center center/contain;
} */

/* 
 * 6.8 Section: FAQ
 */
.faq .panel-heading {
  cursor: pointer;
}
.faq .faq-toggle.collapsed::before {
  font-family: "Ionicons";
  content: "\f218";
  -webkit-transition: 0.5s linear ease-out;
          transition: 0.5s linear ease-out;
  position: absolute;
  left: 15px;
}
.faq .faq-toggle::before {
  position: absolute;
  left: 15px;
  font-family: "Ionicons";
  content: "\f209";
}
.faq .panel-group .panel + .panel {
  margin-top: 15px;
}
.faq .panel-default > .panel-heading {
  color: #FFF;
  background-color: #000000;
  border-color: #000;
  border-radius: 0;
  padding: 0;
}
.faq .panel-default > .panel-heading a {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 15px 15px 15px 35px;
}

/* 
 * 6.9 Section: photos
 */
.grid {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.grid::after {
  content: '';
  display: block;
  clear: both;
}

.grid-item {
  float: left;
  overflow: hidden;
  padding: 3px;
  margin: 0;
  width: 100%;
}

@media (min-width: 768px) {
  .grid-item-sm-6 {
    width: 50%;
  }

  .grid-item-sm-3 {
    width: 25%;
  }

  .section-title {
    margin: 0 0 30px;
  }

  figure {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  .schedule-box {
    margin: 0;
  }

  .grid-item-md-6 {
    width: 50%;
  }

  .grid-item-md-3 {
    width: 25%;
  }
}
/* 
 * 7.0 Site-footer
 */
.site-footer {
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 30px 0;
}
.site-footer .site-info {
  font-weight: 400;
  margin-bottom: 10px;
}
.site-footer .site-info a {
  color: #fff;
}
.site-footer .social-block li a {
  color: #fff;
}
.site-footer .social-block li a:hover, .site-footer .social-block li a:focus {
  opacity: 0.8;
}


/* Testimonials Section */
.testimonials {
  background-color: #f8f8f8;
}

.testimonial-box {
  background: #fff;
  border: 1px solid #ddd;
  padding: 25px 20px;
  margin-bottom: 30px;
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.testimonial-box:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

.testimonial-image img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #000;
}

.testimonial-name {
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 15px;
  color: #000;
}

.testimonial-bio {
  font-weight: 400;
  font-style: italic;
  color: #555;
  margin-bottom: 15px;
}

.testimonial-text {
  font-size: 15px;
  color: #4e4e4e;
  line-height: 1.6;
}

.testimonials .social-block {
  margin-top: 10px;
}

.testimonials .social-block li a {
  color: #000;
}

.testimonials .social-block li a:hover {
  opacity: 0.7;
}
/* Testimonials Section */
.testimonials { background-color: #f8f8f8; }

/* Center the carousel content and limit width */
#testimonialsCarousel .carousel-inner {
  padding: 10px 0 30px;
}
#testimonialsCarousel .carousel-item > .d-flex {
  width: 100%;
}
#testimonialsCarousel .testimonial-box {
  max-width: 720px;          /* keep it tidy on large screens */
  width: 100%;
}

/* Cards (kept from your styles) */
.testimonial-box {
  background: #fff;
  border: 1px solid #ddd;
  padding: 25px 20px;
  margin-bottom: 0;           /* no bottom gap inside carousel */
  border-radius: 8px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.testimonial-box:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}
.testimonial-image img {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  border: 3px solid #000;
}
.testimonial-name { font-weight: 700; text-transform: uppercase; margin-top: 15px; color: #000; }
.testimonial-bio { font-weight: 400; font-style: italic; color: #555; margin-bottom: 15px; }
.testimonial-text { font-size: 15px; color: #4e4e4e; line-height: 1.6; }

/* Social icons */
.testimonials .social-block { margin-top: 10px; padding-left: 0; list-style: none; display: inline-flex; gap: 12px; }
.testimonials .social-block li a { color: #000; }
.testimonials .social-block li a:hover { opacity: 0.7; }

/* Indicators & controls (optional polish) */
#testimonialsCarousel .carousel-indicators [data-bs-target] {
  width: 10px; height: 10px; border-radius: 50%;
}
#testimonialsCarousel .carousel-control-prev,
#testimonialsCarousel .carousel-control-next {
  filter: invert(1); /* dark-on-light */
}

#testimonialsCarousel .carousel-inner > .item {
  text-align: center;                /* center inline-block children */
}

#testimonialsCarousel .testimonial-box {
  display: inline-block;             /* allow text-align centering */
  max-width: 760px;                  /* keep it tidy on wide screens */
  width: 92%;                        /* responsive width */
  margin: 0 auto;                    /* fallback centering */
}

/* Optional: make the side overlays smaller / remove gradient */
#testimonialsCarousel .carousel-control {
  width: 6%;                         /* default is 15% */
  background-image: none;            /* remove gray gradient */
}

/* Responsive adjustments for Countdown */
@media (max-width: 767px) {
  #countdown {
    font-size: 1.2em; /* Smaller text on mobile */
  }

  #countdown span {
    min-width: 60px; /* Reduce width from 80px */
    padding: 5px;    /* Reduce padding */
    margin: 0 2px;   /* Reduce margin */
    font-size: 0.8em;
  }
  
  /* Fix header text size on mobile */
  .site-header .intro h2 {
    font-size: 18px;
    line-height: 1.4;
  }
  
  .site-header .intro h1 {
    font-size: 22px;
  }
}

iframe {
  max-width: 100%;
}

/* Map Fix */
.location iframe {
  width: 100% !important; /* Force full width */
  height: 350px;          /* Set a reasonable height */
  border: none;
}

/* New Countdown Styles */
#countdown {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.time-box {
  background: rgba(0, 0, 0, 0.8); /* Dark semi-transparent background */
  color: #fff;
  padding: 10px;
  border-radius: 6px;
  min-width: 80px;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.time-box .num {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}

.time-box .label {
  font-size: 12px;
  text-transform: uppercase;
  margin-top: 5px;
  opacity: 0.8;
}

/* Mobile Tweaks for Countdown */
@media (max-width: 480px) {
  .time-box {
    min-width: 60px; /* Smaller boxes */
    padding: 8px 5px;
  }
  .time-box .num {
    font-size: 18px; /* Smaller numbers */
  }
  .time-box .label {
    font-size: 10px; /* Smaller text */
  }
}


/* Force navbar to scroll with the page */

/* assets/css/main.css */

/* --- Custom Schedule Tabs Styling --- */

.schedule-tabs-wrapper {
    margin-top: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #ddd;
}

/* Flexbox to stretch tabs evenly */
.nav-tabs.custom-tabs {
    border-bottom: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: #fff;
}

.nav-tabs.custom-tabs > li {
    float: none; /* Override BS3 float */
    flex: 1;     /* Make all tabs equal width */
    min-width: 150px;
    margin-bottom: 0;
    text-align: center;
}

/* Default Tab State */
.nav-tabs.custom-tabs > li > a {
    margin-right: 0;
    border: 1px solid #eee;
    border-radius: 0; /* Square corners */
    padding: 15px 5px;
    color: #0c0c0b; /* Orange text for inactive */
    background-color: #fff;
    transition: all 0.3s ease;
}

/* Tab Text Styling */
.nav-tabs.custom-tabs .day-title {
    display: block;
    font-weight: 700;
    font-size: 1.2em;
    text-transform: uppercase;
}

.nav-tabs.custom-tabs .day-desc {
    display: block;
    font-size: 0.85em;
    color: #777;
    margin-top: 5px;
    text-transform: uppercase;
}

/* Hover State */
.nav-tabs.custom-tabs > li > a:hover {
    background-color: #fff3e6;
    border-color: #eee;
}

/* ACTIVE State (The Orange Box) */
.nav-tabs.custom-tabs > li.active > a,
.nav-tabs.custom-tabs > li.active > a:hover,
.nav-tabs.custom-tabs > li.active > a:focus {
    color: #fff;
    background-color: #2F4F4F; /* Main Orange Color */
    border: 1px solid #0c0c0c;
    cursor: default;
    position: relative;
}

/* Change sub-text color to white when active */
.nav-tabs.custom-tabs > li.active > a .day-desc {
    color: rgba(255, 255, 255, 0.9);
}

/* The Little Triangle Arrow */
.nav-tabs.custom-tabs > li.active > a::after {
    content: "";
    position: absolute;
    bottom: -10px; /* Position below the tab */
    left: 50%;
    transform: translateX(-50%);
    width: 0; 
    height: 0; 
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #1f1e1d; /* Match the orange color */
    z-index: 10;
}

/* Content Area Styling */
.schedule-content {
    padding: 30px 0;
    min-height: 200px;
}

.schedule-content h4 {
    margin-top: 0;
    margin-bottom: 20px;
    color: #020202;
}

/* Mobile Responsiveness for Tabs */
@media (max-width: 768px) {
    .nav-tabs.custom-tabs {
        display: block; /* Stack them on mobile */
    }
    .nav-tabs.custom-tabs > li {
        display: block;
        width: 100%;
    }
    /* Hide the arrow on mobile as tabs are stacked */
    .nav-tabs.custom-tabs > li.active > a::after {
        display: none;
    }
}


/* --- ABOUT SECTION HERO (IndabaX Uganda Style) --- */

.about-hero-wrapper {
    position: relative;
    width: 100%;
    /* Update path if your image is in a different folder */
    background-image: url('../images/AboutTheme.jpg'); 
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 100px 0; /* Creates height */
    margin-bottom: 60px; /* Space between this and your old content */
    color: #fff;
    text-align: left; /* Default text alignment */
}

/* The Dark Overlay */
.about-hero-wrapper .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Dark Blue-ish overlay like the reference */
    background: rgba(10, 20, 50, 0.85); 
    z-index: 1;
}

/* Ensure content sits ON TOP of the overlay */
.about-hero-wrapper .container {
    position: relative;
    z-index: 2;
}

/* Typography Styles */
.hero-title {
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
    text-transform: capitalize;
}

.hero-subtitle {
    font-size: 18px;
    font-weight: 300;
    color: #ddd;
    margin-bottom: 40px;
}

.hero-label {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff; /* or match your theme color like #ff6600 */
    margin-bottom: 15px;
    border-left: 4px solid #fff; /* Small decorative line on left */
    padding-left: 15px;
}

.hero-text {
    font-size: 16px;
    line-height: 1.6;
    color: #e0e0e0;
}

/* Margin top for the columns */
.mt-content {
    margin-top: 40px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .hero-title {
        font-size: 24px;
    }
    .about-hero-wrapper {
        padding: 60px 0;
    }
    .col-md-6 {
        margin-bottom: 30px;
    }
}


/* Move the About Title down to reveal background image text */
.hero-title {
    /* Adjust this number: higher number = moves further down */
    margin-top: 150px; 
}

/* On Mobile: Move it down less so it fits on screen */
@media (max-width: 768px) {
    .hero-title {
        margin-top: 80px;
    }
}


/* 1. Reduce the height of the main wrapper */
.about-hero-wrapper {
    /* Reduced from 100px to 40px to make it much shorter */
    padding: 40px 0 !important; 
}

/* 2. Reduce space between the Main Title and the 2 Columns below it */
.mt-content {
    /* Reduced from 40px to 20px */
    margin-top: 20px !important; 
}

/* 3. Reduce space below the subtitle */
.hero-subtitle {
    /* Reduced from 40px to 10px */
    margin-bottom: 10px !important; 
}


/* Remove ONLY the top spacing of the About section to close the gap */
#about {
    padding-top: 0 !important;
}


/* Style the Virtual Location Image */
.virtual-img {
    width: 100%;        /* Fill the container width */
    height: auto;       /* Keep the correct shape (don't stretch) */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 20px rgba(0,0,0,0.5); /* Add a shadow for depth */
    border: 1px solid #f7f1f1; /* Subtle border to match dark theme */
}
