﻿/* Shamrocks.css
   Consolidated + organized (mobile-first)
   Source: merged/cleaned from existing Shamrock.css (deduped conflicting blocks; kept latest-intended values where duplicated)
*/

/* =========================================
   Shamrocks Global Theme Variables
========================================= */

:root {
    --shamrocks-green: #017230;
    --shamrocks-gold: #C5B358;
    --shamrocks-black: #080808;
    --shamrocks-white: #ffffff;
}


 -----------------------------
   Fonts
------------------------------ 
@font-face {
    font-family: 'CrossroadsItalic';
    src: url('../fonts/CROSSROADSCONITALICPERSONALUSEREGULAR-L3YRZ.TTF') format('truetype');
    font-weight: normal;
}
@font-face {
    font-family: 'CROSSROADSCONDENSED';
    src: url('../fonts/CROSSROADSCONDENSEDPERSONALUSEREGULAR-X3DGD.TTF') format('truetype');
    font-weight: normal;
}

/* -----------------------------
   Base / Global
------------------------------ */
html { scroll-behavior: smooth; }

body {
    /* Kept the later (more recent) value from the original file */
    /*padding-top: 100px;*/
    /*padding-bottom: 20px;*/
}

html, body {
    overflow-x: hidden;
}


p, a { font-family: 'Source Sans Pro', sans-serif; }

h5 {
    font-family: CrossroadsItalic, sans-serif;
    width: 100%;
    font-size: 35pt;
    padding: 2px 10px;
}
h4 {
    font-family: CROSSROADSCONDENSED, sans-serif;
    width: 100%;
    font-size: 25pt;
    padding: 2px 5px;
}

/* Inputs were limited in the original; keeping as-is */
input, select, textarea { max-width: 280px; }

/* NOTE: original file had both 15px padding and later 0 padding.
   Kept the later behavior (0) to avoid changing current rendering. */
.body-content { padding: 0; }

/* -----------------------------
   Utility classes
------------------------------ */
.CenterText { text-align: center; }
.align-right { float: right; }
.FloatLeft { float: left; }
.FloatRight { float: right; }
.Clear { clear: both; }
.Clearfix { overflow: auto; }
.Bold { font-weight: bold; }
.ShamrockBold { font-weight: bold; color: #017230; }

/* ===============================
   Slim Navbar (Shamrocks)
=============================== */

.navbar {
    min-height: 30px; /* default is ~50–60; this keeps it compact */
}

.navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
    line-height: 20px;
}

.navbar-brand {
    padding: 5px 15px;
    height: 50px;
    display: flex;
    align-items: center;
}

#NavLogo {
    height: 80px;
    width: auto;
    margin: 0;
}

.navbar-nav.navbar-right > li {
    display: flex;
    align-items: center; /* vertical centering */
    white-space: nowrap; /* 🔑 prevents wrapping */
    gap: 10px; /* space between label + buttons */
}

.navbar-nav.navbar-right .btnLink {
    display: inline-block;
    white-space: nowrap;
}

#lblUser {
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}



/* =========================================
   Footer: 3 columns desktop, stacked mobile
========================================= */

