/* General Body Styles */
body {
    background-color: beige;
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
}

/* Main Content Container */
.main-content {
    max-width: 1200px; /* Set maximum width */
    margin: 0 auto; /* Center horizontally */
    padding: 20px; /* Add padding inside */
    box-sizing: border-box; /* Include padding and border in element’s width and height */
}

/* Remove Default Padding and Margin for container-fluid */
.container-fluid {
    padding-left: 0; /* Remove left padding */
    padding-right: 0; /* Remove right padding */
    margin: 0; /* Remove margins */
    width: 100%; /* Ensure it spans full width */
}

/* Row Spacing */
.row {
    margin-left: 0; /* Remove left margin */
    margin-right: 0; /* Remove right margin */
    margin-bottom: 40px; /* Increase spacing between rows */
}

/* Column Padding */
.col-md-6 {
    padding-left: 15px; /* Increase space on the left side */
    padding-right: 15px; /* Increase space on the right side */
}

/* Image Styling */
img {
    max-width: 100%; /* Ensure images do not overflow */
    height: auto; /* Maintain aspect ratio */
    display: block; /* Ensure images are treated as block elements */
    margin: 0 auto; /* Center images within their container */
    border-radius: 20px;
}

/* Photo Div */
.photo {
    text-align: center; /* Center the content of the div */
    margin: 20px 0; /* Adds space above and below the photo */
}

/* Photo Image */
.photo img {
    display: inline-block; /* Ensure the image is treated as inline-block */
    margin: 20px 0; /* Add space above and below the image */
    max-width: 100%; /* Ensures the image scales down if needed */
    height: auto; /* Maintains aspect ratio */
    max-height: 900px; /* Adjust the maximum height as needed */
    border-radius: 10px; /* Optional: adds rounded corners to the image */
}

/* Background Image Div */
.background-photo {
    width: 100%;
    height: 500px; /* Adjust the height as needed */
    background-image: url('./images/barn2a.png');
    background-size: cover; /* Cover the entire div */
    background-position: center 20%; /* Center the image */
    background-repeat: no-repeat; /* Prevent repeating */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5); /* Add shadow at the bottom */
    margin: 0;
    padding: 0;
}

/* Page Content */
.page-content {
    padding-top: 0;
    margin-top: 0;
}

/* Navbar Customization */
.navbar {
    position: absolute !important; /* Force it to be absolute */
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
}

  
.navbar-collapse {
    flex-grow: 0;
}

/* Dropdown Menu Styles */
.dropdown-menu {
    background-color: maroon;
    min-width: 200px; /* Adjust as needed */
}

.dropdown-item {
    color: #ffffff !important; /* White text for dropdown items */
}

.dropdown-item:hover {
    background-color: brown !important; /* Change the hover background */
    color: #ffffff !important; /* Change the hover text color */
}

#adminLoginBtn {
    margin-top: 20px;
    background-color: maroon;
    color: white;
}

/* Heading Styles */
h1 {
    padding-top: 100px;
    color: black;
    font-size: 4rem;
    font-weight: 600;
    text-align: center;
}

h2 {
    padding-top: 40px; /* Reduce the top padding */
    padding-bottom: 0;
}

h3, 
h4 {
    text-align: center;
}

hr {
    height: 40px; /* Adjust thickness */
    background-color: maroon;
    border-top: 3px ; /* Create a dotted line */
    border:none; /* Remove default border */
}

.dotted-hr {
    border: none; /* Remove default border */
    border-top: 4px dotted maroon; /* Create a dotted line */
    height: 0; /* Remove default height */
    width: 100%; /* Full width */
    max-width: 1200px; /* Adjust as needed */
    margin: 20px auto; /* Center horizontally and add spacing */
}

.p-contact{
    margin-top: 50px !important;
    font-size: 1.5rem; /* Adjust as needed */
    font-weight: 400;
}

/* Custom Container for Specific Layouts */
.custom-container {
    max-width: 1200px; /* Adjust as needed */
    margin-left: auto;
    margin-right: auto;
}

/* Custom Row for Flex Layout */
.custom-row {
    display: flex;
    justify-content: space-between; /* Moves items to the edges */
}

