:root {
    --teal: #2ec1ac;
    --teal_hover: #279e8c;
}

body, html {
    min-height: 100%;
}



* {
    font-family: 'Poppins', sans-serif;
}

.h-font {
    font-family: 'Merienda', cursive;
}
.h2-font {
    font-family: 'Merienda', cursive;
    font-size: 12px; !improtant;
}

/* Availability Form */
.availability-form {
    margin-top: -50px;
    z-index: 2;
    position: relative;
    background-color: #d3d9db;
    border-radius: 10px;
    overflow: hidden;
    /*padding: 5px 5px 5px 5px;*/
    padding-bottom:7px;
    padding-right:5px !important;
}



@media screen and (max-width: 575px) {
    .availability-form {
        margin-top: 25px;
        padding: 0 15px;
    }
}


/* Carousel Image Specific Styles */
.carousel-swiper .swiper-wrapper .swiper-slide img {
    max-width: 100%;          /* Ensure image width is constrained within container */
    max-height: 430px;        /* Limit the height to 330px */
    width: auto;              /* Maintain aspect ratio */
    height: auto;             /* Maintain aspect ratio */
    object-fit: cover;        /* Ensure image fits container, cropping if needed */
}

/* Make sure the swiper container only affects the carousel */
.carousel-swiper {
    width: 100%;              /* Full width of the container */
    height: auto;             /* Allow height to adjust based on image */
    overflow: hidden;         /* Hide overflow if the image exceeds the container */
}

/* Optionally, apply some padding or margins to control spacing */
.carousel-image {
    padding: 0;               /* You can adjust padding as per need */
    margin-top: 30px;         /* Adjust top margin for spacing */
}



.links-container a {
    font-size: 12px;
}




.follow-us a {
    font-size: 12px;
}


















.footer-content {
    padding: 20px 40px; /* Default for large devices */
    background-color: #f8f9fa; /* Optional: Light background */
}


.copyright-content {
    margin: 0; /* No margin for copyright section */
    text-align: center;
    background-color: #333; /* Optional: To highlight the separation visually */
    color: #fff;
}





/* Adjust padding for smaller screens */
@media (max-width: 768px) { /* For tablets and smaller devices */
    .footer-content {
        padding: 10px 20px; /* Smaller padding for mobile */
    }
}



/* Default for larger devices */
.fixed-height {
    height: 250px !important;  /* Force the height to 350px */
    font-size: 12px !important;  /* Force font size to 12px */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Medium devices (tablets, portrait) */
@media (max-width: 992px) {
    .fixed-height {
        height: 250px !important;  /* Reduced height for medium devices */
    }
}

/* Small devices (phones) */
@media (max-width: 576px) {
    .fixed-height {
        height: 200px !important;  /* Further reduced height for small devices */
    }
}


/* CSS to center and size the images */
.fixed-height img {
    width: 120px;         /* Set the width to 30px */
    height: 120px;        /* Set the height to 30px */
    object-fit: cover;   /* Ensure the image maintains aspect ratio while filling the 30px square */
    margin: 0 auto;      /* Center the image horizontally */
    display: block;      /* Make the image a block element to allow centering */
}

/* For smaller devices */
@media (max-width: 992px) {
    .fixed-height img {
        width: 30px;     /* Ensure the image is 30px */
        height: 30px;
    }
}

/* For extra small devices */
@media (max-width: 576px) {
    .fixed-height img {
        width: 30px;     /* Keep the size consistent on all devices */
        height: 30px;
    }
}




/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

.custom-bg {
    background-color: var(--teal);
    border: 1px solid var(--teal);
}

.custom-bg:hover {
    background-color: var(--teal_hover);
    border-color: var(--teal_hover);
}

.h-line {
    width: 150px;
    margin: 0 auto;
    height: 1.7px;
}
/* .custom-alert{
    position: fixed;
    top: 80px;
    left: 45px;
    z-index: 1111;
} */

.custom-alert {
    position: fixed;
    top: 80px;
    z-index: 1111;
    padding: 1rem;
    max-width: 90%;
    min-width: 200px; /* Ensures the alert isn't too small */
    right: 25px; /* Align to the right */
    left: auto; /* Ensures no conflict with left positioning */
    border-radius: 5px; /* Optional: For rounded corners */
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box; /* Ensures proper padding */
}



.card {
    display: flex;
    flex-direction: column;
    height: auto;
}

.card-body {
    flex-grow: 1; /* Ensures the body takes up as much space as possible */
    padding: 1rem;
    color: #333;
    min-height: 250px; /* Ensures consistency in height */
}

/* New styles for small devices to center the cards */
@media (max-width: 768px) {
    .col-lg-4 {
        display: flex;
        justify-content: center; /* Center-align room cards */
    }
}




/* Styling for the nav links */
nav ul li a {
    color: #000; /* Adjust color to fit your design, white (#fff) might not be visible on a white background */
    text-decoration: none;
    font-size: 18px;
    position: relative;
    padding-bottom: 5px; /* Add space for the underline */
}

nav ul li a::after {
    content: '';
    width: 0%;
    height: 3px;
    background: #ff004f;
    position: absolute;
    left: 0;
    bottom: 0; /* Adjust to align with the link text */
    transition: width 0.5s ease;
}

nav ul li a:hover::after {
    width: 100%; /* Expand the underline on hover */
}




.container-fluid {
    width: 100% !important;
    padding-left: 0;
    padding-right: 0;
}


footer {
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


body, html {
    min-height: 100%;
}

footer {
    position: relative;
    bottom: 0;
    width: 100%;
}



/* Apply styles to the specific text */
/* Style for the footer text and logo */
.footer-text {
    font-size: 12px;
    font-style: italic;
    font-family: 'Ubuntu', sans-serif; /* Apply the Ubuntu font */
}




.ngc-logo-icon {
    vertical-align: middle; /* Align the logo vertically with the text */
    margin-right: 5px; /* Space between logo and text */
    margin-left: 10px; /* Space between logo and text */
}


/* Slide up the logo image */
.ngc-logo-icon img {
    position: relative; /* Ensures positioning can be adjusted */
    transform: translateY(-8px); /* Slide image 8px upward */
    transition: transform 0.5s ease; /* Smooth sliding effect */
}

/* Optional: Add hover effect for better interaction */
.ngc-logo-icon img:hover {
    transform: translateY(-15px); /* Move further up on hover */
}




/* Common styling for links */
.footer-link {
    position: relative; /* Enables positioning of pseudo-element */
    color: #333; /* Default text color */
    text-decoration: none; /* Removes default underline */
    transition: color 0.3s ease; /* Smooth text color transition */
}

/* Create the red underline effect */
.footer-link::after {
    content: ''; /* Required for pseudo-elements */
    position: absolute;
    left: 0;
    bottom: 0; /* Positions it at the bottom of the text */
    width: 0; /* Initially no width */
    height: 2px; /* Thickness of the underline */
    background-color: red; /* Color of the underline */
    transition: width 0.3s ease; /* Smooth transition for underline */
}

/* Hover effect */
.footer-link:hover::after {
    width: 100%; /* Full width of the content */
}

.footer-link:hover {
    color: red; /* Optional: Change text color on hover */
}





  