@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600&display=swap');

body {
    font-family: 'Inter', Arial, sans-serif;
    font-size: 16px; /* Base font size */
    line-height: 1.8; /* Increased line height for more spacing */
    font-weight: 300; /* Light weight for body text */
    color: #ffffff; /* Assuming white text on dark background */
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600; /* Semi-bold for headings */
    line-height: 1.4; /* Slightly tighter line height for headings */
    margin-bottom: 1rem; /* Space after headings */
}

p {
    margin-bottom: 1.5rem; /* Space after paragraphs */
}

/* Adjust font sizes for different heading levels */
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }

/* Additional styles for links, buttons, etc. */
a {
    color: #ffffff;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.btn {
    font-weight: 400; /* Medium weight for buttons */
    letter-spacing: 0.5px; /* Slight letter spacing for buttons */
}

.navbar-nav .nav-link {
    color: #fff;
}
.navbar-nav .nav-item:first-child .nav-link {
    background-color: #dc3545;
    border-radius: 20px;
}
.hero-image {
    max-width: 100%;
    height: auto;
}
.gradient-text {
    background: linear-gradient(to right, #FFA500, #FF4500);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.book-btn {
    background-color: #dc3545;
    border: none;
    border-radius: 20px;
}
.chat-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #dc3545;
    border: none;
    border-radius: 50%;
    width: 60px;
    height: 60px;
}



#regions-served {
    background-color: #330000;
    color: white;
    padding: 60px 0;
}

#regions-served h2 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 40px;
}

.region-card {
    background-color: rgba(51, 0, 0, 0.8);
    border-radius: 15px;
    overflow: hidden;
    height: 100%;
}

.region-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.region-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.map-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    border-radius: 10px;
    padding: 5px;
}

.region-map {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.region-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    text-align: center;
}

.region-title h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.region-states {
    font-size: 0.8rem;
    margin-bottom: 0;
}

.region-content {
    padding: 20px;
}

.region-description {
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.btn-light {
    border-radius: 20px;
    padding: 8px 20px;
}


#how-it-works {
    background-color: #330000; /* Dark red background */
    color: white;
}
#how-it-works h2 {
    font-size: 2.5rem;
    font-weight: bold;
}
.card {
    border: none;
    border-radius: 15px;
    height: 100%;
}
.rounded-icon {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 20px;
}
.card-title {
    font-size: 1.5rem;
    font-weight: bold;
}
.card-subtitle {
    font-size: 0.9rem;
    font-style: italic;
}
.lead {
    font-size: 1.1rem;
}

#booking-and-prep {
    background-color: #000000;
    color: white;
}
#booking-and-prep .btn-light {
    font-weight: bold;
    padding: 10px 30px;
    font-size: 1.2rem;
}
#booking-and-prep h2 {
    font-size: 2rem;
    font-weight: bold;
}
#booking-and-prep p {
    font-size: 1.1rem;
}


#reviews-and-promo {
    background-color: #000000;
    color: white;
}
#reviews-and-promo h2 {
    font-size: 2.5rem;
    font-weight: bold;
}
.review-card, .promo-card {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    padding: 20px;
    height: 100%;
}
.stars {
    color: #FFD700;
    font-size: 1.5rem;
}
.promo-card h3 {
    color: #FFA500;
}


#newsletter-signup {
    background-color: #000000;
    color: white;
}
#newsletter-signup h2 {
    font-size: 2.5rem;
    font-weight: bold;
}
#newsletter-signup .form-control {
    background-color: transparent;
    border: 1px solid white;
    color: white;
}
#newsletter-signup .form-control::placeholder {
    color: rgba(255, 255, 255, 0.7);
}
footer {
    font-size: 0.9rem;
}
footer h3 {
    font-size: 1.2rem;
    font-weight: bold;
}
footer a:hover {
    color: #dc3545 !important;
}

/* Adjust the container width and add margins */
.container {
    max-width: calc(100% - 200px); /* Subtracting 200px (100px on each side) from full width */
    margin-left: 100px;
    margin-right: 100px;
    width: auto; /* Overrides Bootstrap's fixed widths */
}

