
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
body {
    min-height: 100vh; /* Adjusted to 100vh for full coverage */
    display: flex;
    flex-direction: column;
    font-size: 2vw;
    background-color: black;
    overflow-y: auto; /* Ensure body can scroll vertically */
}
 p {
        font-family: 'Roadgeek 2005 Transport';
        font-size: 2vw;
        font-weight: 400;
        color: gold;
        text-align: center;
        margin: 0.5em 20vw 0.5em 20vw;
        max-width: 72vw;
        font-style: italic;
    }
        /* .clearfix ::after { */
        .clearfix {
      content: "";
      clear: both;
      display: table;
    }
.VideoBackground {
    position: Static;
    top: 0;
    overflow: auto; /* hidden orig*/
    overflow: hidden;
    width: 100vw;
    height: auto;

    margin-bottom: 3vw;
    border-bottom:4px solid white;
    border-style: groove;
    z-index: -2;
}
.back_video {
    position: Static;
    top:0;
    width: 100vw;
    height: auto;
    object-fit:cover;
    filter:brightness(.8);
    z-index: -2;
}
.TBnav{
    position: fixed;
    width:100%;
    height: 10vw;
    background-color: transparent;
    background-image:none;
    left: 12vw;
    top: 0;
    z-index:5;
}
.TBnav.black {
    /* background-color: black; * TBnav turns black */
    Background-image: linear-gradient(rgb(5, 5, 5),rgba(12,3,51,.4));
}
.TBelements {
    display: inline-flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
    top: 0;
    width: 85vw;
    margin: 2px 1vw;
    padding: 2px 2px 0 0;
    stroke: black;
    stroke-width: 5px;
}
    .TBelements a {
        /* font-family:'Eurostile MN'; */
        font-family: 'Roadgeek 2005 Transport';
        padding: 4px 0 4px 2vw;
        margin-top: 2.5vw;
        margin-left: 1em;
        font-size: 3vw;
        font-weight: 100;
        color: white;
        align-content: center;
        text-decoration: none;
        text-shadow: 2px 4px 2px black,2px 4px 3px black;
        animation: glow is ease-in-out infinite alternate;
    }
.TBelements a:hover {
    font-style: italic;
    text-shadow: 0px -8px 66px gold, 0px 8px 66px gold;
}

/*      NavAbout popup */
#TBfloat {
    display: none;
    position:absolute;
    top: 6vw;
    left: 15vw;
    margin:0 0 0 0;
    padding:0 0 0 0;
    width: 80vw;
    height: 2em;
    background: linear-gradient(transparent,black);
    color: white;
    z-index: 5;
   
    z-index: 3;
}
    #TBfloat a {
        margin: 4px 2vw 10px 2vw;
        padding: 2px 0 4px 0;
        font-family: 'Roadgeek 2005 Transport';
        font-size: 1.5vw;
        font-weight: 10;
        color: gold;
        align-content: center;
        text-decoration: none;
        text-shadow: 2px 4px 2px black,2px 4px 3px black;
        animation: glow is ease-in-out infinite alternate;
    }
#HoverAbout:hover + #TBid {
    display:block;
    z-index: -1;
}
#HoverAbout {
    display:block;
}
/* END NavAbout popup */


.RowFlex {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items:center;
}
#BFRstamp {
    width: 10vw;
    margin: 0 1em 0 0;
    background-color: transparent;
    transition: 2s;
    box-shadow: white -1px 0px 12px, gold 1.5vw 0px 2vw;
    border-radius: 1vw;
}

#Logos {
    position:fixed;
    display: inline-flex;
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: nowrap;
    top: 1em;
    left: 3vw;
    padding: 2px 2px 0 0;
} 
/* park logo*/
.logo {
    position:relative;
    width: 60vw; /* actual width of stamp logo in terms of scalable font */
    height: auto;
    color: black;
    transition:0.3s;
    margin-top: 6.0vh;
    margin-left: 10vw;
}
TBnav ul li a img:hover {
    offset-rotate: 45deg;
    padding: 2px;
    background-image: linear-gradient(rgba(12,3,51,1,0.1),rgba(12,3,51,.2));
}


