/*============================================================================================*/
/* Your custom styles below */
/*============================================================================================*/
gmp-map {
  height: 100%;
}

 /* Loading Screen Styles */
        #loadingScreen {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 9999; /* Above everything else */
            transition: opacity 0.5s ease;
        }

        .spinner {
            border: 8px solid #f3f3f3; /* Light grey */
            border-top: 8px solid #3498db; /* Blue */
            border-radius: 50%;
            width: 60px;
            height: 60px;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        .loading-text {
            margin-top: 20px;
            font-size: 18px;
            color: #333;
        }
        

@media (max-width: 767px) {
    .rev_slider {
        height: 300px !important; /* Adjust height for mobile */
    }
     .tp-caption {
        top: 20% !important; /* Adjust top position to avoid logo */
    }
     .tp-caption.rs-btn {
        margin-bottom: 30px !important; /* Add space below the button */
    }
    .tp-bullets {
        bottom: 20px !important; /* Adjust position of slide navigation circles */
    }
}




        .autocomplete-suggestions {
            border: 1px solid #ccc;
            max-height: 200px;
            overflow-y: auto;
            position: absolute;
            background-color: white;
            width: 100%;
            z-index: 1000;
            list-style: none;
            padding: 0;
            margin: 0;
            top: 100%; /* Position directly below the input */
            left: 0; /* Align with the input */
        }

        .autocomplete-suggestion {
            padding: 10px;
            cursor: pointer;
            border-bottom: 1px solid #ddd;
        }

        .autocomplete-suggestion:hover {
            background-color: #f0f0f0;
        }
        
#search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
}

#search-text {
  font-size: 18px;
  color: #333;
}

.collapse {
    transition: height 0.3s ease;
}

.collapse-icon {
    transition: transform 0.3s ease;
}

.collapse-icon.fa-angle-up {
    transform: rotate(180deg);
}

   /* Center content and limit width */
.facts-grid {
    max-width: 1200px; /* Adjust as needed */
    margin: 0 auto; /* Center the container */
    padding: 0 10px; /* Add horizontal padding */
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap to the next row */
    justify-content: space-between; /* Add space between items */
}

/* Fact item style */
.fact-item {
    width: calc(16.66% - 20px); /* Each item takes 16.66% of the container width (6 items per row), minus margin */
    margin-bottom: 20px; /* Add spacing between rows */
    text-align: center; /* Center-align text */
    color: #602826; /* Text color */
}

/* Style icons */
.fact-item i {
    font-size: 2rem; /* Icon size */
    color: #602826; /* Icon color (reddish) */
    margin-bottom: 10px; /* Space below the icon */
    transition: transform 0.3s ease; /* Smooth hover effect */
}

/* Hover effect for icons */
.fact-item:hover i {
    transform: scale(1.1); /* Slightly enlarge icons on hover */
}

/* Responsive design for smaller screens */
@media (max-width: 1200px) {
    .fact-item {
        width: calc(25% - 20px); /* 4 items per row on medium screens */
    }
}

@media (max-width: 768px) {
    .fact-item {
        width: calc(33.33% - 20px); /* 3 items per row on smaller screens */
    }
}

@media (max-width: 480px) {
    .fact-item {
        width: calc(50% - 20px); /* 2 items per row on mobile screens */
    }
}
        /* Container for the text */
    .text-container {
        max-width: 1000px;
        margin: 0 auto;
        line-height: 1.6;
        font-size: 1rem;
        color: #333;
    }

    /* Short text with fade effect */
    .short-text {
        position: relative;
        max-height: 16em; /* Show only 8 lines (1.2em line height * 8 lines) */
        overflow: hidden;
    }

    /* Fade effect for the last line */
    .fade {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 2em; /* Adjust based on line height */
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
        pointer-events: none; /* Ensure the fade doesn't block clicks */
    }

    /* Button styling */
    .read-more-btn {
        color: #f37550;
        cursor: pointer;
        font-weight: bold;
        margin-top: 10px;
        display: inline-block;
        text-decoration: none;
    }

    .read-more-btn:hover {
        text-decoration: underline;
    }

    /* Hide fade effect when text is expanded */
    .collapse.show ~ .read-more-btn + .short-text .fade {
        display: none;
    }
.tabs-section {
  padding-top: 0px;
  padding-bottom: 0px;
}

