/* Import Montserrat font */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;600;700&display=swap');

/* Apply Raleway as the default font */
body {
    
}

html {
    height: 100%; /* Ensures that the footer is positioned correctly */
    background-color: #000;
}

/* Basic text selection styling */
::selection {
    background-color: #c40000;  /* Highlight color */
    color: #fff;  /* Text color when selected */
}

/* Firefox-specific selection styling */
::-moz-selection {
    background-color: #c40000;  /* Highlight color */
    color: #fff;  /* Text color when selected */
}
.red{color:#C40003;}
body {
    display: flex; /* Use flexbox for layout */
    flex-direction: column; /* Align children in a column */
    min-height: 100vh; /* Minimum height of the viewport */
    margin: 0; /* Remove default margin */
    background-color: #fff; /* Page background color (for main content) */
    line-height: 1.6;                       /* Line height for readability */
    padding: 0;                             /* Remove default padding */
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    color: #333333;  /* Darker text for readability */
}

main {
    flex: 1; /* Take up available space */
}


/*GENERAL STYLES*/

/* Headings */
h1 {
    font-family: 'Raleway', sans-serif;      /* Use Roboto for h1 */
    font-size: 2.0rem;                      /* Font size for h1 */
    margin-bottom: 10px;                    /* Space below heading */
    background: linear-gradient(to left, #ccc, #333); /* Gradient color */
    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
}

h2 {
    font-family: 'Poppins', sans-serif;
    font-size: 1.75rem;
 background: linear-gradient(to left, #ccc, #333); /* Gradient color */    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
    margin-bottom: 8px;
    
}
 
h3 {
    font-family: 'Raleway', sans-serif;      /* Use Roboto for h3 */
    font-size: 1.5rem;                     /* Font size for h3 */
    margin-bottom: 6px;                     /* Space below heading */
 background: linear-gradient(to left, #ccc, #333); /* Gradient color */    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
}

h4 {
    font-family: 'Poppins', sans-serif;     /* Use Poppins for h4 */
    font-size: 1.25rem;                      /* Font size for h4 */
    margin-bottom: 5px;                     /* Space below heading */
 background: linear-gradient(to left, #ccc, #333); /* Gradient color */    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
}

h5 {
    font-family: 'Raleway', sans-serif;      /* Use Roboto for h5 */
    font-size: 1.15rem;                     /* Font size for h5 */
    margin-bottom: 4px;                     /* Space below heading */
 background: linear-gradient(to left, #ccc, #333); /* Gradient color */    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
}

h6 {
    font-family: 'Poppins', sans-serif;     /* Use Poppins for h6 */
    font-size: 1rem;                        /* Font size for h6 */
 background: linear-gradient(to left, #ccc, #333); /* Gradient color */    -webkit-background-clip: text; /* Clip the background to the text */
    color: transparent; /* Make text color transparent to show the gradient */
    margin-bottom: 3px;                     /* Space below heading */
}

/* Paragraphs */
p {
    font-family: 'Poppins', sans-serif;     /* Use Poppins for paragraphs */
    font-size: 1rem;                        /* Font size for paragraphs */
    color: #666;                            /* Grey color */
    margin-bottom: 15px;                   /* Space below paragraph */
}

/* Links */
a {
    font-family: 'Poppins', sans-serif;     /* Use Poppins for links */
    color: #c40000;                         /* Green color for links */
    text-decoration: none;                  /* Remove underline */
    transition: color 0.3s ease;           /* Smooth transition for hover */
}

a:hover {
    color: #7d0000!important;                         /* Change to purple on hover */
    text-decoration: none;              /* Underline on hover */
}

/* Lists */
ul, ol {
    margin: 0;                             /* Remove margin */
    padding: 0;                            /* Remove padding */
}

li {
    margin-bottom: 8px;                    /* Space between list items */
}

/* Blockquotes */
blockquote {
    font-family: 'Poppins', sans-serif;     /* Use Poppins for blockquotes */
    font-style: italic;                    /* Italic for blockquotes */
    color: #999;                           /* Grey color */
    margin: 15px 0;                       /* Space above and below */
    padding-left: 15px;                   /* Indent blockquote */
    border-left: 3px solid #c40000;      /* Left border */
}

.textcenter{text-align:center !important;}


.prevnext {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    margin: 0px 0;
    margin-top: -20px;
    max-width: 1440px;
}

.prevnext a {
    display: inline-block;
    padding: 8px 16px;
    text-decoration: none;
    color: #999;
    font-weight: bold;
    border: 1px solid #999;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.prevnext a:hover {
    background-color: #666;
    color: #fff;
    border-color: #666;
}


.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 ratio (9 / 16 = 0.5625) */
    height: 0;
}

.youtubevideo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.highlight{
    border: 1px dashed #ddd; 
    padding: 25px;
    margin-bottom: 10px; 
    width: 100%;
    float: left;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    
}

/* Header Styling */
header {
    padding: 15px 20px; /* Top and bottom padding */
    position: relative; /* Required for absolute positioning of logo */
    z-index: 2; /* Ensure header is above other elements */
    margin-bottom: -20px; /* Pull the header up */
    background-color: #000;
}
.header-container {
    display: flex; /* Use flexbox for layout */
    justify-content: space-between; /* Space between logo and navigation */
    align-items: center; /* Center items vertically */
}

.toplogo {
    /* Center the logo vertically */
}

.toplogo img {
    max-width: 100%; /* Responsive logo */
    height: auto; /* Maintain aspect ratio */
    width: 350px; /* Set a default width for the logo */
    z-index: 99 !important;
}

/* Hero Section Styling */
.hero {
    /*background-image: url('<?= $GLOBALS['imgroot']; ?>/hero-background.jpg'); /* Add your hero background image */
    background-color: #000 !important;
    background-size: cover; /* Cover the entire section */
    background-position: center; /* Center the background image */
    color: white; /* Text color */
    text-align: center; /* Center text */
    position: relative; /* For positioning content */
    margin-top: 0px !important; /* Adjust this value to move the slider up */
    z-index: 1; /* Ensure it's above other content */
}

/*BACK TO TOP*/
#button {
  display: inline-block;
  background-color: #FFF;
  width: 50px;
  height: 50px;
  text-align: center;
  border-radius: 4px;
  position: fixed;
  bottom: 65px;
  right: 30px;
  transition: background-color .3s, 
    opacity .5s, visibility .5s;
  opacity: 0;
  visibility: hidden;
  z-index: 1000;
}
#button::after {
  content: "\f077";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
  line-height: 50px;
  color: #000;
}
#button:hover {
  cursor: pointer;
  background-color: #ccc;
}
#button:active {
  background-color: #ccc;
}
#button.show {
  opacity: 1;
  visibility: visible;
}


/*HERO*/
.hero::before {
    content: ""; /* Empty content for overlay */
    position: absolute; /* Positioning */
    top: 0; /* Align to the top */
    left: 0; /* Align to the left */
    right: 0; /* Align to the right */
    bottom: 0; /* Align to the bottom */
    z-index: 1; /* Stack below the content */
    background-color: #fff;
}

.heroinl {
    background-image: url('<?= $GLOBALS['imgroot']; ?>/hero-background.jpg'); /* Add your hero background image */
    background-size: cover; /* Cover the entire section */
    background-position: center; /* Center the background image */
    color: white; /* Text color */
    text-align: center; /* Center text */
    padding: 100px 20px; /* Top/bottom and left/right padding */
    margin: 50px 0px;
    position: relative; /* For positioning content */
}

.heroinl::before {
    content: ""; /* Empty content for overlay */
    position: absolute; /* Positioning */
    top: 0; /* Align to the top */
    left: 0; /* Align to the left */
    right: 0; /* Align to the right */
    bottom: 0; /* Align to the bottom */
    background-color: rgba(0, 0, 0, 1); /* Black overlay with transparency */
}

.hero-content {
    position: relative; /* Positioning for content */
    z-index: 2; /* Stack above overlay */
    
}
.hero-content img.header{
    float: left;
    width: 100%;
    z-index: 2; /* Stack above overlay */
    
}

.hero h1 {
    font-size: 2.5em; /* Font size for the main heading */
    margin-bottom: 20px; /* Spacing below heading */
}

.hero p {
    font-size: 1.2em; /* Font size for the paragraph */
    margin-bottom: 30px; /* Spacing below paragraph */
}

.btn-hero {
    background-color: #ffb400; /* Button background color */
    color: white; /* Button text color */
    padding: 10px 20px; /* Button padding */
    text-decoration: none; /* Remove underline */
    border-radius: 5px; /* Rounded corners */
    transition: background-color 0.3s; /* Transition for hover effect */
}

.btn-hero:hover {
    background-color: #D49E16; /* Darker shade on hover */
}


.btns {
    display: inline-block;
    padding: 10px 20px;
    background-color: #697626; /* Button background color (blue) */
    color:#fff;
    font-size: 16px;
    font-weight: bold;
    border-radius: 0px; /* Rounded corners */
    border: none; /* No border */
    cursor: pointer; /* Change cursor to pointer */
    transition: background-color 0.3s ease; /* Smooth hover effect */
    margin-bottom: 10px;
}

.btns a{
    color: #FFF !important; /* Text color */
    text-decoration: none !important; /* Remove underline from link */
}

.btns:hover {
    background-color: #47210e; /* Darker blue on hover */
}

.btns:active {
    background-color: #000000; /* Even darker on click */
}

.btns:focus {
    outline: none; /* Remove focus outline */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5); /* Add focus shadow */
}
 
