:root{
    --bs-primary: #09B850!important;
    --bs-font-family: "Inter", sans-serif;
    --bs-danger-rgb: 138, 31, 33;
    --bs-line-height-base: 1.5;
    --bs-warning-rgb: 247, 195, 46;
    --bs-info-rgb: 23, 162, 184;
    --bs-light-rgb:248,248,248
}

body {
    font-family: var(--bs-font-family);
    /* overflow: hidden; */
    font-weight: 500;
}

body a:hover{
    color:var(--bs-primary)!important;
}

.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}
.bg-primary {
    --bs-bg-opacity: 1;
    background-color:var(--bs-primary)!important;
}
.bg-warning {
    --bs-bg-opacity: 1;
    background-color:var(--bs-warning)!important;
}
.bg-info {
    --bs-bg-opacity: 1;
    background-color:var(--bs-info)!important;
}


.btn {
    --bs-btn-font-family: var(--bs-font-family) ;
}

.btn {
    letter-spacing: 0.5px;
    /* position: relative; */
    overflow: hidden;
    outline: 0;
    margin-bottom: 6px;
}

.btn-xs {
    padding: 0.4rem 0.6rem;
    font-size: 0.6rem;
    line-height: 1.2;
    border-radius: 0.2rem;
}



.btn-close-white i{
    margin-top: -1rem;
    margin-right: -.5rem;
}

.btn-close-white:focus {
    outline: 0;
    box-shadow: none;
    opacity: none;
}


.btn-white {
    color: var(--bs-black) !important;
}

/* *::-webkit-scrollbar {
    width: .65rem;
} 
 
 *::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 0.063rem var(--bs-primary);
} 
 
 *::-webkit-scrollbar-thumb {
  background-color: var(--bs-primary);
} */

.navbar{
    z-index: 2;
    background: transparent;
   
}

.home.navbar{
    margin-bottom: -9.5rem;
}

/* .nav-link {
    color: var(--bs-white) !important;
    font-weight: normal !important;
} */

/* .nav-link.text-black {
    color: black !important;
} */


/* Default nav-link color (white) */
.nav-link {
    color: white !important;
    font-weight: normal !important;
}
/* .nav-link[href="home"] {
    color: var(--bs-primary) !important; /* Or any color you prefer */
    /* font-weight: bold;
} */ 

/* Navbar background and nav-link color when scrolled */
#newClass.scrolled {
    background-color: white !important;
    transition: background-color 0.3s ease-in-out;
}

/* Change nav-link color to black when scrolled */
#newClass.scrolled .nav-link {
    color: black !important;
}


/* Keep Home link active after scroll as well
#newClass.scrolled .nav-link[href="home"] {
    color: var(--bs-primary) !important;
    font-weight: bold;
} */

.nav-link.active {
    color: var(--bs-primary) !important; /* Highlighted color */
    font-weight: bold;
}

#newClass.scrolled .nav-link.active {
    color: var(--bs-primary) !important;
    font-weight: bold;
}

@media (max-width: 769px) {
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}



.nav-link:hover, .nav-item .dropdown-menu .dropdown-item:hover {
    color:var(--bs-primary)!important;
}
.text-custom {
    color: #606261 !important;
    font-weight: normal !important;
} 

.tef-hover {
    position: relative;
    z-index: 2;
}


.tef-hover:hover{
    color: var(--bs-primary) !important;
}


/* .nav-link.active {
    color: #a0342c !important;
} */





@media (max-width: 768px) {
    #banner-carousel .carousel-item {
        height: 40vh; /* Reduce height for smaller screens */
    }
}





.carousel-control-prev-icon, .carousel-control-next-icon {
    display: none;
    background-color: transparent;
}

.carousel-caption {
    z-index: 1;
}



/* .overlay-dark {
    opacity: .8;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.4) 10%, rgba(0, 0, 0, 0.4) 59%, rgb(0, 0, 0) 100%);
    border-radius: 0;
} */

.overlay-dark {
    opacity: .9;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.9) 20%, rgba(0, 0, 0, 0.4) 60%, rgb(0, 0, 0) 100%);
    border-radius: 0;
}



.nav-item .dropdown-menu .dropdown-item {
    font-size: .9rem;
}

.dropdown-menu {
    background-color: var(--bs-black);
}

.dropdown-item {
    width: 14rem !important;
}

.nav-item .dropdown-menu {
    border: 1px solid #101010;
}

.contact-icon {
    background: var(--bs-white);
    border-radius: 50%;
    padding: 1rem 1.15rem;
}

.avatar {
    height: 8rem;
    width: 8rem;
}

.apex-slider-item .p-4{
    padding: 2rem !important;
}

.web-logo{
    /* width: 7rem; */
    height: 80px; 
}

.web-logo2{
    width: 75%;
}

img {
    max-width: 100%;
    /* height: max-content; */
}

.logo-transition .web-logo {
    height: 4rem;
}