/* Ensure full-width background for sections */
#regions-served {
    padding-left: 100px;
    padding-right: 100px;
}

/* Adjust card layout if needed */
@media (min-width: 768px) {
    .region-card {
        margin-left: -15px;
        margin-right: -15px;
    }
}

/* Responsive adjustments */
@media (max-width: 1200px) {
    .container {
        max-width: calc(100% - 60px);
        margin-left: 30px;
        margin-right: 30px;
    }
    
    #regions-served {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media (max-width: 768px) {
    .container {
        max-width: calc(100% - 30px);
        margin-left: 15px;
        margin-right: 15px;
    }
    
    #regions-served {
        padding-left: 15px;
        padding-right: 15px;
    }
}

.region-image {
    position: relative;
    height: 250px;
    overflow: hidden;
}

.region-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.map-overlay {
    position: absolute;
    top: 20px; /* Adjust this value to move the map closer to the top */
    left: 50%;
    transform: translateX(-50%); /* This centers the map horizontally */
    background-color: white;
    border-radius: 10px;
    padding: 5px;
}

.region-map {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.region-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    text-align: center;
}

.region-title h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.region-states {
    font-size: 0.8rem;
    margin-bottom: 0;
}

#regions-served {
    background-color: #330000; /* Dark red background for the entire section */
    color: white;
    padding: 60px 0;
}

.region-card {
    background-color: #220000; /* Slightly darker than the section background */
    border-radius: 15px; /* Rounded corners */
    overflow: hidden;
    height: 100%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Optional: adds depth */
}

.region-image {
    position: relative;
    height: 250px;
    overflow: hidden;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.region-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.map-overlay {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    border-radius: 10px;
    padding: 5px;
}

.region-map {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.region-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    text-align: center;
}

.region-title h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.region-states {
    font-size: 0.8rem;
    margin-bottom: 0;
}

.region-content {
    padding: 20px;
}

.region-description {
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.btn-light {
    border-radius: 20px;
    padding: 8px 20px;
}

/* Add some spacing between cards on smaller screens */
@media (max-width: 767px) {
    .col-md-4 {
        margin-bottom: 30px;
    }
}

#regions-served {
    background-color: #330000;
    color: white;
    padding: 60px 0;
}

/* Increase padding for columns containing cards */
#regions-served .col-md-4 {
    padding: 30px; /* Increased from 15px to 30px */
}

.region-card {
    background-color: #220000;
    border-radius: 15px;
    overflow: hidden;
    height: 100%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Rest of the CSS remains the same */

/* Adjust responsive behavior */
@media (max-width: 767px) {
    #regions-served .col-md-4 {
        padding: 15px; /* Slightly reduced for smaller screens */
    }
}

/* More space on larger screens */
@media (min-width: 992px) {
    #regions-served .col-md-4 {
        padding: 40px; /* Increased for larger screens */
    }
}

#regions-served {
    background-color: #330000;
    color: white;
    padding: 60px 0;
}

#regions-served .col-md-4 {
    padding: 30px; /* Maintain the spacing we previously set */
}

.region-card {
    background-color: #220000;
    border-radius: 15px;
    overflow: hidden;
    height: 130%; /* Increase overall height by 30% */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
}

.region-image {
    position: relative;
    height: 65%; /* Adjust this value to control the proportion of image to content */
    overflow: hidden;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

.region-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.map-overlay {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    border-radius: 10px;
    padding: 5px;
}

.region-map {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.region-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    text-align: center;
}

.region-title h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.region-states {
    font-size: 0.8rem;
    margin-bottom: 0;
}

.region-content {
    padding: 20px;
    flex-grow: 1; /* Allow content to fill remaining space */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.region-description {
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.btn-light {
    border-radius: 20px;
    padding: 8px 20px;
    align-self: center; /* Center the button horizontally */
}

/* Responsive adjustments */
@media (max-width: 767px) {
    #regions-served .col-md-4 {
        padding: 15px;
    }
    .region-card {
        height: auto; /* Allow natural height on mobile */
    }
    .region-image {
        height: 250px; /* Fixed height for consistency on mobile */
    }
}

@media (min-width: 992px) {
    #regions-served .col-md-4 {
        padding: 40px;
    }
}

#regions-served {
    background-color: #330000;
    color: white;
    padding: 60px 0;
}