.tablerow{font-size:0.95em; padding: 5px 0px;}
.tablerow a{color:#626f1c; font-weight: bold; text-decoration: none;}
.tablerow a:hover{text-decoration: underline;}
.tablerow input{margin: 0px !important;}

#letter-select {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ccc; /* Light border */
    border-radius: 5px; /* Rounded corners */
    background-color: #f9f9f9; /* Light background */
    color: #333; /* Text color */
    cursor: pointer; /* Change cursor to pointer */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Smooth hover effects */
    width: 100%; /* Full width by default, can be adjusted */
    max-width: 300px; /* Max width of 300px */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

#letter-select:hover {
    border-color: #007bff; /* Blue border on hover */
}

#letter-select:focus {
    outline: none; /* Remove default focus outline */
    border-color: #007bff; /* Blue border on focus */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Glow effect on focus */
}

/* Form Container */
form {
    max-width: 1440px;
    margin: 10px 0;
    padding: 20px;
    border-radius: 10px;
}

/* Form Labels */
form label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold; /* Bold labels */
    font-size: 16px;
    color: #333;
}

/* Input Fields */
form input[type="text"],
form input[type="email"],
form input[type="password"],
form textarea,
form select {
    width: 100%; /* Full width input fields */
    padding: 30px;
    margin-bottom: 15px;
    font-size: 16px;
    border: 1px solid #ccc; /* Light border */
    border-radius: 5px; /* Rounded corners */
    background-color: #fff; /* White background */
    box-sizing: border-box; /* Ensures padding doesn’t affect width */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Smooth transition for hover/focus */
}
.grouped-inputs {
    display: flex;
    gap: 10px;
    width: 80%;
}

.grouped-inputs input, .grouped-inputs select {
    flex: 1;
    width:33.333333% !important;
}
/* Focus State */
form input:focus,
form textarea:focus,
form select:focus {
    outline: none;
    border-color: #007bff; /* Blue border on focus */
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5); /* Subtle glow on focus */
}

/* Textarea */
form textarea {
    min-height: 120px;
    resize: vertical; /* Allow vertical resizing */
}

/* Submit Button */
form input[type="submit"] {
    display: inline-block;
    padding: 12px 20px;
    background-color: #28a745 !important; /* Green background */
    color: white; /* White text */
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease; /* Smooth hover effect */
}

/* Hover Effect for Submit Button */
form input[type="submit"]:hover {
    background-color: #218838; /* Darker green on hover */
}

/* Disabled Submit Button */
form input[type="submit"]:disabled {
    background-color: #6c757d; /* Gray background */
    cursor: not-allowed; /* Disabled cursor */
}

/* Optional - Styling for Error Messages */
form .error {
    color: #dc3545; /* Red error text */
    font-size: 14px;
    margin-top: -10px;
    margin-bottom: 10px;
    display: block;
}

/* Checkbox & Radio Buttons */
form input[type="checkbox"],
form input[type="radio"] {
    margin-right: 10px;
}

/* Form Fieldset */
form fieldset {
    border: 1px solid #ddd;
    padding: 15px;
    margin-bottom: 20px;
    border-radius: 5px;
}

/* Fieldset Legend */
form legend {
    font-weight: bold;
    padding: 0 10px;
}

/* Align Submit Button to Right */
form .align-right {
    text-align: right;
}

/* Style for URL input field */
input[type="url"] {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}

input[type="url"]:focus {
    outline: none;
    border-color: #4CAF50; /* Green color on focus */
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); /* Glow effect */
}

/* Style for Date input field */
input[type="date"] {
    width: 100%;
    padding: 10px;
    margin: 10px 0;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 14px;
    box-sizing: border-box;
}

input[type="date"]:focus {
    outline: none;
    border-color: #4CAF50; /* Green color on focus */
    box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); /* Glow effect */
}

input[type="date"]::-webkit-calendar-picker-indicator {
    background-color: #4CAF50;
    border-radius: 4px;
}

input[type="date"]:disabled {
    background-color: #f0f0f0;
    border-color: #ddd;
}


@media (max-width: 768px) {
    .hero {
        padding: 30px 0px 0px; /* Reduced padding for smaller screens */
        margin-bottom: 0px;
     } 

    .hero h1 {
        font-size: 2em; /* Smaller font size for mobile */
    }

    .hero p {
        font-size: 1em; /* Smaller font size for mobile */
    }
}

/* Footer Styling */
footer {
    background-color: #000; /* Dark background color for footer */
    color: white; /* Text color */
    text-align: center; /* Center text */
    padding: 0px 0; /* Padding above and below */
    position: relative; /* For positioning */
    font-size: 0.9em; /* Font size for footer text */
}

footer .container{ 
    position: relative;
    margin: 0 auto;
    padding: 25px 0px 15px;
    display: flex; /* Use flexbox for layout */
    flex-wrap: wrap; /* Allow wrapping of columns */
}

