/* Custom styles for Nearshore GTO */

/* Ensure background image shows on mobile */
@media (max-width: 991px) {
  .header-video {
    background-image: url('../img/video_fix.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px;
  }
  
  #hero_video {
    min-height: 500px;
  }
}

/* Video overlay - dark transparent layer over background video */
.header-video::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Black with 50% opacity */
  z-index: 1;
}

/* Ensure content appears above the overlay */
.header-video .wrapper,
.header-video #hero_video > .wrapper {
  position: relative;
  z-index: 2;
}

/* White menu links ONLY on non-sticky header (home page with video) */
@media (min-width: 992px) {
  header.header.menu_fixed:not(.sticky) nav#menu.main-menu ul li a,
  header.header.menu_fixed:not(.sticky) nav.main-menu ul li a,
  header.header.menu_fixed:not(.sticky) .main-menu ul li a {
    color: #ffffff !important;
  }
  
  header.header.menu_fixed:not(.sticky) nav#menu.main-menu ul li a:hover,
  header.header.menu_fixed:not(.sticky) nav.main-menu ul li a:hover,
  header.header.menu_fixed:not(.sticky) .main-menu ul li a:hover {
    color: #dddddd !important;
  }
  
  /* Ensure sticky header has normal color */
  header.header.sticky nav.main-menu ul li a {
    color: #333 !important;
  }
}

/* Menu color for non-home pages (header_in) */
header.header_in nav.main-menu ul li a {
  color: #004dda !important;
}

header.header_in nav.main-menu ul li a:hover {
  color: #0066ff !important;
}

/* Footer category icons */
footer .links li a i {
  margin-right: 8px;
  font-size: 14px;
  color: #004dda !important;
}

/* Equal height cards in listing page */
.strip.grid {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.strip.grid .wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.strip.grid .wrapper p {
  flex: 1;
}

/* Ensure columns have same height */
#companies-container > .col-md-6 {
  display: flex;
  margin-bottom: 30px;
}

/* Desktop adjustments */
@media (min-width: 992px) {
  /* Adjust main menu position */
  .main-menu {
    margin-top: 15px !important;
  }
  
  /* Adjust top menu position */
  #top_menu {
    margin-top: 20px !important;
  }
}

/* Mobile logo size - larger for better visibility */
@media (max-width: 991px) {
  /* Logo size */
  header #logo img {
    height: 55px !important;
  }
  
  /* Increase header height to accommodate larger logo */
  header.header_in,
  header.header.menu_fixed,
  header.header.sticky {
    min-height: 78px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  
  header.header_in .row {
    min-height: 78px !important;
    align-items: center !important;
  }
  
  /* Center logo vertically */
  header #logo {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Adjust hamburger position */
  #hamburger {
    margin-top: 11px;
  }
}