#regions-served .col-md-4 {
    padding: 30px;
}

.region-card {
    background-color: #220000;
    border-radius: 15px;
    overflow: hidden;
    height: 130%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.region-card-inner {
    padding: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.region-image {
    position: relative;
    height: 65%;
    overflow: hidden;
    border-radius: 10px;
}

.region-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.map-overlay {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    border-radius: 10px;
    padding: 5px;
}

.region-map {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.region-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    padding: 10px;
    text-align: center;
}

.region-title h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.region-states {
    font-size: 0.8rem;
    margin-bottom: 0;
}

.region-content {
    padding-top: 20px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.region-description {
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.btn-light {
    border-radius: 20px;
    padding: 8px 20px;
    align-self: center;
}

/* Responsive adjustments */
@media (max-width: 767px) {
    #regions-served .col-md-4 {
        padding: 15px;
    }
    .region-card {
        height: auto;
    }
    .region-image {
        height: 250px;
    }
}

@media (min-width: 992px) {
    #regions-served .col-md-4 {
        padding: 40px;
    }
}



#hero-section {
    background-color: #000000; /* Adjust this to match your design */
    color: white;
    padding: 30px 0 200px; /* Top padding 100px, bottom padding 200px */
}

.hero-content {
    /* Add any specific styles for the content within the hero section */
}

/* Responsive adjustments */
@media (max-width: 768px) {
    #hero-section {
        padding: 80px 0 150px; /* Slightly reduced padding for smaller screens */
    }
}

@media (max-width: 576px) {
    #hero-section {
        padding: 60px 0 100px; /* Further reduced padding for very small screens */
    }
}

/* Hero Section */
#hero-section {
    background: linear-gradient(to bottom, #1A0000, #330000);
    color: white;
    padding: 0px 0 40px;
}

/* Regions Section */
#regions-served {
    background: linear-gradient(to bottom, #330000, #660000, #330000);
    color: white;
    padding: 0px 0 80px;
    position: relative;
}

/* How It Works Section */
#how-it-works {
    background: linear-gradient(to bottom, #330000, #1A0000);
    color: white;
    padding: 60px 0;
    position: relative;
}

/* Smooth transition between sections */
#regions-served::before,
#how-it-works::before {
    content: '';
    position: absolute;
    top: -50px;
    left: 0;
    right: 0;
    height: 100px;
    background: inherit;
    filter: blur(20px);
}

/* Ensure content is above the blurred transition */
#regions-served .container,
#how-it-works .container {
    position: relative;
    z-index: 1;
}

#how-it-works {
    background-color: #330000; /* Dark red background */
    color: white;
    padding: 60px 0;
}

#how-it-works h2 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 40px;
}

.info-card {
    background-color: #220000; /* Slightly darker than the section background */
    border-radius: 15px;
    overflow: hidden;
    height: 100%;
    padding: 30px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.card-image {
    margin-bottom: 20px;
}

.rounded-icon {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.2);
    padding: 5px;
}

.info-card h3 {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 10px;
}

.card-subtitle {
    font-size: 0.9rem;
    font-style: italic;
    margin-bottom: 20px;
}

.card-content {
    font-size: 0.9rem;
    line-height: 1.6;
}

.bottom-text {
    font-size: 1.1rem;
    line-height: 1.8;
    margin-top: 40px;
}

@media (max-width: 768px) {
    .info-card {
        margin-bottom: 30px;
    }
}

#booking-and-prep {
    background-color: #1A0000; /* Dark background color */
    color: white;
    padding: 60px 0;
}

#booking-and-prep .btn-light {
    font-weight: bold;
    padding: 10px 30px;
    font-size: 1.2rem;
    margin-bottom: 40px;
}

#booking-and-prep h2 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 20px;
}

#booking-and-prep p {
    font-size: 1.1rem;
    line-height: 1.6;
}

.video-container {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 15px; /* Rounded corners for the video */
}

