/********** Template CSS **********/
:root {
    --primary: #273675;
    --secondary: #1e73b2;
    --light: #EFFDF5;
    --dark: #2B3940;
    --yellow: #fdc05c;
}


.londrina-sketch-regular {
    font-family: "Londrina Sketch", sans-serif;
  }

  .mon-font {
    font-family: 'Montserrat', sans-serif;
}  h1, h2, h3, h4{
    font-family: 'D-DIN', sans-serif;
    font-weight: bold;
}

P{
    font-family: 'Montserrat', sans-serif;
    font-size: large;
}


.home{
    background: linear-gradient(to right, #273675, #1e73b2);;
}

.f-14 {
    font-size: 12px;
  }
.f-13 {
    font-size: 7px;
  }
.font-p{
    font-size: 27px;
}
.font-a{
    font-size: 35px;
}
.font-b{
    font-size: 20px;
}
 .w-50{
    width: 70%;
 }
 .py-20{
    margin-top: 200px;
 }
 .px-20{
    margin-left: 100px;
 }
 .pz-20{
    margin-right: 100px;
 }
.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}
.text-yellow{
    color: var(--yellow);
}
.text-black{
    color: #000;
}
.mt-100{
    margin-top: 120px;
}
.mt-5{
    margin-top: 100px;
}
.text-end{
   text-align: end;
}
.text-blue{
    color: var(--primary);
}
.ml{
    margin-left: 10px;
}
.mb-7{
    margin-bottom: 50px;
}
.yes{

    color: white;
    display: inline-block;
}
.timer {
    background-color: #343a40;
    color: white;
    padding: 20px;
    margin: 10px;
    border-radius: 5px;
    font-size: 24px;
    display: inline-block;
    width: 100px;
    text-align: center;
}
.row1 {
    margin-top: 50px;
    display: flex;
    justify-content: center; /* Center timers horizontally */
}
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

@media (min-width: 991.98px) {
    .facts {
        width: 60%;
        position: relative;
        margin-top: -140px;
        z-index: 1;
    }
}
.facts .d-flex {
    flex-wrap: wrap; /* Allow wrapping */
}

.facts .text-center {
    flex: 1 0 calc(25% - 1rem); /* Four items in a row with spacing */
    margin: 0.1rem; /* Margin between items */
}

@media (max-width: 768px) {
    .facts .text-center {
        flex: 1 0 calc(50% - 1rem); /* Two items in a row on smaller screens */
    }
}

@media (max-width: 480px) {
    .facts .text-center {
        flex: 1 0 100%; /* One item in a row on very small screens */
    }
}
/*** Button ***/
.btn {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    transition: .5s;
    text-transform: uppercase;
}

.btn.btn-primary,
.btn.btn-secondary {
    color: #FFFFFF;
}

.btn-square {
    width: 38px;
    height: 38px;
}

.btn-sm-square {
    width: 32px;
    height: 32px;
}

.btn-lg-square {
    width: 48px;
    height: 48px;
}

.btn-square,
.btn-sm-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 2px;
}


/*** Navbar ***/
.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    vertical-align: middle;
    margin-left: 8px;
}

.navbar-light .navbar-nav .nav-link {
    margin-right: 30px;
    padding: 25px 0;
    color: #FFFFFF;
    font-size: 15px;
    text-transform: uppercase;
    outline: none;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary);
}

@media (max-width: 991.98px) {
    .navbar-light .navbar-nav .nav-link  {
        margin-right: 0;
        padding: 10px 0;
        text-align: center; /* Center align menu items */
    }

    .navbar-light .navbar-nav {
        border-top: 1px solid #EEEEEE;
        text-align: center; /* Center align the entire nav menu */
        width: 100%; /* Ensure full width for centering */
    }

    /* Center align individual nav items */
    .navbar-nav .nav-item {
        text-align: center;
        width: 100%;
    }

    /* Center align dropdown items */
    .navbar-nav .nav-item .dropdown-menu {
        text-align: center;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-top: 0 !important;
    }

    /* Center align dropdown items */
    .navbar-nav .dropdown-item {
        text-align: center;
        justify-content: center;
        display: flex;
        align-items: center;
    }

    /* Center align Contact Us button container */
    .navbar-nav .pe-5 {
        text-align: center !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* Center the Contact Us button */
    .navbar-nav .pe-5 .button {
        margin: 0 auto;
        display: inline-block;
    }
}

/* Additional centering for smaller screens */
@media (max-width: 767.98px) {
    .navbar-collapse {
        text-align: center !important;
    }

    .navbar-nav {
        align-items: center !important;
        justify-content: center !important;
    }

    .navbar-nav .nav-item {
        margin: 0 auto;
        display: block;
        text-align: center;
    }

    .navbar-nav .nav-link {
        text-align: center !important;
        display: block;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .navbar-collapse {
        padding: 1rem 0;
    }

    .navbar-nav .nav-item {
        margin-bottom: 0.5rem;
    }

    .navbar-nav .nav-link {
        font-size: 16px;
        padding: 12px 0;
        font-weight: 600;
    }

    /* Ensure Contact Us button is properly centered on mobile */
    .navbar-nav .pe-5 {
        margin-top: 1rem;
        padding: 0 !important;
    }
}

.navbar-light .navbar-brand,
.navbar-light a.btn {
    height: 75px;
}

.navbar-light .navbar-nav .nav-link {
    color: var(--dark);
    font-weight: 500;
}

.navbar-light.sticky-top {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    transition: .5s;
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        margin-top: 0;
        opacity: 0;
        visibility: hidden;
        transition: .5s;
    }

    .navbar .dropdown-menu.fade-down {
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
    }

    .navbar .nav-item:hover .dropdown-menu {
        top: 100%;
        transform: rotateX(0deg);
        visibility: visible;
        transition: .5s;
        opacity: 1;
    }
}


/*** Header ***/
.header-carousel .container,
.page-header .container {
    position: relative;
    padding: 45px 0 45px 35px;
}

.header-carousel .container::before,
.header-carousel .container::after,
.page-header .container::before,
.page-header .container::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100px;
    height: 15px;
}

.header-carousel .container::after,
.page-header .container::after {
    top: 100%;
    margin-top: -15px;
}

@media (max-width: 768px) {
    .header-carousel .owl-carousel-item {
        position: relative;
        min-height: 500px;
    }
    
    .header-carousel .owl-carousel-item img {
        position: absolute;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .header-carousel .owl-carousel-item p {
        font-size: 14px !important;
        font-weight: 400 !important;
    }

    .header-carousel .owl-carousel-item h1 {
        font-size: 30px;
        font-weight: 600;
    }
}

.header-carousel .owl-nav {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
}

.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next {
    margin: 7px 0;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    background: transparent;
    border: 1px solid #FFFFFF;
    border-radius: 2px;
    font-size: 22px;
    transition: .5s;
}

.header-carousel .owl-nav .owl-prev:hover,
.header-carousel .owl-nav .owl-next:hover {
    background: var(--yellow);
    border-color: var(--yellow);
}


.page-header {
    background: linear-gradient(rgba(43, 57, 64, .5), rgba(43, 57, 64, .5)), url(../img/Links/2151480196.jpg) center center no-repeat;
    height: 70vh;
    background-size: cover;
}





.breadcrumb-item + .breadcrumb-item::before {
    color: var(--light);
}


/* home section */
#home {
    background: 
  linear-gradient(rgba(20, 94, 138, 0.555), transparent), 
  url(../img/banner.jpg) center center no-repeat;
    background-size:cover; /* Cover the entire section */
    background-position: right center; /* Center the image */
    min-height: 400px; /* Set a minimum height */
    display: flex; /* Flexbox for centering content */
    align-items: center; /* Vertically center content */
    justify-content: center; /* Horizontally center content */
    padding-top: 220px;
    padding-bottom: 100px;
    color: white; /* Text color for better visibility */
}

@media (max-width: 768px) {
    #home {
        padding-top: 150px; /* Adjust top padding for smaller screens */
        padding-bottom: 50px; /* Adjust bottom padding for smaller screens */
    }
}

@media (max-width: 480px) {
    #home {
        min-height: 300px; /* Adjust min-height for very small screens */
        padding-top: 100px; /* Further adjust padding */
        padding-bottom: 30px; /* Further adjust padding */
    }
}


#home h1 {
	color: #f2af00;
	font-weight: 300;
	padding-bottom: 10px;
    font-family: 'MontserratSemiBold', sans-serif;
    font-weight: bold;
}
#home h2 {
	line-height: 10px;
    font-family: 'MontserratSemiBold', sans-serif;
}
#home .btn {
	border: 2px solid #303030;
	border-radius: 0;
    background-color: var(--yellow);
	color: var(--dark);
    text-transform: uppercase;
	font-family: 'Raleway', sans-serif;
	font-weight: bold;
	padding-top: 14px;
	width: 200px;
	height: 50px;
	margin-top: 20px;
    margin-bottom: 40px;

}
#home .btn:hover {
	background: var(--yellow);
	border-color: transparent;
	color: #fff;
}
@media (max-width: 768px) {
    h1 {
        font-size: 1.5rem;
    }
    p {
        font-size: 0.9rem;
    }
    img.img-fluid {
        max-width: 100%;
        height: auto;
    }
}

@media (min-width: 769px) {
    img.img-fluid {
        max-width: 80%;
        height: auto;
    }
    .container, .container-fluid {
        padding-left: 5%;
        padding-right: 5%;
    }
    .row {
        margin-left: -2%;
        margin-right: -2%;
    }
    .col-lg-6, .col-md-6 {
        padding-left: 2%;
        padding-right: 2%;
    }
}


/* service section */
#service {
	padding-top: 0px;
	padding-bottom: 0px;
}
#service h2 {
	border-left: 2px solid #f2af00;
	display: inline-block;
	padding: 20px;
}
#service .fa {
	border-top: 4px solid #f2af00;
	border-bottom: 4px solid #dc5034;
	border-radius: 50%;
	font-size: 26px;
	width: 90px;
	height: 90px;
	line-height: 90px;
	text-align: center;
	vertical-align: middle;
	margin-top: 60px;
	margin-bottom: 10px;
}
/*** About ***/
.about-bg {
    background-image: -webkit-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%);
    background-image: -moz-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%);
    background-image: -ms-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%);
    background-image: -o-repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%);
    background-image: repeating-radial-gradient(center center, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) 1px, transparent 1px, transparent 100%);
    background-size: 5px 5px;
}


/*** Category ***/
.cat-item {
    display: block;
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
    border: 1px solid transparent;
    transition: .5s;
}

.cat-item:hover {
    border-color: rgba(0, 0, 0, .08);
    box-shadow: none;
}


/*** Job Listing ***/
.nav-pills .nav-item .active {
    border-bottom: 2px solid var(--primary);
}

.job-item {
    border: 1px solid transparent;
    border-radius: 2px;
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
    transition: .5s;
}

.job-item:hover {
    border-color: rgba(0, 0, 0, .08);
    box-shadow: none;
}


/*** Testimonial ***/
.testimonial-carousel .owl-item .testimonial-item,
.testimonial-carousel .owl-item.center .testimonial-item * {
    transition: .5s;
}

.testimonial-carousel .owl-item.center .testimonial-item {
    background: var(--primary) !important;
}

.testimonial-carousel .owl-item.center .testimonial-item * {
    color: #FFFFFF !important;
}

.testimonial-carousel .owl-dots {
    margin-top: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.testimonial-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    border: 5px solid var(--primary);
    border-radius: 2px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    background: var(--dark);
    border-color: var(--primary);
}

