/*
Hazeeq
https://templatemo.com/tm-561-purple-buzz

---------------------------------------------
Table of contents
------------------------------------------------
1. Typography
2. Main Nav
3. Home
4. About
5. Work
6. Single Work
7. Pricing
8. Contact
--------------------------------------------- */

html {font-family: 'Open Sans', sans-serif;}
/* Typography */

p,
a {
  font-weight: 400;
}

.h1 {
  color: #2c3e50 !important;
}

.h2 {
  font-size: 40px;
  color: #2c3e50
}

.h3 {
  font-size: 28px;
  color: #2c3e50
}
.light-300 {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 300;
}
.regular-400 {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 400;
}
.semi-bold-600 {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 600;
}
.typo-space-line::after,
.typo-space-line-center::after {
  content: "";
  width: 150px;
  display:block;
  position: absolute;
  border-bottom:  5px solid #2C9942;
  padding-top: .5em;
  position:relative;
}
.typo-space-line-center::after {
  left: 50%;
  margin-left: -75px;
}

.typo-space-line-fixed {
  position: relative; /* Ensures ::after is positioned relative to the heading */
  display: inline-block; /* Prevents full-width expansion */
}

.typo-space-line-fixed::after {
  content: "";
  width: 150px;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-bottom: 5px solid #2C9942;
  padding-top: 0.5em;
}

/* Main Nav */
/* Remove or adjust the background image if not needed */
#index_banner {
  /* background-image: url('./../img/banner-bg-01.jpg'); */ /* Comment out or remove */
  background-position: center center;
  background-size: cover;
  height: 100%;
  min-height: 60vh;
  width: 100%;
  position: relative; /* Ensures proper layering */
}

/* Ensure carousel items match the height */
/* Base carousel styling */
#index_banner .carousel-item {
  min-height: 60vh;
  position: relative;
}

#index_banner .carousel-item img {
  object-fit: cover;
  height: 80vh; /* Adjust as needed */
  width: 100%;
  filter: brightness(70%); /* Slightly darken image for text contrast */
}

/* Caption overlay */
#index_banner .carousel-caption {
  background: rgba(0, 0, 0, 0.4); /* Semi-transparent dark overlay */
  padding: 2rem 3rem; /* Generous padding */
  border-radius: 10px; /* Rounded corners */
  text-align: center;
  width: 80%; /* Limit width for better readability */
  max-width: 800px; /* Cap the width */
}

/* Heading */
#index_banner .carousel-caption h2 {
  font-size: 3.5rem; /* Large, bold heading */
  font-weight: 600; /* Bold-600 as per your class */
  letter-spacing: 2px; /* Slight spacing for elegance */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7); /* Shadow for depth */
  color: #fff; /* White for contrast */
}

/* Subtext */
#index_banner .carousel-caption p {
  font-size: 1.25rem; /* Larger than default for prominence */
  font-weight: 300; /* Light-300 as per your class */
  color: #fff; /* White for readability */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* Subtle shadow */
}

/* Optional hover effect */
#index_banner .carousel-caption h2:hover,
#index_banner .carousel-caption p:hover {
  color: #2C9942; /* Your brand color from earlier styles */
  transition: color 0.3s ease; /* Smooth transition */
}

/* Animation timing */
.animate__animated.animate__fadeInDown {
  animation-duration: 1.2s; /* Slow fade-in for heading */
}

.animate__animated.animate__fadeInUp {
  animation-duration: 1.5s; /* Slightly slower fade-in for subtext */
}

/* Overlay text on images */
#index_banner .carousel-item .banner-content {
  position: absolute; /* Position text over the image */
  top: 50%;
  transform: translateY(-50%); /* Vertically center the content */
  color: #fff; /* Ensure text is readable on images */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); /* Optional: Add shadow for contrast */
}

/* Existing styles */
#index_banner .carousel-control-prev i,
#index_banner .carousel-control-next i {
  color: #2C9942 !important;
  text-decoration: none;
  font-size: 4em;
}

#index_banner .carousel-inner {
  height: 80vh;
}

#index_banner .carousel-indicators li,
#index_banner .carousel-indicators.active {
  background-color: #2C9942 !important;
}
.service-wrapper .service-footer {
  max-width: 720px;
}

/* Ensure all cards have the same height */
.service-work.card {
  border-radius: 10px !important;
  cursor: pointer;
  height: 100%; /* Make cards take full height of their container */
  display: flex;
  flex-direction: column;
}