@media screen and (max-width: 500px) {
    .web-logo{
        height: 5rem;
    }
    
    .logo-transition .web-logo {
        height: 4rem;
    }
}

.placeholder-icon{
    height: 8rem;
    width: 8rem;
    border-radius: 50%;
}

.avatar-xxs {
    height: 1.5rem;
    width: 1.5rem;
}

.text-primary-hover{
    color: var(--bs-dark);
}

.text-primary-hover:hover{
    color: var(--bs-primary);
}

.custom-hr {
    border-color: #ededed !important;
    opacity: 1; /* Ensures the color is fully applied */
}

.small {
    font-weight: 400;
    font-size: 0.875em !important;
}

.nav-link-arrow {
    color: #606261;
    font-weight: normal !important;
}

.btn-round {
    width: 55px; /* Adjust the width */
    height: 55px; /* Adjust the height */
    padding: 0;
    border-radius: 50%; /* Makes it a perfect circle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem; /* Icon size */
}

.btn-round-icon {
    width: 45px; /* Adjust the width */
    height: 45px; /* Adjust the height */
    padding: 0;
    border-radius: 50%; /* Makes it a perfect circle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem; /* Icon size */
}

.bg-facebook {
    background-color: #5d82d1;
    color: #fff;
    border: none;
}
.bg-facebook-hover:hover{
    background-color: #5274be;
    color: #fff;
    border: none; 
}

.bg-linkedin {
    background-color: #238cc8;
    color: #fff;
    border: none;
}


.bg-image {
    height: 470px; /* Optional: Adjust height if needed */
    display: flex;
    align-items: center;
    position: relative;
    z-index: 1;
    background-position: center;

}

/* Add a dark overlay */
.bg-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    background: rgba(0, 0, 0, 0.6); /* 0.6 for dark overlay, adjust as needed */
    z-index: -1;
}



/* Remove extra padding from nav-link */
.page-info .nav .nav-link {
    padding: 0 1px !important;
}

.page-path {
    font-weight: 400;
}

.page-title {
    font-size: 50px;
    font-weight: 700;
    margin-top: 10px;
    letter-spacing: 1px;
}

/* Small circle separator */
.separator {
    width: 8px;
    height: 8px;
    background-color: #930101; /* Change color if needed */
    border-radius: 50%;
    display: inline-block;
}


.img-fluid {
    max-width: 75%;
    height: auto;
    border-radius: 7px;
    margin-right: 60%;
}

/* Increase margin-top to add more space */
.extra-margin {
    margin-top: 80px !important; /* Increase this value if needed */
}

.custom-margin{
    margin-bottom: 4rem;
}

/* Add spacing and list-group custom styles */
.list-group-borderless .list-group-item {
    border: none;
    padding-left: 0;
    padding-right: 0;
    background-color: transparent !important; /* No hover change */
    margin-bottom: 8px;
}

/* List icon alignment */
.list-group-item i {
    font-size: 1rem;
    margin-top: 3px;
}


.inner-container-small {
    max-width: 700px;
    margin-right: auto;
    margin-left: auto;
}  

.card-rect {
    height: 550px; /* Increase height for a rectangular look */
    width: 85%; /* Ensures full width in column */
    border-radius: 10px; /* Optional: Slight rounded corners */
}

.card-hover-shadow {
    transition: box-shadow 0.3s ease-in-out;
}
.card-hover-shadow:hover {
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.avatar {
    width: 150px; /* Increase container size */
    height: 150px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.avatar-img {
    width: 90px; /* Increase image size */
    height: 90px;
    border-radius: 50%; /* Keeps it circular */
    object-fit: cover; /* Ensures the image does not stretch */
}

.card {
    border-radius: 9px; /* Rounded corners for the entire card */
    overflow: hidden; /* Ensure children respect border-radius */
    border: none;
}
/* Container to hold the zoom and overlay */
.card-img-scale-wrapper {
    position: relative;
    overflow: hidden;
}

/* Image styles */
.card-img-scale-wrapper img {
    width: 100%;
    transition: transform 0.3s ease-in-out;
}

/* Zoom effect on hover */
.card-img-scale-wrapper:hover img {
    transform: scale(1.02); /* Zoom the image */
}

/* Grayscale overlay on hover */
.card-img-scale-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0); /* No overlay initially */
    transition: background 0.3s ease-in-out;
    z-index: 1; /* Ensure it stays above the image */
}

/* Add grey overlay on hover */
.card-img-scale-wrapper:hover::after {
    background: rgba(0, 0, 0, 0.6); /* Dark grey overlay when hovered */
}

.swiper {
    width: 100%;
    height: 300px;
    margin: 0 auto;
}