/* Testimonial Section Fixes - Prevent text truncation */
.testimonial-section {
    background: linear-gradient(to right, var(--primary), var(--secondary));
    min-height: auto;
    padding: 80px 0;
    overflow: visible;
}

/* Bootstrap Carousel Fixes for Testimonials */
#testimonialCarousel {
    min-height: auto;
    overflow: visible;
}

#testimonialCarousel .carousel-inner {
    min-height: auto;
    overflow: visible;
}

#testimonialCarousel .carousel-item {
    min-height: auto;
    padding: 20px 0;
    overflow: visible;
}

#testimonialCarousel .carousel-item .row {
    min-height: auto;
    margin: 0;
}

#testimonialCarousel .col-md-4 {
    padding: 20px 15px;
    min-height: 300px;
    display: flex;
    flex-direction: column;
}

#testimonialCarousel .col-md-4 p {
    flex-grow: 1;
    line-height: 1.6;
    font-size: 16px;
    margin-bottom: 20px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}

#testimonialCarousel .col-md-4 h5 {
    margin-top: auto;
    padding-top: 10px;
}

/* Responsive adjustments for testimonials */
@media (max-width: 768px) {
    .testimonial-section {
        padding: 60px 0;
    }
    
    #testimonialCarousel .col-md-4 {
        min-height: 250px;
        margin-bottom: 20px;
        padding: 15px 10px;
    }
    
    #testimonialCarousel .col-md-4 p {
        font-size: 15px;
        line-height: 1.5;
    }
}

@media (max-width: 576px) {
    #testimonialCarousel .col-md-4 {
        min-height: 220px;
        padding: 10px;
    }
    
    #testimonialCarousel .col-md-4 p {
        font-size: 14px;
        line-height: 1.4;
    }
}

/* Our Team
-------------------------------------------------------*/

.our-team .team-row {
    margin-left: -40px;
    margin-right: -40px;
    align-items: center;
  }
  
  .our-team .team-wrap {
    padding: 0 40px;
  }
  
  .our-team .container-fluid {
    padding: 0 50px;
  }
  
  .team-img img {
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    overflow: hidden;
    width: 100%;
  }
  
  .team-member,
  .team-img {
    position: relative;
    overflow: hidden;
  }
  
  .team-title {
    display: flex;
    margin: 30px 0 7px;
    text-align: start;
  }


  
  .team-title i {
    text-align: right;
    margin-left: 0.5em; /* Space between text and icon */
}
  
  .team-details {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 0;
    padding: 5%;
    overflow: hidden;
    width: 100%;
    z-index: 2;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
  }
  
  .team-details p {
    color: #fff;
  }
  
  .team-img:hover .team-details {
    opacity: 1;
    margin-top: -80px;
  }
  
  .team-img:hover .overlay {
    opacity: 1;
  }
  
  .socials a {
    display: inline-block;
    width: 37px;
    height: 37px;
    background-color: transparent;
  }
  
  .socials i {
    line-height: 37px;
    color: #616161;
    font-size: 14px;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    text-align: center;
    -webkit-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    transition: all 0.2s linear;
  }
  
  .team-details .socials i {
      color: #fff;
  }
  
  .socials a:hover i {
    color: #fff;
    background-color: #355c7d;
  }
  
  

/*============== Features Section =================*/
.feature_section{
	float:left;
	width:100%;
	background:#f8f8fa;
	padding:80px 0 80px 0;
	}

.feature_section .leftside{
	float:left;
	width:390px;
	margin:0 0 0 35px;
	}

.feature_section .leftside img{
	float:right;
	}

.feature_section .rightside{
	float:right;
	width:587px;
	margin:0 35px 0 0;
	}
	
.feature_section h2{
	text-align:left;
	font-family: 'open_sansregular';
	font-size:30px;
	color:#333;
	font-weight:normal;
	margin:0 0 30px 0;
	padding:0 0 0 0;
	}
	
.feature_section  p{
	text-align:left;
	font-family: 'open_sanslight';
	font-size:14px;
	color:#777779;
	line-height:24px;
	font-weight:normal;
	margin:0 0 30px 0;
	}
	
.feature{
	float:left;
	width:100%;
	text-align:left;
	font-family: 'open_sanslight';
	font-size:14px;
	color:#777779;
	line-height:24px;
	font-weight:normal;
	margin:0 0 25px 0;
	}

.feature span{
	float:left;
	width:33px;
	height:33px;
	background:#187cc2;
	text-align:center;
	font-size:16px;
	color:#fff;
	line-height:33px;
	transition:0.5s; -webkit-transition:0.5s;
	border-radius:3px; -webkit-border-radius:3px;
	margin:0 16px 0 0;
	}

.feature .description{
	float:left;
	width:530px;
	}

.feature strong{
	color:#333;
	font-family: 'open_sanssemibold';
	font-weight:normal;
	}

.feature.one{
	background:url(images/icons/i4.png) no-repeat left top;
	}
	
.feature.two{
	background:url(images/icons/i5.png) no-repeat left top;
	}

   
      
a.button3{
	float:left;
	width:145px;
	height:45px;
	border:1px solid #187cc2;
	text-align:center;
	font-family: 'open_sanslight';
	font-size:14px;
	color:#fff;
	font-weight:normal;
	text-transform:uppercase;
	line-height:45px;
	margin:10px 25px 0 0;
	border-radius:3px; -webkit-border-radius:3px; 
	transition:0.5s; -webkit-transition:0.5s;
	text-decoration:none;
	background:#187cc2;
	}
	
a.button3:hover{
	background:none;
	border:1px solid #000;
	text-decoration:none;
	color:#000;
	}
	
a.button4{
	float:left;
	width:145px;
	height:45px;
	border:1px solid #000;
	text-align:center;
	font-family: 'open_sanslight';
	font-size:14px;
	color:#000;
	font-weight:normal;
	text-transform:uppercase;
	line-height:45px;
	margin:10px 0 0 0;
	border-radius:3px; -webkit-border-radius:3px; 
	transition:0.5s; -webkit-transition:0.5s;
	background:none;
	text-decoration:none;
	}
	
a.button4:hover{
	text-decoration:none;
	background:#187cc2;
	border:1px solid #187cc2;
	color:#fff;
	}
	
	
.ano_feature_section{
	float:left;
	width:100%;
	background:#fff;
	padding:80px 0 80px 0;
	border-bottom:1px solid #e7e7e7;
	}

img.imagethumb2{
	margin:100px 0 0 10px;
	}
	
	
.ano_feature_section .leftside{
	float:left;
	width:587px;
	margin:0 0 0 35px;
	}
    .arrow {
        position: relative;
        padding-left: 20px; /* Adjust space for the arrow */
    }
    
    .arrow::before {
        content: "\f105"; /* Font Awesome arrow */
        font-family: "Font Awesome 5 Free"; /* Ensure this matches the version you're using */
        font-weight: 900; /* Adjust weight based on the icon style */
        position: absolute;
        left: 0;
        top: 0; /* Align the icon vertically */
        color: rgb(173, 169, 169); /* Change to your desired color */
    }

.ano_feature_section .rightside{
	float:right;
	width:390px;
	margin:0 35px 0 0;
	}
	
/*** Footer ***/
.col-md-4:nth-child(even) {
  /*background: blue;*/
}
.col-md-4:nth-child(odd) {
 /*background: red;*/
}


::selection {
  background: #86857f;
  text-shadow: none;
}

footer {
  padding: 0.18rem 0 0.09rem 0 !important; /* 40% reduction from 0.3rem 0 0.15rem */
 }

.footer-column:not(:first-child) {
  padding-top: 0.18rem !important; /* 40% reduction from 0.3rem */
}

footer.bg-danger {
  padding: 0.18rem 0 0.09rem 0 !important; /* 40% reduction from 0.3rem 0 0.15rem */
}

section#footer footer {
  padding: 0.18rem 0 0.09rem 0 !important; /* 40% reduction from 0.3rem 0 0.15rem */
}

#footer .footer-column {
  padding: 0.09rem !important; /* 40% reduction from 0.15rem */
}

/* Remove margin-top from rounded footer if present */
footer.bg-danger, section#footer footer {
  margin-top: 0 !important;
}

/* Remove extra space below copyright */
.copyright {
  margin-bottom: 0 !important;
  padding-bottom: 0.2rem !important;
}

.fa-ellipsis-h {
  padding: 0.5rem 0 !important;
}
.banner {
    background-image: url('your-image-url.jpg'); /* Add your background image */
    background-size: cover; 
    color: #fff; 
    height: 200px; /* Set a specific height */
    width: 100%;
    display: flex;
    align-items: center; /* Center content vertically */
    justify-content: center; /* Center content horizontally */
}

.bannertext { 
    width: 100%;  
    border: 0.1em solid var(--yellow); 
    padding: 0.5em 0;
    text-align: center;
    
}

.bannertext p {
    padding: 0;
    text-transform: uppercase;
    color: var(--yellow);
    font-size: 1.5em; /* Adjust font size for better visibility */
}

@media (max-width: 600px) {
    .banner {
        height: 150px; /* Adjust height for smaller screens */
    }

    .bannertext p {
        font-size: 1.2em; /* Smaller font size */
    }
}
    section {
        max-width: 1500px;
        height: auto;
        margin: 0 auto;
        text-align: center;
        padding: 30px;
      }
    .section-lead {
        max-width: 600px;
        margin: 1rem auto 1.5rem;
      }
      
      .service a {
        color: var(--yellow);
        display: block;
      }
      .service p{
        color: #fff;
      }
      
      .service h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        color: var(--yellow);
        font-size: 1.3rem;
        margin: 1rem 0 0.6rem;
      }        .services-grid {
        /* Let Bootstrap handle the grid layout */
        margin: 0 -15px;
      }
        .service {
        background: transparent;
        /* Remove width: 50% to let Bootstrap handle responsive sizing */
        min-height: 350px;
        height: auto;
        margin: 15px 0;
        padding: 25px 20px;
        text-align: center;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        /* Remove flex-wrap to prevent layout issues */
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        transition: all 0.3s ease;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
      }
        .service:hover {
        -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
        -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
        transform: translateY(-5px);
      }      .img-small {
        width: 80px;
        height: 80px;
        object-fit: contain;
        margin: 0 auto 20px auto; /* Add bottom margin to separate from text */
        flex-shrink: 0; /* Prevent image from shrinking */
    }
      .service i {
        font-size: 3.45rem;
        margin: 0 0 20px 0; /* Add bottom margin */
        flex-shrink: 0;
      }
      
      .service h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        color: var(--yellow);
        font-size: 1.3rem;
        margin: 0 0 15px 0; /* Consistent spacing */
        flex-shrink: 0;
      }
      
      .service p {
        color: #fff;
        margin: 0;
        display: block;
        align-items: unset;
        flex-grow: unset;
        overflow-wrap: break-word;
        word-break: break-word;
      }
        .service1 i,
      .service2 i,
      .service3 i,
      .service4 i {
        color: white !important;
      }
      
      .service1 h4,
      .service1 .cta {
        color: var(--yellow);
      }
      
      .service1:hover {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Increased shadow effect */
        transition: box-shadow 0.3s ease; /* Smooth transition */
      }
      
      .service2 h4,
      .service2 .cta {
        color: var(--yellow);
      }
      
      .service2:hover {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Increased shadow effect */
        transition: box-shadow 0.3s ease; /* Smooth transition */
      }
      
      .service3 h4,
      .service3 .cta {
        color: var(--yellow);
      }
      
      .service3:hover {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Increased shadow effect */
        transition: box-shadow 0.3s ease; /* Smooth transition */
      }
      
      .service4 h4,
      .service4 .cta {
        color: var(--yellow);
      }
      
      .service4:hover {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5); /* Increased shadow effect */
        transition: box-shadow 0.3s ease; /* Smooth transition */
      }
      
      .service .cta span {
        font-size: 0.6rem;
      }
      
      .service > * {
        flex: unset !important;
      }
      .service p {
        color: #fff;
        margin: 0;
        display: block;
        align-items: unset;
        flex-grow: unset;
        overflow-wrap: break-word;
        word-break: break-word;
      }
        @media all and (max-width:900px) {
        .service {
          margin: 20px 0;
          padding: 20px 15px;
          min-height: 320px;
        }
        
        .img-small {
          margin-bottom: 15px;
        }
        
        .service h4 {
          margin-bottom: 12px;
          font-size: 1.2rem;
        }
      }
      .image-container {
        position: relative;
        width: 100%;
        height: 100%; /* Adjust height as needed */
        overflow: hidden; /* Ensures no overflow */
    }
    
    .about-img {
        position: absolute;
        top: 50%;
        left: 50%;
        max-width: 100%; /* Ensures the image is responsive */
        height: auto; /* Maintain aspect ratio */
        transform: translate(-50%, -50%);
        object-fit: cover; /* Cover the container */
    }

    /* services section start */


