/********** Template CSS **********/
:root {
    --primary: #007BFF;
    --secondary: #fcfaf7;
    --light: #fcfaf7;
    --dark: #14141F;
}

.fw-medium {
    font-weight: 600 !important;
}

.fw-semi-bold {
    font-weight: 700 !important;
}

.back-to-top {
    position: fixed;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

/*** 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;
}


/*** Button ***/
.btn {
    font-family: 'Nunito', sans-serif;
    font-weight: 600;
    transition: .5s;
}

.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: 0px;
}


/*** Navbar ***/
.navbar-light .navbar-nav .nav-link {
    font-family: 'Nunito', sans-serif;
    position: relative;
    margin-right: 25px;
    padding: 35px 0;
    color: #FFFFFF !important;
    font-size: 18px;
    font-weight: 600;
    outline: none;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-nav .nav-link {
    padding: 20px 0;
    color: var(--dark) !important;
}

.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link.active {
    color: var(--primary) !important;
}

.navbar-light .navbar-brand img {
    max-height: 60px;
    transition: .5s;
}

.sticky-top.navbar-light .navbar-brand img {
    max-height: 45px;
}

/*** Hero Header Slideshow ***/

/*** Hero Header Slideshow with Smooth Transition ***/
.hero-header {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100vh; /* Full viewport height */
    animation: slideshow 18s infinite ease-in-out; /* Duration and easing for smoothness */
    transition: background-image 15.0s ease-in-out; /* Smooth transition between images */
}

/* Keyframes for smooth slideshow with fade effects */

.breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255, 255, 255, .5);
}


/*** Section Title ***/
.section-title {
    position: relative;
    display: inline-block;
    text-transform: uppercase;
}

.section-title::before {
    position: absolute;
    content: "";
    width: calc(100% + 80px);
    height: 2px;
    top: 4px;
    left: -40px;
    background: var(--primary);
    z-index: -1;
}

.section-title::after {
    position: absolute;
    content: "";
    width: calc(100% + 120px);
    height: 2px;
    bottom: 5px;
    left: -60px;
    background: var(--primary);
    z-index: -1;
}

.section-title.text-start::before {
    width: calc(100% + 40px);
    left: 0;
}

.section-title.text-start::after {
    width: calc(100% + 60px);
    left: 0;
}


/*** Service ***/
.service-item {
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
    transition: .5s;
}

.service-item:hover {
    background: var(--primary);
}

.service-item * {
    transition: .5s;
}

.service-item:hover * {
    color: var(--light) !important;
}


/*** Destination ***/
.destination img {
    transition: .5s;
}

.destination a:hover img {
    transform: scale(1.1);
}


/*** Package ***/
.package-item {
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.package-item img {
    transition: .5s;
}

.package-item:hover img {
    transform: scale(1.1);
}


/*** Booking ***/
.booking {
    background: linear-gradient(rgba(213, 219, 231, 0.7), rgba(15, 23, 43, .7)), url(../img/bookings.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}


/*** Team ***/
.team-item {
    box-shadow: 0 0 45px rgba(0, 0, 0, .08);
}

.team-item img {
    transition: .5s;
}

.team-item:hover img {
    transform: scale(1.1);
}

.team-item .btn {
    background: #FFFFFF;
    color: var(--primary);
    border-radius: 20px;
    border-bottom: 1px solid var(--primary);
}

.team-item .btn:hover {
    background: var(--primary);
    color: #FFFFFF;
}


/*** Testimonial ***/
.testimonial-carousel::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

.testimonial-carousel::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

.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;
    border-color: 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: 1px solid #CCCCCC;
    border-radius: 15px;
    transition: .5s;
}

.testimonial-carousel .owl-dot.active {
    background: var(--primary);
    border-color: var(--primary);
}


/*** Footer ***/
.footer .btn.btn-social {
    margin-right: 5px;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--light);
    font-weight: normal;
    border: 1px solid #FFFFFF;
    border-radius: 35px;
    transition: .3s;
}

