/* General Reset */
body, h1, h2, h3, p, ul, li {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Gradient Text with Underline */
h2 {
font-size: 2.5rem;
font-weight: bold;
background: linear-gradient(90deg, #8B0000, #1A2A3A); /* Gradient colors */
-webkit-background-clip: text; /* Clip text to gradient */
color: transparent; /* Hide default text color */
display: inline-block;
position: relative;
margin-bottom: 20px;
}

h2::after {
content: '';
position: absolute;
left: 0;
bottom: -5px;
width: 100%;
height: 3px;
background: linear-gradient(90deg, #8B0000, #1A2A3A); /* Gradient underline */
transform: scaleX(0); /* Start with no underline */
transform-origin: bottom right;
transition: transform 0.3s ease;
}

h2:hover::after {
transform: scaleX(1); /* Expand underline on hover */
transform-origin: bottom left;
}

/* Header Section */
header {
background: linear-gradient(90deg, #1A2A3A, #8B0000); /* Gradient background */
color: #fff;
padding: 10px 20px;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Shadow for depth */
position: sticky;
top: 0;
z-index: 1000; /* Ensure header stays on top */
}

/* Header Content */
.header-content {
display: flex;
align-items: center;
gap: 20px;
}

/* Logo */
.logo img {
height: 50px;
transition: transform 0.3s ease;
}

.logo img:hover {
transform: scale(1.1); /* Slight zoom on hover */
}

/* Contact Info */
.contact-info {
display: flex;
gap: 20px;
font-size: 0.9rem;
}

.contact-info p {
margin: 0;
display: flex;
align-items: right;
gap: 5px;
}

.contact-info p:hover {
color: #FFD700; /* Gold color on hover */
}

/* Hamburger Icon (Mobile) */
.hamburger {
display: none; /* Hidden by default */
flex-direction: column;
cursor: pointer;
padding: 10px;
}

.hamburger .bar {
width: 25px;
height: 3px;
background-color: #fff;
margin: 4px 0;
transition: 0.4s;
}

/* Navigation Menu */
nav {
display: flex;
justify-content: center;
}

.menu {
list-style: none;
display: flex;
gap: 20px;
margin: 0;
padding: 0;
}

.menu li {
position: relative;
}

.menu li a {
color: #fff;
text-decoration: none;
font-weight: bold;
padding: 10px 15px;
border-radius: 5px;
transition: background-color 0.3s ease, color 0.3s ease;
}

.menu li a:hover {
background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */
color: #FFD700; /* Gold color on hover */
}

/* Dropdown Menu */
.dropdown .submenu {
display: none;
position: absolute;
top: 100%;
left: 0;
background-color: #1A2A3A; /* Dark blue background */
list-style: none;
padding: 10px;
margin: 0;
border-radius: 5px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.dropdown:hover .submenu {
display: block;
}

.submenu li {
margin: 5px 0;
}

.submenu li a {
padding: 8px 12px;
display: block;
}

.submenu li a:hover {
background-color: rgba(255, 255, 255, 0.1); /* Light hover effect */
}

/* Responsive Design */
@media (max-width: 768px) {
.hamburger {
  display: flex; /* Show hamburger icon on mobile */
}

nav {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  background-color: #1A2A3A; /* Dark blue background */
  display: none; /* Hide menu by default on mobile */
  flex-direction: column;
  align-items: center;
}

nav.active {
  display: flex; /* Show menu when active */
}

.menu {
  flex-direction: column;
  width: 100%;
}

.menu li {
  margin: 10px 0;
  text-align: center;
}

.dropdown .submenu {
  position: static;
  background-color: transparent;
  padding: 0;
}

.dropdown:hover .submenu {
  display: none; /* Hide submenu on hover for mobile */
}

.dropdown.active .submenu {
  display: block; /* Show submenu when active */
}
}
/* Hero Section */
.hero {
  position: relative;
  overflow: hidden;
  height: 100vh; /* Full viewport height */
  margin: 0; /* Remove any default margin */
}

.carousel {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the image covers the entire area */
}
.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 2; /* Ensure content is above the image */
  background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black background */
  padding: 20px; /* Add padding for better spacing */
  border-radius: 10px; /* Optional: Add rounded corners */
}

.hero-content h1 {
  font-size: 3rem;
  margin-bottom: 20px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Add text shadow for better readability */
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 30px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Add text shadow for better readability */
}

.btn {
  background-color: #8B0000; /* Dark Red */
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
}

.btn:hover {
  background-color: #6B0000; /* Darker Red */
}
/* Menu Information Section */
.menu-info {
  padding: 50px 20px;
  text-align: center;
  background-color: #f4f4f4;
  margin: 0; /* Remove any default margin */
}

.menu-info h2 {
  font-size: 2rem;
  margin-bottom: 20px;
}

.menu-grid {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}

.menu-item {
  width: 22%;
  margin-bottom: 20px;
}

.menu-item h3 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.menu-item p {
  font-size: 1rem;
  color: #555;
}

/* About Section */
.about {
  padding: 50px 20px;
  text-align: center;
  margin: 0; /* Remove any default margin */
}

.about h2 {
  font-size: 2rem;
  margin-bottom: 20px;
}

/* Products Section */
.products {
padding: 50px 20px;
text-align: center;
}

.products h2 {
font-size: 2rem;
margin-bottom: 20px;
}

.product-grid {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
gap: 20px;
}

.product-item {
width: 30%;
min-width: 300px;
margin-bottom: 20px;
}

.product-item h3 {
font-size: 1.5rem;
margin-bottom: 10px;
}

/* Carousel Styles */
.carousel {
position: relative;
overflow: hidden;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.carousel-inner {
display: flex;
transition: transform 0.5s ease-in-out;
}

.carousel-item {
min-width: 100%;
box-sizing: border-box;
}

.carousel-item img {
width: 100%;
display: block;
border-radius: 10px;
}

.carousel-prev, .carousel-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
border-radius: 50%;
font-size: 1.5rem;
z-index: 10;
}

.carousel-prev:hover, .carousel-next:hover {
background-color: rgba(0, 0, 0, 0.8);
}

.carousel-prev {
left: 10px;
}

.carousel-next {
right: 10px;
}

/* Contact Section */
.contact {
  padding: 50px 20px;
  text-align: center;
  background-color: #f4f4f4;
  margin: 0; /* Remove any default margin */
}

.contact h2 {
  font-size: 2rem;
  margin-bottom: 20px;
}

.contact form {
  max-width: 600px;
  margin: 0 auto;
}

.contact input,
.contact textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

.contact button {
  background-color: #8B0000; /* Dark Red */
  color: #fff;
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
}

.contact button:hover {
  background-color: #6B0000; /* Darker Red */
}

/* Footer Base Styles */
.footer {
  position: relative;
  background: url('your-background-image.jpg') center/cover no-repeat;
  color: #fff;
  padding: 30px 0;
  font-family: Arial, sans-serif;
}

.footer-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1;
}

.footer-content {
  display: flex;
  flex-wrap: wrap; /* Key for mobile responsiveness */
  justify-content: space-between;
  gap: 20px;
  padding: 0 15px;
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
}

.footer-section {
  flex: 1 1 200px; /* Flex-grow, flex-shrink, min-width */
  margin: 10px 0;
}

/* Mobile-Specific Adjustments */
@media (max-width: 768px) {
  .footer-content {
      flex-direction: column; /* Stack sections vertically */
      gap: 30px;
      padding: 0 20px;
  }

  .footer-section {
      flex: 1 1 100%; /* Full width on mobile */
      text-align: center; /* Center-align content */
  }

  .social-icons {
      justify-content: center; /* Center social icons */
  }

  .footer-bottom {
      flex-direction: column;
      gap: 10px;
  }
}

/* Social Icons (No Changes) */
.social-icons {
  display: flex;
  gap: 15px;
}

.social-icons a {
  color: #fff;
  font-size: 20px;
}

/* Footer Bottom */
.footer-bottom {
  text-align: center;
  padding: 15px;
  margin-top: 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

@media (max-width: 480px) {
  .footer-section h3 { font-size: 16px; }
  .footer-section p, .footer-section a { font-size: 14px; }
}

/* Responsive Design */
@media (max-width: 768px) {
  .header-content {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-info {
    margin-top: 10px;
  }

  .menu {
    flex-direction: column;
  }

  .menu li {
    margin: 10px 0;
  }

  .menu-grid, .product-grid {
    flex-direction: column;
  }

  .menu-item, .product-item {
    width: 100%;
  }
}

/* Hero Section */
.hero {
  position: relative;
  overflow: hidden;
  height: 100vh; /* Full viewport height */
}

.carousel {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

.slide.active {
  opacity: 1;
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures the image covers the entire area */
}

.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
}

.hero-content h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}

.hero-content p {
  font-size: 1.2rem;
  margin-bottom: 30px;
}

.btn {
  background-color: #8B0000; /* Dark Red */
  color: #fff;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 5px;
}

.btn:hover {
  background-color: #6B0000; /* Darker Red */
}
/* Base Embed Styles */
.social-embed {
  flex: 1;
  min-width: 0;
  width: 50%;
  height: 500px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  background: white;
  border: 1px solid #e1e1e1;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .social-embed-container {
    flex-direction: column;
  }
  
  .social-embed {
    width: 100%;
    height: 400px;
    margin-bottom: 1rem;
  }
}

/* Small Mobile Optimization */
@media (max-width: 480px) {
  .social-embed {
    height: 350px;
    border-radius: 8px;
  }
}

/* Loading State */
.social-embed iframe {
  transition: opacity 0.3s;
}

.social-embed iframe[loading] {
  opacity: 0;
}

.social-embed.loading {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f5f5;
}

.social-embed.loading::after {
  content: "Loading...";
  color: #999;
  font-size: 0.9rem;
}
/* Carousel Styles */
.carousel {
position: relative;
overflow: hidden;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.carousel-inner {
display: flex;
transition: transform 0.5s ease-in-out;
}

.carousel-item {
min-width: 100%;
box-sizing: border-box;
}

.carousel-item img {
width: 100%;
display: block;
border-radius: 10px;
}

.carousel-prev, .carousel-next {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
border-radius: 50%;
font-size: 1.5rem;
z-index: 10;
}

.carousel-prev:hover, .carousel-next:hover {
background-color: rgba(0, 0, 0, 0.8);
}

.carousel-prev {
left: 10px;
}

.carousel-next {
right: 10px;
}

/* Gallery Section */
.gallery {
padding: 50px 20px;
text-align: center;
}

.gallery h2 {
font-size: 2rem;
margin-bottom: 20px;
}

/* Gallery Filters */
.gallery-filters {
margin-bottom: 20px;
}

.filter-btn {
background-color: #1A2A3A; /* Dark Blue */
color: #fff;
border: none;
padding: 10px 20px;
margin: 5px;
cursor: pointer;
border-radius: 5px;
font-size: 1rem;
transition: background-color 0.3s ease;
}

.filter-btn.active {
background-color: #8B0000; /* Dark Red */
}

.filter-btn:hover {
background-color: #6B0000; /* Darker Red */
}

/* Gallery Grid */
.gallery-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}

.gallery-item {
overflow: hidden;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.gallery-item img {
width: 100%;
display: block;
border-radius: 10px;
transition: transform 0.3s ease;
}

.gallery-item img:hover {
transform: scale(1.05);
}

/* Portfolio Section */
.portfolio {
padding: 50px 20px;
text-align: center;
background-color: #f4f4f4; /* Light background */
}

.portfolio h2 {
font-size: 2rem;
margin-bottom: 20px;
}

/* Portfolio Grid */
.portfolio-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
}

/* Portfolio Item */
.portfolio-item {
background-color: #fff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.portfolio-item:hover {
transform: translateY(-10px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.portfolio-item img {
width: 100%;
height: 200px;
object-fit: cover;
}

.portfolio-content {
padding: 20px;
text-align: left;
}

.portfolio-content h3 {
font-size: 1.5rem;
margin-bottom: 10px;
}

.portfolio-content p {
font-size: 1rem;
color: #555;
margin-bottom: 15px;
}

.portfolio-content .btn {
background-color: #8B0000; /* Dark Red */
color: #fff;
padding: 10px 20px;
text-decoration: none;
border-radius: 5px;
display: inline-block;
}

.portfolio-content .btn:hover {
background-color: #6B0000; /* Darker Red */
}

/* Modal Styles */
.modal {
display: none; /* Hidden by default */
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8); /* Dark overlay */
z-index: 1000; /* Ensure it's on top */
justify-content: center;
align-items: center;
}

.modal-content {
background-color: #fff;
padding: 20px;
border-radius: 10px;
max-width: 600px;
width: 90%;
position: relative;
}

.modal-content img {
width: 100%;
height: auto;
border-radius: 10px;
margin-bottom: 15px;
}

.modal-content h2 {
font-size: 2rem;
margin-bottom: 10px;
}

.modal-content p {
font-size: 1rem;
color: #555;
margin-bottom: 10px;
}

.close-modal {
position: absolute;
top: 10px;
right: 15px;
font-size: 2rem;
color: #333;
cursor: pointer;
}

.close-modal:hover {
color: #8B0000; /* Dark Red */
}

/* Team Section */
.team {
padding: 50px 20px;
text-align: center;
background-color: #f4f4f4; /* Light background */
}

.team h2 {
font-size: 2rem;
margin-bottom: 20px;
}

/* Team Grid */
.team-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
}

/* Team Member Card */
.team-member {
background-color: #fff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.team-member:hover {
transform: translateY(-10px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.team-member img {
width: 100%;
height: 250px;
object-fit: cover;
}

.team-member-info {
padding: 20px;
text-align: center;
}

.team-member-info h3 {
font-size: 1.5rem;
margin-bottom: 10px;
}

.team-member-info .role {
font-size: 1.1rem;
color: #8B0000; /* Dark Red */
margin-bottom: 10px;
}

.team-member-info .description {
font-size: 1rem;
color: #555;
margin-bottom: 15px;
}

/* Social Links */
.social-links {
display: flex;
justify-content: center;
gap: 10px;
}

.social-links img {
width: 24px;
height: 24px;
transition: transform 0.3s ease;
}

.social-links img:hover {
transform: scale(1.2);
}

/* Partners Section */
.partners {
padding: 50px 20px;
text-align: center;
background-color: #fff; /* White background */
overflow: hidden; /* Hide overflow for the carousel */
}

.partners h2 {
font-size: 2rem;
margin-bottom: 20px;
}

/* Partners Carousel */
.partners-carousel {
width: 100%;
overflow: hidden;
position: relative;
}

.partners-track {
display: flex;
animation: scroll 20s linear infinite; /* Infinite scrolling animation */
}

.partner-logo {
flex: 0 0 auto;
margin: 0 20px; /* Space between logos */
}

.partner-logo img {
height: 80px; /* Adjust logo height */
width: auto;
/* No grayscale filter */
}

/* Keyframes for scrolling animation */
@keyframes scroll {
0% {
  transform: translateX(0);
}
100% {
  transform: translateX(-50%); /* Move the track by 50% of its width */
}
}


/* Latest News Section */
.latest-news {
padding: 50px 20px;
text-align: center;
background-color: #f4f4f4; /* Light background */
overflow: hidden; /* Hide overflow */
position: relative;
}

.news-container {
width: 100%;
overflow: hidden; /* Hide overflow */
position: relative;
}

.news-grid {
display: flex;
}

/* Apply sliding animation only if the class is present */
.news-grid.slide-animation {
animation: slide 30s linear infinite; /* Adjust the duration as needed */
}

@keyframes slide {
0% {
    transform: translateX(0);
}
100% {
    transform: translateX(-100%);
}
}

.news-item {
flex: 0 0 300px; /* Fixed width for each news item */
margin-right: 20px; /* Space between news items */
background-color: #fff;
border-radius: 10px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.news-item:hover {
transform: translateY(-10px);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* News Thumbnail */
.news-thumbnail img {
width: 100%;
height: 200px;
object-fit: cover;
}

/* News Content */
.news-content {
padding: 20px;
text-align: left;
}

.news-content h3 {
font-size: 1.5rem;
margin-bottom: 10px;
color: #1A2A3A; /* Dark blue text */
}

.news-content .news-date {
font-size: 0.9rem;
color: #8B0000; /* Dark red text */
margin-bottom: 10px;
}

.news-content .news-description {
font-size: 1rem;
color: #555;
margin-bottom: 15px;
}

.news-content .btn {
background-color: #8B0000; /* Dark red button */
color: #fff;
padding: 10px 20px;
text-decoration: none;
border-radius: 5px;
display: inline-block;
transition: background-color 0.3s ease;
}

.news-content .btn:hover {
background-color: #6B0000; /* Darker red on hover */
}

/* Modal Styles */
.modal {
display: none; /* Hidden by default */
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.8); /* Dark overlay */
z-index: 1000; /* Ensure it's on top */
justify-content: center;
align-items: center;
}

.modal-content {
background-color: #fff;
padding: 20px;
border-radius: 10px;
max-width: 800px;
width: 90%;
max-height: 80vh; /* Limit height to 80% of viewport */
overflow-y: auto; /* Enable vertical scrolling */
position: relative;
}

.modal-content img {
width: 100%;
height: auto;
border-radius: 10px;
margin-bottom: 15px;
}

.modal-content h2 {
font-size: 2rem;
margin-bottom: 10px;
color: #1A2A3A; /* Dark blue text */
}

.modal-body {
font-size: 1rem;
color: #555;
}

.modal-body p {
margin-bottom: 10px;
}

.close-modal {
position: absolute;
top: 10px;
right: 15px;
font-size: 2rem;
color: #333;
cursor: pointer;
}

.close-modal:hover {
color: #8B0000; /* Dark red */
}
.social-media a:nth-child(1) { color: #3b5998; } /* Facebook blue */
.social-media a:nth-child(2) { color: #e4405f; } /* Instagram pink */
.social-media a:nth-child(3) { color: #1da1f2; } /* Twitter blue */

/* Hide mobile header by default */
.mobile-header {
  display: none; /* Hidden on larger screens */
}

/* Show only on mobile devices */
@media (max-width: 768px) {
  .mobile-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      padding: 10px 15px;
      background: #000; /* Adjust as needed */
  }

  .mobile-title {
      font-size: 18px;
      font-weight: bold;
      color: #fff; /* Adjust text color */
  }

  .hamburger {
      display: flex; /* Ensure menu appears */
  }
}

/* Hide the logo on mobile */
@media (max-width: 768px) {
  .logo {
      display: none;
  }
}


/* Swiper Container */
.swiper {
  width: 100%;
  height: 100vh; /* Adjust height as needed */
  overflow: hidden;
}

/* Swiper Slides */
.swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #000; /* Black fallback */
}

/* Image Styling (Key Fix) */
.swiper-slide img {
  width: 100%;       /* Force image to fill container width */
  height: 100%;      /* Maintain aspect ratio */
  object-fit: cover;  /* Crop image to avoid distortion */
  object-position: center; /* Center the image focus */
}



