/* Reset */
body {
    font-family: 'Roboto', sans-serif;
    
}
    

html{
    scroll-behavior: smooth;
}


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}







/* Slider Container */
.slider {
    width: 100%;
    height:100vh;
    overflow: hidden;
    position: relative;
}

/* Slide Container for Flexibility */
.slide-container {
    display: flex;
    transition: transform 1.5s ease;
    width:100%
}

/* Individual Slide Styling */
.slide {
    min-width: 100%;
    position: relative;
    height: 100%; /* Full height of the slider container */
    display: flex;
    justify-content: center;
    align-items: center;
}

.slide img {
    width: 100%;
    height: 100%; /* Ensure the image fills the full height of the container */
    object-fit: cover; /* Ensure the image covers the entire slide without distortion */
    border-radius: none;   
}

.slide-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 20px;
    text-align: center;
    border-radius: 5px;
}

.learn-more {
    background-color: #fff;
    color: #333;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
}

/* Center Text Overlay */
.slide-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    background-color: hsla(244, 96%, 47%, 0.6);
    padding: 20px;
    text-align: center;
    border-radius: 8px;
    opacity: 0; /* Start hidden */
    font-size: 2em;
}

.slide-home {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    background-color: hsla(0, 96%, 47%, 0.815);
    padding: 20px;
    text-align: center;
    border-radius: 8px;
    opacity: 0; /* Start hidden */
    font-size: 2em;
}

/* Text Overlay Animation */
@keyframes fadeInSlideUp {
    0% {
        opacity: 0;
        transform: translate(-50%, 20%); /* Start slightly below the center */
    }
    100% {
        opacity: 1;
        transform: translate(-50%, -50%); /* End at the center */
    }
}

/* Apply the Animation */
.animated-text {
    animation: fadeInSlideUp 1s ease-in forwards; /* Duration of 1 second */
    animation-delay: 0.5s; /* Starts 0.5 seconds after the slide appears */
}

/* Button styles */
.slider-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: hsla(263, 94%, 21%, 0.986);
    color: white;
    border: none;
    padding: 10px;
    cursor: pointer;
    font-size: 24px;
    border-radius: 15%;
}

.slider-button.prev {
    left: 10px;
}

.slider-button.next {
    right: 10px;
}

.slider-button:hover {
    background-color: rgb(241, 9, 9);
}

/* HOME TEXT IN THE SLIDER*/
.home-text {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, -20%);
    text-align: center;
    color: #fff;
    background: rgba(2, 4, 121, 0.623);
    padding: 20px;
    border-radius: 20px;
    max-width: 80%;
}