.services_section {
    width: 100%;
    float: left;
    background-image: url(../images/about-bg.png);
    height: auto;
    background-size: 100%;
    background-repeat: no-repeat;
    padding: 10px 0;

}

.services_taital {
    width: 100%;
    font-size: 30px;
    color: #252525;
    text-align: center;
    font-weight: bold;
}
.services_taital::after {
    content: '';
    position: absolute;
    width: 85px;
    height: 10px;
    background-color: #000;
    left: 0px;
    right: 0px;
    margin: 0 auto;
    bottom: 0px;
    border-radius: 100px;
}

.services_text {
    width: 100%;
    font-size: 16px;
    color: #000;
    text-align: center;
    margin: 0px;
    padding-top: 30px;
}
.services_box {
    text-align: center;
    margin-bottom: 30px;
}
.express_text {
    width: 100%;
    float: left;
    font-size: 26px;
    color: #252525;
    text-align: center;
    padding-top: 68px;
}
.lorem_text{
    width: 90%;
    margin: 0 auto;
    color: #5e5a5a;
    text-align: center;
}
.seemore_bt{
    width: 170px;
    margin: 0 auto;
}
.seemore_bt a {
    width: 100%;
    float: left;
    font-size: 18px;
    color: #000;
    text-align: center;
    padding-top: 20px;
}
.seemore_bt a:hover{
    color: #0c426e;
}
.image_1 {
    max-width: 100%;
    height: auto;
    margin-top: 15px;
}
.padding_right_0{
    padding-right: 0px;
}
.padding_left_0{
    padding-left: 0px;
}

/* services section end */

.bg-contact{
    background: linear-gradient(to right, #1e73b2, #273675);;
}
/*** Service ***/
.service-item-top img {
    transition: .5s;
}

.service-item-top:hover img {
    transform: scale(1.1);
}

.service-carousel .owl-dots {
    margin-top: 24px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.service-carousel .owl-dot {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    width: 15px;
    height: 15px;
    background: var(--primary);
    border: 5px solid var(--light);
    transition: .5s;
}

.service-carousel .owl-dot.active {
    background: var(--light);
    border-color: var(--primary);
}


.cards {
  display: flex;
  padding: 1rem;
  margin-bottom: 2rem;
  width: 100%;
  @media(min-width: 40rem) {
    width: 50%;
  }
  @media(min-width: 56rem) {
    width: 33.3%;
  }

  .card-item {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    width: 100%;
    border-radius: 6px;
    box-shadow: 0 20px 40px -14px rgba(0,0,0,0.25);
    overflow: hidden;
    transition: transform 0.5s;
    -webkit-transition: transform 0.5s;

    &:hover {
      cursor: pointer;
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
      .card-image {
        opacity: 1;
      }
    }
  }

  
  .card-info {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 1rem;
    line-height: 1.5em;
  }

  .card-title {
    font-size: 25px;
    line-height: 1.1em;
    color: #32325d;
    margin-bottom: 0.2em;
  }

  
  .card-image{
    height: 200px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 6px 6px 0px 0px;
    opacity: 0.91;
  }
}
.wrapper {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.panel {
    margin-bottom: 15px;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
}

.panel-heading {
    background-color: var(--primary);
    color: white;
    padding: 10px 15px;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.panel-title a {
    color: white;
    text-decoration: none;
    display: block;
}

.panel-body {
    padding: 15px;
    background-color: white;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wrapper {
        padding: 15px;
    }

    .panel-heading {
        text-align: center;
    }

    .panel-body {
        padding: 10px;
    }
}

.page-wrapper .banner-spot {
    padding: 0.4rem;
    background-image: none;
}
.blog-list .blog-meta.big-meta h4 {
    margin-left: -20%;
    margin-top: 1rem;

    padding: 1rem 1.5rem 1rem;
}
.post-media:hover .menucat {
    display: none;
}

.post-media img {
    width: 50%;
    background: linear-gradient(to right, #111518, #2b2b2c);;
    background-image: url('../img/ccnp.png'); /* Replace with your image URL */
    background-size: cover;
    background-position: center;
}
.blog-list .blog-meta.big-meta h4 {
    margin-left: -15%;
    margin-top: 1rem;
    
    padding: 1rem 1.5rem 1rem;
}
.blog-meta.big-meta h4 {
    padding: 1rem 0 0.6rem;
    margin: 0;
    font-size: 28px;
}
hr {
    border: 1px solid #ddd; /* Change the color as needed */
    margin: 20px 0; /* Space above and below the line */
    width: 80%;
  }
.blog-meta.big-meta p {
    margin-bottom: 0.5rem;
    padding-bottom: 0;
}

.blog-meta small {
    font-size: 11px;
    display: inline-block;
    margin-bottom: 0;
    padding-bottom: 0;
    color: #111111;
    font-weight: bold;
    text-transform: uppercase;
    margin-right: 0.5rem;
}

.blog-meta small:after {
    content: "/";
    padding-left: 1rem;
}

.blog-meta small:last-child:after {
    content: ""
}
@media (max-width: 768px) {
    .blog-box {
      flex-direction: column;
    }
    .blog-meta {
      text-align: center;
    }
  }
  
  .portifolio {
    background: white;
    border-radius: 8px;
    padding: 20px;
    margin: 10px 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Ensure truncate-text containers don't hide buttons */
.truncate-text {
    overflow: visible !important;
    position: relative;
    margin-bottom: 10px;
    line-height: 1.6;
    clear: both;
}

.truncate-text .moreless {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-left: 5px;
}

/* Prevent overlap during animations */
.truncate {
    position: relative;
    margin-bottom: 15px;
    min-height: 50px;
}

.truncate .truncate-text {
    transition: all 0.3s ease;
}

/* Ensure proper spacing between elements */
.moreellipses {
    white-space: nowrap;
}

/* Portfolio section responsive improvements */
@media (max-width: 768px) {
    .portifolio {
        padding: 15px;
        margin: 15px 0;
    }

    .truncate-text {
        line-height: 1.6;
        margin-bottom: 10px;
    }
}

@media (max-width: 576px) {
    .portifolio {
        padding: 12px;
        margin: 12px 0;
        border-radius: 12px;
    }

    .truncate-text {
        line-height: 1.7;
        margin-bottom: 15px;
    }
}
.truncate {
    /* Remove CSS-based truncation to allow JavaScript truncation to work */
    overflow: visible;
    text-overflow: initial;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
}
.services-bar{
    padding: 20px 0px 30px 0px;
    background: url(../img/dott.jpg);
    }
    .services-bar h1{
    font-weight: 600;
    font-size: 45px;
    text-align: center;
    margin-bottom: 0px;
    }
    .services-bar .card{
    box-shadow: 3px 5px 15px rgba(0,0,0, .15);
    border: none;
    }
    .services-bar .card h4.card-header{
    background-color: transparent;
    color: #1273eb;
    font-size: 18px;
    font-weight: 500;
    border: none;
    padding: 0px;
    margin-bottom: 15px;
    }
    .services-bar .card .card-footer{
    background-color: #001f54;
    }
    .services_section_2 {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .service-box {
        flex: 1 1 calc(33.33% - 20px); /* Adjusts width based on screen size */
        margin: 10px; /* Adds space between boxes */
        box-sizing: border-box;
    }

    .services_box {
        padding: 15px;
        border: 1px solid #eaeaea; /* Optional: add border for distinction */
        border-radius: 8px; /* Optional: rounded corners */
        background-color: #fff; /* Optional: background color */
    }

    .image_1 {
        max-width: 100%; /* Ensures images are responsive */
        height: auto; /* Maintains aspect ratio */
    }

    @media (max-width: 768px) {
        .service-box {
            flex: 1 1 100%; /* Stacks boxes on small screens */
        }
    }
    ul.nostyle {
        list-style: none;
        padding: 0;
        margin-bottom: 20px;
      }
      ul.nostyle i {
        color: #45aed6;
      }
      /* From Uiverse.io by cssbuttons-io */ 
.button {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid #4f4f4f;
    border-radius: 4px;
    transition: all 0.2s ease-in;
    background-color: var(--primary);
    position: relative;
    overflow: hidden;
    font-size: 19px;
    cursor: pointer;
    color: white;
    z-index: 1;
  }
  
  .button:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleY(1) scaleX(1.25);
    top: 100%;
    width: 140%;
    height: 180%;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
  }
  
  .button:after {
    content: "";
    position: absolute;
    left: 55%;
    transform: translateX(-50%) scaleY(1) scaleX(1.45);
    top: 180%;
    width: 160%;
    height: 190%;
    background-color: var(--light);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
  }
  
  .button:hover {
    color: #000;
    border: 1px solid var(--light);
  }
  
  .button:hover:before {
    top: -35%;
    background-color: var(--secondary);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
  
  .button:hover:after {
    top: -45%;
    background-color: var(--yellow);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
 
  .button1 {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid var(--yellow);
    border-radius: 4px;
    transition: all 0.2s ease-in;
    background-color: var(--yellow);
    position: relative;
    overflow: hidden;
    font-size: 19px;
    cursor: pointer;
    color: #000;
    z-index: 1;
  }
  
  .button1:before {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleY(1) scaleX(1.25);
    top: 100%;
    width: 140%;
    height: 180%;
    background-color: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
  }
  
  .button1:after {
    content: "";
    position: absolute;
    left: 55%;
    transform: translateX(-50%) scaleY(1) scaleX(1.45);
    top: 180%;
    width: 160%;
    height: 190%;
    background-color: var(--light);
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
  }
  
  .button1:hover {
    color: #fff;
    border: 1px solid var(--secondary);
  }
  
  .button1:hover:before {
    top: -35%;
    background-color: var(--secondary);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
  
  .button1:hover:after {
    top: -45%;
    background-color: var(--secondary);
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
 
  /* From Uiverse.io by cssbuttons-io */ 
  .button-outline {
    display: inline-block;
    padding: 12px 24px;
    border: 2px solid var(--light); /* Outline color */
    border-radius: 4px;
    transition: all 0.2s ease-in;
    position: relative;
    overflow: hidden;
    font-size: 19px;
    cursor: pointer;
    color: var(--yellow); /* Text color matches outline */
    background-color: transparent; /* Transparent background */
    z-index: 1;
  }
  .button-outline2 {
    display: inline-block;
    padding: 12px 24px;
    border: 2px solid var(--primary); /* Outline color */
    border-radius: 4px;
    transition: all 0.2s ease-in;
    position: relative;
    overflow: hidden;
    font-size: 19px;
    cursor: pointer;
    color: var(--light); /* Text color matches outline */
    background-color: var(--primary); /* Transparent background */
    z-index: 1;
  }
  
  .button-outline:before,
  .button-outline:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%) scaleY(1) scaleX(1.25);
    top: 100%;
    width: 140%;
    height: 180%;
    border-radius: 50%;
    display: block;
    transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
    z-index: -1;
  }
  
  .button-outline:before {
    background-color: rgba(0, 0, 0, 0.05);
  }
  
  .button-outline:after {
    left: 55%;
    transform: translateX(-50%) scaleY(1) scaleX(1.45);
    top: 180%;
    width: 160%;
    height: 190%;
    background-color: var(--yellow); /* Background color for effect */
  }
  
  .button-outline:hover {
    color: #ffff; /* Text color on hover */
    border: 2px solid var(--light); /* Change border color on hover */
  }
  
  .button-outline:hover:before {
    top: -35%;
    background-color: var(--yellow); /* Background color on hover */
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
  
  .button-outline:hover:after {
    top: -45%;
    background-color: var(--yellow); /* Background color on hover */
    transform: translateX(-50%) scaleY(1.3) scaleX(0.8);
  }
  @media (max-width: 767px) {
    .blog-box {
        flex-direction: column;
    }
    .post-media {
        margin-bottom: 20px;
    }
    .blog-meta {
        text-align: center;
    }

}
  
/* Service Section Additional Fixes */
#service {
    padding: 40px 0 80px 0; /* Reduced top padding from 80px to 40px */
    min-height: auto;
}

#service .services-grid {
    margin-top: 40px;
}

/* Responsive fixes for services */
@media (max-width: 768px) {
    .service {
        width: 100%;
        min-height: 280px;
        margin: 10px 0;
    }
    
    .services-grid {
        flex-direction: column;
        gap: 15px;
    }
    
    #service {
        padding: 60px 0;
    }
}

@media (max-width: 576px) {
    .service {
        min-height: 250px;
        padding: 15px;
    }
    
    .service h4 {
        font-size: 1.1rem;
    }
    
    .service p {
        font-size: 14px;
        line-height: 1.4;
    }
}

/* Footer CYVIRNET logo styling */
#footer .col-lg-3 img[src="img/CYVIRNET Logo-06.png"] {
    filter: brightness(0) invert(1); /* Makes the logo white */
    transform: scale(1.2); /* Makes it 20% bigger */
    transition: transform 0.3s ease; /* Smooth transition for any hover effects */
}

/* Alternative approach if the above doesn't work - target all footer logos */
footer .img-fluid {
    filter: brightness(0) invert(1); /* Makes the logo white */
    transform: scale(1.2); /* Makes it 20% bigger */
    transition: transform 0.3s ease;
}

/* Portfolio section industries list styling */
#portfolio ul.nostyle {
    list-style: none;
    padding: 0;
    margin-bottom: 20px;
    text-align: left;
}

#portfolio ul.nostyle li {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    padding: 4px 0;
    font-size: 14px;
    line-height: 1.4;
}

#portfolio ul.nostyle li i {
    color: #45aed6;
    margin-right: 10px;
    font-size: 16px;
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}

/* Ensure proper alignment in columns */
#portfolio .row h6 {
    margin-bottom: 15px;
    font-weight: 600;
    color: var(--dark);
}

/* Responsive alignment for portfolio industries */
@media (max-width: 768px) {
    #portfolio ul.nostyle {
        text-align: center;
        margin-bottom: 25px;
    }
    
    #portfolio ul.nostyle li {
        justify-content: center;
        margin-bottom: 10px;
    }
}

