/* NAVBAR */
.navbar {
  background: #2150a2 !important;
}

.navbar-toggler {
  background-color: white;
}

.navbar .navbar-brand,
.navbar .nav-link {
  color: #fff !important;
}

.navbar .nav-link:hover {
  color: #dcdcdc !important;
}

.dropdown-menu,
.nav-link {
  font-size: 1.25rem;
}

/* SEARCH BAR */
.form-control {
  font-size: 1.25rem;
  width: 35rem;
  font-weight: 600;
}

.search-inside-btn,
.profile-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1rem;
  background-color: #051a68; /* or brand color */
  color: #fff;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
  font-size: 1.25rem;
  margin-left: 0.5rem;
}

.search-inside-btn:hover,
.profile-button:hover {
  background-color: #9eca47;
}

/* MEGA MENU CONTAINER */
.dropdown-mega {
  position: static;
}

.dropdown-mega .dropdown-menu {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  border: none;
  border-radius: 0.2rem;
  padding: 1.5rem;
  background: #fff;
  box-shadow: 0 12px 12px rgba(0, 0, 0, 0.15);
  left: 0;
  right: 0;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.2s ease,
    transform 0.2s ease,
    visibility 0.2s;
  display: none;
}

.dropdown-mega.show .dropdown-menu {
  display: block;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

/* MENU CATEGORIES */
.mega-menu .categories {
  display: flex;
  gap: 2rem;
  border-bottom: 2px solid #eee;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.mega-menu .category {
  padding: 0.5rem 0;
  cursor: pointer;
  font-weight: 600;
  color: #051a68;
  position: relative;
}

.mega-menu .category.active {
  color: #051a68;
}

.mega-menu .category.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 3px;
  background: #051a68;
}

/* SUBMENU PANELS */
.mega-menu .submenu {
  display: none;
}

.mega-menu .submenu.active {
  display: flex;
  flex-wrap: wrap;
}

.mega-menu .submenu .col-md-4 {
  padding: 0 1rem;
}

.mega-menu .submenu a {
  display: block;
  padding: 0.35rem 0;
  color: #0072ee;
  text-decoration: none;
}

.mega-menu .submenu a:hover {
  text-decoration: underline;
  color: #051a68;
}

.mega-menu .submenu-header {
  border-bottom: 2px solid #eee;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.mega-menu .submenu-header span {
  font-size: 1.25rem;
  font-weight: 600;
  color: #051a68;
  margin-right: 0.5rem;
}

.mega-menu .submenu-header .view-all-link {
  font-size: 1.25rem;
  font-weight: 500;
  color: #0072ee;
  text-decoration: none;
}

.mega-menu .submenu-header .view-all-link:hover {
  text-decoration: underline;
  color: #163a75;
}

/* MOBILE MEGA MENU BACK BUTTON */
.mega-menu .back-btn {
  display: none;
  margin-bottom: 1rem;
  cursor: pointer;
  font-weight: 600;
  color: #0072ee;
}

/* MENU MEDIA QUERIES */
@media (max-width: 991px) {
  .mega-menu .back-btn {
    display: block;
  }

  .mega-menu .categories {
    flex-direction: column;
    gap: 1rem;
  }

  .mega-menu .submenu.active {
    flex-direction: column;
  }

  .mega-menu .submenu .col-md-4 {
    border: none !important;
    padding: 0;
  }
}

/* Hero Wrapper */
#heroWrapper {
  position: relative;
  overflow: visible;
  /* allow bleed */
}

/* Hero Carousel */
#heroCarousel {
  position: relative;
  height: 85vh;
  color: #fff;
  z-index: 1;
  overflow: hidden;
}

.section-wrapper {
  background: url("../img/homepage-only/hero.jpg") center/cover no-repeat;
}

/* Carousel content */
.carousel-inner {
  position: relative;
  z-index: 1;
  height: 100%;
}

.carousel-item {
  height: 100%;
}

.carousel-item .container {
  height: 100%;
}

.carousel-item .row {
  height: 100%;
  align-items: center;
}

.hero-image {
  width: 100%;
  height: auto;
  min-height: 250px;
  position: relative;
  z-index: 1;
}

.text-panel {
  padding: 2rem;
  border-radius: 12px;
  position: relative;
  z-index: 2;
}

.fade-in-column {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 1s ease,
    transform 1s ease;
}

.fade-in-column.show {
  opacity: 1;
  transform: translateY(0);
}

.carousel-control-prev,
.carousel-control-next {
  width: 4%;
}

.carousel-control-prev {
  left: 0.5rem;
}

.carousel-control-next {
  right: 0.5rem;
}

/* Responsive */
@media (max-width: 992px) {
  #heroCarousel {
    height: 75vh;
  }

  #heroWrapper::after {
    bottom: -75px;
    height: 150px;
  }

  .text-panel {
    padding: 1.5rem;
  }
}

@media (max-width: 576px) {
  #heroCarousel {
    height: 60vh;
  }

  #heroWrapper::after {
    bottom: -60px;
    height: 120px;
  }

  .text-panel {
    padding: 1rem;
  }
}

/* BANNER */
.mst-welcome-banner {
  text-align: center;
}

/* CONTENT */
#support-banner-section {
  background: url("../img/homepage-only/section-angle.jpg");
  background-size: cover;
  padding-bottom: 3rem;
}

.mst-banner-content {
  background-color: rgba(0, 30, 84, 0.8);
  padding: 50px;
  border-radius: 15px;
}

.support-banner-content {
  border-radius: 15px;
  padding: 5rem;

  /* Background image with transparent black overlay */
  background-image:
    linear-gradient(
      rgba(0, 0, 0, 0.55),
      /* overlay strength */ rgba(0, 0, 0, 0.55)
    ),
    url("https://savvas-sc-content-hub-cdn.azureedge.net/api/public/content/home-banner-v2?v=0c652b04");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.7);
}