.home-text h2 {
    font-size: 3rem;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.home-text p {
    font-size: 2.2rem;
    margin-bottom: 20px;
    color: hsl(140, 82%, 85%);
}

.home-text .learn-more {
    background-color: #288ffd;
    color: white;
    border: none;
    padding: 10px 20px;
    font-size: 1rem;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.home-text .learn-more:hover {
    background-color: #0056b3;
}

/* Reset default styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Keep all your existing styles and add these mobile-specific styles at the bottom */

/* Mobile Styles */
@media screen and (max-width: 768px) {
    /* Adjust slider height for mobile */
    .slide img {
        height: 500px;
    }
    
    /* Adjust home text positioning and size */
    .home-text {
        bottom: 50%;
        transform: translate(-50%, 50%);
        padding: 15px;
        max-width: 90%;
        background: rgba(2, 4, 121, 0.8);
    }
    
    .home-text h2 {
        font-size: 1.5rem;
        margin-bottom: 8px;
    }
    
    .home-text p {
        font-size: 1rem;
        margin-bottom: 15px;
    }
    
    .home-text .learn-more {
        padding: 8px 16px;
        font-size: 0.9rem;
    }
    
    /* Adjust slider buttons for better touch interaction */
    .slider-button {
        width: 40px;
        height: 40px;
        font-size: 20px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0.8;
    }
    
    .slider-button.prev {
        left: 5px;
    }
    
    .slider-button.next {
        right: 5px;
    }
    
    /* Improve slider performance on mobile */
    .slide-container {
        will-change: transform;
        -webkit-overflow-scrolling: touch;
    }
}

/* Keep all your existing slider styles and add/modify these for mobile */

@media screen and (max-width: 768px) {
    /* Calculate total header space (social icons + navbar) */
    .slider {
        margin-top: 210px; /* 40px for social icons + 70px for navbar */
        width: 100%;
        height: calc(100vh - 110px); /* Viewport height minus header space */
        position: relative;
        overflow: hidden;
    }
    
    .slide-container {
        height: 100%;
        display: flex;
        transition: transform 1.5s ease;
    }
    
    .slide {
        min-width: 100%;
        height: 100%;
        position: relative;
    }
    
    .slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    
    /* Adjust text overlay position */
    .home-text {
        position: absolute;
        bottom: auto;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 85%;
        max-width: none;
        background: rgba(2, 4, 121, 0.85);
        padding: 15px;
        border-radius: 8px;
        z-index: 2;
    }
    
    .home-text h2 {
        font-size: 1.4rem;
        margin-bottom: 8px;
        line-height: 1.2;
    }
    
    .home-text p {
        font-size: 1rem;
        margin-bottom: 12px;
        line-height: 1.3;
    }
    
    .home-text .learn-more {
        padding: 8px 16px;
        font-size: 0.95rem;
        margin-top: 8px;
    }
    
    /* Adjust slider navigation buttons */
    .slider-button {
        width: 40px;
        height: 40px;
        background-color: rgba(2, 4, 121, 0.8);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.2rem;
        z-index: 3;
    }
    
    .slider-button.prev {
        left: 10px;
    }
    
    .slider-button.next {
        right: 10px;
    }
}

/* Small mobile devices */
@media screen and (max-width: 480px) {
    .slider {
        margin-top: 100px; /* Slightly reduced for smaller screens */
        height: calc(100vh - 100px);
    }
    
    .home-text {
        width: 90%;
        padding: 12px;
    }
    
    .home-text h2 {
        font-size: 1.2rem;
    }
    
    .home-text p {
        font-size: 0.9rem;
    }
    
    .home-text .learn-more {
        padding: 7px 14px;
        font-size: 0.9rem;
    }
}

/* Very small devices */
@media screen and (max-height: 600px) {
    .home-text {
        padding: 10px;
    }
    
    .home-text h2 {
        font-size: 1.1rem;
        margin-bottom: 6px;
    }
    
    .home-text p {
        font-size: 0.85rem;
        margin-bottom: 8px;
    }
    
    .home-text .learn-more {
        padding: 6px 12px;
        font-size: 0.85rem;
    }
}

/* Very small devices */
@media screen and (max-height: 712px) {
    .home-text {
        padding: 10px;
    }
    
    .home-text h2 {
        font-size: 1.1rem;
        margin-bottom: 6px;
    }
    
    .home-text p {
        font-size: 0.85rem;
        margin-bottom: 8px;
    }
    
    .home-text .learn-more {
        padding: 6px 12px;
        font-size: 0.85rem;
    }
}

/* Handle landscape orientation */
@media screen and (max-width: 768px) and (orientation: landscape) {
    .slider {
        height: calc(100vh - 90px);
        margin-top: 90px;
    }
    
    .home-text {
        width: 70%;
        padding: 10px;
    }
}
/* Clock countdown */



  
  
/* Optional: Add a shadow for readability */
/*.overlay-text h2, .overlay-text p {
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
}



/* Main Container */
/* General container styles */
.content-container {
    width: 90%;
    max-width: 1400px;
    margin: 50px auto;
    padding: 2rem;
    background: rgba(2, 75, 212, 0.527);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Row container */
.box-row {
    display: flex;
    justify-content: space-around;
    margin: 2rem 0;
    gap: 2rem;
}

/* Modern Glassmorphism Info Box */
.info-box {
    flex: 1;
    min-width: 250px;
    height: 300px;
    position: relative;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    overflow: hidden;
    transition: all 0.4s ease;
    transform-style: preserve-3d;
    perspective: 1000px;
}

.info-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.2),
        transparent
    );
    transition: 0.5s;
}

.info-box:hover::before {
    left: 100%;
}

.info-box:hover {
    transform: translateY(-10px) rotateX(5deg);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

/* Text Overlay Update */
.text-overlay {
    position: absolute;
    inset: 0;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.2);
    transform: translateZ(20px);
    transition: all 0.4s ease;
}

.text-overlay h3 {
    font-size: 1.8rem;
    color: #fff;
    margin-bottom: 1rem;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
    transform: translateZ(30px);
}

.text-overlay p {
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 1.5rem;
    text-align: center;
    transform: translateZ(25px);
}

/* Modern Button Style */
.text-overlay button {
    padding: 0.8rem 1.5rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 30px;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    transform: translateZ(40px);
}

.text-overlay button:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateZ(45px) scale(1.05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}

/* Add animation for boxes appearing */
.info-box {
    animation: fadeInUp 0.6s ease-out forwards;
    opacity: 0;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Add staggered animation delay for each box */
.box-row:nth-child(1) .info-box:nth-child(1) { animation-delay: 0.1s; }
.box-row:nth-child(1) .info-box:nth-child(2) { animation-delay: 0.2s; }
.box-row:nth-child(1) .info-box:nth-child(3) { animation-delay: 0.3s; }
.box-row:nth-child(2) .info-box:nth-child(1) { animation-delay: 0.4s; }
.box-row:nth-child(2) .info-box:nth-child(2) { animation-delay: 0.5s; }
.box-row:nth-child(2) .info-box:nth-child(3) { animation-delay: 0.6s; }
.box-row:nth-child(3) .info-box:nth-child(1) { animation-delay: 0.7s; }
.box-row:nth-child(3) .info-box:nth-child(2) { animation-delay: 0.8s; }
.box-row:nth-child(3) .info-box:nth-child(3) { animation-delay: 0.9s; }

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .box-row {
        flex-direction: column;
        gap: 1.5rem;
    }

    .info-box {
        height: 250px;
    }

    .text-overlay h3 {
        font-size: 1.5rem;
    }

    .content-container {
        padding: 1rem;
        margin: 30px auto;
    }
}

