/* COLORS
    BLUE: #003c96
    GOLD: #bea55a
*/
body {
    background: #003c96;
}

.blue { background-color: #003c96;} 
.gold { background-color: #bea55a;}
.ruled { 
    border-top: 1px solid #c0c0c0;
    border-bottom: 1px solid #c0c0c0;
    border-left: none;
    border-right: none;
    margin: 20px 0px;
}

/* Modify brand and text color */
nav.navbar.navbar-expand-lg.navbar-light.bg-light.navbar-custom {
    background: #bea55a !important;
    padding-bottom: 0 !important; /* remove space below menu */
    margin-bottom: 0 !important;  /* align with main */
    margin-top: 0 !important;     /* no external gap above */
    padding-top: 12px;            /* fill top gap with gold */
}

main {
    background: #fefefe;
    padding: 10px;
}

.contacttable {
    width: 100%;
    text-align: left;
    padding: 0px;
    margin: 0px;
    border-collapse: collapse;
    border: 0px;
}

.graybg {
    background-color: #e0e0e0;
}

.center { text-align: center;}
.fullwide { display: block; width: 100%}
.bold { font-weight: bold;}
.textwite {color: #ffffff;}

#card-element {
    border: 1px solid #ccc;
    padding: 10px;
    border-radius: 5px;
    background-color: white;
    width: 100%;
}

#card-errors {
    color: red;
    font-size: 14px;
    margin-top: 5px;
}

label#biz-code-lb
Specificity: (1,0,1)
 {
    font-size: .75em;
}

input#biz-code {
    display: inline-block;
    width: 100px;
    height: .75em;
}

button#validate-biz-code {
    display: inline-block;
    font-size: .75em;
    height: .75em;
    border: none;
    color: grey;
}

dl.studata dt {
    font-weight:normal;
}