/* Mobile-friendly styling for More/Less expandable text links */
.moreless {
    color: #ffc107 !important;
    text-decoration: none !important;
    font-weight: 600;
    padding: 10px 16px;
    margin: 6px 2px;
    display: inline-block;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    /* Improve touch target size for mobile */
    min-height: 44px;
    min-width: 80px;
    line-height: 1.3;
    text-align: center;
    -webkit-tap-highlight-color: rgba(255, 193, 7, 0.3);
    /* Prevent text selection on mobile */
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    /* Enhanced visibility */
    background-color: rgba(255, 193, 7, 0.1);
    border: 2px solid #ffc107;
    font-size: 14px;
    position: relative;
    z-index: 10;
}

.moreless:hover,
.moreless:focus,
.moreless:active {
    color: #ffca2c !important;
    background-color: rgba(255, 193, 7, 0.2);
    text-decoration: none !important;
    transform: translateY(-1px);
    border-color: #ffca2c;
}

/* Responsive styles for moreless buttons */
@media (max-width: 768px) {
    .moreless {
        padding: 12px 20px;
        margin: 8px 4px;
        min-height: 48px;
        min-width: 100px;
        font-size: 15px;
        border-width: 2px;
        background-color: rgba(255, 193, 7, 0.15);
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 576px) {
    .moreless {
        padding: 10px 16px;
        margin: 6px 3px;
        min-height: 44px;
        min-width: 70px;
        font-size: 14px;
        border-width: 2px;
        background-color: rgba(255, 193, 7, 0.2);
        border-radius: 8px;
        font-weight: 600;
        /* Ensure visibility on small screens */
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 100 !important;
    }
}

@media (max-width: 480px) {
    .moreless {
        padding: 8px 14px;
        margin: 4px 2px;
        min-height: 40px;
        min-width: 60px;
        font-size: 13px;
        border-width: 2px;
        background-color: rgba(255, 193, 7, 0.25);
        border-radius: 8px;
        font-weight: 600;
        /* Maximum visibility for very small screens */
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 1000 !important;
        width: auto !important;
        text-align: center !important;
    }
}

/* Ensure proper spacing and visibility */
.moreellipses {
    display: inline;
}

.truncate-text {
    position: relative;
    line-height: 1.6;
    overflow: hidden;
    transition: opacity 0.4s ease-in-out;
}

/* Smooth text reveal with custom transitions */
.truncate-text.fade-transition {
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
}

.truncate-text.fade-transition.show {
    opacity: 1;
}

/* --- FIX: Service Card Layout --- */
.service {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  min-height: 350px;
  height: auto;
  margin: 15px 0;
  padding: 25px 20px;
  text-align: center;
  background: transparent;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.service > * {
  flex: unset !important;
}
.service p {
  color: #fff;
  margin: 0;
  display: block;
  align-items: unset;
  flex-grow: unset;
  overflow-wrap: break-word;
  word-break: break-word;
}
@media (max-width: 768px) {
  .service {
    width: 100%;
    min-height: 280px;
    margin: 10px 0;
    padding: 15px;
  }
}
/* --- END FIX --- */

/* Service Icon Styling for consistent Font Awesome icons */
.service-icon {
  font-size: 4rem;
  color: white !important;
  margin: 0 0 20px 0;
  flex-shrink: 0;
}

.service .service-icon {
  font-size: 4rem;
  color: white !important;
  margin: 0 0 20px 0;
  flex-shrink: 0;
}

/* Force all service icons to be white regardless of class */
.service i.fas,
.service i.far,
.service i.fa,
.service .service-icon {
  color: white !important;
}

/* Ensure consistent sizing across all service icons */
.service i.service-icon {
  width: auto;
  height: auto;
  object-fit: unset;
}

/* Enhanced rounded corners for home page elements */
/* ================================================= */

/* More rounded service cards */
.service {
    border-radius: 20px !important;
}

.service1, .service2, .service3, .service4 {
    border-radius: 20px !important;
}

/* More rounded images throughout the page */
.img-fluid.rounded {
    border-radius: 20px !important;
}

.rounded {
    border-radius: 20px !important;
}

/* More rounded icon containers in Why Choose Us section */
.bg-primary.rounded {
    border-radius: 15px !important;
}

/* More rounded form elements */
.form-control {
    border-radius: 15px !important;
}

/* More rounded buttons */
.btn {
    border-radius: 15px !important;
}

.button, .button1, .button-outline, .button-outline2 {
    border-radius: 15px !important;
}

/* More rounded back-to-top button */
.btn-lg-square {
    border-radius: 20px !important;
}

/* More rounded testimonial cards */
.carousel-item .col-md-4 {
    border-radius: 20px !important;
}

/* More rounded portfolio overlays */
.bg-white.text-center.position-absolute {
    border-radius: 15px !important;
}

/* More rounded team member containers */
.team-member {
    border-radius: 15px !important;
}

.team-img img {
    border-radius: 15px !important;
}

/* More rounded card elements */
.card {
    border-radius: 20px !important;
}

.card-item {
    border-radius: 20px !important;
}

/* More rounded category items */
.cat-item {
    border-radius: 20px !important;
}

/* More rounded job items */
.job-item {
    border-radius: 20px !important;
}

/* Ensure carousel controls are more rounded */
.carousel-control-prev, .carousel-control-next {
    border-radius: 50% !important;
}

/* More rounded carousel indicators */
.carousel-indicators [data-bs-target] {
    border-radius: 50% !important;
}

/* More rounded contact section elements */
#contact .form-control {
    border-radius: 15px !important;
}

#contact .button1 {
    border-radius: 15px !important;
}

/* More rounded about section image */
#about .img-fluid {
    border-radius: 20px !important;
}

/* More rounded portfolio images */
#portfolio .img-fluid {
    border-radius: 20px !important;
}

/* More rounded timer elements */
.timer {
    border-radius: 15px !important;
}

/* More rounded services bar cards */
.services-bar .card {
    border-radius: 20px !important;
}

/* More rounded wrapper elements */
.wrapper {
    border-radius: 20px !important;
}

/* Override any specific border-radius values that might conflict */
.border-radius-override {
    border-radius: 20px !important;
}

/* Ensure consistent rounded corners for all interactive elements */
input, textarea, select, button {
    border-radius: 15px !important;
}

/* More rounded navbar brand image */
.navbar-brand img {
    border-radius: 15px !important;
}

/* More rounded footer elements */
#footer img {
    border-radius: 15px !important;
}

/* More rounded any remaining elements that might need it */
.position-relative img,
.overflow-hidden img {
    border-radius: 20px !important;
}

/* Ensure dropdown menus are more rounded */
.dropdown-menu {
    border-radius: 15px !important;
}

/* More rounded modal elements if any */
.modal-content {
    border-radius: 20px !important;
}

/* End of enhanced rounded corners */
/* ================================ */

/* Additional Bootstrap overrides for enhanced rounded corners */
/* ========================================================== */

/* Override Bootstrap's default border-radius for cards */
.card, .card-body, .card-header, .card-footer {
    border-radius: 20px !important;
}

/* Override Bootstrap's button styles */
.btn-primary, .btn-secondary, .btn-success, .btn-info, .btn-warning, .btn-danger, .btn-light, .btn-dark {
    border-radius: 15px !important;
}

/* Override Bootstrap's form control styles */
.form-control:focus {
    border-radius: 15px !important;
}

/* Override Bootstrap's input group styles */
.input-group .form-control,
.input-group-text {
    border-radius: 15px !important;
}

/* Override Bootstrap's dropdown styles */
.dropdown-toggle {
    border-radius: 15px !important;
}

/* Override Bootstrap's badge styles */
.badge {
    border-radius: 10px !important;
}