.mst-banner-content p {
  max-width: 1000px;
  margin: 0 auto;
  /*animation: fadeInUp 0.8s ease-out;*/
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .mst-banner-content h1,
  .support-banner-content h1 {
    font-size: 2.3rem;
  }

  .mst-banner-content p,
  .mst-banner-content p {
    font-size: 1rem;
  }
}

/* TILES */
/* CARD STYLING */
.card {
  transition:
    box-shadow 0.3s ease,
    transform 0.2s ease,
    border 0.2s ease;
  overflow: hidden;
}

.card:hover {
  box-shadow:
    0 12px 25px rgba(0, 0, 0, 0.25),
    0 0 15px rgba(51, 189, 205, 0.5);
  border: 1px solid #33bdcd; /* subtle glow effect */
  z-index: 2;
}

/* IMAGE HANDLING */
.card-img-top {
  height: 160px;
  object-fit: cover;
  display: block;
  width: 100%;
}

.card:hover .card-img-top {
  opacity: 0.95; /* subtle highlight on hover */
}

/* TITLES */
.card-title::after {
  content: "";
  display: block;
  width: 40%;
  height: 3px;
  background-color: #33bdcd;
  margin-top: 4px;
  border-radius: 2px;
}

.card:hover .card-title {
  color: #33bdcd;
}

/* CARD LINKS */
.card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.card-link:hover {
  text-decoration: none;
}

/* "MORE SOLUTIONS" LINKS */
.more-links {
  list-style: none;
  padding: 0;
}

.more-links li {
  padding-left: 1.25rem;
  position: relative;
}

.more-links li::before {
  content: "›";
  position: absolute;
  left: 0;
  color: #33bdcd;
  font-weight: bold;
}

.more-links a {
  text-decoration: none;
  color: #007bff;
  transition: color 0.2s ease;
}

.more-links a:hover {
  color: #0056b3;
  text-decoration: underline;
}

/* Masonry grid section */
#masonry-grid-section {
  background-color: #2150a3;
}

/* Masonry container */
.masonry-grid {
  column-count: 3;
  column-gap: 1rem;
}

/* Masonry card */
.masonry-item {
  break-inside: avoid;
  margin-bottom: 1.5rem;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  padding: 1.25rem;

  box-shadow:
    0 4px 12px rgba(0, 0, 0, 0.08),
    0 10px 30px rgba(0, 0, 0, 0.12);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

/* Responsive */
@media (max-width: 992px) {
  .masonry-grid {
    column-count: 2;
  }
}

@media (max-width: 576px) {
  .masonry-grid {
    column-count: 1;
  }
}

/* Cream background card */
#on-demand-section {
  background-color: #2150a3;
}

.cream-card,
.cream-card-container {
  background-color: #ffffff;
  border-radius: 1rem;
  border: none;
}

.cream-card-container {
  box-shadow: 0px 0px 40px rgba(0, 0, 0, 0.7);
  padding: 2rem 0.5rem 2rem 0.5rem;
}

.top-image {
  width: 25rem;
}

/* TITLES */
.on-demand-text-content::after {
  content: "";
  display: block;
  width: 40%;
  height: 3px;
  background-color: #33bdcd;
  margin: 0rem 0rem 2rem .25rem;
}

.scroll-card-images {
  width: 20rem;
  height: auto;
}

.scroll-container {
  overflow-x: auto;
  overflow-y: hidden;
  display: flex;
  gap: 1rem;
  /* space between cards */
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.scroll-card {
  flex: 0 0 100%;
  /* default to full width (mobile) */
  scroll-snap-align: start;
}

/* Hide horizontal scrollbar but keep scrolling */
.scroll-container {
  scrollbar-width: none;
  /* Firefox */
  -ms-overflow-style: none;
  /* IE / Edge legacy */
}

.scroll-container::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari */
}

/* Tablet: show 2 cards */
@media (min-width: 768px) {
  .scroll-card {
    flex: 0 0 calc((100% / 2) - 0.5rem);
  }
}

/* Desktop: show 3 cards */
@media (min-width: 992px) {
  .scroll-card {
    flex: 0 0 calc((100% / 3) - 0.66rem);
  }
}

.social-media-banner {
  width: 100%;
}

.social-box {
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
  transition: all 0.25s ease-in-out;
  cursor: pointer;
  border-radius: 0;
  position: relative;
  margin-right: 1px;
  text-decoration: none;
}

/* Divider line */
.social-box::after {
  content: "";
  position: absolute;
  right: -1px;
  /* move into the gap */
  top: 15%;
  height: 70%;
  width: 1px;
  background: #ddd;
  z-index: 2;
}

/* Remove divider from last item */
.youtube {
  margin-right: 0;
}

.youtube::after {
  display: none;
}

/* Icons */
.social-box i {
  font-size: 2.5rem;
  color: #333;
  transition: color 0.25s ease-in-out;
}

/* Hover Colors */
.facebook:hover {
  background: linear-gradient(to right, #0866ff, #1d9bf0);
}

.twitter:hover {
  background: linear-gradient(to right, #000000, #565656);
}

.instagram:hover {
  background: linear-gradient(to right, #bf2e96, #f99e4d);
}

.threads:hover {
  background: linear-gradient(to right, #bf2e96, #f99e4d);
}

.linkedin:hover {
  background: linear-gradient(to right, #0b66c3, #5892cb);
}

.youtube:hover {
  background: linear-gradient(to right, #ff0000, #ff4d4d);
}

.social-box:hover i {
  color: #fff;
}

/* Padding inside each box */
.social-box-inner {
  padding: 15px;
}