/* Custom Column for Flex Layout */
.custom-col {
    flex: 0 0 48%; /* Adjusts column width */
    max-width: 48%; /* Keeps columns within container */
}

/* Paragraph and General Text Styles */
.paragraph, 
.mb-4,
p {
    width: calc(100% - 40px); /* Full width minus padding/margins */
    max-width: 1200px; /* Optional: Max width for better control */
    margin: 0 auto; /* Center the container */
    padding: 20px; /* Adds padding inside the container */
    color: black;
    font-size: 1.5rem; /* Adjust as needed */
    font-weight: 400; /* Adjust weight if necessary */
    text-align: center; /* Centers the text */
    box-sizing: border-box; /* Includes padding in the element’s total width/height */
}

.lead {
    max-width: 1200px; /* Optional: Max width for better control */
    margin: 0 auto; /* Center the container */
    padding: 20px; /* Adds padding inside the container */
    color: black;
    font-size: 1.5rem; /* Adjust as needed */
    font-weight: 400; /* Adjust weight if necessary */
    text-align: center; /* Centers the text */
    box-sizing: border-box; /* Includes padding in the element’s total width/height */
}

/* Scroll-to-Top Button */
.scroll-to-top {
    position: fixed;
    bottom: 20px; /* Distance from the bottom */
    right: 20px; /* Distance from the right */
    background-color: beige; /* Background color */
    padding: 10px;
    border-radius: 50%;
    text-align: center;
    font-size: 24px;
    cursor: pointer;
    display: inline;
    z-index: 1000; /* Make sure it's on top */
}

.scroll-to-top:hover {
    background-color: beige; /* Darker background on hover */
}

.scroll-to-top img {
    width: 50px; /* Adjust width */
    height: 50px; /* Adjust height */
    padding: 5px; /* Optional */
}

/* Carousel Wrapper */
.carousel-wrapper {
    max-width: 1100px; /* Adjust the max width of the carousel */
    margin: 0 auto; /* Center the carousel horizontally */
}

/* Carousel Item Images */
.carousel-item img {
    width: 100%; /* Make images fill the carousel width */
    height: auto; /* Maintain aspect ratio */
    max-height: 700px; /* Set a max height to ensure uniform size */
    object-fit: cover; /* Crop the image to fill the container */
}

/* Carousel Control Icons */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background for visibility */
    border-radius: 50%; /* Rounded shape for the controls */
    width: 40px; /* Adjust the width of the control icons */
    height: 40px; /* Adjust the height of the control icons */
}

/* Carousel Indicators */
.carousel-indicators [data-bs-target] {
    background-color: #000; /* Indicator color */
    width: 10px; /* Adjust width of indicators */
    height: 10px; /* Adjust height of indicators */
}

.intro {
    margin-bottom: 40px;
}

#signInForm {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column; /* Center items vertically */
    margin: 20px; /* Add some margin around the form */
}

#adminSignInForm {
    display: flex;
    flex-direction: column; /* Align items vertically */
    width: 300px; /* Set a fixed width for the form */
}

input[type="email"],
input[type="password"] {
    padding: 10px; /* Add padding for better touch */
    margin-bottom: 15px; /* Space between inputs */
    border: 1px solid #ccc; /* Border style */
    border-radius: 5px; /* Rounded corners */
    width: 100%; /* Full width */
    box-sizing: border-box; /* Include padding and border in width */
}

button {
    padding: 10px; /* Add padding */
    background-color: #007bff; /* Button color */
    color: white; /* Text color */
    border: none; /* Remove border */
    border-radius: 5px; /* Rounded corners */
    cursor: pointer; /* Pointer on hover */
}

button:hover {
    background-color: #0056b3; /* Darker color on hover */
}




/* Shows Section */
.shows {
    padding: 20px;
    text-align: center; /* Center text and images */
    margin-bottom: 80px;
}

.fc-toolbar {
    background-color: #f8f9fa; /* Light gray background */
    border-bottom: 1px solid #dee2e6; /* Bottom border */
}

.modal-content {
    background-color: #fff; /* White background */
    border-radius: 10px; /* Rounded corners */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); /* Soft shadow */
}