.footer .btn.btn-social:hover {
    color: var(--primary);
}

.footer .btn.btn-link {
    display: block;
    margin-bottom: 5px;
    padding: 0;
    text-align: left;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: normal;
    text-transform: capitalize;
    transition: .3s;
}

.footer .btn.btn-link::before {
    position: relative;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-right: 10px;
}

.footer .btn.btn-link:hover {
    letter-spacing: 1px;
    box-shadow: none;
}

.footer .copyright {
    padding: 25px 0;
    font-size: 15px;
    border-top: 1px solid rgba(256, 256, 256, .1);
}

.footer .copyright a {
    color: var(--light);
}

.footer .footer-menu a {
    margin-right: 15px;
    padding-right: 15px;
    border-right: 1px solid rgba(255, 255, 255, .1);
}

.footer .footer-menu a:last-child {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
}



/*LOGO*/
/* new one by maulidi */
.logo {
    width: 160px; 
    height: 150px; 
    filter: brightness(1.1); 
    transition: transform 0.4s ease, box-shadow 0.4s ease; 
    border-radius: 10px; 

}
.logo-frame {
    border-radius: 10px; /* Round corners if desired */
    padding: 10px; /* Space between the border and the logo */

}

/* Mobile styles */




.team-item {
    opacity: 0; /* Start hidden */
    transform: translateY(20px); /* Start slightly below */
    transition: opacity 0.5s ease, transform 0.5s ease; /* Transition for smooth effect */
}

.team-item.visible {
    opacity: 1; /* Fade in */
    transform: translateY(0); /* Move to original position */
}


.team-item {
    background-color: #ffffff; /* White background for the card */
    box-shadow: 0 4px 20px rgba(0.1, 0, 0, 0.1); /* Subtle shadow for lifting effect */
    border: 1px solid #eff1f3; /* Blue border frame */
    animation: bobbing 3s infinite ease-in-out; /* Continuous bobbing animation */
}


/* Existing CSS */
.destination {
    padding: 5rem 0; /* Adjust vertical padding */
}
.destination img {
    object-fit: cover; /* Ensures image covers the area without distortion */
    width: 100%; /* Full width of the parent container */
    height: 400px; /* Fixed height for uniform shape */
    transition: transform 0.3s ease; /* Smooth effect */

}
.destination img:hover {
    transform: scale(1.05); /* Slight zoom on hover for a dynamic effect */
}
.destination a {
    position: relative; /* Needed for absolute positioning of overlay text */
    display: block; /* Block-level link for full clickable area */
    overflow: hidden; /* Hides any overflow from images */
}
.destination .bg-white {
    box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.15); /* Subtle shadow on overlays */
}





/* Modal and expanded image styles */


.navbar-nav .nav-item.nav-link.active {
    color: #bd3e3e;  /* Active color */
    font-weight: bold; /* Optional bold effect */
}


        /* Updated CSS for the gallery section */
.gallery {
    padding: 5rem 0; /* Adjust vertical padding */
}

.gallery img,
.gallery video {
    object-fit: cover; /* Ensures image and video cover the area without distortion */
    width: 100%; /* Full width of the parent container */
    height: 300px; /* Fixed height for uniform shape */
    transition: transform 0.3s ease; /* Smooth  effect */
}

/* Disable hover effect when modal is active */
body.modal-active .gallery img:hover,
body.modal-active .gallery video:hover {
    transform: none; /* Remove hover scaling */
}

.gallery img:hover,
.gallery video:hover {
    /* transform: none;  */
    transform: scale(1.05)
}

.gallery a {
    position: relative; /* Needed for absolute positioning of overlay text */
    display: block; /* Block-level link for full clickable area */
    overflow: hidden; /* Hides any overflow from images */
}

.play-button-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 48px; /* Size of the play button */
    color: white;
    opacity: 0.9; /* Slightly less transparent for better visibility */
    display: none; /* Hide overlay by default */
}