.footer {
    width: 100%;
    padding: 30px 20px;
    display: grid;
    grid-template-columns: 1fr; /* mobile default */
    gap: 20px;
    text-align: center;
    align-items: center;
}

    /* Footer items */
    .footer .FooterItem {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    /* Images responsive */
    .footer img {
        max-width: 100%;
        height: auto;
    }

/* Desktop layout */
@media (min-width: 768px) {
    .footer {
        grid-template-columns: repeat(3, 1fr); /* 3 columns */
        text-align: center;
        align-items: start;
    }
}

/* -----------------------------
   Buttons
------------------------------ */
.GoldButton {
    background-color: #e3c999;
    border: 1px solid green;
    border-radius: 3px;
    padding: 5px 10px;
}
.GoldButton:hover { background-color: #e8d7b9; }

.GreenButton {
    background-color: #017230;
    border: 1px solid green;
    border-radius: 3px;
    padding: 5px 10px;
    color: white;
}
.GreenButton:hover { background-color: #e8d7b9; }

.RegisterButton {
    margin: 30px 10px 10px 10px;
    width: 200px;
    height: 200px;
    background-color: #19823b;
    color: white;
    font-weight: bold;
    font-size: 20pt;
    border: solid 3px black;
    border-radius: 150px;
    text-shadow: 2px 2px 5px black;
    box-shadow: 2px 2px 8px black;
}
.RegisterButton:hover {
    background-color: #729c66;
    color: gold;
    border: 3px solid gold;
    box-shadow: 2px 2px 10px black;
}

/* -----------------------------
   Common layout blocks
------------------------------ */
.Container {
    margin-right: auto;
    margin-left: auto;
    margin-top: 0px;
    width: 95%;
    overflow: auto;
    /*border: 1px solid red;*/ /* consider removing in production */
}

.LoginBox {
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
    max-width: 500px;
    height: 250px;
    padding: 20px;
    background-color: #017230;
    color: white;
    border: solid 1px black;
    border-top: solid 30px black;
    border-radius: 3px;
}
.LoginBox table { width: 100%; }

.LoginContent p {
    text-align:center;
    font-weight:bold;
    font-size:14pt;
}

#RegisterText, .RegTextHeader {
    text-align: center;
    color: var(--shamrocks-green);
    font-family: 'Source Sans Pro', sans-serif;
    font-size: 24pt;
}

.row p { color: #729c66; }

.ShamrockText {
    color: #729c66;
    font-family: Arial, sans-serif;
    font-size: 12pt;
    padding-left: 15px;
    padding-right: 15px;
    text-align:justify;
}
.ShamrockText2 {
    color: #729c66;
    font-family: Arial, sans-serif;
    font-size: 12pt;
    padding-left: 55px;
    padding-right: 40px;
    padding-bottom: 20px;
    text-align: justify;
}

.HomeButtonSpacer { margin-left: 55px; }

.RegistrationTable {
    margin-left:auto;
    margin-right:auto;
    max-width:500px;
    min-height:500px;
}

.RegistrationTable table td {
    height: 25px;
    padding-top: 10px;
    padding-bottom: 0px;
}


.RegImageCenter { width: 100%; align-content: center; }

/* Loading overlay */
.Loading {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 999;
    top: 0; left: 0; right: 0; bottom: 0;
    padding: 1em;
    background: rgba(0, 0, 0, 0.8);
}

/* -----------------------------
   Home page hero
   Mobile-first: reduce padding, simplify grid
------------------------------ */
.hero {
    background-image: url('../Images/ShamrockWebHeader2.png'); /* kept later image from original */
    background-size: cover;
    background-position: top center;
    padding: 8rem 1.25rem;
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    border-top: 3px solid gold;
    border-bottom: 3px solid gold;
    min-height:250px;
}
.hero > * { color: white; }
.hero > h1 {
    font-size: 2.25rem;
    padding-bottom: 1rem;
    color: #017230;
}
.hero > article > p {
    font-size: 1.15rem;
    font-weight: 200;
}
.hero > article > a {
    padding: 1rem;
    margin-top: .75rem;
}

/* Home page content */
.HomePageRow {
    padding: 10px 18px;
    margin: auto;
    max-width: 1200px;
    background-color: white;
}
.HomePageRow h3 {
    text-align: center;
    width: 100%;
    font-size: 22pt;
    font-weight: bold;
    padding: 2px 10px;
}
.HomePageRow h5 {
    text-align: center;
    width: 100%;
    color: #017230;
    padding: 2px 10px;
}

/* Cards */
.HomePageCards { padding: 2rem;}
.HomePageCards > ul {
    display: grid;
    list-style-type: none;
    padding: 0;
    margin: 0;
    grid-template-columns: 1fr;
    grid-gap: 1rem;
}
.HomePageCards > ul > li {
    border: 1px solid #E2E2E2;
    border-radius: .5rem;
    padding-bottom: 15px;
}
.HomePageCards > ul > li > figure {
    max-height: 230px;
    overflow: hidden;
    border-top-left-radius: .5rem;
    border-top-right-radius: .5rem;
    position: relative;
}
.HomePageCards > ul > li > figure > img { width: 100%; min-height:250px; }
.HomePageCards > ul > li > figure > figcaption {
    position: absolute;
    bottom: 0;
    background-color: rgba(0,0,0,.7);
    width: 100%;
}
.HomePageCards > ul > li > figure > figcaption > h3 {
    color: white;
    padding: .75rem;
    font-size: 1.25rem;
}
.HomePageCards > ul > li > p {
    font-size: 11pt;
    line-height: 1.5;
    padding: 1rem .75rem;
    color: #666666;
}
.HomePageCards > ul > li > a {
    padding: .5rem 1rem;
    margin: .5rem;
}

/* Video row */
.vidrow { display: flex; flex-direction: column; margin-top: 20px; }
.vid { width: 100% !important; height: auto !important; margin: 0 auto; }

/* -----------------------------
   About page hero
------------------------------ */
.AboutHero {
    background-image: url('../Images/AboutPageHeader.png');
    background-size: cover;
    background-position: top center;

    padding: 8rem 1.25rem;

    display: grid;
    grid-template-columns: 1fr;
    align-items: center;

    border: 0;
}
.AboutHero > * { color: white; }
.AboutHero > h1 {
    font-size: 2.25rem;
    padding-bottom: 1rem;
    color: #017230;
}
.AboutHero > article > p {
    font-size: 1.15rem;
    font-weight: 200;
}
.AboutHero > article > a { padding: 1rem; margin-top: .75rem; }

.AboutPageRow {
    padding: 10px 18px;
    margin: auto;
    max-width: 1200px;
    background-color: white;
}
.AboutPageRow h5 {
    background-image: url(../Images/HeadingGraphic.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    padding-left: 30px;
    padding-bottom: 0;
    color: #017230;
}
/*.AboutPageRow h4 {
    background-image: url(../Images/HeadingGraphicH4.png);
    background-color: #017230;
    background-repeat: no-repeat;
    background-position: bottom left;
    padding-left: 30px;
    padding-bottom: 0;
    color: #e3c999;
}*/

/* =========================================
   Shamrocks Statement Block
========================================= */

.ShamrocksStatement {
    font-family: CROSSROADSCONDENSED, sans-serif;
    position: relative;
    max-width: 900px;
    margin: 60px auto;
    padding: 40px 60px;
    font-size: 3.0rem;
    line-height: 1.7;
    font-weight: 500;
    text-align: center;
    color: #017230; /* Shamrocks green */
    border-left: 5px solid #017230;
    text-align: left;
    animation: fadeUp 1s ease-out;
}
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Opening quote */
.ShamrocksStatement::before {
    content: "\201C"; /* opening double quote */
    position: absolute;
    top: -20px;
    left: 10px;
    font-size: 8rem;
    line-height: 1;
    font-weight: 700;
    color: rgba(1, 114, 48, 0.15);
    pointer-events: none;
}

/* Closing quote */
.ShamrocksStatement::after {
    content: "\201D"; /* closing double quote */
    position: absolute;
    bottom: -40px;
    right: 10px;
    font-size: 8rem;
    line-height: 1;
    font-weight: 700;
    color: rgba(1, 114, 48, 0.15);
    pointer-events: none;
}


@media (max-width: 767px) {
    .ShamrocksStatement {
        padding: 30px 25px;
        font-size: 1.50rem;
    }

        .ShamrocksStatement::before,
        .ShamrocksStatement::after {
            font-size: 5rem;
        }
}


/* -----------------------------
   Dashboards
------------------------------ */
.ParentDashboardGridContainer {
    padding: 5px 18px 5px 5px;
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr;
}
.ParentDashboardCell { padding: 5px; }
.ParentDashboardContent { display: inline-block; width: 100%; border: 0; }
.ParentDashboardHeader {
    padding-top: 1px;
    width: 100%;
    height: 60px;
    background-color: #017230;
    text-align: center;
    color: white;
}
.ParentDashboardContentContainer {
    display: inline-block;
    width: 100%;
    padding-left: 20px;
}
.ParentCard {
    padding: 10px;
    border: 2px solid #017230;
    border-radius: 4px;
}
.ParentCard table tr td { padding: 1px 5px; }
.ParentCardHeader {
    border-bottom: 1px solid #017230;
    font-size: 14pt;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.PlayerCard {
    padding: 10px;
    border: 2px solid #C5B358;
    border-radius: 4px;
}
.PlayerCard th { color: #017230; border-bottom: 1px solid #017230; }

.MoneyCard {
    padding: 10px;
    border: 2px solid Silver;
    border-radius: 4px;
    background-color: #e6e5dc;
}
.MoneyCard th { color: #017230; border-bottom: 1px solid #017230; }

.MoneyCardGrid {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr;
}

.PaymentCard,
.ParentPayments {
    padding: 10px;
    border: 1px solid Silver;
    border-radius: 4px;
    background-color: white;
}
.PaymentCard table,
.ParentPayments table { padding: 5px; }
.PaymentCard th,
.ParentPayments th {
    color: #017230;
    text-align: center;
    border-bottom: 1px solid #017230;
}
.PaymentCard table tr,
.ParentPayments table tr { border-bottom: 1px solid silver; }
.PaymentCard table tr td,
.ParentPayments table tr td { padding: 0 5px; }

.TotalsCard {
    margin-right: auto;
    margin-left: auto;
    padding-bottom: 15px;
}

.Circle {
    display: inline-block;
    width: 150px;
    height: 150px;
    text-align: center;
    padding: 50px 0;
    margin: 0 auto 5px auto;
    background-color: white;
    border-radius: 50%;
    border: 2px solid green;
}
.Label {
    margin: 0 auto;
    text-align: center;
    font-size: 16pt;
    color: #C5B358;
}

.Required {
    color:red; font-style:italic;
}
/* =========================================================
   TEAM DASHBOARD (Mobile-first)
========================================================= */

/* ---------- Base layout ---------- */

.TeamDetailsHeader {
    background-color: white;
    color: var(--shamrocks-green);
    min-height: 70px;
    margin-top: 2px;
}


.TeamDashboardContent {
    display: inline-block;
    width: 100%;
    border: 0;
}

.TeamDashboardContentContainer {
    width: 100%;
    padding-left: 20px;
}

.TeamDashboardCell {
    padding: 5px;
}

.TeamDashboardHeader {
    padding-top: 1px;
    width: 100%;
    height: 60px;
    background-color: #017230;
    text-align: center;
    color: #fff;
}

/* ---------- Intro header block ---------- */
.TeamDashboardIntro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    margin: 10px 0 16px 0;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background: #fff;
}

.TeamDashboardWelcome p {
    margin: 0 0 8px 0;
}

/* Back button */
.BackButton {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    background: #017230;
    color: #fff;
}

/* ---------- Grid of dashboard items ---------- */
.TeamDashboardGridContainer {
    padding: 10px 20px;
    display: grid;
    grid-template-columns: 1fr; /* mobile default */
    gap: 10px;
    align-items: start;
}

    /* Card styling (items inside the grid) */
    .TeamDashboardGridContainer .Item {
        background: #fff;
        border: 1px solid #d9d9d9;
        border-radius: 6px;
        padding: 16px;
    }

    /* ---------- Tables (safe defaults) ---------- */
    .TeamDashboardGridContainer table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed; /* prevents overflow from long strings */
    }

    .TeamDashboardGridContainer th,
    .TeamDashboardGridContainer td {
        padding: 10px 12px;
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }

    .TeamDashboardGridContainer a {
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    /* ---------- Controls (safe defaults) ---------- */
    .TeamDashboardGridContainer * {
        max-width: 100%;
        box-sizing: border-box;
    }

/* =========================================================
   BREAKPOINTS
========================================================= */

/* Phones: tighten padding + stack intro + improve tap targets */
@media (max-width: 767px) {

    .TeamDashboardContentContainer {
        padding-left: 8px;
        padding-right: 8px;
    }

    .TeamDashboardGridContainer {
        padding: 8px;
    }

    .TeamDashboardIntro {
        flex-direction: column;
        align-items: stretch;
    }

    .BackButton {
        width: 100%;
        text-align: center;
    }

    /* Make tables scroll horizontally on phones (instead of crushing) */
    .TeamDashboardGridContainer table {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        table-layout: auto; /* scroll mode: allow natural widths */
    }

    /* Buttons / inputs: full width + no iOS zoom */
    .TeamDashboardGridContainer .GreenButton,
    .TeamDashboardGridContainer .GoldButton,
    .TeamDashboardGridContainer input[type="submit"],
    .TeamDashboardGridContainer input[type="button"],
    .TeamDashboardGridContainer input[type="text"],
    .TeamDashboardGridContainer select,
    .TeamDashboardGridContainer textarea {
        width: 100% !important;
        font-size: 16px;
    }

    .TeamDashboardGridContainer input[type="submit"],
    .TeamDashboardGridContainer input[type="button"],
    .TeamDashboardGridContainer .GreenButton,
    .TeamDashboardGridContainer .GoldButton {
        padding: 12px 14px;
        text-align: center;
    }
}

/* Tablets / small desktops: 2 columns */
@media (min-width: 768px) {
    .TeamDashboardGridContainer {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* Larger desktops: 3 columns */
@media (min-width: 1100px) {
    .TeamDashboardGridContainer {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* =========================================================
   DASHBOARD “CARDS” (Coaches / Players / Schedule)
========================================================= */

.CoachesCard {
    padding: 0;
    border: 2px solid #017230;
    border-radius: 4px;
}

    .CoachesCard table tr td {
        padding: 1px 5px;
        border-bottom: 1px solid silver;
    }

.CoachesCardHeader {
    border-bottom: 1px solid #017230;
    font-size: 14pt;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.TPlayerCard {
    padding: 10px;
    border: 2px solid #C5B358;
    border-radius: 4px;
}

    .TPlayerCard th {
        color: #017230;
        border-bottom: 1px solid #017230;
    }

    .TPlayerCard table {
        padding: 5px;
    }

        .TPlayerCard table tr {
            border-bottom: 1px solid silver;
        }

            .TPlayerCard table tr td {
                padding: 0 5px;
            }

.ScheduleCard {
    padding: 10px;
    border: 2px solid silver;
    border-radius: 4px;
}

    .ScheduleCard table {
        padding: 5px;
    }

    .ScheduleCard th {
        color: #017230;
        border-bottom: 1px solid #017230;
    }

    .ScheduleCard table tr {
        border-bottom: 1px solid silver;
    }

        .ScheduleCard table tr td {
            padding: 0 5px;
        }

/* -----------------------------
   Jumbotron / header center overlay
------------------------------ */
.jumbotron {
    margin-top: 20px;
    background-image: url("../Images/HeaderNoLogo.png");
    min-height: 298px;
    overflow: hidden;
}
.center {
    height: 45px;
    margin-top: -240px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.center img {
    height: auto;
    max-width: 75%;
}

/* -----------------------------
   Payment page
------------------------------ */
.PaymentContent {
    margin-left: auto;
    margin-right: auto;
    width: 92%;
    padding-left:5px;
    padding-right:5px;
    padding-bottom:5px;
    margin-top:5px;
    border: 1px solid silver; /* consider removing in production */
}

/* =====================================================================
   Media queries (mobile-first: grow upward)
===================================================================== */

/* >= 930px (desktop-ish) */
@media (min-width: 930px) {
    .hero {
        background-image: url('../Images/ShamrockWebHeader6.png'); /* kept later image from original */
        padding: 15rem 4rem;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        grid-template-rows: minmax(100px, 1fr);
     
    }
    .hero > h1 { font-size: 4rem; }
    .hero > article > p { font-size: 1.5rem; }

    .AboutHero {
        padding: 15rem 4rem;
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
        grid-template-rows: minmax(100px, 1fr);
    }
    .AboutHero > h1 { font-size: 4rem; }
    .AboutHero > article > p { font-size: 1.5rem; }

    .HomePageRow { padding: 10px 50px; }
    .AboutPageRow { padding: 10px 50px; }

    /*.HomePageCards > ul { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }*/




    .ParentDashboardGridContainer { grid-template-columns: repeat(auto-fit, minmax(365px, 1fr)); padding-right: 30px; }
    .MoneyCardGrid { grid-template-columns: repeat(auto-fit, minmax(365px, 1fr)); }
    .MoneyCard { grid-column: span 3; }
    .PlayerCard { grid-column: span 2; }

    .TeamDashboardGridContainer { grid-template-columns: repeat(auto-fit, minmax(365px, 1fr)); padding-right: 30px; }
    .ScheduleCard { grid-column: span 3; }
    .TPlayerCard { grid-column: span 2; }
}

/* <= 767px tweaks */
@media (max-width: 767px) {
    .center img {
        min-height: 100px;
        width: 100%;
    }
}


/* ========================================================
   Bootstrap Navbar Overrides (Shamrocks branding)
   These replace site-specific edits that were previously
   baked into bootstrap.css
======================================================== */

.navbar {
    position: relative;
    z-index: 1000;
    min-height: 75px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
    margin-top: 0px;
    margin-bottom: 0px;
}

/* Navbar background + border */
.navbar-inverse {
    background-color: #017230;
    border-color: #014f22;
}

/* Navbar links */
.navbar-inverse .navbar-nav > li > a {
    color: #ffffff;
    border-radius: .25rem;
    transition: all .3s;
    text-align: center;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
    background-color: #C5B358;
    color: #ffffff;
    border-color: #ffffff;
}

/* Brand logo sizing (mobile-first) */
.navbar-brand img,
#NavLogo {
    width: 160px;
    margin-top: -10px;
}

@media (min-width: 768px) {
    .navbar-brand img,
    #NavLogo {
        width: 200px;
        margin-top: -28px;
    }
}

/* =====================================================
   GUARANTEED NAVBAR HEIGHT OVERRIDE
   (Crush anything forcing 75px)
===================================================== */

.AboveNavbar {
    min-height: 30px;
    padding-right: 30px;
    display: flex;
    align-items: center; /* 👈 vertical center */
    justify-content: flex-end; /* keeps it right-aligned */

    color: var(--shamrocks-green);
}



/* Force navbar height */
.navbar,
.navbar-fixed-top,
.navbar.navbar-fixed-top {
    min-height: 48px !important;
    height: 48px !important;
}

/* Center brand & logo */
.navbar-header {
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
}

.navbar-brand {
    height: 48px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
}

#NavLogo {
    height: 32px !important;
    width: auto !important;
    margin: 0 !important;
}

/* Center nav links */
.navbar-nav > li > a {
    height: 48px !important;
    line-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Center hamburger */
.navbar-toggle {
    float: none !important;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 32px;
    margin: 8px 0 !important; /* no left/right margin */
}
.Content {
    position:relative;
    padding-left:15px;
    padding-right:15px;
}
/* ===== 30th Anniversary Banner: fixed under navbar ===== */

/* Must match your navbar height */
:root {
    --nav-height: 38px;
}
/* change to 50/60 if yours is different */

.anniversary-banner {
    position: relative;
    left: auto;
    right: auto;
    /*z-index: 1040;*/ /* above page/hero, below modals */
    pointer-events: none; /* prevents blocking clicks; remove if clickable */
    width: 100%;
    top: -75px;
    text-align: center;
}

    .anniversary-banner img {
        display: inline-block;
        height: 100px; /* adjust */
    }

    /* =========================================
   30th Anniversary Intro Animation
========================================= */

    .anniversary-banner img {
        animation: anniversaryIntro 2s ease-out forwards;
        transform-origin: center center;
    }

/* Keyframes */
@keyframes anniversaryIntro {
    0% {
        transform: translateY(-120vh) scale(3);
        opacity: 0;
    }

    60% {
        opacity: 1;
    }

    100% {
        transform: translateY(0) scale(1);
        transform: translateY(0) scale(1.02);
        opacity: 1;
    }
}


/* Mobile scaling */
@media (max-width: 767px) {
    .anniversary-banner {
        left: 8px;
        top: -80px;
    }

        .anniversary-banner img {
            height: 84px;
        }
}

@media (max-width: 930px) {
    .anniversary-banner {
        /*left: 8px;
        top: var(--nav-height);*/
    }

        /*.anniversary-banner img {
            height: 84px;
        }*/
}

@media (max-width: 767px) {
    .anniversary-banner img {
        animation-duration: 1.5s;
        transform-origin: center top;
    }
}

@media (prefers-reduced-motion: reduce) {
    .anniversary-banner img {
        animation: none;
    }
}



/* =========================================
   Restore Mobile Navbar Background
========================================= */

@media (max-width: 767px) {

    /* Background for expanded hamburger menu */
    .navbar-inverse .navbar-collapse {
        background-color: #080808; /* Bootstrap near-black */
        border-top: 1px solid #222;
    }

    /* Ensure menu items are readable */
    .navbar-inverse .navbar-nav > li > a {
        color: #ffffff;
    }

        .navbar-inverse .navbar-nav > li > a:hover,
        .navbar-inverse .navbar-nav > li > a:focus {
            background-color: #222;
        }
}

/* =========================================
        Home Page Cards Layout
       ========================================= */

/* Base (mobile): stacked */
.HomePageCards ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Desktop / tablet: 3 columns */
@media (min-width: 768px) {
    .HomePageCards ul {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }

        .HomePageCards ul li {
            flex: 1 1 0;
            max-width: 33.333%;
        }
}

@media (min-width: 768px) {
    .HomePageCards ul {
        display: flex !important;
        flex-direction: row !important;
    }
}