.toggle-btn {
   background-color: #ffffff;
  color: #602826;
  padding: 10px 20px;
  margin: 0 5px;
  border: 1px solid #c9c7c7;;
  border-radius: 4px 4px 0 0;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.toggle-btn.active {
  background-color: #602826;
  color: white;
  border-color: #441b1b;
}

.toggle-btn:hover {
  background-color: #3f1919;
  color: white;
}

.content-section {
  padding: 20px 20px 0px 20px; /* Top, Right, Bottom, Left padding */
  background-color: #ffffff; /* White background */
  border: 1px solid #ddd; /* Border around the box */
  border-radius: 8px; /* Rounded corners */
  margin-top: 0px;
  display: none; /* Initially hidden */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow for a lifted effect */
  width: 800px;
  max-width: 100%;

  
}

/* Optionally, you can add a background color to differentiate the content */
.content-section.bg-light {
  background-color: #f9f9f9; /* Light background */
}

.content-section.bg-dark {
  background-color: #333; /* Dark background */
  color: #fff; /* White text color */
}


.content-section p {
  font-size: 16px;
  color: #333;
}

.text-center.mb-4 {
  margin-bottom: 0px !important; /* Remove bottom margin for the button container */
}


.text-center {
  text-align: center;
}

 .center-div {
    margin: auto; /* Center the div horizontally */
    text-align: left; /* Ensure text inside the div is left-aligned */
    width: 100%; /* Set a width for the div (adjust as needed) */
  }

    .alternate-bg {
  background-color: #f2f0f0; /* Light gray background */
  padding: 20px 0 0; /* Top padding = 20px, bottom padding = 0 */
  width: 100vw; /* Full viewport width */
  margin-left: calc(-50vw + 50%); /* Center the element horizontally */
  color: #333; /* Dark text for better contrast */
}

    /* Center content and limit width */
    .container_alt {
      max-width: 1200px; /* Adjust as needed */
      margin: 0 auto; /* Center the container */
      padding: 0 10px; /* Add horizontal padding */
      display: flex;
      flex-wrap: wrap; /* Allow items to wrap to the next row */
      justify-content: space-between; /* Add space between items */
    }

    /* 3-column layout */
    .preview-item {
      width: calc(33.33% - 20px); /* Each item takes 33.33% of the container width, minus margin */
      margin-bottom: 10px; /* Add spacing between rows */
      text-align: center; /* Center-align text */
      color: #602826;
    }

     /* Style icons */
    .preview-item i {
      font-size: 2rem; /* Icon size */
      color: #602826; /* Icon color (reddish) */
      margin-bottom: 10px; /* Space below the icon */
      transition: transform 0.3s ease; /* Smooth hover effect */
    }

    /* Hover effect for icons */
    .preview-item:hover i {
      transform: scale(1.1); /* Slightly enlarge icons on hover */
    }

    /* Responsive design for smaller screens */
    @media (max-width: 768px) {
      .preview-item {
        width: 100%; /* Stack items vertically on smaller screens */
        margin: 10px 0; /* Adjust spacing */
      }
    }

 .share-btn {
     display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border: 0;
    width: 30px;
    height: 30px;
    padding: 2px;
    margin: 5px;
    color: #ffffff;
    border-radius: 50%;
    background-color: #602826;

    transition: color 0.5s ease;
}

/* Hover effect - lighter shade */
.share-btn:hover {
     color: #f2e2e2;
}
    
.niftybutton {
    display: block;
    fill: currentColor;
    transition: transform 0.3s ease; /* Smooth transition */
}

.niftybutton:hover {
    transform: scale(1.2); /* Increases size by 20% on hover */
}

.filter {
    display: flex;
    gap: 10px; /* Adjust the gap between dropdowns */
}

   .holiday-card {
        display: flex;
        margin-bottom: 40px;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1);
        transition: transform 0.3s ease;
        background: white;
    }
    
    .holiday-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    }
    
    .holiday-image {
        flex: 0 0 45%;
        position: relative;
    }
    
    .holiday-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        aspect-ratio: 4/3;
    }
    
    .holiday-content {
        flex: 1;
        padding: 30px;
        display: flex;
        flex-direction: column;
    }
    
    .holiday-title {
        font-size: 1.5rem;
        margin-bottom: 15px;
        color: #222;
    }
    
    .holiday-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 15px;
        margin-bottom: 20px;
    }
    
    .meta-item {
        display: flex;
        align-items: center;
        font-size: 0.9rem;
        color: #555;
    }
    
    .meta-item i {
        margin-right: 8px;
        color: #0066cc;
    }
    
    .holiday-desc {
        color: #666;
        line-height: 1.6;
        margin-bottom: 25px;
        flex-grow: 1;
    }
    
   .holiday-features {
    display: flex;
    flex-direction: column;  /* Stack items vertically */
    gap: 10px;              /* Space between items */
    margin-top: auto;
    width: 100%;            /* Ensure full width */
}
    
    .feature-badge {
        background: #f5f7fa;
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 0.85rem;
        display: flex;
        align-items: center;
    }
    
    .feature-badge i {
        margin-right: 5px;
        color: #0066cc;
    }
    
     .feature-badge-dark {
        background: #eef3f7;
        
        padding: 6px 12px;
        border-radius: 20px;
        font-size: 0.85rem;
        display: flex;
        align-items: center;
        color:#602826;
    }
    
    .feature-badge-dark i {
        margin-right: 5px;
        color: #f37550;
    }
    
    @media (max-width: 768px) {
        .holiday-card {
            flex-direction: column;
        }
        
        .holiday-image {
            flex: 0 0 auto;
        }
    }
  