/* Override Bootstrap's alert styles */
.alert {
    border-radius: 15px !important;
    border: none;
    padding: 1rem 1.5rem;
    margin-bottom: 1rem;
    font-weight: 500;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Custom alert success styles */
.alert-success {
    background: linear-gradient(135deg, #d4edda 0%, #c3e6cb 100%);
    color: #155724;
    border-left: 4px solid #28a745;
}

.alert-success i {
    color: #28a745;
    margin-right: 8px;
}

/* Custom alert danger styles */
.alert-danger {
    background: linear-gradient(135deg, #f8d7da 0%, #f5c6cb 100%);
    color: #721c24;
    border-left: 4px solid #dc3545;
}

.alert-danger i {
    color: #dc3545;
    margin-right: 8px;
}

/* Alert animation */
.alert {
    animation: slideInDown 0.5s ease-out;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Override Bootstrap's nav pills */
.nav-pills .nav-link {
    border-radius: 15px !important;
}

/* Override Bootstrap's nav tabs */
.nav-tabs .nav-link {
    border-radius: 15px 15px 0 0 !important;
}

/* Override Bootstrap's pagination */
.page-link {
    border-radius: 10px !important;
    margin: 0 2px;
}

/* Override Bootstrap's breadcrumb */
.breadcrumb-item + .breadcrumb-item::before {
    border-radius: 50% !important;
}

/* Ensure consistent rounded corners for responsive images */
.img-responsive, .img-thumbnail {
    border-radius: 15px !important;
}

/* Override any remaining Bootstrap utilities */
.rounded-sm {
    border-radius: 10px !important;
}

.rounded {
    border-radius: 15px !important;
}

.rounded-lg {
    border-radius: 20px !important;
}

.rounded-pill {
    border-radius: 50px !important;
}

/* End Bootstrap overrides */
/* ====================== */

/* Additional rounded corners for all pages */
/* ========================================= */

/* Specific page elements that need extra rounded styling */

/* About page elements */
.services_box {
    border-radius: 20px !important;
}

.image_1 {
    border-radius: 15px !important;
}

/* Service page cards */
.services-bar .card {
    border-radius: 20px !important;
}

.services-bar .card .card-img img {
    border-radius: 20px 20px 0 0 !important;
}

.services-bar .card-body {
    border-radius: 0 0 20px 20px !important;
}

/* Contact page elements */
.bg-contact {
    border-radius: 15px !important;
}

.form-floating > .form-control {
    border-radius: 15px !important;
}

.form-floating > label {
    border-radius: 15px !important;
}

/* Team page elements */
.responsive-img {
    border-radius: 15px !important;
}

/* Testimonial page elements */
.carousel-item .col-lg-6 {
    border-radius: 20px !important;
}

/* Portfolio page elements */
.portifolio {
    border-radius: 20px !important;
}

.truncate {
    border-radius: 15px !important;
}

/* Service cards in services page */
.card.h-100 {
    border-radius: 20px !important;
}

.card-img {
    border-radius: 20px 20px 0 0 !important;
}

.card-body {
    border-radius: 0 0 20px 20px !important;
}

/* Contact information containers */
.d-flex.align-items-center.bg-contact {
    border-radius: 15px !important;
}

/* Icon containers in contact info */
.d-flex.flex-shrink-0.align-items-center.justify-content-center {
    border-radius: 15px !important;
}

/* Team member images and containers */
.team-wrap .team-member {
    border-radius: 15px !important;
}

.team-wrap .team-img {
    border-radius: 15px !important;
}

/* Additional form elements */
textarea.form-control {
    border-radius: 15px !important;
}

input.form-control {
    border-radius: 15px !important;
}

/* Portfolio section containers */
section.portifolio {
    border-radius: 20px !important;
}

/* Any remaining image containers */
.position-relative.d-block.overflow-hidden {
    border-radius: 20px !important;
}

/* Service boxes in about page */
.service-box .services_box {
    border-radius: 20px !important;
}

/* Layout padding containers */
.layout_padding {
    border-radius: 20px !important;
}

/* Services section containers */
.services_section_2 {
    border-radius: 20px !important;
}

/* Additional card elements */
.card-img-top {
    border-radius: 20px 20px 0 0 !important;
}

.card-img-bottom {
    border-radius: 0 0 20px 20px !important;
}

/* Form floating labels */
.form-floating {
    border-radius: 15px !important;
}

/* Contact page specific icons */
.bg-contact .rounded {
    border-radius: 15px !important;
}

/* 404 page elements if any */
.error-page {
    border-radius: 20px !important;
}

/* Ensure all team certification logos are rounded */
.team-member .team-img .responsive-img {
    border-radius: 15px !important;
}

/* Portfolio overlay text boxes */
.bg-white.text-center.position-absolute.top-50.start-50.translate-middle {
    border-radius: 15px !important;
}

/* Service page specific card styling */
.services-bar .container .row .col-lg-4 .card {
    border-radius: 20px !important;
    overflow: hidden;
}

/* Make sure all images in cards are rounded */
.card .img-fluid {
    border-radius: 20px 20px 0 0 !important;
}

/* Contact form submit button */
.button-outline2.w-100 {
    border-radius: 15px !important;
}

/* Testimonial carousel items */
.carousel-item .col-lg-6.text-start {
    border-radius: 20px !important;
}

/* End of additional page-specific rounded corners */
/* ============================================== */

/* Footer rounded background styling */
/* ================================= */

/* Make the footer section itself rounded */
#footer {
    border-radius: 9px 9px 0 0 !important; /* 40% reduction from 15px */
    margin-top: 6px; /* 40% reduction from 10px */
    overflow: hidden; /* Ensures content stays within rounded bounds */
    min-height: auto; /* Ensure footer doesn't have unnecessary height */
    line-height: 1.1; /* Tighter line height for compactness */
}

/* Make the footer background rounded */
footer.bg-danger {
    border-radius: 9px 9px 0 0 !important; /* 40% reduction from 15px */
    margin: 0;
    padding: 0.18rem 0; /* 40% reduction from 0.3rem */
    min-height: auto; /* Ensure no unnecessary height */
    line-height: 1.1; /* Tighter line height */
}

/* Alternative approach - target all footer sections */
section#footer footer {
    border-radius: 25px 25px 0 0 !important;
}

/* Ensure footer container fits properly within rounded footer */
#footer .container {
    border-radius: 15px 15px 0 0 !important; /* 40% reduction from 25px */
}

/* Make sure footer columns work well with rounded design */
#footer .footer-column {
    border-radius: 9px !important; /* 40% reduction from 15px */
    padding: 0.6rem; /* 40% reduction from 1rem */
}

/* Ensure footer logo stays rounded */
#footer .img-fluid {
    border-radius: 15px !important;
}

/* Footer Logo Responsive Styles */
#footer .footer-logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.1rem 0; /* Further reduced to minimize space between email and logo */
    margin-top: 0.2rem !important; /* Override Bootstrap mt-3 class for tighter spacing */
}

#footer .footer-logo-container img {
    max-width: 100%;
    height: auto;
    max-height: 55px; /* Increased from 45px for better visibility */
    width: auto;
    transition: all 0.3s ease;
}

/* Override Bootstrap mt-3 class to reduce space between email and logo */
#footer .row.justify-content-center.mt-3 {
    margin-top: 0.2rem !important; /* Much smaller than Bootstrap's 1rem */
}

/* Responsive footer logo sizing */
@media (max-width: 991.98px) {
    #footer .footer-logo-container img {
        max-height: 48px; /* Increased from 40px for better visibility */
        max-width: 90%;
    }

    #footer .footer-logo-container {
        padding: 0.08rem 0; /* Further reduced padding */
        margin-top: 0.15rem !important; /* Reduced spacing for medium screens */
    }

    #footer .row.justify-content-center.mt-3 {
        margin-top: 0.15rem !important; /* Reduced spacing for medium screens */
    }
}

@media (max-width: 767.98px) {
    #footer .footer-logo-container img {
        max-height: 18px; /* Increased from 12px for better visibility */
        max-width: 85%; /* Slightly increased width allowance */
    }

    #footer .footer-logo-container {
        padding: 0.03rem 0; /* Additional 40% reduction from 0.05rem */
    }

    /* Enhanced compact text for medium-small screens */
    #footer .footer-title {
        font-size: 0.42rem; /* Additional 40% reduction from 0.7rem */
        margin-bottom: 0.07rem; /* Additional 40% reduction from 0.12rem */
        line-height: 1.05;
    }

    #footer .nav-link {
        font-size: 0.36rem; /* Additional 40% reduction from 0.6rem */
        padding: 0.04rem 0.07rem; /* Additional 40% reduction from 0.07rem 0.12rem */
        line-height: 1.05;
    }

    #footer .footer-contact-item {
        min-height: 0.4rem; /* Additional 40% reduction from 0.66rem */
        font-size: 0.36rem; /* Additional 40% reduction from 0.6rem */
        margin: 0.03rem 0.05rem; /* Additional 40% reduction from 0.05rem 0.09rem */
    }

    footer {
        padding: 0.07rem 0 0.04rem 0 !important; /* Additional 40% reduction from 0.12rem 0 0.06rem */
    }

    #footer .footer-column {
        padding: 0.04rem !important; /* Additional 40% reduction from 0.07rem */
    }
}

@media (max-width: 575.98px) {
    #footer .footer-logo-container img {
        max-height: 12px; /* Increased from 8px for better visibility */
        max-width: 80%; /* Increased width allowance for larger logo */
    }

    #footer .footer-logo-container {
        padding: 0.01rem 0; /* Additional 40% reduction from 0.02rem */
        margin-top: 0.03rem !important; /* Additional 40% reduction from 0.05rem */
    }

    #footer .row.justify-content-center.mt-3 {
        margin-top: 0.03rem !important; /* Additional 40% reduction from 0.05rem */
    }

    /* Ultra-compact text for small screens */
    #footer .footer-title {
        font-size: 0.36rem; /* Additional 40% reduction from 0.6rem */
        margin-bottom: 0.05rem; /* Additional 40% reduction from 0.09rem */
        line-height: 1.02;
    }

    #footer .nav-link {
        font-size: 0.3rem; /* Additional 40% reduction from 0.5rem */
        padding: 0.04rem 0.05rem; /* Additional 40% reduction from 0.06rem 0.09rem */
        line-height: 1.02;
    }

    #footer .footer-contact-item {
        min-height: 0.36rem; /* Additional 40% reduction from 0.6rem */
        font-size: 0.3rem; /* Additional 40% reduction from 0.5rem */
        margin: 0.02rem 0.04rem; /* Additional 40% reduction from 0.03rem 0.06rem */
        padding: 0.04rem 0.07rem; /* Additional 40% reduction from 0.06rem 0.12rem */
    }

    footer {
        padding: 0.05rem 0 0.03rem 0 !important; /* Additional 40% reduction from 0.09rem 0 0.05rem */
    }

    #footer .footer-column {
        padding: 0.04rem !important; /* Additional 40% reduction from 0.06rem */
    }

    #footer .contact-info-overlay {
        padding: 0.05rem 0.05rem; /* Additional 40% reduction from 0.09rem 0.09rem */
        margin: 0.02rem 0; /* Additional 40% reduction from 0.03rem 0 */
    }

    #footer .logo-overlay {
        padding: 0.03rem; /* Additional 40% reduction from 0.05rem */
        margin: 0.02rem 0; /* Additional 40% reduction from 0.03rem 0 */
    }
}