/* Rounded Box */
.rounded-box {
    width: 100%; /* Set your desired width */
    height: 200px; /* Set your desired height */
    border-radius: 20px; /* Rounded corners */
    background-color: hsl(245, 100%, 7%);
    position: relative; /* Positioning context for the overlay */
    overflow: hidden; /* Ensure overlay does not overflow */
    margin: 20px auto; /* Center the box */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Add shadow for depth */
    opacity: 0; /* Initially hidden */
    transform: translateY(30px); /* Start from below */
    transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out; /* Smooth transition */
}

/* Show the box when it's in view */
.rounded-box.show {
    opacity: 1; /* Make visible */
    transform: translateY(0); /* Move to original position */
}

/* Tiny Child */
.tiny-child {
    position: absolute; /* Position relative to the box */
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Offset to truly center */
    text-align: center; /* Center text */
    color: #fff; /* Text color */
    background-color: rgba(0, 0, 0, 0.6); /* Semi-transparent background */
    padding: 10px; /* Padding around the text */
    border-radius: 10px; /* Optional: rounded corners for overlay */
}

/* Heading Style */
.tiny-child h3 {
    margin: 0; /* Remove default margin */
    font-size: 2.5em; /* Adjust font size */
}

/* Paragraph Style */
.tiny-child p {
    margin: 5px 0 0; /* Set margin for paragraph */
    font-size: 1em; /* Adjust font size */
    color: white;

}


/* Guest Registration Form Styling */
.GUEST-REGISTRATION {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #ccc;
    border-radius: 10px;
    background-color: #0f0f0f;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  }
  
  .GUEST-REGISTRATION h1 {
    text-align: center;
    color: #06e0c3;
    margin-bottom: 20px;
    font-size: 1.8rem;
  }
  
  .GUEST-REGISTRATION label {
    display: block;
    font-size: 1rem;
    margin-bottom: 5px;
    color: hsl(71, 52%, 96%);
  }
  
  .GUEST-REGISTRATION input,
  .GUEST-REGISTRATION select,
  .GUEST-REGISTRATION textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1rem;
  }
  
  .GUEST-REGISTRATION input[type="radio"],
  .GUEST-REGISTRATION input[type="checkbox"] {
    width: auto;
    margin-right: 10px;
  }
  
  .GUEST-REGISTRATION button {
    width: 100%;
    padding: 10px;
    font-size: 1.1rem;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
  }
  
  .GUEST-REGISTRATION button:hover {
    background-color: #0056b3;
  }
  
  /* Additional Question Styling */
  #institutionQuestion,
  #ministryQuestion {
    display: none; /* Initially hidden */
    margin-top: -10px;
  }
  
  /* Success Message Styling */
  #successMessage {
    display: none;
    margin-top: 15px;
    font-size: 1rem;
    color: green;
    text-align: center;
  }
  
  /* Terms and Conditions Modal */
  #termsModal {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    max-width: 500px;
    padding: 20px;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border-radius: 10px;
    z-index: 1000;
  }
  
  #termsModal h2 {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 15px;
  }
  
  #termsModal p {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
    overflow-y: auto;
    max-height: 150px;
  }
  
  #termsModal input[type="checkbox"] {
    margin-right: 10px;
  }
  
  #termsModal button {
    padding: 10px;
    font-size: 1rem;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
  }
  
  #termsModal button:disabled {
    background-color: #ccc;
    cursor: not-allowed;
  }
  
  /* Form Responsive Styling */
  @media (max-width: 768px) {
    .GUEST-REGISTRATION {
        padding: 15px;
    }
  
    .GUEST-REGISTRATION h1 {
        font-size: 1.5rem;
    }
  
    #termsModal {
        width: 90%;
    }
  }


.footer {
    position: relative; /* Allows positioning for the overlay */
    background: url('IMAGES/IMG-20231028-WA0010.jpg') no-repeat center center, 
                hsla(263, 94%, 21%, 0.986); /* Add background image with fallback color */
    background-size: cover; /* Ensures the image fits the footer */
    color: #fff; /* White text */
    padding: 20px 0; /* Padding for top and bottom */
    text-align: left; /* Align text to the left */
}

.footer::before {
    content: ""; /* Semi-transparent overlay for readability */
    position: absolute; /* Positioning the overlay */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: hsla(263, 94%, 21%, 0.719); /* Black overlay with 50% opacity */
    z-index: 0; /* Place the overlay behind content */
}

.footer-container {
    display: flex; /* Flexbox layout for sections */
    justify-content: space-between; /* Space between sections */
    max-width: 1200px; /* Max width for container */
    margin: 0 auto; /* Center the footer */
    padding: 0 20px; /* Side padding */
    position: relative; /* Keep content above overlay */
    z-index: 1; /* Ensures content appears on top of the overlay */
}