footer h5{color:#eee;}
footer p {
    margin: 0; /* Remove default margin */
}

footer a, footer fab {
    color: #979797 !important;
    text-decoration: none;
}
 
footer a:hover, footer fab:hover  {
    color: #FFF !important; text-decoration: none;
} 

footer .column-box {
    background-color: #000;
    border: none;
    color: white; /* Text color */
    padding: 20px; /* Padding inside the column box */
    transition: transform 0.3s; /* Transition for hover effect */
}

/* Responsive Design */
@media (max-width: 768px) {
    footer p {
        font-size: 0.8em; /* Smaller font size for mobile */
    }
}

.social-links {
    margin-top: 10px; /* Spacing above social links */
}

.social-links a {
    color: white; /* Link color */
    margin: 0 10px; /* Horizontal spacing between links */
    text-decoration: none; /* Remove underline */
}

.social-links a:hover {
    text-decoration: underline; /* Underline on hover */
}

/* Container Styling */
.container {
    max-width: 1440px; /* Max width for the container */
    margin: 0 auto; /* Center the container */
    padding: 50px 30px; /* Padding inside the container */
    overflow-x: hidden;  
}

/* Row Styling */
.row {
    display: flex; /* Use flexbox for layout */
    flex-wrap: wrap; /* Allow wrapping of columns */
    margin: -10px; /* Negative margin for gutters */
    padding: 15px 0px !important;          
}

/* Breadcrumb container */
.breadcrumb {
    position: relative;                /* Keeps it in the document flow */
    width: 100vw;                      /* Full viewport width */
    left: calc(-50vw + 50%);           /* Align to center of viewport */
    display: block;                    /* Ensure it's a block element */
    font-size: 16px;                   /* Font size for breadcrumbs */
    margin: 5px 0;                     /* Margin around breadcrumbs */
    color: #555;                       /* Dark gray color for text */
    border-top: 1px solid #eee;        /* Top border for breadcrumbs */
    border-bottom: 1px solid #eee;     /* Bottom border for breadcrumbs */
    background-color: #fff;            /* Optional: Background color */
    box-sizing: border-box;            /* Includes padding/borders in width */
}


/* Breadcrumb link */
.breadcrumb a {
    text-decoration: none;             /* Remove underline */
    color: #c40000;                   /* Link color */
    transition: color 0.3s;           /* Smooth transition for hover */
}

/* Breadcrumb link hover */
.breadcrumb a:hover {
    color: #85c441;                   /* Darker color on hover */
}

/* Separator character */
.breadcrumb a:after {
    margin: 0 5px;                    /* Space around the separator */
}

.rowEven{background-color: #ccc !important;}
.rowOdd{background-color: #777 !important;}


/* Column Box Styling */
.column-box {
    background-color: #fff;
    border: 0px solid #ccc;
    padding: 0px;
    margin-bottom: 15px;
    transition: transform 0.3s; /* Transition for hover effect */
}

/* Hover Effect for Column Boxes */
.column-box:hover {
    /*transform: scale(1.05); /* Slightly enlarge on hover */
}


/* Responsive Design */
@media (max-width: 768px) {
    .col {
        flex: 0 0 100%; /* Stacks columns on smaller screens */
    }

    .column-box {
        padding: 15px; /* Adjust padding for mobile */
    }
}

.mainform{
    float: left;
    width: 100%;
    max-width: 1920px;
    margin: 20px 0;
    padding: 20px;
    background-color: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.mainform label{
    float: left;
    width: 20%;
    padding: 10px;
    margin: 5px 0px;
}
.mainform input, .mainform select{
    float: left;
    width: 80%;
    padding: 10px;
    margin: 5px 0px;
    font-size: 16px;
    color:#333;
    border: 1px solid #eee;
}


 .btnsave {
    background-color: #28a745 !important; /* Green background */
    color: white; /* White text */
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    max-width: 200px !important;
    float: right !important;
}

.btnsave:hover {
    background-color: #218838 !important; /* Darker green on hover */
}

.btnsave:active {
    background-color: #1e7e34; /* Even darker green when pressed */
}

.btnsave:disabled {
    background-color: #6c757d; /* Grey when disabled */
    cursor: not-allowed;
}

.fleft{ width: 100%; float: left !important;}
.datepicker {
    cursor: pointer; /* Changes cursor to indicate the field is clickable */
    width: 80% !important;
}

#lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000; /* Make sure it overlays above other content */
}

#lightbox img {
    max-width: 90%;
    max-height: 90%;
}

#close-lightbox {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}
.clear{clear:both; width: 100%; float: left;}

.uplimage{width:100%; max-width:600px !important; float: left; clear: both; background-color: #fff; border: none; margin: 0; padding: 0; box-shadow: none;}
.image-upload{float:left;}	
.image-upload > input{ display: none;}
.image-upload img{width: 100%; max-width: 600px !important;cursor: pointer;float: left !important;}

.btn, .btnback{color:#000; font-weight: bold;}
.smaller{font-size: 14px; color: #000; text-transform: uppercase;}
.profileimg{width:100%; max-width: 200px; cursor: pointer; clear: both;}
.uplimage{width:100%; max-width: 200px !important; cursor: pointer; clear: both;}
.profileimgsmall{width:100%; max-width: 50px;}



.mainform2{
    float: left;
    width: 100%;
    max-width: 1920px;
    margin: 0px 0;
    padding: 0px;
    background-color: #FFF;
    border: 0px solid #ccc;
    border-radius: 0px;
    box-shadow: 0 0px 0px rgba(0, 0, 0, 0.1);
}

.mainform2 label{
    float: left;
    width: 20%;
    padding: 10px;
    margin: 5px 0px;
}
.mainform2 input, .mainform2 select{
    float: left;
    width: 80%;
    padding: 10px;
    margin: 5px 0px;
    font-size: 16px;
    color:#333;
    border: 1px solid #eee;
}


/* CATEGORIES */

/* Parent container */
.category-container {
    display: flex;                     /* Use flexbox layout */
    flex-wrap: wrap;                   /* Allow items to wrap */
    justify-content: flex-start;       /* Align categories from the left */
    gap: 20px;                         /* Space between columns */
    max-width: 1200px;                 /* Limit max width */
    margin: auto;                       /* Center align */
}

/* Styles for the category list */
ul.category {
    list-style: none;                   /* No list icons */
    padding: 0;                         /* Remove padding */
    margin: 0;                          /* Remove margin */
    display: flex;                      /* Use flexbox */
    flex-wrap: wrap;                    /* Allow items to wrap */
    justify-content: space-between;     /* Space out columns */
}

/* Main category styles */
ul.category > li {
    width: calc(33.333% - 20px);        /* Max 3 columns */
    padding: 20px;
    margin: 10px 0;
    background: #f9f9f9;               /* Light background */
    transition: transform 0.2s ease-in-out;
}

/* Main category hover effect */
ul.category > li:hover {
    transform: scale(1.03);

}

/* Styles for <a> links within categories */
ul.category li a {
    color: #333;
    text-decoration: none;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
}

/* Subcategories */
ul.subcategories {
    list-style: none;
    justify-content: left;
    gap: 2px;
}

/* Each subcategory */
ul.subcategories li {
    width: 100%;                         /* 2 columns for subcategories */
    font-size: 14px;
    text-align: left;
    padding: 0;
}

/* Subcategory links */
ul.subcategories li a {
    color: #666;
    font-size: 14px;
    transition: color 0.3s ease;
}

/* Hover effect */
ul.subcategories li a:hover {
    color: #c40000;
}

/* Responsive Design */
@media (max-width: 768px) {
    ul.category > li {
        width: 48%;                      /* 2 columns on smaller screens */
    }
    ul.subcategories li {
        width: 100%;                     /* Stack subcategories */
    }
}

@media (max-width: 480px) {
    ul.category > li {
        width: 100%;                      /* Single column on mobile */
    }
}


/* Media query for mobile devices */
@media (max-width: 768px) {
    ul.category li {
        width: calc(50% - 2%);        /* Two columns on medium screens */
    }

    .subcategories li {
        width: calc(50% - 2%);        /* Two columns for subcategories on medium screens */
    }
} 

@media (max-width: 480px) {
    ul.category li {
        width: calc(50% - 2%);        /* Two columns on medium screens */
    }

    .subcategories li {
        width: calc(50% - 2%);        /* Two columns on medium screens */
    }
} 



.listing-image {
    height: auto;                      /* Maintain aspect ratio */
    transition: transform 0.3s;       /* Optional: Add a transition effect */
    max-width: 100%;
    width: 100%;
    padding: 5%;
    border-radius: 50%;                /* Make the image circular */
}
.listing-image img {
    height: auto;                      /* Maintain aspect ratio */
    transition: transform 0.3s;       /* Optional: Add a transition effect */
    max-width: 100%;
    width: 100%;
    padding: 5%;
    border-radius: 50%;                /* Make the image circular */
}
.listing-image:hover {
    transform: scale(1.05);           /* Optional: Slightly enlarge image on hover */
}

/* Listings */
.listing-list { 
    max-width: 100%;
    list-style: none;
    padding: 0;
    margin: 5px 0;
    display: flex;
    flex-wrap: wrap;
}

/* Each listing item - Default Desktop View */
.listing-list li {
    width: calc(20% - 1%);       /* Four columns for larger screens */
    padding: 10px;
    margin: 0.5%;
    border: 1px solid #ddd;
    border-radius: 5px;
    text-align: center;
    transition: background-color 0.3s;
}

/* Hover effect for listing items */
.listing-list li:hover {
    background-color: #f1f1f1;
}

.listing-list a {
    text-decoration: none;
    color: #333;
}

.listing-list a h3 {
    margin: 0;
}

/* Mobile Styles */
@media (max-width: 768px) {
    .listing-list li {
        width: calc(50% - 1%);    /* Two columns for tablets and medium screens */
        margin: 0.5%;
    }
}

@media (max-width: 480px) {
    .listing-list li {
        width: calc(50% - 1%);    /* Two columns for tablets and medium screens */
        margin: 0.5%;
    }
}

@media (max-width: 480px) {
    
/* Container Styling */
.container {
    max-width: 1440px; /* Max width for the container */
    margin: 0 auto; /* Center the container */
    padding: 10px 20px !important; /* Padding inside the container */
    overflow-x: hidden;  
}    
/* Breadcrumb container */
.breadcrumb {
    font-size: 16px;                   /* Font size for breadcrumbs */
    margin: 0px 0px 0px !important;    /* Margin around breadcrumbs */
    color: #555;                       /* Dark gray color for text */
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    
}

/* Breadcrumb link */
.breadcrumb a {
    text-decoration: none;             /* Remove underline */
    color: #c40000;                   /* Link color */
    transition: color 0.3s;           /* Smooth transition for hover */
}

/* Breadcrumb link hover */
.breadcrumb a:hover {
    color: #85c441;                   /* Darker color on hover */
}

/* Separator character */
.breadcrumb a:after {
    margin: 0 5px;                    /* Space around the separator */
}
}


/* Load More Button */
#load-more {
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 20px;
}

#load-more:hover {
    background-color: #0056b3;
}
 


/* Main Form Styling */
.mainform {
    max-width: 100%; /* Adjust the width as needed */
    margin: 20px auto; /* Center the form */
    padding: 20px;
    border: 1px solid #ccc; /* Light gray border */
    border-radius: 5px; /* Rounded corners */
    background-color: #f9f9f9; /* Light background color */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

/* Headings */
.mainform h2 {
    font-size: 1.5em; /* Size of the headings */
    margin-bottom: 10px; /* Space below headings */
}

/* Dropdown and Input Fields */
.mainform select,
.mainform input[type="text"],
.mainform input[type="email"],
.mainform input[type="file"] {
    width: 100%; /* Full width */
    padding: 10px; /* Inner padding */
    margin-bottom: 15px; /* Space below inputs */
    border: 1px solid #ccc; /* Light gray border */
    border-radius: 4px; /* Rounded corners */
    font-size: 1em; /* Font size */
}

/* Checkbox and Label Styling */
.mainform label {
    display: block; /* Stack checkboxes vertically */
    margin-bottom: 5px; /* Space below each label */
    color: #555; /* Medium gray color */
}
.mainform .form-group {
    width: 100%;
    clear: both;
}
/* Button Styling */
.mainform button {
    background-color: #28a745; /* Green background color */
    color: white; /* White text */
    padding: 10px 15px; /* Padding inside button */
    border: none; /* No border */
    border-radius: 4px; /* Rounded corners */
    font-size: 1em; /* Font size */
    cursor: pointer; /* Pointer cursor on hover */
}

.mainform button:hover {
    background-color: #218838; /* Darker green on hover */
}


/* Styles for the profile view container */
.profileview {
    float: left;
    width: 100%;
    border: 0px solid #eee;
    border-radius: 5px; /* Rounded corners for a softer look */
    /*box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
    margin: 0px 0; /* Space around the profile view */
    padding: 10px; /* Inner padding for content */
    background-color: #ffffff; /* White background */
}

.profileheader {
    float: left;  
    max-width: 100%; /* Responsive images */
    width: 100%;
    height: auto; /* Maintain aspect ratio */
    border-radius: 10px; /* Rounded corners for images */
    margin-bottom: 30px;
}   
.profileheader img{
    width: 100%;
}
.profileview .profile-left .listingLogo{width: 100%; padding: 15px; box-shadow: 0px 10px 10px #ccc; margin-bottom: 25px;}
.sliderLogo{width: 100%; box-shadow: 0px 0px 10px #121212; margin-bottom: 20px;}

.profileview .profile-left {
    width: 20%; 
    border: 1px solid #eee;
    padding: 20px;
    margin-right: 3%;
    border-radius: 10px; /* Rounded corners for images */
    text-align: center;
}
 
.profileview .profile-right {
    width: 77%;    
    border: 1px solid #eee;
    padding: 20px;
    border-radius: 10px; /* Rounded corners for images */
}    

/* Styles for listing sections within the profile view */
.profileview .listing-section {
    margin-bottom: 20px; /* Space between sections */
}

.profileview .listing-section h3 {
    font-size: 1.5em; /* Larger font for section headers */
    color: #333; /* Darker text color */
    margin-bottom: 10px; /* Space below section header */
}

/* Table styles for opening hours within the profile view */
.profileview .opening-hours {
    width: 100%; /* Full width for tables */
    border-collapse: collapse; /* Remove gaps between cells */
}
   
.profileview .opening-hours th,
.profileview .opening-hours td {
    border: 1px solid #ddd; /* Light gray border for table cells */
    padding: 8px; /* Padding inside table cells */
    text-align: left; /* Left-aligned text */
}

.profileview .opening-hours th {
    background-color: #f2f2f2; /* Light gray background for header */
    font-weight: bold; /* Bold text for headers */
}

/* Styles for buttons within the profile view */
.profileview .button {
    display: inline-block; /* Inline-block for button styling */
    padding: 10px 15px; /* Padding for buttons */
    background-color: #007bff; /* Blue background */
    color: #fff; /* White text */
    text-decoration: none; /* Remove underline */
    border-radius: 4px; /* Rounded corners */
    transition: background-color 0.3s; /* Smooth background change on hover */
}

.profileview .button:hover {
    background-color: #0056b3; /* Darker blue on hover */
}

/* Styles for images within the profile view */
.profileview img {
    max-width: 100%; /* Responsive images */
    height: auto; /* Maintain aspect ratio */
    border-radius: 4px; /* Rounded corners for images */
}
.mobcenter{text-align:center !important;}
/* Mobile Styles */
@media (max-width: 768px) {
    .profileview .profile-left,
    .profileview .profile-right {
        width: 100%; /* Full width for mobile */
        margin-right: 0; /* Remove margin on the right */
        margin-bottom: 10px; /* Space between sections on mobile */
    }
    
    .profileview .profile-left h1,    
    .profileview .profile-left h2,
    .profileview .profile-left h3,
    .profileview .profile-left h4,
    .profileview .profile-left p{
        text-align: center;
    }
    .profileview .profile-left p,
    .profileview .profile-right p {
    font-size: 1.3em;        
    }
    
    .profileview .profile-left h2,
    .profileview .profile-right h2, 
    .profileview .profile-left h3,
    .profileview .profile-right h3,
    .profileview .profile-left h4,
    .profileview .profile-right h4 {
    font-size: 1.5em;        
    } 
    
    .profileview .profile-left .listingLogo{width: 70%; margin-left: 15%; margin-right: 15%; box-shadow: 0px 10px 10px #ccc; margin-bottom: 15px;} 
      
    .profileview .profile-left .viewlink{
    display: flex;
    justify-content: center; /* Centers horizontally */
    align-items: center;     /* Centers vertically (if height is set) */
    flex-wrap: wrap;         /* Ensures items wrap when there's not enough space */
    }
    
    .profileview .profile-left .viewlink a {
    margin: 5px; /* Add space between items if needed */
    }
    .profileview {
        padding: 10px; /* Less padding on mobile for better fit */
    }

    .profileview .listing-section h3 {
        font-size: 1.15em; /* Smaller font size for section headers */
    }
 
    .profileview .opening-hours th,
    .profileview .opening-hours td {
        padding: 5px; /* Less padding in table cells for mobile */
    }

    .profileview .button {
        width: 100%; /* Full width buttons on mobile */
        text-align: center; /* Center align button text */
    }
}

/* Responsive Design */
@media (max-width: 600px) {
    .mainform {
        padding: 10px; /* Reduce padding on small screens */
    }
    
    .mainform h2 {
        font-size: 1.25em; /* Smaller headings */
    }
    
    .mainform button {
        width: 100%; /* Full width buttons on small screens */
    }
}

/* Style for tab container */
    .tab-container {
        display: flex;
        flex-direction: column;
        border-radius: 10px; /* Rounded corners for images */
        margin-bottom: 20px;
    }
   
    /* Style for tab buttons */
    .tab-buttons {
        display: flex;  
        /*border:1px solid #eee !important;*/
        border-radius: 10px; /* Rounded corners for images */
        margin-bottom: 20px;
        padding: 5px;
    }  
       
    .tab-button {
        padding: 10px 20px;
        cursor: pointer;
        border: none;
        background: #85c441; 
        flex: 1;
        text-align: center;
        font-size: 0.9em;
    }
    
    .tab-button:hover, .tab-button.active {
        background: #491051;
    }
    
    /* Style for tab content */
    .tab-content {
        display: none;
        padding: 20px;
        border-top: none;
    }
    
    .tab-content.active {
        display: block;
    }



/* Mobile Styles */
        @media (max-width: 600px) {
            .tab-button {
                padding: 8px 10px; /* Adjust padding for smaller screens */
                font-size: 1.2em; /* Smaller font size for mobile */
            }

            .tab-buttons {
                padding: 10px; /* Adjust padding for the button container */
            }

            .tab-content {
                padding: 15px; /* Adjust padding for content */
            }

            /* Stack buttons vertically on very small screens */
            .tab-buttons {
                flex-direction: column;
            }

            .tab-button {
                flex: none; /* Prevent buttons from stretching */
                width: 100%; /* Full width for buttons */
                margin-bottom: 5px; /* Space between buttons */
            }
            .fas, .fab{font-size:1.3em; color: #000;} 
            .fas:hover, .fab:hover{font-size:1.3em; color: #7B0B86;} 
            
        }

.viewlink {
    display: flex;              /* Use flexbox for layout */
    flex-wrap: wrap;           /* Allow items to wrap to the next line */
    gap: 10px;                 /* Space between icons */
    align-items: center;       /* Center items vertically */
}

.viewlink a, .mobcenter a{
    color: #333;               /* Icon color */
    text-decoration: none;      /* Remove underline */
    font-size: 1.5em;         /* Icon size */
    transition: color 0.3s;    /* Smooth color transition on hover */
}

.viewlink a:hover,  .mobcenter a:hover {
    color: #007bff;            /* Change color on hover (example: blue) */
}
.mobcenter{text-align:center !important;}


@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.eot');
    src: url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.eot?#iefix') format('embedded-opentype'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.woff2') format('woff2'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.woff') format('woff'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.ttf') format('truetype'),
         url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/webfonts/fa-solid-900.svg') format('svg');
}

.icon {
    font-family: 'Font Awesome 5 Free'; /* Specify the Font Awesome font family */
    font-weight: 900; /* Specify the font weight (solid icons) */
}

.boxsubcat {
    display: flex;
    align-items: center; /* Vertically center text */
    justify-content: center; /* Horizontally center text */
    border: 1px solid #666;
    padding: 10px;
    font-size: 0.8em;
    border-radius: 20px;
    max-width: 20%;
    text-align: center;
}

.boxsubcat a {
    color: #666;
    width: 100%;
    text-align: center;
}

.boxsubcat:hover {
    border: 1px solid #000;
    background-color: #000;
}

.boxsubcat a:hover {
    color: #FFF;
}


.linkContainer {
    display: flex;             /* Use flexbox for the container */
    flex-wrap: wrap;           /* Allow items to wrap to the next row */
    gap: 10px;                 /* Optional: Adds space between the columns */
    width: 100%;margin-bottom: 20px;
}

.boxsubcat25 {
    width: 24%;
     display: flex;
    vertical-align: middle;
    align-content: center !important;
    border: 1px solid #aaa;
    padding: 10px;
    font-size: 0.8em;
    align-items: center; /* Vertically aligns the text */
    text-align: center !important;
    border-radius: 20px;
    background-color: #fff;   
}


.boxsubcat25 a{color:#aaa; text-align: center; width: 100%;}
 
.boxsubcat25:hover{
    display: flex;
    vertical-align: middle;
    align-content: center !important;
    border: 1px solid #000;
    padding: 10px;
    font-size: 0.8em;
    align-items: center; /* Vertically aligns the text */
    text-align: center !important;
    border-radius: 20px;
    background-color: #000;
}

.boxsubcat25 a:hover{color:#FFF; text-align: center; width: 100%;}



/*EVENTS LIST */
       
.event-list, .promotion-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%;
    float: left;
}

.event-item, .promotion-item {
    width: 100%;
    float: left;
    padding: 25px;
    background-color: #fff;
    border: 1px solid #eee;
}
 
.event-item-even, .promotion-item-even {
    width: 100%;
    float: left;
    padding: 25px;
    background-color: #eee;
    border: 1px solid #ddd;
}

.event-image, .promotion-image{width: 30%; float:right;  }
.event-list .fas, .event-list .fab{font-size:1.3em; color: #000; margin-right: 10px;} 
.event-list .fas:hover, .event-list .fab:hover{font-size:1.3em; color: #7B0B86; margin-right: 10px;} 
.promotion-list .fas, .promotion-list .fab{font-size:1.3em; color: #000; margin-right: 10px;} 
.promotion-list .fas:hover, .promotion-list .fab:hover{font-size:1.3em; color: #7B0B86; margin-right: 10px;} 

@media (max-width: 600px) {
.event-list, .promotion-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%;
    float: left;
    text-align: center;
    
}
    
.event-list .fas, .event-list .fab{font-size:1.3em; color: #000;} 
.event-list .fas:hover, .event-list .fab:hover{font-size:1.3em; color: #7B0B86;} 
.promotion-list .fas, .promotion-list .fab{font-size:1.3em; color: #000;} 
.promotion-list .fas:hover, .promotion-list .fab:hover{font-size:1.3em; color: #7B0B86;} 
    
.event-item, .promotion-item {
    width: 100%;
    float: left;
    padding: 25px;
    background-color: #fff;
    border: 1px solid #eee;   
}
 
.event-item-even, .promotion-item-even {
    width: 100%;
    float: left;
    padding: 25px;
    background-color: #eee;
    border: 1px solid #ddd;
}

.event-image, .promotion-image{
    width: 100%; float:left;
    margin-bottom: 15px;    
}
 
    
.boxsubcat25 {
    width: 49%;
     display: flex;
    vertical-align: middle;
    align-content: center !important;
    border: 1px solid #aaa;
    padding: 10px;
    font-size: 0.8em;
    align-items: center; /* Vertically aligns the text */
    text-align: center !important;
    border-radius: 20px;
    background-color: #fff;   
}


.boxsubcat25 a{color:#aaa; text-align: center; width: 100%;}
 
.boxsubcat25:hover{
    display: flex;
    vertical-align: middle;
    align-content: center !important;
    border: 1px solid #000;
    padding: 10px;
    font-size: 0.8em;
    align-items: center; /* Vertically aligns the text */
    text-align: center !important;
    border-radius: 20px;
    background-color: #000;
}

.boxsubcat25 a:hover{color:#FFF; text-align: center; width: 100%;}    
} 


/* Basic Styles for Image Gallery */
.imagegallery {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 300px;
    float: right;
}

.imagegallery img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.imagegallery a {
    display: block;
    width: 100%;
    max-width: 33%; /* Default for 3 images */
}

.imagegallery img:hover {
    transform: scale(1.05);
} 

/* Adjust width based on number of images */
.imagegallery .event-image:nth-child(1) {
    width: 100%;
}

.imagegallery .event-image:nth-child(2),
.imagegallery .event-image:nth-child(3) {
    width: 50%; /* 2 images will take 50% width */
}
  
.imagegallery .event-image:nth-child(4) {
    width: 33%; /* 3 images will take 33% width */
}

/* Lightbox Styles (optional) */
.lightbox img {
    border: none;
}



.boxcontainer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; /* Allow the boxes to wrap onto the next line if needed */
    gap: 1%; /* Adds spacing between the boxes */
}

.boxcon {  
    width: 49%;
    border: 1px solid #eee;  
    padding: 2%;
    text-align: left;
    border-radius: 20px; 
    background-color: #fff;
    display: flex; /* Ensures the content inside is aligned properly */
    flex-direction: column; /* Ensure the text is stacked vertically */
    box-shadow: 0px 10px 10px #eee;
    margin-top: 1%;
    margin-bottom: 1%;
}

.boxcon33 {  
    width: 31.3%; 
    border: 1px solid #eee;  
    padding: 2%; 
    text-align: left;
    border-radius: 20px; 
    background-color: #fff;
    display: flex; /* Ensures the content inside is aligned properly */
    flex-direction: column; /* Ensure the text is stacked vertically */
    box-shadow: 0px 10px 10px #eee;
    margin-top: 1%;
    margin-bottom: 1%;
}

.boxcon h2, 
.boxcon h3, 
.boxcon h4, 
.boxcon h5, 
.boxcon p 
.boxcon33 h2, 
.boxcon33 h3, 
.boxcon33 h4, 
.boxcon33 h5, 
.boxcon33 p {
    width: 100%;
} 

/* Add basic responsive support */
@media (max-width: 768px) {
    .imagegallery .event-image {
        width: 100%; /* Stack images vertically on small screens */
    }
    .boxcon, .boxcon33 {  
    width: 100%;
    border: 1px solid #eee;  
    padding: 2%;
    text-align: left;
    border-radius: 20px; 
    background-color: #fff;
    display: flex; /* Ensures the content inside is aligned properly */
    flex-direction: column; /* Ensure the text is stacked vertically */
    box-shadow: 0px 10px 10px #eee;
    margin-top: 1%;
    margin-bottom: 1%;
}
}

/* Lists */
ul, ol {
    padding-left: 20px; /* 2 * 10px */
    font-size: 16px;
}

ul li, ol li {
    margin-bottom: 10px;
}

ul {
    list-style-type: disc;
}

ol {
    list-style-type: decimal;
}

/* Forms */
form {
    display: flex;
    flex-direction: column;
    max-width: 400px;
    margin: 20px auto; /* 2 * 10px */
}

form label {
    font-size: 14px;
    margin-bottom: 5px; /* (10px / 2) */
}

form input[type="text"],
form input[type="email"],
form input[type="password"],
form textarea,
form select {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    width: 100%;
    border-radius: 4px;
    margin-bottom: 20px; /* 2 * 10px */
}

form input[type="submit"],
form input[type="reset"],
form button {
    padding: 10px;
    font-size: 16px;
    color: #fff;
    background-color: #aaa;
    border: none;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s;
}

form input[type="submit"]:hover,
form input[type="reset"]:hover,
form button:hover {
    background-color: #999; /* Darken primary color by 10% equivalent */
}

/* Accordion */
.accordion {
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: #f8f9fa;
}

.accordion-item {
    border-bottom: 1px solid #ddd;
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    padding: 10px;
    background-color: #fff;
    color: #fff;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

/* Add a triangle down arrow */
.accordion-header::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #333; /* White arrow */
    transition: transform 0.3s ease;
    color: #333; 
}

/* Hover effect */
.accordion-header:hover {
    background-color: #eee; /* Lighten primary color by 10% equivalent */
}
 
.accordion-content {
    padding: 10px;
    display: none;
    background-color: #fff; /* Lighten background-color */
    
}

.accordion-item.active .accordion-content {
    display: block;
}

.accordion-item.active .accordion-header::after {
    transform: rotate(180deg); /* Rotate the arrow when active */
}
.accordion-body {
    padding: 20px;
    background-color: #fff;
    
}

.section-card {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 15px;
    padding: 15px;
    transition: box-shadow 0.3s ease;
}

.section-card strong {
    display: block;
    font-size: 1.1em;
    margin-bottom: 10px;
}

.section-card p {
    font-size: 1em;
    margin-bottom: 10px;
}

.section-card a {
    color: #007bff;
    text-decoration: none;
}

.section-card a:hover {
    text-decoration: underline;
}

.beach-image {
    max-width: 200px;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    border-radius: 8px;
}

.section-card:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Mobile responsiveness */
@media (max-width: 768px) {
    .accordion-body {
        padding: 15px;
    }

    .section-card {
        padding: 12px; /* Reduce padding for smaller screens */
        margin-bottom: 10px;
    }

    .section-card strong {
        font-size: 1em; /* Slightly reduce the font size for smaller screens */
    }

    .section-card p {
        font-size: 0.9em; /* Reduce paragraph font size for better readability */
    }

    .beach-image {
        max-width: 100%; /* Ensure the images fill the available space */
        margin-right: 0;
    }
}

@media (max-width: 480px) {
    .accordion-body {
        padding: 10px;
    }

    .section-card {
        padding: 10px; /* Further reduce padding on very small screens */
    }

    .section-card strong {
        font-size: 0.9em;
    }

    .section-card p {
        font-size: 0.85em;
    }
}

.emerno{color: #BC0003; font-weight: bold; font-size: 1.3em; border: 2px solid #cccccc; padding: 5px 10px; margin-top: 30px !important;}

/* EVENTS CONTAINER */
.events-container {
    max-width: 1440px;
    border: 1px dashed #eee !important;
    padding: 10px;
    width: 100%;
    margin: 0 auto;
}

/* EVENTS HOLDER */
.events-holder {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap on smaller screens */
    gap: 25px; /* Consistent spacing between items */
    margin: 20px auto;
    max-width: 1440px;
    width: 100%;
    justify-content: space-between; /* Distribute space evenly */
}

/* EVENT CARD */
.event-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    flex: 1 1 calc(33.333% - 25px); /* Responsive width (3 cards per row) */
    display: flex; /* Use Flexbox for card content */
    flex-direction: column; /* Stack content vertically */
    justify-content: space-between; /* Push action button to the bottom */
    min-height: 300px; /* Ensure a baseline height */
    padding: 15px;
}

/* OPTIONAL: Button container to align at the bottom */
.event-actions {
    text-align: center;
    margin-top: auto; /* Push button down */
}
.event-image {
    width: 100%;
    height: 200px !important;
    margin-bottom: 10px;
    object-fit: cover;
}
.event-details {
    padding: 25px;
    text-align: center !important;
}
.event-name {
    font-size: 1.5em;
    margin-bottom: 10px;
}
.event-time, .event-location, .event-price {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 5px;
}
.btn-reserve, .btn-directions {
    display: inline-block;
    margin-right: 10px;
    padding: 10px 15px;
    border-radius: 4px;
    background: #007bff;
    color: #fff;
    text-decoration: none; 
    font-size: 0.9em;
}
.btn-reserve:hover, .btn-directions:hover {
    background: #0056b3;
}

/* Button Styles */
.btn-more-info,
.btn-interested {
    display: inline-block;
    padding: 10px 15px;
    margin: 5px;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    width: 100%;
}

.btn-more-info {
    background-color: #993AAA;
    border: 1px solid #eee;
    box-shadow: 0px 10px 10px #ddd;
    color:#fff;
}

.btn-more-info:hover {
    background-color: #7A228A;
    border: 1px solid #eee;
    box-shadow: 0px 10px 10px #ddd;
    color:#fff;
}

.btn-interested {
    background-color: #28a745;
    border: 1px solid #1e7e34;
}

.btn-interested:hover {
    background-color: #1e7e34;
}
 
/* Day navigation buttons (1, 2, 3, ...) */
.btn-day {
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background-color: #f4f4f4;
    color: #333;
    border-radius: 50%;
    margin: 3px;
    font-size: 12px;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Highlight active day */
.btn-day.active {
    background-color: #000;
    color: white;
    font-weight: bold;
}

.btn-day:hover {
    background-color: #0099B3;
    color: white;
}

/* Loading indicator */
#loading {
    display: none;
    font-size: 1em;
    color: #333;
    text-align: center;
    margin: 20px 0;
}
/* For tablets and smaller screens (max-width: 768px) */
@media (max-width: 768px) { 
    .event-card {
        flex: 1 1 calc(50% - 25px); /* Responsive width (3 cards per row) */
        margin-bottom: 20px; /* Add space between cards */
    }  
}

/* For mobile screens (max-width: 580px) */
@media (max-width: 580px) { 
    .event-card {
        flex: 1 1 calc(100% - 25px); /* Responsive width (3 cards per row) */
        margin-bottom: 15px auto; /* Add space between cards */
    }

    /* Button (day navigation) adjustments */
    .btn-day {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 12px;
        margin: 2px; /* Adjust spacing between buttons */
    }

    /* Adjust event card's padding and font sizes for better readability on mobile */
    .event-card {
        padding: 10px; /* Add padding inside the card */
    }

    .event-name {
        font-size: 1.2em; /* Slightly smaller font size for mobile */
        margin-bottom: 8px;
    }

    .event-time, .event-location, .event-price {
        font-size: 0.85em; /* Smaller font size for mobile */
    }

    /* Adjust button sizes for mobile */
    .btn-reserve, .btn-directions, .btn-more-info, .btn-interested {
        padding: 8px 12px; /* Reduce button padding */
        font-size: 0.85em; /* Smaller text on buttons */
    }

    .btn-reserve, .btn-directions {
        margin-bottom: 10px; /* Add margin below buttons */
    }
}
 
 








/* Style for disabled links */
a.disabled {
    color: #ccc; /* Light grey for disabled */
    pointer-events: none; /* Prevent clicking */
}

/* Optional: Add a hover effect or underline for enabled days */
a.date-selector:hover:not(.disabled) {
}

/* Optional: Add some specific styles for the month navigation */
a[disabled] {
    color: #aaa; /* Faded color for disabled months */
}

/* Optional: Hide elements with the 'hidden' class */
.hidden {
    display: none;
}


/* General Styling for Month Navigation Links */
.monthlink {
    text-decoration: none;
    background-color: #f4f4f4;
    color: #333;
    font-weight: bold;
    margin: 0 10px;
    padding: 5px 15px;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.monthlink:hover {
    background-color: #0099B3;
    color: #fff;
} 
  
.textcenter .monthlink {
    text-decoration: none;
    background-color: #f4f4f4;
    color: #333;
    font-weight: bold;
    margin: 0 10px;
    padding: 5px 15px;
    border-radius: 5px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.textcenter .monthlink:hover {
    background-color: #0099B3;
    color: #fff;
}

/* PROMOTIONS */
.promotions-container {
    max-width: 1440px;
    border: 1px dashed #eee !important;
    padding: 10px;
    width: 100%;
    margin: 0 auto;
}
  
.promotions-holder {
    display: flex;
    flex-wrap: wrap;
    gap: 25px; /* Same gap as the events section */
    margin: 20px auto;
    max-width: 1440px;
    width: 100%;
}

.promotion-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    width: calc(33.333% - 25px); /* Match gap for promotion cards */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.promotion-image {
    width: 100%;
    height: 200px;
    margin-bottom: 10px;
    object-fit: cover;
}

.promotion-details {
    padding: 25px;
}

.promotion-name {
    font-size: 1.5em;
    margin-bottom: 10px;
}

.promotion-time,
.promotion-location,
.promotion-price {
    font-size: 0.9em;
    color: #666;
    margin-bottom: 5px;
}

.btn-reserve, .btn-directions {
    display: inline-block;
    margin-right: 10px;
    padding: 10px 15px;
    border-radius: 4px;
    background: #007bff;
    color: #fff;
    text-decoration: none; 
    font-size: 0.9em;
}

.btn-reserve:hover, .btn-directions:hover {
    background: #0056b3;
}

/* Button Styles (same as events) */
.btn-more-info,
.btn-interested {
    display: inline-block;
    padding: 10px 15px;
    margin: 5px;
    text-align: center;
    text-decoration: none;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    width: 100%;
}

.btn-more-info {
    background-color: #993AAA;
    border: 1px solid #eee;
    box-shadow: 0px 10px 10px #ddd;
    color: #fff;
}

.btn-more-info:hover {
    background-color: #7A228A;
    border: 1px solid #eee;
    box-shadow: 0px 10px 10px #ddd;
    color: #fff;
}

.btn-interested {
    background-color: #28a745;
    border: 1px solid #1e7e34;
}

.btn-interested:hover {
    background-color: #1e7e34;
}

/* For tablets and smaller screens (max-width: 768px) */
@media (max-width: 768px) {
    .promotion-card {
        width: calc(50% - 20px); /* Adjust card width for tablet screens */
        margin-bottom: 20px;
    }  
}

/* For mobile screens (max-width: 580px) */
@media (max-width: 580px) { 
    .promotion-card {
        width: calc(100%); /* Full width for mobile screens */
        margin-bottom: 15px auto;
    }

    /* Button (day navigation) adjustments */
    .btn-day {
        width: 30px;
        height: 30px;
        line-height: 30px;
        font-size: 12px;
        margin: 2px;
    }

    /* Adjust promotion card's padding and font sizes for better readability on mobile */
    .promotion-card {
        padding: 10px;
    }

    .promotion-name {
        font-size: 1.2em;
        margin-bottom: 8px;
    }

    .promotion-time, .promotion-location, .promotion-price {
        font-size: 0.85em;
    }

    /* Adjust button sizes for mobile */
    .btn-reserve, .btn-directions, .btn-more-info, .btn-interested {
        padding: 8px 12px;
        font-size: 0.85em;
    }

    .btn-reserve, .btn-directions {
        margin-bottom: 10px;
    }
}


/* Day navigation buttons (1, 2, 3, ...) */
.btn-day {
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background-color: #f4f4f4;
    color: #333;
    border-radius: 50%;
    margin: 3px;
    font-size: 12px;
    text-decoration: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Highlight active day */
.btn-day.active {
    background-color: #000;
    color: white;
    font-weight: bold;
}

.btn-day:hover {
    background-color: #0099B3;
    color: white;
}
/* Day navigation buttons (1, 2, 3, ...) */
/* Loading indicator (same as events) */
#loading {
    display: none;
    font-size: 1em;
    color: #333;
    text-align: center;
    margin: 20px 0;
}




/* Modal Styles */
.modal {
    display: none; /* Hidden by default */
    position: fixed; 
    z-index: 90 !important; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0, 0, 0); /* Black background */
    background-color: rgba(0, 0, 0, 0.4); /* Black with transparency */
} 
   
/* Modal Content */
.modal-content {
    background-color: #fefefe;
    margin: 10px auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Width of the modal */
    max-width: 800px; /* Max width */
    border-radius: 8px;
    position: relative;
    text-align: left; 
    z-index: 91 !important; /* Sit on top */

}
/* Modal Image */
.modal-image {
    width: 100%; 
    border-radius: 8px;
    margin-bottom: 5px;
    z-index: 92 !important; /* Sit on top */
}
/* Close Button */
.close {
    color: #fff;
    font-size: 28px;
    font-weight: bold;
    position: absolute;
    top: 10px;
    right: 25px;
    z-index: 99;
    border: 3px solid #FFFF;
    background-color:#DD0000;
    padding: 5px;
    border-radius: 50px;
} 

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid #AAA;
    background-color:#FFF;
}



/* Optional: Responsive Modal */
@media (max-width: 600px) {
    .modal {
        display: none; /* Hidden by default */
        position: fixed; 
        z-index: 10; /* Sit on top */
        left: 0;
        top: 0;  
        width: 100%; /* Full width */
        height: 100%; /* Full height to ensure modal fills the viewport */
        align-items: center; /* Vertically center content */
        justify-content: center; /* Horizontally center content */
        background-color: rgba(0, 0, 0, 0.4); /* Black with transparency */
        overflow: auto; /* Enable scroll if needed */
    } 
    .modal-content {
        width: 90%; /* Reduce width slightly for better fit */
        max-height: 95%; /* Prevent content overflow */
        background: #fff; /* Background color for modal content */
        border-radius: 8px; /* Rounded corners */
        overflow: auto; /* Prevent content from spilling */
        text-align: center; 
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
    }
    .modal-image {
        width: 100%; 
        height: auto;
        border-radius: 8px;
        margin-bottom: 15px;
        margin-top: 10px !important;
    }
    .image-slider{margin-top:10px;}
}

/*MODAL*/

/* IMAGE SLIDER STYLES - EVENTS*/
 .image-slider {
        position: relative;
        width: 100%;
        max-width: 1000px; /* Adjust as needed */
        margin: auto;
    }

    .slider-image {
        width: 100%;
        max-width: 1000px; /* Adjust as needed */
        display: none;
    }

    .prev, .next {
        position: absolute;
        top: 50%;
        font-size: 18px;
        background-color: rgba(0, 0, 0, 0.5);
        color: white;
        border: none;
        padding: 10px;
        cursor: pointer;
        z-index: 1;
        transform: translateY(-50%);
    }

    .prev {
        left: 0;
    }

    .next {
        right: 0;
    }
/* IMAGE SLIDER STYLES - EVENTS*/

.google_translate_element {
  position: fixed !important; /* Fixes the element to the viewport */
  bottom: 10px; /* Distance from the top of the screen */
  right: 30px; /* Distance from the right edge of the screen */
  z-index: 9999; /* Ensures it stays above other elements */
  background-color: #ffffff; /* Background color (optional) */
  padding: 5px 10px; /* Padding around the element */
  border: 1px solid #ddd; /* Optional border */
  border-radius: 5px; /* Optional rounded corners */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Optional shadow for a floating effect */
}

/* Modify the translate dropdown style */
.goog-te-gadget-icon {
  background-color: transparent;
  border: none;
  display: none; /* Hide the Google icon */
}
  
/* Change dropdown styles */
.goog-te-combo {
  font-size: 14px;
  padding: 5px;
  border-radius: 5px;
  border: 1px solid #ccc;
}

/* Style the dropdown arrow */
.goog-te-gadget {
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
}

/* Customize the language options when the dropdown is open */
.goog-te-menu-value {
  color: #333;
  padding: 10px;
  background-color: #fff;
}

.goog-te-menu2 {
  background-color: #f8f8f8;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.goog-te-menu2-item div {
  padding: 5px 10px;
  font-size: 14px;
}
/* Hide the "Rate this translation" popup */
.goog-te-banner-frame.skiptranslate {
    display: none !important;
}

/* You may also want to hide the Google Translate frame itself */
.goog-te-menu-frame {
    display: none !important;
}

 
.favorites {
    width: 100%;
    float: left;
    background-color: #C40007;
    color: white !important; /* Text color */
    padding: 10px 20px; /* Padding for top/bottom and left/right */
    text-align: center;
    font-size: 15px !important; 
    margin-bottom: 8px !important; 
    border-radius: 15px; /* Rounded corners */
    text-decoration: none; /* Remove underline */
    transition: background-color 0.3s, transform 0.3s; /* Smooth transition for hover effect */
}     

.favorites:hover {
    background-color: #A00000; /* Darker yellow on hover */
    color:white !important;
    transform: scale(1.02); /* Slight zoom effect on hover */
}

.favorites a{color:#FFF !important;}
.favorites a:hover{color:#FFF !important;}

.favorites:active {
    transform: scale(1); /* Button back to normal size when clicked */
}

.free-registration {
    display: block;
    justify-content: center;
    align-items: center;
    padding: 25px;
    border: 1px dashed #eee;
}

/* Container for the login form */
.login-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px;
    border: 1px dashed #eee;
}

/* Styling the login form */
.login-form {
    background: white;
    padding: 10px;
    width: 100%;
    max-width: 100%;
    border-radius: 10px;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}

/* Form heading */
.login-form h2 {
    text-align: center;
    margin-bottom: 20px;
}

/* Input group container */
.input-group {
    margin-bottom: 15px;
}

/* Input labels */
.input-group label {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #555;
}

/* Input fields */
.input-group input {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
    transition: border-color 0.3s;
}

.input-group input:focus {
    border-color: #3498db; /* Blue border on focus */
    outline: none;
}

/* Login button */
.login-button {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
    color: white;
    background-color: #85c441; /* Blue background */
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.login-button:hover {
    background-color: #7B4EA0; /* Darker blue on hover */
}

/* Register link */
.register-link {
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
}

.register-link a {
    color: #85c441;
    text-decoration: none;
}

.register-link a:hover { 
    text-decoration: underline;
}

.residentdiscountlink {
    background-color: #C40007;
    color: white !important; /* Text color */
    padding: 10px 20px; /* Padding for top/bottom and left/right */
    text-align: center;
    font-size: 15px !important; 
    margin-bottom: 8px !important; 
    border-radius: 15px; /* Rounded corners */
    text-decoration: none; /* Remove underline */
    transition: background-color 0.3s, transform 0.3s; /* Smooth transition for hover effect */
}     

.residentdiscountlink:hover {
    background-color: #A00000; /* Darker yellow on hover */
    color:white !important;
    transform: scale(1.02); /* Slight zoom effect on hover */
}

.residentdiscountlink a{color:#FFF !important;}
.residentdiscountlink a:hover{color:#FFF !important;}

.residentdiscountlink:active {
    transform: scale(1); /* Button back to normal size when clicked */
}


/*PROFILE*/
.userprofile, .plannerbox, .favoritesbox{
    float: left;
    width: 98%;
    border:1px dashed #eee;
    padding: 1%;
}

.userprofileimage {
    width: 100%;
    max-width: 280px;
    height: 280px;  /* Ensure height matches width */
    border-radius: 50%;  /* Make the image circular */
    object-fit: cover;  /* Ensure the image covers the circle area */
    padding: 5px;  /* No padding needed */
}
.profile-buttons a {
    display: block;
    width: 100%;
    padding: 5px;
    margin: 0px;
    text-align: center;
    background-color: #c40000;
    color: white;
    text-decoration: none;
    font-size: 13px;
    border-radius: 0px;
    transition: background-color 0.3s ease;
}
.profile-buttons a:hover {
    background-color: #85c441;
}

.profile-buttons a:active {
    background-color: #85c441;
}

/* Ensure the styles only apply within the .profile-info container */
.profile-info .section h2, .profile-info .section h3, .profile-info .section h4 {
    display: block; /* Make headings block-level elements */
    font-size: 1.2rem;
    font-weight: bold;
    margin-top: 0;
    margin-bottom: 10px; /* Space below the heading */
    color: #c40000; /* Use the primary accent color */
    width:100%;
}

/* Additional margin adjustments for sections */
.profile-info .section {
    margin-bottom: 20px;
    padding: 15px;
    background-color: #ffffff;
    border: 1px solid #ddd; /* Light border for the sections */
    border-radius: 8px;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.05);
}

/* Ensure the title is always on its own row */
.profile-info .profile-info p {
    font-size: 1rem;
    color: #555; /* Use a neutral color for the text */
    margin-bottom: 0px !important;
}

/* Specific styles for <ul> to prevent alignment with paragraphs */
.profile-info ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* Remove any left margin for the list items to align them properly */
.profile-info ul li {
    margin-bottom: 10px;
    padding-left: 0; /* Reset padding */
}

.profile-info ul li a {
    color: #c40000; /* Accent color for links */
    text-decoration: none;
}

.profile-info ul li a:hover {
    color: #85c441; /* Hover color with secondary accent color */
    text-decoration: underline;
}

/* Column layout remains unchanged */
@media (min-width: 768px) {
    .profile-info .section {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
    }

    .profile-info .section p {
        flex: 1 1 45%;
        max-width: 45%;
    }

    .profile-info .section ul {
        flex: 1 1 45%;
        max-width: 45%;
    }
}

.searchbox{
    padding: 25px;
    border: 1px dashed #eee;
    
}


#cookie-notice {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #000;
    color: white;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    z-index: 9999;
}
#cookie-notice a {
    color: #DB0000;
    text-decoration: none;
}
#cookie-notice button {
    background-color: #A70000;
    border: none;
    color: white;
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
}
#cookie-notice button:hover {
    background-color: #AB0000;
}
.event-date-header {
    width: 98%;
    color: #FFF;
    text-align: center;
    padding: 10px 0; /* Added padding for better visibility */
    display: block; /* Ensures it behaves like a block element */
    box-shadow: 0px 3px 5px #ccc;
    background-color: #eee;
    border-radius: 10px;
}
.event-date-header h3{
    
}

/* Column layout remains unchanged */
@media (max-width: 768px) {
    .mhide{
        display: none !important;
        visibility: hidden !important;
    }
}

.blog-image{
    float: left; 
    width: 100%;
    border-radius: 25px; 
    box-shadow: 5px 5px 5px #eee;
    border: 1px solid #eee;
    margin-bottom: 10px;
}

.blog-images img{
    float: left; 
    width: 100%;
    border-radius: 25px; 
    box-shadow: 5px 5px 5px #eee;
    border: 1px solid #eee;
    margin-bottom: 10px;
}

.blog-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Controls the space between the divs */
}

.blog_post {
    flex: 1 1 300px; /* Ensures each div takes up a minimum of 250px width */
    border: 1px solid #eee;
    padding: 15px;
    text-align: center;
    
}
.blog_post span{
    font-size: 0.9em;
    font-style: italic;    
}
.blogs {
    width: 100%;
    float: left;
    background-color: #c40000; /* Updated to the new main color */
    color: white !important; /* Text color */
    padding: 10px 20px; /* Padding for top/bottom and left/right */
    text-align: center;
    font-size: 15px !important;
    margin-bottom: 8px !important;
    border-radius: 15px; /* Rounded corners */
    text-decoration: none; /* Remove underline */
    transition: background-color 0.3s, transform 0.3s; /* Smooth transition for hover effect */
}

.blogs:hover {
    background-color: #009792; /* Darker shade of #c40000 on hover */
    color: white !important;
    transform: scale(1.02); /* Slight zoom effect on hover */
}

.blogs a {
    color: #FFF !important;
}

.blogs a:hover {
    color: #FFF !important;
}

.blogs:active {
    transform: scale(1); /* Button back to normal size when clicked */
}

 /* Gallery container */
    .gallery {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* Create 4 equal-width columns */
        gap: 10px; /* Space between images */
        margin: 0;
        padding: 0;
    }

    /* Thumbnail image styling */
    .gallery .thumbnail {
        width: 100%; /* Ensure the image fills the grid item */
        object-fit: cover; /* Ensures the image maintains aspect ratio */
        cursor: pointer;
        transition: transform 0.3s ease; /* Smooth hover effect */
    }

    .gallery .thumbnail:hover {
        transform: scale(1.1); /* Zoom effect on hover */
    }

    /* Responsive layout for medium screens (2 images per row) */
    @media (max-width: 768px) {
        .gallery {
            grid-template-columns: repeat(2, 1fr); /* 2 images per row */
        }
    }

    /* Responsive layout for small screens (1 image per row) */
    @media (max-width: 480px) {
        .gallery {
            grid-template-columns: 1fr; /* 1 image per row */
        }
    }
    
    #lightbox {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.8);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 1000; /* Ensure it is on top */
        display: flex; /* Make sure the flex layout is enabled */
    }

    #lightbox-content {
        position: relative;
        max-width: 90%;  /* Limit the width to 80% */
        max-height: 90%; /* Limit the height to 80% */
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #lightbox-image {
        max-width: 100%;
        max-height: 100%;
        width: auto; /* Keep the image's aspect ratio */
        height: auto;
        display: block;
    }

    #close-lightbox {
        color: white;
        font-size: 30px;
        cursor: pointer;
        position: absolute;
        top: 10px;
        right: 10px;
        z-index: 100; /* Ensure it stays on top of the image */
    }

    /* Next and Previous buttons styling */
    .lightbox-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: white;
        font-size: 40px;
        cursor: pointer;
        z-index: 110; /* Ensure buttons are on top */
    }

    .lightbox-nav.prev {
        left: 10px;
    }

    .lightbox-nav.next {
        right: 10px;
    }