@media (max-width: 480px) {
    #footer .footer-logo-container img {
        max-height: 12px; /* Increased from 8px for better visibility */
        max-width: 75%; /* Increased width allowance for larger logo */
    }

    #footer .footer-logo-container {
        padding: 0.01rem 0; /* Additional 40% reduction from 0.02rem */
    }

    /* Super-compact text for very small screens */
    #footer .footer-title {
        font-size: 0.33rem; /* Additional 40% reduction from 0.55rem */
        margin-bottom: 0.04rem; /* Additional 40% reduction from 0.07rem */
        line-height: 1.02;
    }

    #footer .nav-link {
        font-size: 0.27rem; /* Additional 40% reduction from 0.45rem */
        padding: 0.03rem 0.04rem; /* Additional 40% reduction from 0.05rem 0.07rem */
        line-height: 1.02;
    }

    #footer .footer-contact-item {
        min-height: 0.32rem; /* Additional 40% reduction from 0.54rem */
        font-size: 0.27rem; /* Additional 40% reduction from 0.45rem */
        margin: 0.01rem 0.03rem; /* Additional 40% reduction from 0.02rem 0.05rem */
        padding: 0.03rem 0.05rem; /* Additional 40% reduction from 0.05rem 0.09rem */
    }

    footer {
        padding: 0.04rem 0 0.02rem 0 !important; /* Additional 40% reduction from 0.07rem 0 0.04rem */
    }

    #footer .footer-column {
        padding: 0.03rem !important; /* Additional 40% reduction from 0.05rem */
    }

    #footer .contact-info-overlay {
        padding: 0.04rem 0.04rem; /* Additional 40% reduction from 0.06rem 0.06rem */
        margin: 0.01rem 0; /* Additional 40% reduction from 0.02rem 0 */
    }

    #footer .logo-overlay {
        padding: 0.02rem; /* Additional 40% reduction from 0.04rem */
        margin: 0.01rem 0; /* Additional 40% reduction from 0.02rem 0 */
    }
}

@media (max-width: 360px) {
    #footer .footer-logo-container img {
        max-height: 10px; /* Increased from 7px for better visibility */
        max-width: 70%; /* Increased width allowance for larger logo */
    }

    #footer .footer-logo-container {
        padding: 0.006rem 0; /* Additional 40% reduction from 0.01rem */
        margin-top: 0.018rem !important; /* Additional 40% reduction from 0.03rem */
    }

    #footer .row.justify-content-center.mt-3 {
        margin-top: 0.018rem !important; /* Additional 40% reduction from 0.03rem */
    }

    /* Micro-compact text for very small screens */
    #footer .footer-title {
        font-size: 0.33rem; /* Additional 40% reduction from 0.55rem */
        margin-bottom: 0.036rem; /* Additional 40% reduction from 0.06rem */
        line-height: 1.01;
    }

    #footer .nav-link {
        font-size: 0.27rem; /* Additional 40% reduction from 0.45rem */
        padding: 0.03rem 0.04rem; /* Additional 40% reduction from 0.05rem 0.07rem */
        line-height: 1.01;
    }

    #footer .footer-contact-item {
        min-height: 0.29rem; /* Additional 40% reduction from 0.48rem */
        font-size: 0.27rem; /* Additional 40% reduction from 0.45rem */
        margin: 0.012rem 0.018rem; /* Additional 40% reduction from 0.02rem 0.03rem */
        padding: 0.018rem 0.036rem; /* Additional 40% reduction from 0.03rem 0.06rem */
        border-radius: 1px; /* Smaller radius */
    }

    footer {
        padding: 0.042rem 0 0.018rem 0 !important; /* Additional 40% reduction from 0.07rem 0 0.03rem */
    }

    #footer .footer-column {
        padding: 0.018rem !important; /* Additional 40% reduction from 0.03rem */
    }

    #footer .contact-info-overlay {
        padding: 0.03rem 0.03rem; /* Additional 40% reduction from 0.05rem 0.05rem */
        margin: 0.012rem 0; /* Additional 40% reduction from 0.02rem 0 */
        border-radius: 2px; /* Smaller radius */
    }

    #footer .logo-overlay {
        padding: 0.03rem; /* 40% reduction from 0.05rem */
        margin: 0.02rem 0; /* 40% reduction from 0.03rem 0 */
        border-radius: 4px; /* Smaller radius */
    }

    #footer {
        margin-top: 3px; /* 40% reduction from 5px */
        border-radius: 8px 8px 0 0 !important; /* Smaller radius */
    }

    footer.bg-danger {
        border-radius: 8px 8px 0 0 !important; /* Smaller radius */
        padding: 0.07rem 0; /* Match footer padding */
    }
}

/* Additional footer elements rounded */
#footer .nav-link {
    border-radius: 8px !important;
    transition: background-color 0.3s ease;
}

#footer .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px !important;
}

/* Footer title styling */
#footer .footer-title {
    border-radius: 8px !important;
    padding: 0.5rem;
}

/* Footer White Overlay Styles */
/* =========================== */

/* Footer overlay - background removed */
#footer .footer-overlay {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    border-radius: 9px; /* 40% reduction from 15px */
    padding: 0.9rem; /* 40% reduction from 1.5rem */
    margin: 0.3rem 0; /* 40% reduction from 0.5rem */
    box-shadow: none;
    transition: all 0.3s ease;
}

#footer .footer-overlay:hover {
    background: none;
    transform: none;
    box-shadow: none;
}

/* Contact info overlay - background removed */
#footer .contact-info-overlay {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    border-radius: 6px; /* 40% reduction from 10px */
    padding: 0.15rem 0.15rem; /* 40% reduction from 0.25rem */
    margin: 0.06rem 0; /* 40% reduction from 0.1rem */
    box-shadow: none;
    transition: all 0.3s ease;
}

#footer .contact-info-overlay:hover {
    background: none;
    transform: none;
    box-shadow: none;
}

/* Logo container overlay - background removed */
#footer .logo-overlay {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border: none;
    border-radius: 6px; /* 40% reduction from 10px */
    padding: 0.09rem; /* 40% reduction from 0.15rem */
    margin: 0.06rem 0; /* 40% reduction from 0.1rem */
    box-shadow: none;
    transition: all 0.3s ease;
}

#footer .logo-overlay:hover {
    background: none;
    transform: none;
    box-shadow: none;
}

/* Enhanced text styling for overlay elements */
#footer .footer-overlay .footer-title,
#footer .contact-info-overlay .footer-title {
    color: #fff !important;
    font-weight: 600;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    margin-bottom: 0.5rem;
}

#footer .footer-overlay .nav-link,
#footer .contact-info-overlay .nav-link {
    color: rgba(255, 255, 255, 0.95) !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

#footer .footer-overlay .nav-link:hover,
#footer .contact-info-overlay .nav-link:hover {
    color: #fff !important;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
    transform: translateX(3px);
}

/* Icon styling within overlays */
#footer .footer-overlay i,
#footer .contact-info-overlay i {
    color: rgba(255, 255, 255, 0.9);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
}

#footer .footer-overlay .nav-link:hover i,
#footer .contact-info-overlay .nav-link:hover i {
    color: #fff;
    transform: scale(1.1);
}

/* Responsive adjustments for overlays */
@media (max-width: 767.98px) {
    #footer .footer-overlay,
    #footer .contact-info-overlay {
        padding: 0.48rem 0.48rem; /* 40% reduction from 0.8rem */
        margin: 0.24rem 0; /* 40% reduction from 0.4rem */
        border-radius: 9px; /* 40% reduction from 15px */
    }

    #footer .logo-overlay {
        padding: 0.24rem; /* 40% reduction from 0.4rem */
        margin: 0.24rem 0; /* 40% reduction from 0.4rem */
        border-radius: 12px; /* 40% reduction from 20px */
    }
}

@media (max-width: 575.98px) {
    #footer .footer-overlay,
    #footer .contact-info-overlay {
        padding: 0.36rem 0.36rem; /* 40% reduction from 0.6rem */
        margin: 0.18rem 0; /* 40% reduction from 0.3rem */
        border-radius: 7px; /* 40% reduction from 12px */
    }

    #footer .logo-overlay {
        padding: 0.18rem; /* 40% reduction from 0.3rem */
        margin: 0.18rem 0; /* 40% reduction from 0.3rem */
        border-radius: 9px; /* 40% reduction from 15px */
    }
}

/* Footer Text Responsive Styles */
/* ============================== */

/* Base footer text styling */
#footer .footer-title {
    font-size: 1rem; /* Further reduced from 1.1rem */
    font-weight: 600;
    line-height: 1.2; /* Further reduced from 1.3 */
    margin-bottom: 0.3rem; /* Further reduced from 0.5rem */
    text-align: center;
    letter-spacing: 0.2px; /* Further reduced from 0.3px */
}

#footer .nav-link {
    font-size: 0.8rem; /* Further reduced from 0.9rem */
    line-height: 1.3; /* Further reduced from 1.4 */
    padding: 0.2rem 0.3rem; /* Further reduced from 0.3rem 0.5rem */
    text-align: center;
    word-wrap: break-word;
    hyphens: auto;
}

#footer .nav-link i {
    font-size: 0.8rem; /* Further reduced from 0.9rem */
    margin-right: 0.3rem; /* Further reduced from 0.4rem */
    flex-shrink: 0;
}

/* Contact info responsive layout */
#footer .contact-info-overlay .nav-item {
    margin-bottom: 0.25rem;
}

#footer .contact-info-overlay .nav-item:last-child {
    margin-bottom: 0;
}

/* Force horizontal layout for contact info on ALL screen sizes */
#footer .contact-info-overlay .nav-item.d-flex {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.3rem;
    flex-wrap: nowrap;
}

#footer .contact-info-overlay .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    width: auto;
    margin: 0.05rem !important;
}

#footer .contact-info-overlay .nav-link i {
    order: -1; /* Ensure icon comes before text */
    margin-right: 0.4rem !important; /* Increased from 0.2rem for better spacing */
    margin-bottom: 0 !important;
    flex-shrink: 0;
}

/* Responsive text sizing for different screen sizes */

/* Large screens (≥1200px) */
@media (min-width: 1200px) {
    #footer .footer-title {
        font-size: 1.5rem;
    }

    #footer .nav-link {
        font-size: 1.1rem;
    }

    #footer .nav-link i {
        font-size: 1.1rem;
        margin-right: 0.6rem;
    }
}

/* Medium-Large screens (992px - 1199px) */
@media (max-width: 1199.98px) and (min-width: 992px) {
    #footer .footer-title {
        font-size: 1.3rem;
    }

    #footer .nav-link {
        font-size: 1.05rem;
    }

    #footer .nav-link i {
        font-size: 1.05rem;
        margin-right: 0.55rem;
    }
}

/* Medium screens (768px - 991px) */
@media (max-width: 991.98px) and (min-width: 768px) {
    #footer .footer-title {
        font-size: 1.2rem;
        margin-bottom: 0.4rem;
    }

    #footer .nav-link {
        font-size: 1rem;
        padding: 0.4rem 0.6rem;
    }

    #footer .nav-link i {
        font-size: 1rem;
        margin-right: 0.5rem;
    }

    /* Force horizontal layout for contact info on medium screens */
    #footer .contact-info-overlay .nav-item.d-flex {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.5rem;
        flex-wrap: wrap;
    }

    #footer .contact-info-overlay .nav-link {
        margin: 0.1rem !important;
        width: auto;
        justify-content: center;
        flex: 0 1 auto;
    }
}

/* Small screens (576px - 767px) */
@media (max-width: 767.98px) and (min-width: 576px) {
    #footer .footer-title {
        font-size: 1.1rem;
        margin-bottom: 0.3rem;
        line-height: 1.3;
    }

    #footer .nav-link {
        font-size: 0.95rem;
        padding: 0.4rem 0.5rem;
        line-height: 1.4;
    }

    #footer .nav-link i {
        font-size: 0.95rem;
        margin-right: 0.4rem;
    }

    /* Force horizontal layout for contact info on small screens */
    #footer .contact-info-overlay .nav-item.d-flex {
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.4rem;
        flex-wrap: wrap;
    }
    
    #footer .contact-info-overlay .nav-link {
        margin: 0.1rem !important;
        width: auto;
        justify-content: center;
        flex: 0 1 auto;
    }
}
}