.footer-info,
.footer-contact,
.footer-links,
.footer-social {
    flex: 1; /* Equal width for all sections */
    margin-right: 20px; /* Margin between sections */
}

.footer-info h3,
.footer-contact h3,
.footer-links h3,
.footer-social h3 {
    margin-bottom: 10px; /* Space below headings */
}

.footer-links ul {
    list-style-type: none; /* Remove bullets */
    padding: 0; /* Remove padding */
}

.footer-links ul li {
    margin-bottom: 15px; /* Space between links */
}

.footer-links a,
.footer-contact a {
    color: #fff; /* White links */
    text-decoration: underline; /* Underlined links */
}

.footer-links a:hover,
.footer-contact a:hover {
    text-decoration: underline; /* Keep underline on hover */
}

.footer-bottom {
    text-align: center; /* Center text */
    padding: 10px 0; /* Padding for top and bottom */
    background-color: hsla(263, 94%, 21%, 0.986); /* Darker background for the bottom section */
    position: relative; /* Keep bottom section content above overlay */
    z-index: 1; /* Ensure visibility over overlay */
}

.footer-p{
    color: #f4f8f7;
}

@media (max-width: 768px) {
    .footer-container {
        flex-direction: column; /* Stack sections vertically */
    }

    .footer-contact, .footer-links {
        flex: none; /* Reset flex to none to prevent stretching */
        width: 100%; /* Full width on mobile */
        margin-right: 0; /* Remove right margin */
        margin-bottom: 20px; /* Add some space between sections */
    }

    .footer-contact h3, .footer-links h3 {
        font-size: 16px; /* Smaller title for mobile */
    }

    .footer-p {
        font-size: 12px; /* Even smaller text for mobile */
    }
}

img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 768px) {
    /* Styles for devices with a maximum width of 768px */
    .info-box {
        width: 100%; /* Make boxes full width on smaller screens */
        margin-bottom: 20px; /* Add space between boxes */
    }
    .content-container {
        width: 95%; /* Make the container smaller */
        padding: 10px; /* Reduce padding */
    }
}



  
 /* Container for the about.html boxes */
/* Container for the about boxes arranged in a 2x2 grid */
.about-colour{
    background-color:  hsl(0, 92%, 30%);
}

.h1-colours{
    color: #ecf0ef;
    font-size: -40%;
}

.h2-colours{
    color: hsl(320, 9%, 94%);
}

.about-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Two equal columns */
    grid-template-rows: repeat(2, 400px);  /* Two rows with fixed height */
    gap: 20px;  /* Gap between boxes */
    padding: 0 20px; /* Horizontal padding to move boxes closer to margins */
    margin-top: 5%; /* Remove default margin */
}

/* Styling for each about box */
.about-box {
    position: relative;
    height: 400px; /* Fixed height */
    background-color:  hsl(249, 94%, 42%);
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transform: translateX(-100%); /* Start off-screen */
    opacity: 0;
    transition: transform 1.5s ease, opacity 1s ease;
}


/* Animate the box when in viewport */
.about-box.animate {
    transform: translateX(0); /* Slide in to position */
    opacity: 1;
}

/* Styling for the text overlay inside the box with initial opacity */
.about-box-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: hsl(0, 37%, 97%);
    width: 90%;
    opacity: 0;
    transition: opacity 1s ease 1.5s; /* Fade in after box appears */
    top: 30%; /* reduce the space so that my text can go up */
}

/* Animate the content when in viewport */
.about-box-content.animate-content {
    opacity: 1; /* Fade in the text content */
}


#church-history {
    background-color: #f8f9fa;
    padding: 20px;
}

.history-timeline {
    margin-top: 20px;
}

.era {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 15px;
    margin-bottom: 10px;
    position: relative;
}

.era h3 {
    margin-top: 0;
}

.era-content {
    margin-bottom: 10px;
}

.editable {
    cursor: pointer;
}

button {
    cursor: pointer;
    padding: 5px 10px;
    margin: 5px 0;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    transition: background-color 0.3s;
}

button:hover {
    background-color: #0056b3;
}

/* Modal Styling */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.4);
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

#era-title, #era-description {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}

#save-era {
    float: right;
}
.statement-of-faith {
    background-color: #f8f9fa;
    padding: 40px 0;
  }
  
  .container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
  }
  
  .section-title {
    font-family: 'Arial', sans-serif;
    font-size: 2.5em;
    color: #212529;
    margin-bottom: 20px;
    text-align: center;
  }
  
  .faith-content {
    background: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  }
  
  .faith-content p {
    line-height: 1.6;
    color: #495057;
  }
  
  .accordion {
    margin-top: 20px;
  }
  
  .accordion-item {
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 10px;
    overflow: hidden;
  }
  
  .accordion-header {
    background-color: #f8f9fa;
    color: #495057;
    cursor: pointer;
    padding: 18px;
    width: 100%;
    text-align: left;
    border: none;
    outline: none;
    transition: 0.4s;
  }
  
  .accordion-header:hover {
    background-color: #e9ecef; 
  }
  
  .accordion-content {
    padding: 0 18px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    background-color: white;
  }

  #weekly-activities {
    background-color: #f8f9fa;
    padding: 20px;
}