#ContactInfoGrid {
    display: grid;
    grid-template-areas:
        "BandMembers BandMembers BandMembers BandContact"
        "BandFunction BandFunction BandFunction BandContact"
        "BandContact BandContact BandContact BandContact"
        "BandFunction BandFunction BandFunction BandContact";
    grid-template-rows: repeat(4, 1fr);
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1vw;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 80vw;
    height: auto;
    z-index: inherit;
}
ContactInfoGrid .BandMembers a {
    grid-area: BandMembers;
    background-color: transparent;
    color: white;
    font-size: 1vw;
    font-weight: 400;
    text-align: center;
    padding: 0 0 0 0;
}
ContactInfoGrid .BandContact {
    grid-area: BandContact;
    background-color: transparent;
    color: white;
    font-size: 2vw;
    font-weight: 400;
    text-align: center;
    padding: 0 0 0 0;
}
ContactInfoGrid .BandFunction {
    grid-area: BandFunction;
    background-color: transparent;
    color: white;
    font-size: 1.5vw;
    font-weight: 200;
    text-align: center;
    padding: 0 0 0 0;
}

.Welcome {
    position: relative; /* Changed from fixed to allow natural flow */
    width: 100vw;
    height: auto;
    top: 0; /* Remove fixed positioning offset */
    justify-content: center;
    margin-top: 12vw; /* Add margin to account for .TBnav height (10vw + padding) */
}

    .Welcome p {
        font-weight: 400;
        margin: 0 20vw 0.5em 20vw;
    }

    .Welcome h5 {
        text-align: center;
        font-family: 'Brush Script Std';
        font-style: italic;
        font-size: 2vw;
        font-weight: 20;
        color: gold;
        text-shadow: 2px 4px 2px black, 2px 4px 26px yellow;
        margin: 3em 0 5px 0;
    }
.content h1 {  /* Alburtis Park */
        font-size: 6vw;
        color: white;
        font-weight: 600;
        transition: 1.0s;
        text-shadow:  2px 1px 1px black, 4px 4px 4px gold;
        animation: glow is ease-in-out infinite alternate;
        margin:0;
    }
    .content h6 {  /* country music */
        font-size: 9vw;
        color: #fff;
        font-weight: 600;
        transition: 1.0s;
        text-shadow: 2px 1px 1px black, 4px 4px 4px gold;
        animation: glow is ease-in-out infinite alternate;
        margin: 0;
    }
    .content h6:hover{
        -webkit-text-stroke:2px aqua;
        color: transparent;
    }
    
    .DownScroll {  /* scroll down */
            width: 8vw;
            color: gold;
            margin: 0;
            background-color:transparent;
    }
    .DownScroll:hover {
        width:6.5vw;
    }
    
    .content h2 {
        font-size: 3vw;
        margin: 0 0 0 0;
        color: aqua;
        text-shadow: 0px -8px 66px black, 0px 8px 66px black;
        animation: glow is ease-in-out infinite alternate;
        font-weight: 500;
    }
    .content h3 {  /* hundred years */
        font-family: 'Brush Script MT';
        font-style: italic;
        font-size: 5vw;
        margin: 0;
        color:#fff;
        text-shadow: 1px 3px 8px black, -1px -4px 8px black;
        animation: glow is ease-in-out infinite alternate;
        font-weight:400;
    }
.content h4 {  /* address S. Main St */
    font-style: italic;
    font-size: 2.5vw;
    margin: 0;
    color: #ffd800;
    text-shadow: 1px 3px 8px black, -1px -4px 8px black;
    font-weight: 100;
}

@media (min-aspect-ratio: 720/396) {
    .VideoBackground {
        width: 100vw;
        
    }
    .back_video {
        width: 100vw;
        /*object-fit: cover;*/
    }
}
/* ratio 16/9 originally*/
@media (max-aspect-ratio: 720/396) {
    .VideoBackground {
        width: 100%;
    }
    .back_video {
            width: 100%;
           /* height:100vh;*/
        }
    }
/* Media query for mobile devices */



    #ContactInfo{
        width:auto;
        height: auto;
        border:2px dotted grey;
    }

#Chapter {
    text-align: center;
    font-size: 3vw;
    font-weight: 800;
    text-shadow: 1px 3px 1px black, 9px 18px 18px gold;
    animation: glow is ease-in-out infinite alternate;
}

    .pTextAlignCenter {
        text-align: center;

    }

    #cash {
        color: chartreuse;
        font-style: italic;
        margin-top: 80px;
        margin-left: 20%;
        font-weight: 800;
        text-shadow: 1px 3px 8px black, -1px -4px 8px black;
        animation: glow is ease-in-out infinite alternate;
    }

    #Info img {
        width: 12vw;
        margin: 3vh 0 0 0;
    }

    #AlignRightBlue {
        color: #0FF;
        font-style: italic;
        font-size: larger;
    }

    .extraImg {
        background-color: purple;
        position: absolute;
        margin-top: 0;
        height: 100vh;
        width: 100vw;
        color: black;
        z-index: auto;
    }
    /* this class should be placed on a div or break element and should be the final element 
    before the close of a container that should fully contain a float */
    .clearfloat {
        clear: both;
        height: 0;
        font-size: 1px;
        line-height: 0px;
    }

    .extraImb a::before {
        clear: both;
    }

    .FullWidth {
        position: sticky;
        background-color: forestgreen;
        float: left;
        margin-top: 0;
        height: auto;
        width: 100vw;
        z-index: inherit;
    }

    .Centennial {
        position: sticky;
        margin-top: 2vw;
        width: 80vw;
        height: auto;
        padding: 0 4em 0 2em;
        text-align: center;
        background-color: black;
        border: 8px solid whitesmoke;
        border-style: groove;
        z-index: inherit;
    }

        .Centennial p {
            text-align: center;
            font-size: 2.7vw;
            color: white;
            font-weight: 400;
        }