/* Extra small screens (≤575px) */
@media (max-width: 575.98px) {
    #footer .footer-title {
        font-size: 1rem;
        margin-bottom: 0.25rem;
        line-height: 1.3;
        padding: 0 0.5rem;
    }

    #footer .nav-link {
        font-size: 0.9rem;
        padding: 0.2rem 0.3rem;
        line-height: 1.4;
        margin: 0.1rem 0 !important;
    }

    #footer .nav-link i {
        font-size: 0.9rem;
        margin-right: 0.4rem;
    }

    /* Force horizontal layout on small screens */
    #footer .contact-info-overlay .nav-item.d-flex {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.3rem;
        flex-wrap: wrap;
    }

    #footer .contact-info-overlay .nav-link {
        width: auto;
        justify-content: center;
        text-align: center;
        flex: 0 1 auto;
        margin: 0.05rem !important;
    }

    /* Adjust overlay padding for small screens */
    #footer .contact-info-overlay {
        padding: 1rem 0.5rem !important;
    }
}

/* Very small screens (≤480px) */
@media (max-width: 480px) {
    #footer .footer-title {
        font-size: 0.95rem;
        margin-bottom: 0.5rem;
        line-height: 1.2;
        padding: 0 0.3rem;
    }

    #footer .nav-link {
        font-size: 0.85rem;
        padding: 0.25rem 0.3rem;
        line-height: 1.3;
        margin: 0.15rem 0 !important;
    }

    #footer .nav-link i {
        font-size: 0.85rem;
        margin-right: 0.3rem;
    }

    /* Compact layout for very small screens */
    #footer .contact-info-overlay {
        padding: 0.8rem 0.3rem !important;
        margin: 0.4rem 0 !important;
    }

    /* Ensure text doesn't overflow */
    #footer .nav-link {
        word-break: break-word;
        overflow-wrap: break-word;
    }
}

/* Tiny screens (≤360px) */
@media (max-width: 360px) {
    #footer .footer-title {
        font-size: 0.9rem;
        margin-bottom: 0.4rem;
        line-height: 1.2;
        padding: 0 0.2rem;
    }

    #footer .nav-link {
        font-size: 0.8rem;
        padding: 0.2rem 0.25rem;
        line-height: 1.3;
        margin: 0.1rem 0 !important;
    }

    #footer .nav-link i {
        font-size: 0.8rem;
        margin-right: 0.25rem;
    }

    /* Ultra-compact layout */
    #footer .contact-info-overlay {
        padding: 0.6rem 0.2rem !important;
        margin: 0.3rem 0 !important;
        border-radius: 10px !important;
    }

    /* Ensure readability on tiny screens */
    #footer .nav-link {
        min-height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* Footer contact item styling */
#footer .footer-contact-item {
    margin: 0.06rem 0.12rem; /* Additional 40% reduction from 0.1rem 0.2rem */
    transition: all 0.3s ease;
    border-radius: 2px; /* Additional 40% reduction from 4px */
    min-height: 0.9rem; /* Additional 40% reduction from 1.5rem */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    font-size: 0.48rem; /* Additional 40% reduction from 0.8rem */
}

#footer .footer-contact-item:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateY(-1px);
}

#footer .footer-contact-item i {
    margin-right: 0.5rem; /* Increased from 0.3rem for better spacing */
    flex-shrink: 0;
    width: 0.72rem; /* Additional 40% reduction from 1.2rem */
    text-align: center;
}

#footer .contact-text {
    flex: 1;
    word-break: break-word;
    overflow-wrap: break-word;
    text-align: left;
    display: inline-block !important;
    vertical-align: middle !important;
}

/* Responsive contact item adjustments */
@media (max-width: 991.98px) {
    #footer .footer-contact-item {
        margin: 0.18rem 0; /* Additional 40% reduction from 0.3rem */
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    #footer .contact-text {
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    #footer .footer-contact-item {
        margin: 0.12rem 0; /* Additional 40% reduction from 0.2rem */
        min-height: 1.32rem; /* Additional 40% reduction from 2.2rem */
        padding: 0.18rem 0.3rem; /* Additional 40% reduction from 0.3rem 0.5rem */
    }

    #footer .footer-contact-item i {
        margin-right: 0.4rem; /* Increased from 0.24rem for better spacing */
        width: 0.6rem; /* Additional 40% reduction from 1rem */
    }
}

@media (max-width: 575.98px) {
    #footer .footer-contact-item {
        margin: 0.09rem 0; /* Additional 40% reduction from 0.15rem */
        min-height: 1.2rem; /* Additional 40% reduction from 2rem */
        padding: 0.15rem 0.24rem; /* Additional 40% reduction from 0.25rem 0.4rem */
        font-size: 0.54rem; /* Additional 40% reduction from 0.9rem */
    }

    #footer .footer-contact-item i {
        margin-right: 0.3rem; /* Increased from 0.18rem for better spacing */
        width: 0.54rem; /* Additional 40% reduction from 0.9rem */
        font-size: 0.54rem; /* Additional 40% reduction from 0.9rem */
    }
}

@media (max-width: 480px) {
    #footer .footer-contact-item {
        margin: 0.06rem 0; /* Additional 40% reduction from 0.1rem */
        min-height: 1.08rem; /* Additional 40% reduction from 1.8rem */
        padding: 0.12rem 0.18rem; /* Additional 40% reduction from 0.2rem 0.3rem */
        font-size: 0.51rem; /* Additional 40% reduction from 0.85rem */
    }

    #footer .footer-contact-item i {
        margin-right: 0.15rem; /* Additional 40% reduction from 0.25rem */
        width: 0.48rem; /* Additional 40% reduction from 0.8rem */
        font-size: 0.51rem; /* Additional 40% reduction from 0.85rem */
    }
}

@media (max-width: 360px) {
    #footer .footer-contact-item {
        margin: 0.03rem 0; /* Additional 40% reduction from 0.05rem */
        min-height: 0.96rem; /* Additional 40% reduction from 1.6rem */
        padding: 0.09rem 0.15rem; /* Additional 40% reduction from 0.15rem 0.25rem */
        font-size: 0.48rem; /* Additional 40% reduction from 0.8rem */
    }

    #footer .footer-contact-item i {
        margin-right: 0.12rem; /* Additional 40% reduction from 0.2rem */
        width: 0.42rem; /* Additional 40% reduction from 0.7rem */
        font-size: 0.48rem; /* Additional 40% reduction from 0.8rem */
    }
}

/* Text readability enhancements */
#footer .footer-title,
#footer .nav-link,
#footer .contact-text {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Improved text shadows for better readability */
@media (max-width: 767.98px) {
    #footer .footer-title {
        text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    }

    #footer .nav-link,
    #footer .contact-text {
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    }
}

/* Accessibility improvements */
#footer .footer-contact-item:focus {
    outline: 2px solid rgba(255, 255, 255, 0.5);
    outline-offset: 2px;
}

/* Print styles */
@media print {
    #footer .footer-title {
        font-size: 14pt;
        color: #000 !important;
    }

    #footer .nav-link,
    #footer .contact-text {
        font-size: 12pt;
        color: #000 !important;
    }

    #footer .footer-overlay,
    #footer .contact-info-overlay,
    #footer .logo-overlay {
        background: none !important;
        border: 1px solid #ccc !important;
        box-shadow: none !important;
    }
}

/* End footer rounded styling */
/* ========================== */

/* Hamburger Menu Button Alignment Fix for Small Screens */
/* ====================================================== */