#calendar {
    margin-bottom: 20px;
    border: 1px solid #ddd;
    padding: 10px;
}

.activities {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.activity {
    background-color: hsl(261, 100%, 3%);
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 15px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s, transform 0.5s;
}

.activity.animate {
    opacity: 1;
    transform: translateY(0);
}

.activity h3{
    margin-top: 0;
    color: hsl(220, 30%, 96%);
    text-decoration: underlines;
}

.activity p{
    color: hsl(189, 100%, 68%);
    
}

#calendar .day {
    display: inline-block;
    width: calc(100% / 7 - 2px); /* Assuming 7 days in a week */
    text-align: center;
    padding: 10px;
    margin: 1px;
    background-color: #f8f9fa;
    cursor: pointer;
}

#calendar .day:hover {
    background-color: #e9ecef;
}

#calendar .day.today {
    background-color: #b3d4fc;
}

#calendar .day {
    display: inline-block;
    width: calc(100% / 7 - 2px); /* Assuming 7 days in a week */
    text-align: center;
    padding: 10px;
    margin: 1px;
    background-color: #f8f9fa;
    cursor: pointer;
  }
  
  #calendar .day:hover {
    background-color: #e9ecef;
  }
  
  #calendar .day.today {
    background-color: #b3d4fc;
  }

/* Container for the image */
   /* Grid container for circles */
  /* Basic reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body styling */


/* Grid container for circles */
.circle-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr); /* 5 columns on desktop */
    gap: 20px; /* Space between circles */
    width: 100%;
    max-width: 1000px; /* Limit grid width */
    margin: auto;
}

/* Circular container for each image and text */
.photo-container {
    text-align: center;
    transition: transform 0.3s ease; /* Smooth hover effect */
}

/* Hover effect for circles */
.photo-container:hover {
    transform: scale(1.3); /* Increase size on hover */
}

/* Circle styling */
.circle {
    width: 200px; /* Size of each circle */
    height: 200px;
    overflow: hidden;
    border-radius: 50%; /* Makes the container circular */
    border: 1px solid #ddd; /* Optional border around the circle */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow */
    margin: 0 auto; /* Center the circle */
    margin-top: 15px;
}

/* Image inside the circular container */
.round-photo {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image covers the circle without distortion */
    object-position: center; /* Focuses on the center of the image */
}

/* Text styling below circles */
.photo-container h1 {
    font-size: 1.2rem;
    margin-top: 10px;
    color: #faf7f7;
}

.photo-container p {
    font-size: 1rem;
    margin-top: 5px;
    color: #f7f4f4;
}

/* Media query for smaller screens (phones) */
@media (max-width: 768px) {
    .circle-grid {
        grid-template-columns: repeat(3, 1fr); /* 3 columns for tablets */
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .circle-grid {
        display: flex; /* Change grid to flex for scrolling */
        overflow-x: auto; /* Enable horizontal scroll on phones */
        gap: 15px;
        padding: 10px;
    }

    .photo-container {
        flex: 0 0 auto; /* Ensure containers don't shrink */
        width: 200px; /* Maintain circle size */
    }
}




.about-box h2 {
    font-size: 2.0em;
    margin-top: 15%;
}

.about-box p {
    font-size: 1.5em;
    margin-top: 10px;
    margin-left: 0;
    margin-right: 0;
}

/*  Leadership statements */

.vision-statements {
    text-align: center;
    padding: 40px 20px;
    background-color: #a485b6;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    max-width: 1500px;
    margin: 40px auto;
}

.vision-statements h1 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #ffe9ff;
}

.leader-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.leader-card {
    background: rgba(0, 0, 0, 0.7);
    padding: 2rem;
    border-radius: 10px;
    text-align: center;
    transition: all 0.4s ease;
}

.leader-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.leader-card h3 {
    color: white;
    font-size: 1.5rem;
    margin: 1rem 0;
}

.leader-card .position {
    color: #FFD700;
    font-weight: bold;
    font-size: 1.1rem;
    margin-bottom: 0.5rem;
}

.leader-card .bio {
    color: white;
    font-size: 0.95rem;
    line-height: 1.6;
}

.leader-image {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    margin-bottom: 15px;
    object-fit: cover;
    border: 3px solid #007BFF;
}

.leader-title {
    font-size: 1rem;
    font-style: italic;
    color: #f7f0f0;
}

blockquote {
    margin: 15px 0;
    font-size: 1rem;
    font-style: italic;
    color: #f8f6f6;
    border-left: 4px solid #ff0000;
    padding-left: 10px;
    text-align: left;
}



.awards-section {
    text-align: center;
    padding: 50px 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin: 40px auto;
    max-width: 1200px;
}

.awards-section h1 {
    font-size: 2.5rem;
    color: #007BFF;
    margin-bottom: 30px;
}