/* Show overlay on hover over video */
.gallery video:hover + .play-button-overlay {
    display: flex; /* Show overlay on hover over video */
    align-items: center;
    justify-content: center;
}
/* Media Query for Mobile Devices */




.navbar-nav .nav-item.nav-link.active {
    color: #bd3e3e;  /* Active color */
    font-weight: bold; /* Optional bold effect */
}


.team-item {
    background-color: #ffffff; /* White background for the card */
    box-shadow: 0 4px 20px rgba(0.1, 0, 0, 0.1); /* Subtle shadow for lifting effect */
    border: 1px solid #eff1f3; /* Blue border frame */
    animation: bobbing 3s infinite ease-in-out; /* Continuous bobbing animation */
}



/*TOUR PART*/

   /* Updated CSS for the gallery section */
    .gallery {
        padding: 5rem 0; /* Adjust vertical padding */
    }

    .gallery img,
    .gallery video {
        object-fit: cover; /* Ensures image and video cover the area without distortion */
        width: 100%; /* Full width of the parent container */
        height: 400px; /* Fixed height for uniform shape */
        transition: transform 0.3s ease; /* Smooth  effect */
    }

    /* Disable hover effect when modal is active */
    body.modal-active .gallery img:hover,
    body.modal-active .gallery video:hover {
        transform: none; /* Remove hover scaling */
    }

    .gallery img:hover,
    .gallery video:hover {
       
        transform: scale(1.05)
    }

    .gallery a {
        position: relative; /* Needed for absolute positioning of overlay text */
        display: block; /* Block-level link for full clickable area */
        overflow: hidden; /* Hides any overflow from images */
    }

    .play-button-overlay {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 48px; /* Size of the play button */
        color: white;
        opacity: 0.9; /* Slightly less transparent for better visibility */
        display: none; /* Hide overlay by default */
    }

    /* Show overlay on hover over video */
    .gallery video:hover + .play-button-overlay {
        display: flex; /* Show overlay on hover over video */
        align-items: center;
        justify-content: center;
    }

    /* Responsive adjustments */
    @media (max-width: 768px) {
        .gallery img,
        .gallery video {
            height: 200px; /* Reduce height on smaller screens */
        }
        .gallery{
            margin-top: 2.5rem; /* Space between image/video and any text below */
        }
        
        .modal-content {
            width: 95%; /* Slightly wider on mobile */
            max-width: 100%; /* Full width on small screens */
        }
        
        .close {
            font-size: 24px; /* Smaller close button on mobile */
        }
    }
    
@media (max-width: 991.98px) {
    .sticky-top.navbar-light {
        position: relative;
        background: #ffffff;
    }

    .navbar-light .navbar-collapse {
        margin-top: 15px;
        border-top: 1px solid #dddddd;
    }

    .navbar-light .navbar-nav .nav-link,
    .sticky-top.navbar-light .navbar-nav .nav-link {
        padding: 10px 0;
        margin-left: 0;
        color: var(--dark) !important;
    }

    .navbar-light .navbar-brand img {
        max-height: 45px;
    }
}

@media (min-width: 992px) {
    .navbar-light {
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        border-bottom: 1px solid rgba(256, 256, 256, .1);
        z-index: 999;
    }
    
    .sticky-top.navbar-light {
        position: fixed;
        background: #fcfaf7;
    }

    .navbar-light .navbar-nav .nav-link::before {
        position: absolute;
        content: "";
        width: 0;
        height: 2px;
        bottom: -1px;
        left: 50%;
        background: var(--primary);
        transition: .5s;
    }

    .navbar-light .navbar-nav .nav-link:hover::before,
    .navbar-light .navbar-nav .nav-link.active::before {
        width: calc(100% - 2px);
        left: 1px;
    }

    .navbar-light .navbar-nav .nav-link.nav-contact::before {
        display: none;
    }
}