/* Ensure the card image has a consistent aspect ratio */
.service-work .card-img {
  width: 100%; /* Ensure images take full width */
  aspect-ratio: 16/9; /* Maintain a consistent aspect ratio */
  object-fit: contain; /* Cover without distortion */
  padding: 20px;
  background-color: #ffffff;
  object-position: center;
}

/* Ensure the card content takes up remaining space */
.service-work .service-work-vertical {
  flex-grow: 1; /* Make content fill remaining space */
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Align content to the bottom */
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0,0,0,0) 33.33%, rgba(48, 231, 72, 0.144) 66.66%, rgba(255,255,255,0) 99.99%);
  background-size: 300% 300%;
  background-position: 0% 100%;
  transition: .5s;
}

.service-work .service-work-vertical:hover {
  background-position: 0% 0%;
  transition: .5s;
}

.service-work .service-work-vertical:hover * {
  color: #000;
  border-color: #000;
  transition: .5s;
}

/* Ensure buttons and text are consistent */
.service-work-content {
  width: 100%; /* Ensure content spans the full width */
  padding: 1rem; /* Add padding for better spacing */
}

/* Ensure all cards in the grid have the same height */
.projects .col-xl-3 {
  display: flex;
  flex-direction: column;
}

.recent-work.card{
  border-radius: 10px !important;
}
.recent-work .recent-work-vertical {
	background: rgb(255,255,255);
  background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 33.333%, rgba(97,84,199,1) 66.666%, rgba(255,255,255,0) 99.999%);
  background-size: 300% 300%;
  background-position: 0% 100%;
  transition: .5s;
  cursor: pointer;
  
}
.recent-work .recent-work-vertical:hover {
  background-position: 0% 0%;
  transition: .5s;
}
.recent-work .recent-work-vertical:hover div.recent-work-content {
  top: 50%;
  margin-top: -2.5em;
  position: absolute;
  
}
.recent-work .recent-work-vertical:hover * {
  color: white;
  transition: .5s;
}
/* About */

#work_banner {
  background-position: center center; background-size: cover;
  height: 100%;
  width: 100%;
}
.progress {
  height: 8px;
}
.objective-icon {
  border-radius: 13px;
  width: 8rem;
}
.partner-wap {
  background-color: #ffffff;
  transition: 1s;
  cursor: pointer;
}
.partner-wap:hover {
  background-color: #b1f5ea;
}
.why-us {
  background: rgb(239,239,253);
  background: -moz-linear-gradient(0deg, rgba(239,239,253,1) 50%, rgba(255,255,255,1) 50%);
  background: -webkit-linear-gradient(0deg, rgba(239,239,253,1) 50%, rgba(255,255,255,1) 50%);
  background: linear-gradient(0deg, rgba(239,239,253,1) 50%, rgba(255,255,255,1) 50%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#efeffd",endColorstr="#ffffff",GradientType=1);
}
.team-member-img {
  transition-duration: 0.15s;
}
.team-member:hover .team-member-img {
  padding: 10px !important;
}

/* Work */
/* Singel Work */
#work_single_banner {
  background-image: url('./../img/banner-bg-02.jpg');
  background-position: center center;
  background-size: cover;
  height: 100%;
  width: 100%;
}
.related-content {
  border-radius: 20px;
  cursor: pointer;
}
/* Pricing */
.pricing-list {
  margin-bottom: 1px;
}
.pricing-table {
  max-width: 350px;
  margin: auto;
}
.pricing-table,
.pricing-horizontal {
  border-radius: 15px !important;
}
/* Contact */
#floatingtextarea {
  height: 150px
}
/* Footer */
footer a.text-light:hover {
  color: #bfbfbf !important;
  transition-duration: 0.15s;
}

footer a.small-text-footer {
  font-size: 0.8rem;
  font-weight: 300;
  color: #ffffff;
  text-decoration: none;
  display: block;
  margin-top: 0.2rem; /* Reduce top margin */
  margin-bottom: 0; /* Remove extra bottom spacing */
}

footer ul.list-unstyled {
  margin-top: 0.5rem; /* Reduce space between images and text */
}

footer ul.list-unstyled li {
  padding-bottom: 0.1rem; /* Reduce space between text lines */
}

.contact-info a {
  font-weight: normal !important;
  text-decoration: none; /* Ensures no underline */
  color: inherit; /* Keeps the same text color */
}

.contact-info a:hover {
  text-decoration: none; /* Ensures no underline on hover */
  color: #2C9942; /* Optional: Change color on hover */
}