/* Default hamburger menu positioning */
.navbar-toggler {
    margin-right: 1.5rem;
    padding: 0.25rem 0.75rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

/* Responsive hamburger menu positioning and navbar alignment */
@media (max-width: 991.98px) {
    .navbar {
        padding: 0.5rem 1rem !important;
        align-items: center !important;
        justify-content: center !important; /* Center the navbar content */
    }
    
    /* Create a centered container for logo and hamburger */
    .navbar-brand {
        margin-right: 1rem !important;
        margin-left: 0 !important;
        padding: 0 !important;
        flex-shrink: 0;
    }
    
    .navbar-toggler {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
    
    .navbar-collapse {
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 767.98px) {
    .navbar {
        padding: 0.4rem 0.8rem !important;
        justify-content: center !important;
    }
    
    .navbar-brand {
        margin-right: 0.75rem !important;
    }
    
    .navbar-toggler {
        padding: 0.4rem 0.6rem !important;
    }
}

@media (max-width: 575.98px) {
    .navbar {
        padding: 0.3rem 0.6rem !important;
        justify-content: center !important;
    }
    
    .navbar-brand {
        margin-right: 0.5rem !important;
    }
    
    .navbar-toggler {
        padding: 0.3rem 0.5rem !important;
    }
}

/* Force proper navbar flexbox behavior and centering on all small screens */
@media (max-width: 991.98px) {
    .navbar.navbar-expand-lg {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Create a flex container to hold logo and hamburger together */
    .navbar.navbar-expand-lg::before {
        content: '';
        flex: 1;
    }
    
    .navbar.navbar-expand-lg::after {
        content: '';
        flex: 1;
    }
    
    .navbar-brand.d-flex {
        align-items: center !important;
        order: 1;
    }
    
    .navbar-toggler {
        order: 2;
    }
    
    .navbar-collapse {
        order: 3;
        flex-basis: 100%;
    }
}

/* Alternative centered layout approach */
@media (max-width: 991.98px) {
    .navbar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        max-width: 600px; /* Limit width for better centering */
        margin: 0 auto !important; /* Center the entire navbar */
    }
    
    .navbar-brand {
        flex: 0 0 auto;
    }
    
    .navbar-toggler {
        flex: 0 0 auto;
    }
}

/* End hamburger menu alignment fix */
/* ================================= */

/* Hamburger Menu Right Alignment for Small Screens */
/* ================================================ */

@media (max-width: 991.98px) {
    .navbar {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: wrap !important;
    }
    
    .navbar-brand {
        order: 1;
        margin-right: 0 !important;
    }
    
    .navbar-toggler {
        order: 2;
        margin-left: auto !important;
        margin-right: 0 !important;
    }
    
    .navbar-collapse {
        order: 3;
        flex-basis: 100%;
        width: 100%;
    }
}

@media (max-width: 767.98px) {
    .navbar {
        padding: 0.5rem 1rem !important;
    }
    
    .navbar-toggler {
        padding: 0.375rem 0.75rem !important;
    }
}

@media (max-width: 575.98px) {
    .navbar {
        padding: 0.4rem 0.8rem !important;
    }
    
    .navbar-toggler {
        padding: 0.25rem 0.5rem !important;
    }
}

/* End Hamburger Menu Alignment */
/* ============================ */

/* Force Full Width Header Coverage */
/* ================================ */
/* Ensure navbar always covers full width no matter what */
.navbar.fixed-top,
.navbar.sticky-top,
nav.navbar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    position: fixed !important;
    top: 0 !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
}

/* Ensure no container restrictions affect navbar width */
.navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Force navbar to span edge to edge */
.navbar {
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ensure navbar content doesn't break layout */
@media (max-width: 991.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

@media (max-width: 767.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

@media (max-width: 575.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

/* End Force Full Width Header Coverage */
/* ==================================== */

/* Certification Logos Layout Control */
/* ================================== */
/* Ensure certification logos maintain proper layout at all screen sizes */

/* Force 2 logos per row on smallest screens (up to 575px) */
@media (max-width: 575.98px) {
    .team-wrap.col-6 {
        flex: 0 0 auto !important;
        width: 50% !important;
        max-width: 50% !important;
    }
    
    /* Ensure proper spacing for certification logos */
    .team-wrap .team-member {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Force navbar to span edge to edge */
.navbar {
    border-radius: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Ensure navbar content doesn't break layout */
@media (max-width: 991.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

@media (max-width: 767.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

@media (max-width: 575.98px) {
    .navbar {
        width: 100% !important;
        position: fixed !important;
    }
}

/* End Force Full Width Header Coverage */
/* ==================================== */

/* Certification Logos Layout Control */
/* ================================== */
/* Ensure certification logos maintain proper layout at all screen sizes */

/* Force 2 logos per row on smallest screens (up to 575px) */
@media (max-width: 575.98px) {
    .team-wrap.col-6 {
        flex: 0 0 auto !important;
        width: 50% !important;
        max-width: 50% !important;
    }
    
    /* Ensure proper spacing for certification logos */
    .team-wrap .team-member {
        margin-bottom: 1rem;
        padding: 0.5rem;
    }
    
    .team-wrap .team-img {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 60px;
    }
    
    .team-wrap .responsive-img {
        width: 80% !important;
        max-width: 100px !important;
        height: auto !important;
    }
}

/* Small screens (576px to 767px) - maintain 2 per row */
@media (min-width: 576px) and (max-width: 767.98px) {
    .team-wrap.col-6 {
        flex: 0 0 auto !important;
        width: 50% !important;
        max-width: 50% !important;
    }
}

/* Medium screens and up (768px+) - 4 per row as designed */
@media (min-width: 768px) {
    .team-wrap.col-md-3 {
        flex: 0 0 auto !important;
        width: 25% !important;
        max-width: 25% !important;
    }
}

/* Large screens (992px+) - maintain 4 per row */
@media (min-width: 992px) {
    .team-wrap.col-md-3 {
        flex: 0 0 auto !important;
        width: 25% !important;
        max-width: 25% !important;
    }
}

/* Extra large screens (1200px+) - maintain 4 per row */
@media (min-width: 1200px) {
    .team-wrap.col-md-3 {
        flex: 0 0 auto !important;
        width: 25% !important;
        max-width: 25% !important;
    }
}

/* Ensure consistent styling across all certification logo sections */
.team-wrap {
    margin-bottom: 0.75rem;
}

.team-wrap .team-member {
    padding: 0.75rem 0.5rem;
    transition: transform 0.3s ease;
}

.team-wrap .team-member:hover {
    transform: translateY(-2px);
}

.team-wrap .team-img {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 70px;
}

.team-wrap .responsive-img {
    transition: all 0.3s ease;
    filter: grayscale(30%);
}

.team-wrap .responsive-img:hover {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* End Certification Logos Layout Control */
/* ===================================== */

/* === SERVICES HERO SECTION === */
.services-hero-section {
    position: relative;
    min-height: 60vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    padding: 120px 0 30px; /* Increased top padding to account for fixed navbar */
    background: linear-gradient(rgba(26,35,126,0.7), rgba(13,71,161,0.6)), url('../img/IMG-20241010-WA0062.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-image: 
        radial-gradient(circle at 20% 20%, rgba(255,255,255,0.1) 1px, transparent 1px),
        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.08) 1px, transparent 1px),
        radial-gradient(circle at 40% 60%, rgba(255,255,255,0.05) 2px, transparent 2px);
    background-size: 100px 100px, 150px 150px, 200px 200px;
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: none;
    z-index: 2;
    display: none;
}

.hero-particles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

.particle {
    position: absolute;
    width: 3px;
    height: 3px;
    background: rgba(255,255,255,0.6);
    border-radius: 50%;
    animation: particleFloat 6s ease-in-out infinite;
}

.particle:nth-child(1) {
    top: 20%;
    left: 10%;
    animation-delay: -1s;
    animation-duration: 8s;
}

.particle:nth-child(2) {
    top: 60%;
    left: 80%;
    animation-delay: -3s;
    animation-duration: 10s;
}

.particle:nth-child(3) {
    top: 40%;
    left: 60%;
    animation-delay: -2s;
    animation-duration: 7s;
}

.particle:nth-child(4) {
    top: 80%;
    left: 20%;
    animation-delay: -4s;
    animation-duration: 9s;
}

.particle:nth-child(5) {
    top: 30%;
    left: 90%;
    animation-delay: -1.5s;
    animation-duration: 6s;
}

.hero-content {
    position: relative;
    z-index: 10;
    animation: heroContentSlideUp 1.2s cubic-bezier(0.4, 0, 0.2, 1) both;
    margin-top: 80px; /* Add top margin to push content below navbar */
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50px;
    padding: 8px 18px;
    font-size: 0.9rem;
    color: #ffffff;
    font-weight: 500;
    margin-bottom: 1.8rem;
    animation: heroContentSlideUp 1.4s cubic-bezier(0.4, 0, 0.2, 1) both;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.services-hero-title {
    font-size: clamp(2.5rem, 6vw, 4rem);
    font-weight: 800;
    line-height: 1.1;
    color: #ffffff;
    margin-bottom: 1.4rem;
    text-shadow: 0 2px 20px rgba(0,0,0,0.3);
    text-align: center;
    animation: heroLineSlideUp 0.8s cubic-bezier(0.4, 0, 0.2, 1) both;
    animation-delay: 0.2s;
}

.services-hero-description {
    font-size: clamp(1.1rem, 2.5vw, 1.3rem);
    line-height: 1.6;
    color: #ffffff;
    margin-bottom: 2.5rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    animation: heroContentSlideUp 1.6s cubic-bezier(0.4, 0, 0.2, 1) both;
}

@keyframes particleFloat {
    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.6; }
    25% { transform: translateY(-15px) translateX(8px); opacity: 1; }
    50% { transform: translateY(-8px) translateX(-4px); opacity: 0.8; }
    75% { transform: translateY(-12px) translateX(12px); opacity: 0.9; }
}

@keyframes heroContentSlideUp {
    0% { opacity: 0; transform: translateY(50px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes heroLineSlideUp {
    0% { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}

@media (max-width: 991.98px) {
    .services-hero-section {
        min-height: 55vh;
        padding: 100px 0 20px; /* Maintain navbar offset */
    }
    .hero-content {
        margin-top: 60px; /* Adjusted margin for medium screens */
    }
}

@media (max-width: 767.98px) {
    .services-hero-section {
        min-height: 50vh;
        padding: 90px 0 15px; /* Maintain navbar offset for tablets */
    }
    .hero-content {
        margin-top: 50px; /* Adjusted margin for tablets */
    }
}

@media (max-width: 575.98px) {
    .services-hero-section {
        min-height: 45vh;
        padding: 110px 0 10px; /* Increased mobile padding to prevent cutoff */
    }
    .hero-content {
        margin-top: 40px; /* Adjusted margin for mobile */
    }
    .hero-badge {
        font-size: 0.8rem;
        padding: 6px 14px;
    }
}

@media (max-width: 480px) {
    .services-hero-section {
        padding: 120px 0 10px; /* Even more padding for very small screens */
    }
    .hero-content {
        margin-top: 30px; /* Reduced margin for very small screens */
    }
}

@media (max-width: 360px) {
    .services-hero-section {
        padding: 130px 0 10px; /* Maximum padding for smallest screens */
    }
    .hero-content {
        margin-top: 20px; /* Minimal margin for smallest screens */
    }
}

@media (max-width: 767.98px) {
    .hero-section {
        min-height: 40vh;
        padding: 30px 0 20px;
    }
    .hero-buttons {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    .btn-hero-primary,
    .btn-hero-secondary {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        text-align: center;
        margin-bottom: 0.8rem;
    }
    .hero-stats {
        gap: 1.2rem;
        justify-content: space-around;
    }
    .stat-item {
        flex: 1;
        min-width: 90px;
        padding: 12px 15px;
    }
}

/* Responsive styles for contact info cards on Contact Us page */
@media (max-width: 991.98px) {
  .contact-info-row {
    display: flex;
    flex-direction: column !important;
    gap: 1.2rem;
    width: 100%;
    overflow-x: hidden;
  }
  .contact-info-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    box-sizing: border-box;
    padding: 1.2rem 1rem;
    flex-wrap: wrap;
    overflow-x: hidden;
  }
}
@media (max-width: 575.98px) {
  .contact-info-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-bottom: 1rem;
    text-align: center;
    justify-content: center;
    align-items: center;
    padding: 1.2rem 0.7rem;
    font-size: 1rem;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    box-sizing: border-box;
    flex-wrap: wrap;
  }
}

@media (max-width: 991.98px) {
  .navbar {
    min-height: 56px;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    align-items: center;
    display: flex;
  }
  .navbar-toggler {
    margin-top: 0;
    margin-bottom: 0;
    align-self: center;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .navbar-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .navbar-brand img {
    height: 112px;
    max-width: 440px;
    width: auto;
    object-fit: contain;
    transition: height 0.2s, max-width 0.2s;
  }
  @media (max-width: 991.98px) {
    .navbar-brand img {
      height: 96px;
      max-width: 360px;
    }
  }
  @media (max-width: 575.98px) {
    .navbar-brand img {
      height: 80px;
      max-width: 280px;
    }
  }
}

/* Responsive alignment for industry/service lists */
.industry-list, .row .nostyle {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  margin-bottom: 1.5rem;
}
.row .nostyle {
  flex-direction: column;
  align-items: flex-start !important;
  width: 100%;
  padding: 0;
}
.row .nostyle li {
  text-align: left !important;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  margin-bottom: 0.5rem;
  font-size: 1.08rem;
}
@media (max-width: 991.98px) {
  .industry-list, .row .nostyle {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.7rem;
  }
  .row .nostyle li {
    font-size: 1.1rem;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
  }
}

/* White background for supporting logo cards */
.cert-logo,
.team-img {
  background: #ffffff !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
  width: 110px !important;
  height: 110px !important;
  padding: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 1rem !important;
  aspect-ratio: 1 / 1 !important;
  transition: all 0.3s ease !important;
}

/* Remove filters and ensure logos are visible */
.cert-logo img,
.cert-img,
.team-img img,
.responsive-img {
  background: transparent !important;
  filter: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  max-width: 80% !important;
  max-height: 80% !important;
  object-fit: contain !important;
  transition: transform 0.3s ease !important;
}

/* Hover effects for logo containers */
.cert-logo:hover,
.team-img:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15) !important;
  border-color: #d1d5db !important;
}

.cert-logo:hover img,
.team-img:hover img {
  transform: scale(1.1) !important;
}

/* Glassmorphism background utility */
.glass-morph {
  background: rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.18);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem;
}
/* === Supporting logos with white backgrounds === */
.team-img img,
.responsive-img,
.cert-logo img,
.cert-img {
    width: 80% !important;
    max-width: 90px !important;
    height: auto !important;
    object-fit: contain !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 8px !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    filter: none !important;
}

/* Ensure logo containers have white backgrounds and proper styling */
.team-img,
.cert-logo {
    min-height: 110px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    overflow: visible !important;
    border: 2px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    padding: 8px !important;
}

/* Responsive adjustment for very small screens */
@media (max-width: 575.98px) {
    .team-img img,
    .responsive-img,
    .cert-logo img,
    .cert-img {
        max-width: 80px !important;
        width: 80% !important;
        padding: 4px 0 !important;
    }
    .team-img, .cert-logo {
        min-height: 60px !important;
    }
}
