:root {
    --primary-color: #c74735; /* Primary color */
    --secondary-color: #333; /* Dark grey for body text */
    --background-color: #f4f4f4; /* Light grey background */
    --banner-background-color: rgba(255, 255, 255, 0.1); /* Transparent white for nav background */
    --sticky-nav-background: rgba(28, 27, 26, 0.8); /* Dark background when nav is sticky */
    --hover-background-color: rgba(199, 70, 53, 0.85); /* Hover background color */
    --button-color: #4caf50; /* Submit button color */
    --footer-background-color: #333; /* Footer background color */
    --footer-text-color: #fff; /* Footer text color */
    --link-color: #fff; /* Link color */
    --nav-link-font-size: 18px; /* Default font size for nav links */
    --sticky-nav-link-font-size: 16px; /* Font size for nav links when sticky */
    --social-icon-size: 24px; /* Default size for social icons */
    --sticky-social-icon-size: 20px; /* Social icon size when sticky */
}
::selection {
    background-color: rgba(199, 71, 53, 0.88); /* Change highlight color */
    color: white; /* Optional: Change the color of the selected text */
}
/* Less Aggressive CSS Reset */
* {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    color: inherit;
}

ul, ol {
    list-style: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Body Styles */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    background-color: var(--background-color);
    color: var(--secondary-color);
}

/* Main Wrapper */
main {
    flex: 1;
    padding: 2% 5% 1% 5%;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Oleo Script', cursive;
    font-weight: bold;text-align:center;
    margin:15px 0;
}

h1 {
    font-size: 8.5vw;
    font-weight: bold;
    color: #fff;
    text-shadow: 3px 3px 7px rgba(0, 0, 0, 0.8), 5px 6px 5px var(--primary-color);
    letter-spacing: 1px;
}