.swiper-slide {
    width: 375.5px;
    height: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.swiper-button-next,
.swiper-button-prev {
    color: #333;
}

.swiper-pagination-bullet {
    background: #333;
}

/* Event Card Styles */
.event-card {
    display: block;
}

.event-card:hover {
    transform: scale(1); /* Slight zoom on hover */
}

/* Bigger Card with No Shadow */
.event-card .card {
    border: none;
    box-shadow: none;
    height: 400px; /* Larger card */
}

/* Image Wrapper */
.event-card-img-wrapper {
    height: 250px; /* Bigger image */
    overflow: hidden;
}

/* Scale Image on Hover */
.event-card-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensure image covers fully */
    transition: transform 0.3s ease-in-out;
}



/* Positioning the Button on the Right */
.text-end {
    text-align: right;
}

/* Custom Card Size */
.event-card-custom-size {
    width: 572px; /* Custom width */
    height: 655px; /* Custom height */
    border: none;
    box-shadow: none;
    transition: transform 0.3s ease-in-out;
}

.btn-download {

    background-color: var(--bs-primary);
    color: #fff !important;
    border-color: var(--bs-primary);
    padding: 10px 10px; /* Increase padding */
    border-radius: 9.5px; /* Custom rounded corners */
    font-size: 1.15rem; /* Slightly larger text */
}

/* Remove hover effect */
.btn-download:hover,
.btn-download:focus,
.btn-download:active {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    box-shadow: none !important;
    outline: none !important;
    color: #fff !important; /* Keep text white */
}






/* Header responsive for diffrent devices */
@media (max-width: 1199.98px) {
    /* Offcanvas Background and Text */
    .offcanvas {
        background-color: var(--bs-white) !important; /* Background White */
    }

    /* Header Text and Button */
    .offcanvas-title,
    .btn-close {
        color: var(--bs-black) !important; /* Text Black */
        filter: invert(0%) !important; /* Makes X black */
        opacity: 1; /* Ensures visibility */
    }

    /* Menu Items */
    .offcanvas-body .border-bottom {
        border-color: var(--bs-border-color);
    }

    /* Menu Links */
    .offcanvas-body a {
        color: var(--bs-black) !important; /* Link Text Black */
        text-decoration: none;
        transition: all 0.3s ease-in-out;
    }

    /* Hover and Active States */
    .offcanvas-body a:hover,
    .offcanvas-body a:focus {
        color: var(--bs-primary) !important; /* BS Primary on Hover */
        background-color: var(--bs-white); /* Background stays White */
    }

    /* Remove the border for last item */
    .offcanvas-body .border-bottom:last-child {
        border-bottom: none;
    }
}

    /* Ensure carousel fills the viewport */
    #banner-carousel .carousel-inner {
        width: 100%;
        
    }

/* Each carousel item takes full viewport height */
/* #banner-carousel .carousel-item {
    position: relative;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5%;
    overflow: hidden;
} */

#banner-carousel .carousel-item {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    background-size: cover; /* Make sure the background image covers fully */
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 5%;
    overflow: hidden;
}
/* Background image fills the area properly */
.carousel-banner-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

/* Dark overlay to enhance readability */
.overlay-dark {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 0;
}

/* Center carousel content for all screen sizes */
.carousel-caption {  
    z-index: 1;
    margin-bottom: 16%; /* Default for larger screens */
    margin-left: 5%;
}

/* Responsive adjustments for tablets and smaller screens */
@media (max-width: 768px) {
    #banner-carousel .carousel-item {
        height: 80vh; /* Adjusted height for tablets and medium devices */
    }

    .carousel-caption {
        margin-bottom: 10%; /* Adjust for tablets */
    }

    .carousel-caption h1 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

    .carousel-caption p {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .btn-white {
        padding: 10px 20px;
        font-size: 0.9rem;
    }
}

/* Responsive adjustments for mobile and extra small screens */
@media (max-width: 576px) {
    #banner-carousel .carousel-item {
        height: 70vh; /* Smaller height for mobile phones */
    }

    .carousel-caption {
        margin-bottom: 8%; /* Less margin to fit content properly */
        text-align: center; /* Center align for smaller screens */
    }

    .carousel-caption h1 {
        font-size: 1.7rem;
        margin-bottom: 0.8rem;
    }

    .carousel-caption p {
        font-size: 0.7rem;
        margin-bottom: 0.8rem;
    }

    .btn-white {
        padding: 8px 18px;
        font-size: 0.8rem;
    }
}

/* Center logo for smaller screens */
@media (max-width: 768px) {
    .navbar-brand {
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .web-logo2 {
        width: 2000px;
        max-width: 100%;
        height: auto;
        padding-left: 2rem;
    }
}

/* Keep logo aligned to the left on larger screens */
@media (min-width: 768px) {
    .navbar-brand {
        text-align: left;
        margin-left: 0;
    }
}

.icon-lg {
    width: 3.5rem !important;
    height: 100% !important;
}

.mail-icon {
    background: var(--bs-white) !important;
    border-radius: 50% !important;
    padding: 1rem 1.15rem !important;
}