.awards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.award-card {
    background-color: #f4f4f4;
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.award-card:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.award-image {
    width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
}

.award-card h2 {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 10px;
}

.award-card p {
    font-size: 1rem;
    color: #555;
    line-height: 1.6;
}

.testimonials-section {
    max-width: 1200px;
    margin: 50px auto;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.testimonials-section h2 {
    text-align: center;
    color: #333;
    margin-bottom: 20px;
}

.testimonial {
    padding: 20px;
    margin: 15px 0;
    border-left: 5px solid hsl(278, 100%, 4%);
    background: #f1f1f1;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.testimonial p {
    font-size: 1.1em;
    line-height: 1.6;
    color: #555;
    margin: 0 0 10px;
}

.testimonial span {
    display: block;
    text-align: right;
    font-weight: bold;
    color: #333;
}

@media (max-width: 768px) {
    .testimonials-section {
        padding: 15px;
    }

    .testimonial {
        padding: 15px;
    }
}

.infographics {
    max-width: 1200px;
    margin: 50px auto;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px;
}

.info-card {
    flex: 1 1 calc(33% - 20px);
    background: linear-gradient(135deg, hsl(278, 100%, 4%), hsl(278, 100%, 4%));
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    color: white;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
}

.info-card i {
    font-size: 3rem;
    margin-bottom: 15px;
    animation: bounce 2s infinite;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(-10px);
    }
    60% {
        transform: translateY(-5px);
    }
}

.info-card h3 {
    font-size: 2.5rem;
    margin: 0;
}

.info-card p {
    font-size: 1.2rem;
    margin: 10px 0 0;
}

@media (max-width: 768px) {
    .info-card {
        flex: 1 1 calc(50% - 20px);
    }
}

@media (max-width: 480px) {
    .info-card {
        flex: 1 1 100%;
    }
}

/* MAPS IN THE ABOUT  */

.map-container {
    width: 100%;
    height: 400px;
    border-radius: 10px;
    overflow: hidden;
}
iframe {
    width: 100%;
    height: 100%;
    border: none;
}


/*  youth ministry2s boxes */
.youth-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    padding: 20px 0;
    justify-content: center;
    margin-top: 20%;
}

.youth-box {
    width: 300px;
    height: 300px;
    background-color: hsla(263, 94%, 21%, 0.986);
    border-radius: 20px;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    overflow: hidden;
    transition: transform 0.3s ease-in-out;
    cursor: pointer;
}

.youth-box:hover {
    transform: scale(1.05);
}

.youth-box-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #f2f8fa;
    width: 90%;
    z-index: 2;
}

.youth-box h2 {
    font-size: 1.6em;
    font-weight: bold;
    margin: 0;
    color: #fff;
}

.youth-box p {
    font-size: 1em;
    margin-top: 10px;
    color: #fff;
}

.youth-image {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 15px;
    opacity: 0.4;
    z-index: 1;
}


 /* Style for the main container holding all pastoral team members */
.pastoral-team-container {
    display: grid; /* Enables grid layout */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Creates responsive columns */
    gap: 20px; /* Space between grid items */
    padding: 20px; /* Adds padding around the container */
    max-width: 1200px; /* Limits the container width */
    margin: 0 auto; /* Centers the container on the page */
    margin-top: 8%;
}

/* Style for individual pastoral member card */
.pastoral-member {
    background-color: #f7f7f7; /* Light background color */
    border-radius: 8px; /* Rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Adds subtle shadow */
    text-align: center; /* Centers the content within the card */
    overflow: hidden; /* Ensures content fits within the border-radius */
    transition: transform 0.3s ease; /* Smooth scale effect on hover */
}

/* Scale effect on hover */
.pastoral-member:hover {
    transform: scale(1.05); /* Slightly enlarges the card */
}

/* Image styling within each card */
.pastoral-member img {
    width: 100%; /* Full width to fit the card */
    height: auto; /* Maintains image aspect ratio */
    border-top-left-radius: 8px; /* Matches container rounding */
    border-top-right-radius: 8px;
}

/* Styling for pastoral member name */
.pastoral-member h2 {
    font-size: 1.5em; /* Increases heading size */
    margin: 10px 0 5px; /* Space above and below */
    color: #333; /* Dark color for readability */
}

/* Styling for pastoral member title */
.pastoral-member h3 {
    font-size: 1.2em;
    color: #666; /* Lighter color than name */
    margin-bottom: 10px;
}

/* Description paragraph styling */
.pastoral-member p {
    font-size: 1em; /* Regular paragraph size */
    padding: 0 15px 15px; /* Inner padding for spacing */
    color: #555; /* Dark grey for text */
    line-height: 1.4; /* Improves readability */
}

/* Animation for each pastoral member sliding in from the left */
@keyframes slideInFromLeft {
    0% {
        transform: translateX(-100%); /* Starts off-screen to the left */
        opacity: 0; /* Starts hidden */
    }
    100% {
        transform: translateX(0); /* Moves into its final position */
        opacity: 1; /* Ends fully visible */
    }
}