h2 {
    font-size: 2.5em;
}
.slogan{
    font-size:1.5em;   
    font-family:'Oleo Script', cursive;
    text-shadow: 3px 3px 7px rgba(0, 0, 0, 0.9);
}
/* General Paragraph Styling */
p.large-text {
    font-family: 'Roboto', sans-serif; /* Clean, legible font */
    font-size: 18px; /* Slightly larger for readability */
    line-height: 1.6; /* Comfortable line spacing */
    color: #333; /* Dark gray body text */
    max-width: 700px; /* Restrict paragraph width for better readability */
    margin: 20px auto; /* Vertical spacing and center alignment */
    padding:20px; /* Padding for small screens */
    text-align: left; /* Left-align for natural reading */
    background-color: #f9f9f9; /* Subtle background for the paragraph */
    border-left: 5px solid var(--primary-color); /* Accent border on the left */
    border-radius: 5px; /* Slight rounding of corners */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

/* Drop Cap for the First Letter */
p.large-text:first-letter {
    font-size: 3em; /* Larger first letter */
    font-weight: bold; /* Emphasize with bold */
    float: left; /* Align it to the left */
    margin-right: 5px; /* Space between the drop cap and the paragraph */
    line-height: 1; /* Align with surrounding text */
    color: var(--primary-color); /* Accent color for drop cap */
  font-family:'Oleo Script', cursive;
}

/* Blockquote Styling */
blockquote {
    font-family: 'Georgia', serif; /* Different font for quotes */
    font-size: 20px; /* Slightly larger than body text */
    font-style: italic; /* Italicized for emphasis */
    color: #555; /* Softer gray for blockquote */
    max-width: 700px; /* Consistent width with paragraphs */
    margin: 30px auto; /* Space above and below */
    padding: 10px 20px; /* Padding for interior spacing */
    border-left: 5px solid #007acc; /* Accent border for blockquote */
    background-color: #f0f8ff; /* Light blue background for contrast */
    border-radius: 5px; /* Rounding for blockquote container */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Light shadow for emphasis */
}

/* Responsive Adjustment for Small Screens */
@media (max-width: 650px) {
    p.large-text, blockquote {
        font-size: 16px; /* Smaller font size on mobile */
        padding: 10px; /* Reduce padding on smaller screens */
    }

    p.large-text:first-letter {
        font-size: 2em; /* Slightly smaller drop cap on mobile */
    }
}

/* Header and Banner */
header {
    background: url('https://images.pexels.com/photos/6593503/pexels-photo-6593503.jpeg') no-repeat center center;
    background-size: cover;
    height: 500px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.banner-text {
    color: #ffffff;
    text-align: center;
    transition: transform 0.5s ease-out;
    position: relative;
    top: -25px;
}

/* Navigation */
nav {
    background: var(--banner-background-color);
    color: var(--primary-color);
    position: sticky;
    top: 0;
    z-index: 1000;
    align-items: center;
    padding: 5px 20px;
    margin-top: -85px;
    height: 85px;
    display: flex;
    transition: background-color 0.3s ease, height 0.3s ease;
}

nav.sticky {
    background-color: var(--sticky-nav-background);
    height: 60px;padding:10px;
}

.nav-container {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

.logo {
    margin-left: 0;
    margin-top: 5px;
}

.logo img {
    height: 70px;
    transition: height 0.3s ease;
}

.sticky .logo img {
    height: 55px;
}

/* Nav Links */
.nav-links {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.nav-links a {
    padding: 32px 15px;
    color: var(--link-color);
    font-weight: bold;
    font-size: var(--nav-link-font-size);
    transition: font-size 0.3s ease, background-color 0.3s ease;
}

nav.sticky .nav-links a {
    font-size: var(--sticky-nav-link-font-size);
    padding: 20px 15px;
}

/* Social Icons in Nav */
.nav-links .fab {
    font-size: var(--social-icon-size);
    margin: 0;
}

nav.sticky .fab {
    font-size: var(--sticky-social-icon-size);
}

.nav-links .social-icon {
    padding: 0 10px;
}

/* Hover Effects */
.nav-links a:hover {
    background: var(--hover-background-color);
    transition: background 0.5s ease;
}

.nav-links .social-icon:hover,
.social-icons a:hover {
    color: var(--primary-color);
    transition: color 0.3s ease;background:transparent;
}

/* Hamburger Menu */
.hamburger-menu {
    display: none;
    flex-direction: column;
    cursor: pointer;
    background: transparent;
    border: none;
}

.hamburger-menu i,
.close-btn i {
    font-size: 36px;
    color: var(--link-color);background:transparent;
}

.close-btn {
    display: none;
    position: absolute;
    top: 10px;
    right: 10px;
}
.close-btn button{background:transparent;}

/* Contact Info Section Styles */
.contact-info {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px;
    background-color: transparent;
    color: white;
    text-align: center;
    margin-top: 20px;
}

.info-column {
    flex: 1;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.info-column i {
    font-size: 24px;
    margin-bottom: 10px;color:#5c5959;
}

.info-column p {
    margin: 0;
    font-size: 18px;
    color: #5c5959;
}
/* Responsive Nav */
@media screen and (max-width: 768px) {
    .hamburger-menu {
        display: flex;
    }
    .nav-links {
        display: none;
        flex-direction: column;
        justify-content: center;/*centering on mobile*/
        width: 100vw;
        text-align: center;
        position: fixed;
        background-color: var(--secondary-color);
        top: 0;
        left: 0;
        height: 100vh;
        z-index: 1000;
        overflow-y: auto;
    }

    .nav-links a {
        padding: 15px;
        display: block;
    }

    .nav-links.show {
        display: flex;
    }

    .close-btn {
        display: block;
    }
      .contact-info {
        flex-direction: column;
    }

    .info-column {
        margin-bottom: 20px;
    }
}

/* Footer */
footer {
    background-color: var(--footer-background-color);
    color: var(--footer-text-color);
    text-align: center;
    padding: 20px;
    width: 100%;
        display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-content {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 10px;
}

.footer-logo svg {
    width: 40px;
    height: 40px;
    opacity: 0.5;
    transition: opacity 0.3s ease-in-out;
}

.footer-logo svg:hover {
    opacity: 1;cursor:pointer;
}

.footer-logo {
   /* flex: 1; */
    text-align: left;
}

.social-icons {
    flex: 1;
    text-align: center;
}
.social-icons small{display:block;margin-top:5px;}
.social-icons a {
    margin: 0 10px;
    font-size: 2em;
    transition: color 0.3s ease-in-out;
}

/* Form */
form {
    max-width: 650px;
    margin: 0 auto;
}

label {
    margin-bottom: 5px;
    color:#8b8f99;
}

input, select, textarea {
    width: 100%; color:#8b8f99;
    padding: 12px;
    margin-bottom: 15px;
    border: 1px solid rgba(0, 0, 0, 0.05);
}
input:focus, textarea:focus {
    border: 1px solid var(--primary-color); /* Highlight with primary color */
    box-shadow: 0 0 5px rgba(199, 70, 53, 0.5); /* Soft shadow using primary color */
    outline: none; /* Remove default outline */
    transition: all 0.3s ease; /* Smooth transition */
}

button[type="submit"] {
    background-color: var(--primary-color);
    font-size: 1.2em;
    font-weight: bold;
    color: #ffffff;
    width: 100%;
    height: 40px;
    border: none;
    border-radius: 0.25em;
    cursor: pointer;
    transition: all 0.5s ease;
    letter-spacing:1px;
}

button[type="submit"]:hover {
    background-color: #9ac425;
      border-radius: 1em;
  letter-spacing:3px;
}
/* Disabled state for submit button */
#submitButton:disabled {
    background-color: #ccc; /* Greyed out for disabled state */
    opacity: 0.8;
    cursor: not-allowed;
}
#contact input::placeholder, #contact textarea::placeholder{
  font-family:monospace;
  letter-spacing: 3px;
  color: #b1b6c4;
}
/* Map Section */
#location {
    padding: 20px 0 0 0;
    height: 350px;
}

#location iframe {
    vertical-align: middle;
}

section#map-container {
    position: relative;
    width: 100vw;
    height: 350px;
    margin-top: 10px;
}

/* Scroll-to-Top Button */
.scroll-to-top {
    position: fixed;  width: 50px; /* Set equal width */
    height: 50px; /* Set equal height */
    bottom: 30px; /* Adjust position from the bottom */
    right: 30px; /* Adjust position from the right */
  display: flex; /* Use Flexbox */
    justify-content: center; /* Horizontally center the icon */
    align-items: center; /* Vertically center the icon */
    background-color: var(--primary-color); /* Use your primary color */
    color: #fff; /* Text color */
    border: none; /* No border */
    border-radius: 50%; /* Round button */
    padding: 15px; /* Size of the button */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); /* Shadow for depth */
    font-size: 24px; /* Font size */
    cursor: pointer; /* Pointer on hover */
    transition: transform 0.3s ease, opacity 0.3s ease; /* Transition for sliding and fading */
    opacity: 0; /* Start hidden */
    transform: translateY(100px); /* Start below the viewport */
    z-index: 999; /* Ensure it's on top */
}

.scroll-to-top.visible {
    opacity: 1; /* Make visible */
    transform: translateY(0); /* Slide into view */
}


.scroll-to-top:hover {
    background-color: #ad3d2e;
}

.scroll-to-top i {
    font-size: 20px;
}