@keyframes slideshow {
    0% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/1good.jpg);
    }
    20% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/2good.jpg);
    }
    40% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/3good.jpg);
    }
    60% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/5.jpg);
    }
    80% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/6.jpg);
    }
    100% {
        background-image: linear-gradient(rgba(14, 14, 66, 0.7), rgba(23, 23, 78, 0.7)), url(../img/slideshow/1good.jpg);
    }
}


/* Media Query for Small Screens */
@media (max-width: 768px) {
    .hero-header {
        height: 70vh; /* Adjust height for smaller screens */
        font-size: 2em; /* Adjust font size for readability */
    }
    .hero-slide {
        padding: 20px; /* Optional: add some padding */
        display: flex; /* Flexbox for centering content */
        align-items: center; /* Center vertically */
        justify-content: center; /* Center horizontally */
    }
}

@media (min-width: 768px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {
        width: 200px;
    }
}

@media (min-width: 992px) {
    .testimonial-carousel::before,
    .testimonial-carousel::after {
        width: 300px;
    }
}

@media (max-width: 767px) {
  
    .testimonial{
        margin-top: 4.5rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .booking{
        margin-top: 6.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .about{
        margin-top: 3.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .service{
        margin-top: 5.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .tour{
        margin-top: 5.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .packages{
        margin-top: 5.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 767px) {
  
    .contact{
        margin-top: 5.7rem; /* Space between image/video and any text below */
    }
}

@media (max-width: 768px) {
    .logo {
        width: 160px; /* Adjust the width for mobile */
        height: 150px; 
        transition: transform 0.4s ease, box-shadow 0.4s ease; 
        font-size: 26px; /* Increase font size for visibility */
    }

    .logo-frame {
        padding: 5px; /* Less padding for mobile */
    }
}

@media (max-width: 767px) {
    .team-item {
        animation: move 3.0s ease-in-out forwards; /* Apply moving animation */
        
    }
    .team{
        margin-top: 4.5rem; /* Space between image/video and any text below */
    }

    /* Animation keyframes */
    @keyframes move {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-5px); /* Move up */
        }
        100% {
            transform: translateY(0); /* Return to original position */
        }
    }
}

/* Media Query for Tablets */
@media (max-width: 992px) {
    .destination {
        padding: 3rem 0; /* Reduce padding for smaller screens */
        margin-top: 6.5rem; /* Adds spacing if text is close to the image */

    }
    .destination img {
        height: 450px; /* Adjust height for tablets */
    }
}

/* Media Query for Mobile Devices */
@media (max-width: 576px) {
    .destination {
        padding: 2rem 0; /* Further reduce padding for mobile */
        margin-top: 6.5rem; /* Adds spacing if text is close to the image */

    }
    
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .gallery img,
    .gallery video {
        height: 500px; /* Reduce height on smaller screens */
        /* Media Query for Mobile Devices */

    
    
    }
      
}

@media (max-width: 767px) {
    .team-item {
        animation: move 3.0s ease-in-out forwards; /* Apply moving animation */
    }

    /* Animation keyframes */
    @keyframes move {
        0% {
            transform: translateY(0);
        }
        50% {
            transform: translateY(-5px); /* Move up */
        }
        100% {
            transform: translateY(0); /* Return to original position */
        }
    }
}


.img-responsive {
    width: 100%; /* Always occupy full width of container */
    height: auto; /* Maintain aspect ratio */
    border: 5px solid #ddd; /* Optional border */
    border-radius: 10px; /* Optional rounded corners */
    object-fit: cover; /* Ensure image fills the container */
}

/* Media queries for different screen sizes */
@media (max-width: 768px) { /* Tablets and small screens */
    .position-relative {
        min-height: 10px; /* Adjust height for tablets */
    }
}

@media (max-width: 576px) { /* Mobile screens */
    .position-relative {
        min-height: 100px; /* Adjust height for mobiles */
    }
}
    
@media only screen and (max-width: 768px) {
    body, html {
        overflow-x: hidden; /* Disable horizontal scrolling on mobile */
    }
}