/* Individual delays for each member for staggered animation effect */
.pastoral-member:nth-child(1) { animation-delay: 0.3s; }
.pastoral-member:nth-child(2) { animation-delay: 0.6s; }
.pastoral-member:nth-child(3) { animation-delay: 0.9s; }

/* Hover effect: each member scales up slightly when hovered */
.pastoral-member:hover {
    transform: scale(1.05); /* Enlarges the container slightly */
}

/* Styling for the pastoral member images */
.pastoral-member img {
    width: 100%; /* Full width to match container */
    height: auto; /* Maintains image aspect ratio */
    border-top-left-radius: 8px; /* Matches container's rounded edges */
    border-top-right-radius: 8px;
}

/* Styling for the member name */
.pastoral-member h2 {
    font-size: 1.5em; /* Larger font for prominence */
    margin: 10px 0 5px; /* Spacing above and below */
    color: #333; /* Dark color for readability */
}

/* Styling for the member title */
.pastoral-member h3 {
    font-size: 1.2em; /* Slightly smaller than name */
    color: #666; /* Lighter grey to differentiate */
    margin-bottom: 10px;
}

/* Description text styling */
.pastoral-member p {
    font-size: 1em; /* Standard paragraph font size */
    padding: 0 15px 15px; /* Padding for better spacing */
    color: #555; /* Medium grey color for readability */
    line-height: 1.4; /* Improves line spacing */
}

#pastoral-team {
    background-color: #f8f9fa;
    padding: 20px;
}

