/* target iphone res 390 x 844 CSS px */
/* --- Reset & Base Styles --- */
/** {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}*/

/* Ensure the body allows for scrolling */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f9f9f9;
}

summary {
    cursor: pointer;
    font-size: 1.4rem;
    /*margin-top: 2rem;*/
    color: #fff;
}

details {
    /*margin: 1rem;*/
    padding: 1.5rem;
}

details p {
    font-size: 1.2rem;
    background: rgba(255, 255, 255, 0.5);
    padding: 1.5rem;
    color: #093480;
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);

}

details ul {
    margin-left: 3rem;
    font-size: 1.2rem;
}

iframe {
    border: 1px #999;
    height: 500px;
    width: 90%;
    /*scrolling: no;*/
}

h2 {
        text-align: center;
        margin-bottom: 1.5rem;
        color: #093480;
    }

/* --- Header --- */
.header {
    background: #eee;
    color: #bbb;
    padding: 0.25rem;
    text-align: center;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    display: grid;
    /* Define three columns: the first takes available space (1fr),
        while the other two size according to their content (auto) */
    grid-template-columns: auto auto auto;
    justify-self: start;
    gap: 10px; /* Adds space between columns */
    width: 100%; /* Ensures the grid spans the full width of its container */
    z-index: 4;
}

/* --- Responsive --- */
@media (max-width: 100%) {
    .parallax-section {
        min-height: auto; /* Allows the height to be determined entirely by content on mobile */
        height: auto; /* Ensure height adjusts to content */
        padding: 40px 24px; /* Add some balanced padding for mobile screens */
        background-attachment: scroll !important;
        background-size: cover !important;
      }
}
/* --- Sticky --- */
.sticky {
    position: sticky;
    top: 0;
    z-index: 100;
}

.container {
    /*padding-top: 120px;*/
    line-height: 1.6;
}

.background {
    /*position: absolute;*/
    /*top: 0;
    left: 0;
    right: 0;
    bottom: 0;*/
    /*object-fit: cover;*/
    /*z-index: -1;*/
    /* Puts the background behind the content */
    /* The core parallax effect: push it back and scale it up to fill the space */
    transform: translateZ(-10px) scale(3);
}

/* --- Parallax --- */
.parallax-section {
    /* Set a specific height for the parallax section */
    /*height: 100dvh;*/
    min-height: 100vh;
    background-image: url("img-intercoastal_7-26-25.png");

    /* Create the parallax scrolling effect */
    background-attachment: fixed; /* This is the key for parallax */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Prevent image repetition */
    background-size: cover; /* Ensure the image covers the entire area

  /* Optional: Add text styling for foreground content */
    display: flex;
    padding: 1rem;
    /*padding-top: 50px;*/
    /*padding-left: 1rem;
    padding-right: 1rem;*/
    /*scroll-padding-bottom: 100px;*/

    flex-direction: column;
    justify-content: center;
    /*align-items: left;*/
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    /*padding: 3rem;*/
    text-align: center;
    /*max-width: 600px;*/
    /*    background-blend-mode: overlay;*/
    /* new stuff */
    /*position: relative;*/
    /*width: 100%;*/
    /*height: 150px; /* Adjust height as needed */
    overflow: hidden; /* Hide overflowing text */
    /*text-align: center;*/
    /*font-size: 1.2rem;*/
    /*line-height: 50px; /* Vertically center text */*/
}

.banner-container {
    position: relative;
    text-align: center;
    /*width: 100%;*/
    height: 200px;
    /* Hide overflowing text */
    /*overflow: hidden;*/
    font-size: 1.2rem;
    /*padding: 3rem;*/
    line-height: 2rem;
}

.banner-container h2 {
    color: #fff;
}

.banner-text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0; /* Initially hide all text */
    transition: opacity 1s ease-in-out; /* Smooth fade effect */
}

.banner-text.active {
    opacity: 1;
}

/* CSS Animation for alternating text */
@keyframes text-fade {
    0% {
        opacity: 0;
    }
    10% {
        opacity: 1;
    } /* Text becomes visible */
    30% {
        opacity: 1;
    } /* Text remains visible */
    40% {
        opacity: 0;
    } /* Text fades out */
    100% {
        opacity: 0;
    }
}

.banner-text:nth-child(1) {
    animation: text-fade 30s infinite; /* Adjust duration for cycling */
}

.banner-text:nth-child(2) {
    animation: text-fade 30s infinite 10s; /* Delay for second text */
}

.banner-text:nth-child(3) {
    animation: text-fade 30s infinite 20s; /* Delay for third text */
}

/* --- Services --- */
.services {
    padding: 2rem 0;
}

.service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 0.5rem;
}

.service-card {
    background: #fff;
    padding: 1.5rem;
    margin: 0.5rem 0rem;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.service-card h3 {
    color: #093480;
    text-align: center;
}

/* --- About, Order, Contact --- */

.about {
    text-align: left;
    line-height: 1.6;
    padding: 0.5rem 2.5rem;
}

.about h2 {
    text-align: center;
    /*margin-bottom: 1.5rem;*/
    color: #eee;
}

.about h3 {
    text-align: center;
    margin-top: 2.5rem;
    /*margin-bottom: 1.5rem;*/
    color: #eee;
}

.about p {
    /*padding: 0.5rem 2.5rem;*/
}

.faq {
    min-height: 100vh;
    background-image: url("img-waterfront_12-29-25.png");
    background-attachment: fixed; /* This is the key for parallax */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Prevent image repetition */
    background-size: cover; /* Ensure the image covers the entire area*/
}

.order {
    padding: 1rem;
    text-align: center;
    background: #eee;
}

.contact {
    margin-top: auto;
    scroll-padding-top: 150;
    padding: 1rem;
    text-align: center;
    background: #eee;
    z-index: 4;
}

.contact a {
    text-decoration: none;
    color:#3d85c6;
}

.contact p {
    margin: 1rem;
}

.contact table {
    width: 100%;
}

.portrait {
    color: #3d85c6;
    padding: 1rem;
}

.portrait-name {
    color: #3d85c6;
    font-style: italic;
    font-size: 1.2rem;
    font-weight: 1000;
    text-align: center;
}

.portrait-lic {
    color: #999;
    font-size: 0.7rem;
    text-align: center;
}

.photo {
    width: 120px;
    height: auto;
    margin: auto;
    display: grid;
    place-items: center;
    justify-content: center;
}

/*.order-widget {
    text-align: center;
    margin-top: 2rem;
}*/
.contact_email {
    color: #3d85c6;
    font-style: italic;
    font-size: 1.2rem;
    font-weight: 500;
}

.contact_phone {
    color: #3d85c6;
    font-style: italic;
    font-size: 1.7rem;
    font-weight: 1000;
}

/* --- Footer --- */
.footer {
    background: #222;
    color: #bbb;
    text-align: left;
    padding: 0.1rem;
    font-size: 0.8rem;
}
.footer a {
    color: #333;
    /* text-align: right;*/
    text-decoration: none;
    font-weight: 500;
}

.social-icons a {
    text-decoration: none;
    color: #3d85c6;
}