.modal-header {
    background-color: maroon; /* Primary color */
    color: beige; /* Text color */
    font-weight: bold; /* Bold text */
}

.fc-event {
    background-color:darkred; /* Green for events */
    border: none; /* Remove border */
    color: white; /* Text color */
}

#calendar {
    border: 2px solid #000; /* Change #000 to your desired color */
    border-radius: 8px; /* Optional */
    padding: 10px; /* Optional */
}

input {
    width: 80%; /* Make input take full width of the container */
    padding: 10px; /* Add padding for better appearance */
    border: 1px solid #ccc; /* Border style */
    border-radius: 5px; /* Rounded corners */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Optional shadow */
    text-align: center; /* Center the text inside the input */
}

/* Container for photo grid */
.photo-grid {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap */
    gap: 10px; /* Space between images */
    padding: 20px; /* Padding around the grid */
    max-width: 1200px; /* Constrain the max width of the entire grid */
    margin: 0 auto; /* Center the grid on the page */
}

/* Photo Images */
.photo-grid img {
    flex: 1 1 calc(25% - 20px); /* 4 images per row, minus gap */
    max-width: calc(25% - 20px); /* Ensures no more than 4 per row */
    height: 300px; /* Reduce height to fit smaller screens */
    object-fit: cover; /* Crop images nicely */
    border-radius: 20px; /* Rounded corners */
    margin-top: 20px;
}

/* Responsive - On smaller screens show one image per row */
@media (max-width: 768px) {
    .photo-grid img {
        flex: 1 1 100%; /* 1 image per row */
        max-width: 100%; /* Full width of container */
        height: auto; /* Adjust height to be responsive */
    }
}



/* Ensure the photo gallery takes full width */
.photo-gallery .container {
    width: 100%;
    padding: 0;
}

.photo-gallery {
    color:#313437;
    background-color:beige;
    margin-top: 100px;
  }
  
  .photo-gallery p {
    color:#7d8285;
  }
  
  .photo-gallery h2 {
    font-weight:bold;
    margin-bottom:40px;
    padding-top:40px;
    color:inherit;
  }
  
  @media (max-width:767px) {
    .photo-gallery h2 {
      margin-bottom:25px;
      padding-top:25px;
      font-size:24px;
    }
  }
  
  .photo-gallery .intro {
    font-size:16px;
    max-width:500px;
    margin:0 auto 40px;
  }
  
  .photo-gallery .intro p {
    margin-bottom:0;
  }
  
  .photo-gallery .photos {
    padding-bottom:20px;
    object-fit: cover;
  }
  
/* Photo Grid Container */
.photo-gallery .row {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap to the next line */
    margin: -10px; /* Offset the margin to account for gap */
}

/* Photo Items */
.photo-gallery .item {
    flex: 1 1 calc(20% - 20px); /* Adjust width for 5 items across */
    margin: 10px; /* Space between items */
    box-sizing: border-box; /* Include padding and border in the element’s total width/height */
}

/* Photo Images */
.photo-gallery .item img {
    width: 100%;
    height: auto;
    border-radius: 10px; /* Optional: Adds rounded corners */
}

.photo-gallery .item img:hover {
    transform: scale(1.05);
}

/* Custom style for Lightbox overlay */
.lightboxOverlay {
    background-color: rgba(245, 245, 220, 0.85); /* Beige with slight transparency */
}

.lightbox .lb-nav a.lb-prev,
.lightbox .lb-nav a.lb-next {
    width: 40px; /* Set the width */
    height: 40px; /* Set the height */
    background-size: contain; /* Ensure the image fits within the container */
    background-repeat: no-repeat; /* Prevent repeating the image */
    background-position: center; /* Center the image within the container */
    display: block; /* Ensure the link behaves like a block element */
    position: absolute; /* Positioning the arrows */
    top: 50%; /* Center vertically */
    transform: translateY(-50%); /* Adjust for exact vertical centering */
}

/* Specific positioning for prev and next */
.lightbox .lb-nav a.lb-prev {
    left: 20px; /* Position from the left */
}