.team-members {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.team-member {
    background-color: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px;
    width: calc(33.333% - 20px);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.team-member h3 {
    margin-top: 0;
    color: #333;
}

.day {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
}

.time {
    font-size: 0.9em;
    color: #666;
    margin-left: 10px;
}

/* Hover effect for times */
.time:hover {
    background-color: #e9ecef;
    cursor: pointer;
    border-radius: 4px;
}

/* Media query for responsiveness */
@media screen and (max-width: 768px) {
    .team-member {
        width: 100%;
    }
}


/* RESOURCES */
.body-resources {
    font-family: Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; /* Sets a clean and modern font for the site */
    line-height: 2.6; /* Improves readability */
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    background-image: url('IMAGES/IMG-20231028-WA0010.jpg'); /* Specify the image URL */
    background-size: cover; /* Ensures the image covers the entire viewport */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents the image from repeating */
    background-attachment: fixed; /* Keeps the background image fixed during scrolling */
    font-family: Arial, sans-serif; /* Optional: Set a font for the content */
}

#main-resources {
    margin-top: 10%;
}

h1 {
    text-align: center; /* Centers the main heading */
    margin: 20px 0; /* Adds margin around the heading */
}

.resources-grid {
    display: grid; /* Enables grid layout */
    grid-template-columns: repeat(3, 1fr); /* Defines three equal columns */
    gap: 20px; /* Space between grid items */
    padding: 20px; /* Padding around the grid */
}

.resources {
    background-color: hsla(263, 94%, 21%, 0.986); /* Light grey background for resource sections */
    border: 1px solid #ddd; /* Light grey border around each section */
    border-radius: 10px; /* Rounded corners for sections */
    padding: 15px; /* Padding inside the section */
    transition: transform 0.3s ease; /* Smooth scaling effect */
    animation: slideUp 0.8s ease-out forwards; /* Adds slide-up animation */
    opacity: 0; /* Initially hidden to support the animation */
}

/* Hover effect remains unchanged */
.resources:hover {
    transform: scale(1.05); /* Slightly scales the section on hover */
    background-color: rgb(241, 9, 9);
}

h1 {
    color: #4CAF50; /* Green color for subheadings */
}

.resources-h {
    color: hsl(180, 98%, 51%);
    text-align: center; /* Centers the main heading */
}

ul {
    list-style-type: none; /* Removes default bullet points from lists */
    padding: 0; /* Removes default padding from lists */
}

a {
    text-decoration: none; /* Removes underline from links */
    color: #ecf0ef; /* Green color for links */
}

a:hover {
    text-decoration: underline; /* Underline effect on hover */
}

p {
    margin: 10px 0; /* Adds margin around paragraphs */
}

/* Keyframes for the slide-up effect */
@keyframes slideUp {
    from {
        transform: translateY(100px); /* Start below the viewport */
        opacity: 0; /* Start invisible */
    }
    to {
        transform: translateY(0); /* End at natural position */
        opacity: 1; /* Fully visible */
    }
}

/* Adding staggered delays for a cascading effect */
.resources:nth-child(1) { animation-delay: 0.2s; }
.resources:nth-child(2) { animation-delay: 0.4s; }
.resources:nth-child(3) { animation-delay: 0.6s; }
.resources:nth-child(4) { animation-delay: 0.8s; }
.resources:nth-child(5) { animation-delay: 1s; }
.resources:nth-child(6) { animation-delay: 1.2s; }
.resources:nth-child(7) { animation-delay: 1.4s; }
.resources:nth-child(8) { animation-delay: 1.6s; }
.resources:nth-child(9) { animation-delay: 1.8s; }



/* Media query for mobile devices */
@media (max-width: 768px) {
    .resources-grid {
        grid-template-columns: 1fr; /* Single column layout for mobile */
        overflow-y: auto; /* Enables vertical scrolling if necessary */
        max-height: calc(100vh - 200px); /* Adjust this based on your header/footer height */
        margin-top: 40%;
    } 
}
@media (max-width: 460px) {
    .resources-grid {
        grid-template-columns: 1fr; /* Single column layout for mobile */
        overflow-y: auto; /* Enables vertical scrolling if necessary */
        max-height: calc(100vh - 200px); /* Adjust this based on your header/footer height */
        margin-top: 40%;
    } 
}


/* Basic styling for the search bar */
/*.search-container {
    position: relative;
    display: inline-block;
  }
  
  .search-icon {
    font-size: 1.5em;
    cursor: pointer;
  }
  
  .search-input {
    width: 0;
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 20px;
    outline: none;
    transition: width 0.4s ease;
    position: absolute;
    top: -5px;
    left: 25px;
    opacity: 0;
    visibility: hidden;
  }
  
  /* Show input field when active */
  /*.search-container.active .search-input {
    width: 200px;
    opacity: 1;
    visibility: visible;
  }
  
  /* Autocomplete dropdown */
  /*.autocomplete-suggestions {
    position: absolute;
    top: 30px;
    left: 25px;
    background-color: #fff;
    border: 1px solid #ccc;
    width: 200px;
    max-height: 150px;
    overflow-y: auto;
    border-radius: 5px;
    display: none;
  }
  
  .autocomplete-suggestions.active {
    display: block;
  }
  
  .autocomplete-suggestion {
    padding: 10px;
    cursor: pointer;
  }
  
  .autocomplete-suggestion:hover {
    background-color: #f0f0f0;
  }
    */
  
   
/* TERMS AND CONDITION bar */
/* Base Styles */
/* Applies to the entire body to set font, background, and spacing for better readability */


body.terms-and-conditions {
    line-height: 1.6; /* Increases space between lines for readability */
    background-color: #f9f9f9; /* Light background for less strain on the eyes */
    margin: 0; /* Removes default browser margin */
}


/* Styles for Main Heading (h1) */
/* Ensures the heading is prominent and centered */
h1.terms-and-conditions {
    text-align: center; /* Centers the heading horizontally */
    color: #333; /* Sets a dark gray color for contrast against the background */
    font-size: 2rem; /* Sets a readable font size */
    margin-bottom: 20px; /* Adds space below the heading */
    margin-top: 5%;
}

/* Styles for Section Subheadings (h2) */
/* Similar to h1 but smaller for section hierarchy */
h2.terms-and-conditions {
    color: #555; /* Slightly lighter gray than h1 */
    font-size: 1.5rem; /* Smaller than h1 for visual hierarchy */
    margin-top: 20px; /* Adds space above the subheading */
    margin-bottom: 10px; /* Adds space below the subheading */
}

/* Section Container Styles */
/* Ensures content is neatly placed within a visually appealing container */
section.terms-and-conditions {
    margin: 20px auto; /* Centers the section on the page */
    padding: 20px; /* Adds inner spacing within the container */
    background: #fff; /* White background for content sections */
    border-radius: 10px; /* Rounds the corners for a modern look */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow for depth */
    max-width: 1200px; /* Limits the width of the section on large screens */
}

/* Paragraph and List Item Styles */
/* Styles for text content and list items */
p.terms-and-conditions, li.terms-and-conditions {
    color: #555; /* Dark gray text for readability */
    font-size: 1rem; /* Standard font size */
    margin-bottom: 15px; /* Adds space below each paragraph or list item */
}

/* Unordered and Ordered List Styles */
/* Adds indentation and spacing to lists */
ul.terms-and-conditions, ol.terms-and-conditions {
    margin-left: 30px; /* Indents lists from the edge */
    padding-left: 10px; /* Adds inner spacing within the list */
}
/* Responsive Design */
@media (max-width: 768px) {
    body.terms-and-conditions {
        padding: 10px;
    }

    section.terms-and-conditions {
        padding: 15px;
        margin: 10px auto;
    }

    h1.terms-and-conditions {
        font-size: 1.5rem;
    }

    h2.terms-and-conditions {
        font-size: 1.25rem;
    }

    p.terms-and-conditions, li.terms-and-conditions {
        font-size: 1rem;
    }

    ul.terms-and-conditions, ol.terms-and-conditions {
        margin-left: 15px;
    }
}

/* Smaller Screens */
@media (max-width: 480px) {
    section.terms-and-conditions {
        padding: 10px;
        margin: 5px auto;
    }

    h1.terms-and-conditions {
        font-size: 1.25rem;
    }

    h2.terms-and-conditions {
        font-size: 1rem;
    }

    p.terms-and-conditions, li.terms-and-conditions {
        font-size: 0.9rem;
    }

    ul.terms-and-conditions, ol.terms-and-conditions {
        margin-left: 10px;
    }
}
