.elementor-66 .elementor-element.elementor-element-96030d9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-96030d9:not(.elementor-motion-effects-element-type-background), .elementor-66 .elementor-element.elementor-element-96030d9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-66 .elementor-element.elementor-element-a314a19{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-a314a19.e-con{--order:99999 /* order end hack */;}.elementor-66 .elementor-element.elementor-element-577c697{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-66 .elementor-element.elementor-element-65341a9{width:100%;max-width:100%;}.elementor-66 .elementor-element.elementor-element-65341a9.elementor-element{--align-self:stretch;}.elementor-66 .elementor-element.elementor-element-88d7997{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-c771268{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:-150px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:2;}.elementor-66 .elementor-element.elementor-element-a9480d6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-66 .elementor-element.elementor-element-a9480d6.e-con{--order:99999 /* order end hack */;}.elementor-66 .elementor-element.elementor-element-77205c3{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:130px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-77205c3:not(.elementor-motion-effects-element-type-background), .elementor-66 .elementor-element.elementor-element-77205c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-66 .elementor-element.elementor-element-31dd434{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-66 .elementor-element.elementor-element-4bac7eb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-66 .elementor-element.elementor-element-47ffdc7 img{width:60%;}.elementor-66 .elementor-element.elementor-element-888bf10{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-57bb473 img{width:60%;}.elementor-66 .elementor-element.elementor-element-d6c2441{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-4600318 img{width:60%;}.elementor-66 .elementor-element.elementor-element-0e25af3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-dd1d872 img{width:50%;}.elementor-66 .elementor-element.elementor-element-12a9592{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-12a9592:not(.elementor-motion-effects-element-type-background), .elementor-66 .elementor-element.elementor-element-12a9592 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F0E0E;}.elementor-66 .elementor-element.elementor-element-ac8e9af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:30px 0px 0px 0px;}.elementor-66 .elementor-element.elementor-element-ac8e9af.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-66 .elementor-element.elementor-element-c771268{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-66 .elementor-element.elementor-element-77205c3{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-66 .elementor-element.elementor-element-31dd434{--flex-wrap:nowrap;}}@media(min-width:768px){.elementor-66 .elementor-element.elementor-element-a314a19{--width:40%;}.elementor-66 .elementor-element.elementor-element-88d7997{--content-width:60%;}.elementor-66 .elementor-element.elementor-element-a9480d6{--width:33.3333%;}.elementor-66 .elementor-element.elementor-element-77205c3{--width:66.6666%;}.elementor-66 .elementor-element.elementor-element-4bac7eb{--width:25%;}.elementor-66 .elementor-element.elementor-element-888bf10{--width:25%;}.elementor-66 .elementor-element.elementor-element-d6c2441{--width:25%;}.elementor-66 .elementor-element.elementor-element-0e25af3{--width:25%;}}





/* Start custom CSS for container, class: .elementor-element-96030d9 *//* Footer Section Styling */
.site-footer {
    background-color: #000; /* Light beige/tan from image */
    padding: 0px 0px; /* Padding around the footer content */
    box-sizing: border-box; /* Include padding in element's total width and height */
    /* Note: The palm tree background on the right is a decorative element and might be applied
             as a background-image to this section or a pseudo-element if needed.
             It's omitted here for structural focus. */
}

.footer-container {
    max-width: 1200px; /* Max width to contain content, adjust as needed */
    margin: 0 auto; /* Center the container */
    display: grid;
    /* Define 4 columns with flexible widths to match the image proportions */
    grid-template-columns: 1.2fr 1fr 1fr 1.5fr;
    gap: 40px; /* Space between columns */
}

/* Specific Column Styling */
.branding-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* Align content to the left */
}

.footer-logo img {
    max-width: 120px; /* Adjust logo size */
    height: auto;
    margin-bottom: 25px; /* Space below logo */
    object-fit: contain; /* Ensure image scales correctly within its bounds */
}

.footer-terms:hover {
    color: #556B2F; /* Darker green on hover */
}

/* Headings for menu sections */
.footer-heading {
    font-family: 'Montserrat', sans-serif; /* Bolder font for headings */
    font-size: 1.1em;
    font-weight: 700;
    color: #ccc; /* Darker color for headings */
    margin-bottom: 25px;
    letter-spacing: 0.05em; /* Slightly increased letter spacing */
    white-space: nowrap; /* Prevent headings from wrapping if too long */
}

/* Link Lists (Sample Itineraries, Travel Information) */
.footer-links {
    list-style: none; /* Remove bullet points */
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 12px; /* Space between list items */
}

.footer-links a {
    color: #ccc;
    text-decoration: none;
    font-size: 0.95em;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #556B2F; /* Darker green on hover */
    text-decoration: underline;
}

.footer-links .view-all {
    font-weight: 600; /* Bolder for "View all" link */
    text-decoration: underline;
}

/* Newsletter Section */
.newsletter-section {
    margin-bottom: 50px; /* Space between newsletter and social media */
}

.newsletter-description {
    font-size: 0.9em;
    margin-bottom: 20px;
    color: #ccc;
}

.newsletter-form .form-group {
    display: flex; /* Arrange inputs side-by-side */
    gap: 15px; /* Space between inputs */
    margin-bottom: 15px;
}



/* Responsive Adjustments */
@media (max-width: 1024px) {
    .footer-container {
        grid-template-columns: 1fr 1fr; /* Two columns on smaller desktops/laptops */
        gap: 30px;
        padding: 50px 30px;
    }
    .branding-column,
    .newsletter-social-column {
        grid-column: span 1; /* These columns now take one span each in the 2-column layout */
    }
}

@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr; /* Single column on tablets and mobile */
        gap: 40px;
        padding: 40px 20px;
    }
    .footer-heading {
        margin-bottom: 20px;
    }
    .footer-logo img {
        max-width: 180px;
    }
    .footer-phone {
        font-size: 1.2em;
    }
    .newsletter-form .form-group {
        flex-direction: column; /* Stack inputs vertically */
        gap: 10px;
    }
    .social-icons {
        justify-content: flex-start; /* Align social icons to the left */
        flex-wrap: wrap; /* Allow icons to wrap to next line */
    }
}

@media (max-width: 480px) {
    .site-footer {
        padding: 30px 15px;
    }
    .footer-logo img {
        max-width: 150px;
    }
    .footer-phone {
        font-size: 1.1em;
    }
    .footer-badges {
        flex-wrap: wrap; /* Allow badges to wrap */
        align-items: center; /* Center items when wrapped */
    }
    .badge, .tripadvisor-badge .badge-ta {
        width: 50px;
        height: 50px;
    }
    .tripadvisor-badge p, .badge-year {
        font-size: 0.65em;
    }
    .footer-heading {
        font-size: 1em;
    }
    .newsletter-form input {
        padding: 10px 12px;
    }
    .signup-button {
        padding: 10px 20px;
        font-size: 0.9em;
    }
    .social-icons a {
        width: 40px;
        height: 40px;
        font-size: 1.2em;
    }
}/* End custom CSS */












/* Start custom CSS for container, class: .elementor-element-c771268 */@media (max-width: 767px) { /* Adjust breakpoint as needed for mobile */
        .mobile-only-background {
            background-color: #000 !important; /* Your desired mobile background color */
        }
    }

    @media (min-width: 768px) { /* Adjust breakpoint as needed for desktop/tablet */
        .mobile-only-background {
            background-color: transparent !important; /* Or your desired desktop/tablet color */
        }
    }/* End custom CSS */



