/* Reset Styles */

body {
    background: scroll;
    margin: 0;
    padding: 0;
    font-family: 'Playfair', sans-serif;
    color: #505050;
    background-color: #85DC;

}


/* Header Styles */
header {
    background: linear-gradient(301deg, #7676c7, #000);
    color: #fff;
    text-align: center;
    padding: 20px;
    position:sticky;
    top: 0;
}

.headeraH1 {
    margin: 0;
}

.banner {
    width: 100%;
    overflow: hidden;
}

.banner img {
    width: 100%;
    height: auto;
    display: block;
}


/* Navigation Styles */
nav ul {
    background-color: #333;
    color: #fff;
    text-align: center;
    list-style-type: none;
    margin: 0;
    padding: 20px;
}

nav li {
    display: inline-block;
}

nav a {
    display: block;
    color: #fff;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    transition: background-color 0.3s;  /* Smooth transition for hover effect */
}

nav a:hover {
    background-color: #505050;  /* Darker shade for hover */
}

nav a:active {
    color: blue;
}

/* Banner Styles */
.banner-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    width: 100%;
    overflow: hidden;
}

.centered-banner {
    padding: 30px;
    max-width: 70%;
    height: auto;
}

/* Main Content Styles */
main {
    background-color: burlywood;
    color: #000;
    max-width: 800px;
    margin: 0 auto;
    padding: 20px;
}

.services {
    margin: 2rem auto;
    padding: 2rem;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

main h3 {
    margin-top: 20px;
}

/* Service Columns */
.services-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}

.service-column {
    flex-basis: calc(50% - 20px);
    max-width: calc(50% - 20px);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.service-column img {
    width: 180px;
    height: auto;
    margin-bottom: 10px;
}

.service-column h3 {
    margin-bottom: 5px;
}

/* Media Queries for Responsiveness */
@media (max-width: 800px) {
    .service-column {
        flex-basis: calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}

@media (max-width: 700px) {
    .service-column {
        flex-basis: 100%;
        max-width: 100%;
    }
}

/* Call to Action Styles */
.cta-container {
    text-align: center;
    padding: 30px;
    background-color: #432ebb;
    margin-top: 40px;
    border-radius: 1px;
    border-color: #6754d6;
    color: #fff;
    text-transform: uppercase;
    font-size: large;

}

.cta-button {
   display: inline-block;
    padding: 20px 30px;
    background-color: #01050a;
    color: #ffffff;
    text-decoration: underline overline;
    border-radius: 12px;
    border-color: #fff;
    font-weight: medium;
    margin-top: 20px;
    transition: background-color 0.3s;
    text-transform: uppercase;
    font-size: large;

}

.cta-button:hover {
    background-color: #7640B3;
}

/* Footer Styles */
footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 20px;
}

footer ul {
    margin: 0;
}

footer li {
    display: inline-block;
    margin-right: 10px;
}

footer a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s;  /* Smooth transition for hover effect */
}

footer a:hover {
    color: #b3b3b3;  /* Lighter color on hover */
}

footer p {
    margin: 10px 0 0;
}


.FORM {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
}

.FORM-content {
    background-color: white;
    margin: 15% auto;
    padding: 20px;
    width: 70%;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    position: relative;
}

.close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    cursor: pointer;
    font-size: 24px;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}


#form {
    width: 300px;
    margin: 20vh auto 0 auto; /* This centers the form vertically and 
    horizontally */
    padding: 40px;
    background-color: whitesmoke; /* Light gray background for the form */
    border-radius: 4px; /* Rounded corners for the form */
    font-size: 12px;
    }
    /* Style for the form's heading: setting the text color and alignment */
    #form h1 {
    color: #0f2027; /* Dark text color for the heading */
    text-align: center; /* Center-align the heading */
    }
    /* Style for the form's button: padding, top margin, full width, text color, 
    background color, no border, and rounded corners */
    #form button {
    padding: 10px;
    margin-top: 10px; /* Space above the button */
    width: 100%; /* Make the button expand the full width of the form */
    color: white; /* White text color for the button */
    background-color: rgb(41, 57, 194); /* Blue background color for the button 
    */
    border: none; /* Remove the default border */
    border-radius: 4px; /* Rounded corners for the button */
    }
    /* Container for input fields: using flexbox for layout, column direction */
    .input-control {
    display: flex;
    flex-direction: column; /* Stack the children (label, input, error message) 
    vertically */
    }
    /* Style for input fields inside the container: border style, rounded corners, 
    block-level display, font size, padding, full width */
    .input-control input {
    border: 2px solid #f0f0f0; /* Light gray border for the inputs */
    border-radius: 4px; /* Rounded corners for the inputs */
    display: block; /* Display input field as a block */
    font-size: 12px; /* Text size within the input field */
    padding: 10px; /* Space inside the input field */
    width: 92%; /* Input field takes up 100% of the form's width */
    }
    /* Remove focus outline from input fields */
    .input-control input:focus {
    outline: 0; /* Remove outline when input is focused */
    }
    /* Style for input fields with class "success": green border */
    .input-control.success input {
    border-color: #09c372; /* Green border to indicate successful input */
    }
    /* Style for input fields with class "error": red border */
    .input-control.error input {
    border-color: #ff3860; /* Red border to indicate an error in input */
    }
    /* Style for the error message: text color, font size, and height */
    .input-control .error {
    color: #ff3860; /* Red text color for error messages */
    font-size: 9px; /* Smaller font size for error messages */
    height: 13px; /* Explicit height to ensure consistent spacing */
    }