.lightbox .lb-nav a.lb-next {
    right: 20px; /* Position from the right */
}
body {
    margin-top: 20px;
    background: beige;
}


.contact, 
.col-lg-5, 
.col-lg-7 {
    margin-top: 40px;
}

.img-contact {
    width: 600px;
    height: 600px;
    margin-top: 80px;
    margin-bottom: 80px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.884); /* Adjust the shadow values as needed */
}


.contact-area {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    padding: 60px 0; /* Added padding to top and bottom */
}

.contact {
    background: beige; /* Optional background for better visibility */
    padding: 30px; /* Added padding inside the form */
    border-radius: 8px; /* Rounded corners for form */
    border-radius: 0 0 10px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
}

.form-group {
    margin-bottom: 20px; /* Increased space between form fields */
}

.contact input,
.contact textarea {
    background: #fff;
    border: 1px solid #ddd; /* Slightly different border color */
    border-radius: 3px;
    color: #232434;
    font-size: 16px;
    padding: 10px;
    width: 100%;
    font-family: 'poppins', sans-serif;
    transition: all 0.3s ease;
}

.contact input:focus,
.contact textarea:focus {
    border-color: #7564e5; /* Highlight border on focus */
}

.btn-contact-bg {
    border-radius: 30px;
    color: #fff;
    background: #7564e5;
    padding: 15px 27px;
    text-transform: capitalize;
    transition: all 0.3s ease;
    width: 100%;
}

.btn-contact-bg:hover,
.btn-contact-bg:focus {
    background: #232434;
    color: #fff;
}
.single_address {
    position: relative; /* Allows the absolute positioning of the icon */
    padding-left: 80px; /* Ensure space for the icon */
    margin-top: 80px;
    margin-bottom: 40px; /* Space between each address section */
}

.single_address i {
    background: #f6f6f6;
    color: #7564e5;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    line-height: 60px;
    text-align: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.single_address:hover i {
    background: #7564e5;
    color: #fff;
}

.single_address h4 {
    font-size: 18px;
    margin-bottom: 5px;
    font-weight: 600;
}

.single_address p {
    margin: 0;
}

.section-title h1 {
    font-size: 44px;
    font-weight: 500;
    margin: 0;
    text-transform: capitalize;
}

.section-title p {
    padding: 0 10px;
    width: 70%;
    margin: 0 auto;
    letter-spacing: 1px;
}

.section-title {
    margin-bottom: 60px;
}

.text-center {
    text-align: center;
}

.events-section {
    text-align: center;
  }
  
  h2 {
    margin-bottom: 20px;
  }
  
  .cards-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
  }
  
  .event-card {
    width: 330px; /* Adjust as needed */
    height: 500px; /* Keep same as width for a square */
    overflow: hidden;
    border: 1px solid #ccc;
    border-radius: 20px; /* Optional, for rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow */
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .event-card img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image covers card while keeping aspect ratio */
  }
  
/* Media Queries */
@media only screen and (max-width: 768px) {
    .contact {
        margin-bottom: 60px;
    }

    .single_address {
        padding-left: 0;
        margin-bottom: 20px; /* Adjust for smaller screens */
    }

    .section-title p {
        width: 90%; /* Increase width for smaller screens */
    }
}

/* Footer Styles */
footer .nav img {
    width: 20px; /* Adjust as needed */
    height: 20px; /* Adjust as needed */
}

footer .text-body-secondary {
    font-size: 1.2rem; /* Adjust as needed */
    padding-bottom: 10px;
}

/* Responsive Adjustments */
@media (max-width: 767px) {
    .navbar {
        margin-bottom: 0; /* Remove any bottom margin */
        padding-bottom: 0; /* Remove any bottom padding */
    }
    
    .background-photo {
        height: 300px; /* Adjust height for smaller screens */
        margin-top: 0; /* Ensure no top margin */
        padding-top: 0; /* Ensure no top padding */
    }
}

@media (max-width: 480px) {
    .background-photo {
        height: 200px; /* Further reduce height for very small screens */
        margin-top: 0; /* Ensure no top margin */
        padding-top: 0; /* Ensure no top padding */
    }  
} 