@media (max-width: 767px) {
    #booking-and-prep .btn-light {
        font-size: 1rem;
        padding: 8px 20px;
    }

    #booking-and-prep h2 {
        font-size: 1.8rem;
    }

    #booking-and-prep p {
        font-size: 1rem;
    }
}

#gallery {
    background-color: #330000; /* Dark red background */
    color: white;
}

#gallery h2 {
    font-size: 2.5rem;
    font-weight: bold;
}

.carousel-item {
    height: 500px; /* Adjust this value as needed */
}

.carousel-item img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.carousel-control-prev,
.carousel-control-next {
    width: 5%;
}

.carousel-indicators {
    bottom: -50px;
}

.carousel-indicators button {
    background-color: #dc3545;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

@media (max-width: 768px) {
    .carousel-item {
        height: 300px; /* Smaller height for mobile devices */
    }
}


#locations-page {
    background-color: #000000;
    color: white;
}

#locations-page h1 {
    font-size: 3rem;
    font-weight: bold;
}

.location-card {
    background-color: #1a1a1a;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.location-image {
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.location-info {
    padding: 15px;
    text-align: center;
}

.location-info h2 {
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.btn-danger {
    background-color: #dc3545;
    border: none;
    padding: 5px 20px;
}

.btn-danger:hover {
    background-color: #c82333;
}

.row {
    margin-left: -10px;
    margin-right: -10px;
}

.col-md-4 {
    padding-left: 10px;
    padding-right: 10px;
}

@media (max-width: 768px) {
    #locations-page h1 {
        font-size: 2.5rem;
    }
    
    .location-image {
        height: 150px;
    }
}


#faq-page {
    background-color: #000000;
    color: white;
}

#faq-page h1 {
    font-size: 3rem;
    font-weight: bold;
}

.faq-accordion {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    margin-bottom: 1rem;
}

.faq-question {
    width: 100%;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #333;
    color: white;
    text-align: left;
    padding: 1rem 0;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.faq-question:hover {
    color: #dc3545;
}

.faq-question .icon {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.faq-question[aria-expanded="true"] .icon {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.faq-answer.show {
    max-height: 500px; /* Adjust this value as needed */
}

.faq-answer p {
    padding: 1rem 0;
}

@media (max-width: 768px) {
    #faq-page h1 {
        font-size: 2.5rem;
    }
    
    .faq-question {
        font-size: 1rem;
    }
}


#promotions-page {
    background-color: #000000;
    color: white;
}

#promotions-page h1 {
    font-size: 3rem;
    font-weight: bold;
}

.promotions-list {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.promotion-item {
    background-color: #1a1a1a;
    border-radius: 15px;
    padding: 2rem;
    width: 100%;
    max-width: 500px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.promotion-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 12px rgba(255, 255, 255, 0.2);
}

.promotion-item h2 {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    color: #dc3545; /* Red color for emphasis */
}

.promotion-item p {
    font-size: 1.2rem;
    margin-bottom: 0;
}

@media (max-width: 768px) {
    #promotions-page h1 {
        font-size: 2.5rem;
    }
    
    .promotion-item h2 {
        font-size: 1.5rem;
    }
    
    .promotion-item p {
        font-size: 1rem;
    }
}

#gallery .carousel-item .row {
    display: flex;
    flex-wrap: nowrap;
}

#gallery .carousel-item .col-md-4 {
    display: flex;
    justify-content: center;
    align-items: center;
}

#gallery .carousel-item img {
    max-width: 100%;
    max-height: 300px; /* Adjust this value as needed */
    object-fit: cover;
}

@media (max-width: 767px) {
    #gallery .carousel-item .row {
        flex-wrap: wrap;
    }
    
    #gallery .carousel-item .col-md-4 {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 15px;
    }
}

/* Adjust carousel control buttons */
#gallery .carousel-control-prev,
#gallery .carousel-control-next {
    width: 5%;
    background-color: rgba(0,0,0,0.5);
}

#gallery .carousel-control-prev-icon,
#gallery .carousel-control-next-icon {
    width: 30px;
    height: 30px;
}