/* Summer Registration filter buttons */
.sr-btn {
    min-width: 100px;
    width: 100px !important;
    height: 2.5em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

/* Enforce main padding explicitly */
body > main { padding: 10px !important; }

/* Tab-like styling for navbar links */
.navbar-custom .nav-tabs { border-bottom: 2px solid rgba(0,0,0,.2); }
.navbar-custom .nav-tabs .nav-link {
    color: #333;
    background: #f8f9fa;
    border: 1px solid rgba(0,0,0,.1); /* inactive matches previous hover outline */
    border-bottom-width: 2px;
    border-bottom-color: rgba(0,0,0,.2);
    border-radius: .25rem .25rem 0 0;
    margin-right: .35rem;
    padding: .4rem .75rem;
    font-weight: 500;
}
.navbar-custom .nav-tabs .nav-link:hover {
    background-color: #ffffff;
    border-color: rgba(0,0,0,.35) !important; /* thicker/darker on hover */
    border-width: 2px !important;
    border-bottom-width: 2px !important;
    font-weight: 700 !important; /* bold on hover */
}
.navbar-custom .nav-tabs .nav-link.active {
    background: #fff;
    border-color: rgba(0,0,0,.35);
    border-bottom-color: #fff; /* visually connected to content */
    font-weight: 700;
}

/* Ensure hover doesn't change tab height or show bottom border */
.navbar-custom .nav-tabs .nav-link:not(.active):hover {
    border-width: 1px !important;
    border-bottom: none !important;
    border-color: #bea55a !important;
}

/* Vertically nudge logout button up for alignment */
.navbar-custom .logout-btn { transform: translateY(-6px); }
.navbar-custom .nav-tabs { border-bottom: 2px solid rgba(0,0,0,.2); }
.navbar-custom .nav-tabs .nav-link {
    color: #333;
    background-color: #bea55a; /* inactive background */
    border: 1px solid rgba(0,0,0,.2);
    border-bottom-width: 2px;
    border-bottom-color: rgba(0,0,0,.2);
    border-radius: .25rem .25rem 0 0;
    margin-right: 0; /* no spacing between tabs */
    padding: .4rem .75rem;
    font-weight: 500;
}
.navbar-custom .nav-tabs .nav-link + .nav-link { border-left: 1px solid #f8f9fa; } /* ensure seam uses inactive border */
.navbar-custom .nav-tabs .nav-link.active + .nav-link { border-left-color: #f8f9fa; }
.navbar-custom .nav-tabs .nav-link:hover {
    font-weight: 700; /* bold on hover */
    border-width: 2px; /* thicker outline on hover */
}
.navbar-custom .nav-tabs .nav-link.active {
    background-color: #f8f9fa; /* active background */
    border-color: rgba(0,0,0,.35);
    border-bottom-color: #f8f9fa; /* visually connected to content */
    font-weight: 700;
}
.navbar-custom .nav-tabs { border-bottom: 2px solid rgba(0,0,0,.2); }
.navbar-custom .nav-tabs .nav-link {
    color: #333;
    background-color: #bea55a; /* inactive background */
    border: 1px solid #f8f9fa; /* inactive border */
    border-bottom-width: 2px;
    border-bottom-color: rgba(0,0,0,.2);
    border-radius: .25rem .25rem 0 0;
    margin-right: 0; /* no spacing between tabs */
    padding: .4rem .75rem;
    font-weight: 500;
}
.navbar-custom .nav-tabs .nav-link + .nav-link { border-left: 0; } /* avoid double borders */
.navbar-custom .nav-tabs .nav-link:not(.active):hover {
    background-color: #003c96; /* hover background */
    color: #f8f9fa; /* hover text */
    font-weight: 700; /* bold on hover */
}
.navbar-custom .nav-tabs .nav-link.active {
    background-color: #f8f9fa; /* active background */
    border: 1px solid #000000; /* active border */
    border-bottom-color: #f8f9fa; /* visually connected to content */
    font-weight: 700;
}

/* --- Navbar tabs final override --- */
.navbar-custom .nav-tabs { border-bottom: 0; margin-bottom: 0; overflow: visible; }
.navbar-custom .nav-tabs .nav-link {
    color: #333;
    background-color: #f8f9fa; /* inactive background */
    border: 1px solid #bea55a; /* inactive border */
    border-bottom: none !important; /* remove bottom border on tabs */
    border-radius: .25rem .25rem 0 0;
    margin-right: 0; /* no spacing between tabs */
    padding: .4rem .75rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
}
.navbar-custom .nav-tabs .nav-link + .nav-link { border-left: 1px solid #bea55a; }
.navbar-custom .nav-tabs .nav-link.active + .nav-link { border-left-color: #bea55a; }
.navbar-custom .nav-tabs .nav-link:hover {
    background-color: #003c96; /* hover background */
    color: #f8f9fa; /* hover text */
    font-weight: 700; /* bold on hover */
}
.navbar-custom .nav-tabs .nav-link.active {
    background-color: #f8f9fa; /* active background */
    border: 1px solid #bea55a; /* active top/left/right */
    border-bottom: 1px solid #f8f9fa !important; /* subtle bottom rule */
    color: #000000; /* ensure active text is black even when not hovering */
    font-weight: 700;
    margin-top: -10px; /* raise active tab so top extends above others */
    padding-top: calc(.4rem + 10px); /* add height on the top side */
    z-index: 2; /* ensure active border sits above neighbors */
}

/* Let active tab's border show over the seam */
.navbar-custom .nav-tabs .nav-link.active + .nav-link { border-left-color: transparent !important; }
.navbar-custom .nav-tabs .nav-link.active { margin-left: -1px; }

/* Keep active tab style stable on hover, with black text */
.navbar-custom .nav-tabs .nav-link.active:hover {
    background-color: #f8f9fa;
    color: #000000;
    border: 1px solid #bea55a;
    border-bottom: 1px solid #f8f9fa !important;
    margin-top: -10px;
    margin-bottom: 0 !important;
}

/* Add a black bottom rule (2px) to the right neighbor of the active tab */
.navbar-custom .nav-tabs .nav-link.active + .nav-link {
    border-bottom: 2px solid #000 !important;
}