.footer p {
    position: relative;
    width: 100vw;
    height: auto;
    background-color: black;
    color: white;
    text-align: center;
    padding: 1em 0;
    font-size: 1.5vw;
    font-weight: 100;
}
    #TEA {
        font-size: 1.5vw;
        font-weight: 200;
        font-display: block;
        text-decoration: underline;
        color: white;
    }
    /* Following media checks fix iphone occurance*/
    @media (max-width: 50em) {
        .ParkInfo_Right {
            float: none;
            margin: 2vw 0 0 4vw;
            width: 100%;
            align-content: center;
            font-size:3.5vw;
        }

        .ParkInfo {
            float: none;
            margin: 0 0 2vw 4vw;
            width: 100%;
            align-content: center;
            font-size:3.5vw;
        }
    }
/* Grid Setup */
.grid-container {
    display: grid;
    justify-content:center;
    grid-template-columns: repeat(3, 1fr) 2vw 1fr; /* Matches table's 5 columns, with 4th column fixed at 8em */
    gap: 10px; /* Space between grid items */
    max-width: 87vw; /* Optional: constrain width */
    margin: 0 auto;
    text-align: center; /* Center text in all grid items */
    align-items:center;
}

/* Caption styling */
/* Grid item styling */
.grid-item {
    padding: 0.2em;
    font-size: 2.0vw;
    color:gold;
}
    .grid-item img {
        width: 55%;
        max-width:100%;
        height: auto;
        border-radius: 1vw;
        box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5);
    }

        /* Specific styles for the contact cells (mimicking table's bgcolor and borders) */
        .contact-1 {
    background-color: #663300;
    border-top: 2px groove;
    border-bottom: 3px double;
    border-left: 2px groove;
    border-right: 2px inset;
    color: #fff; /* White text for contrast */
}

.contact-2 {
    background-color: #663300;
    border-bottom: 2px inset;
    border-left: 2px groove;
    border-right: 2px inset;
    font-weight: 800;
    color: #fff; /* White text for contrast */
}

/* Styling for small text (like table's <a> tags) */
.small-text {
    font-size: clamp(1.5vw,0.0rem, 2.0vw;
    color: #CCC;
    display: block; /* Ensures it appears on a new line */
}

/* Schedule link styling */
.schedule {
    font-size: 2.5vw;
    font-style: italic;
    text-decoration:underline;
    color: white;
    font-weight:300;
}

/* Link styling */
a {
    color: inherit;
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }
@media (max-width: 1200px) {
    .grid-item {
        font-size: clamp(1.8vw, 1.1rem, 2.2vw); /* Slightly larger text for mid-sized screens */
    }

        .grid-item img {
            width: 60%; /* Slightly larger images */
        }
}

@media (max-width: 768px) {
    .grid-item {
        font-size: clamp(2vw, 1.2rem, 2.5vw); /* Larger text for smaller screens */
    }

        .grid-item img {
            width: 65%; /* Larger images to maximize space */
        }
    @media (max-width: 50em) {
        .grid-container {
            grid-template-columns: 1fr; /* Single column */
            grid-template-rows: auto; /* Let rows adjust automatically */
            gap: 15px; /* Slightly larger gap for clarity */
            max-width: 90vw; /* Maximize width on mobile */
        }

        .grid-item {
            font-size: clamp(3vw, 1.4rem, 4vw); /* Larger text for mobile readability */
            padding: 0.5em;
        }

            .grid-item img {
                width: 80%; /* Larger images to fill the single column */
                max-width: 100%;
                height: auto;
            }

        .small-text {
            font-size: clamp(2vw, 1rem, 3vw); /* Adjust smaller text for mobile */
        }

        .contact-1, .contact-2 {
            font-size: clamp(3vw, 1.4rem, 4vw); /* Ensure contact info is readable */
        }

        .schedule {
            font-size: clamp(3.5vw, 1.6rem, 5vw); /* Larger schedule link */
        }
    }
    /* end grid setup */
