﻿body {
}


.dnnFormItem input[type=submit], .dnnPrimaryAction, a.dnnPrimaryAction {
    background: var(--dnn-color-primary, #3792ed);
    border-color: var(--dnn-color-primary-dark, #0d569e);
    color: var(--dnn-color-primary-contrast, #efefef);
}





.aperture-container {
    max-width: 1400px !important;
}
.aperture-header {
    position: relative; /* good practice for headers anyway */
    /* gradient first, image second */
    background-image: linear-gradient( to bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.5) 100% ), url("/Portals/LSI/Skins/LSI/images/head-bg-01.webp");
    background-position: center center, center center;
    background-repeat: no-repeat, no-repeat;
    background-size: cover, cover;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .5);
}
.aperture-theme .aperture-header .eyebrow-bar {
    margin: 0;
    padding: 1rem 0;
    background:none;
}
    .aperture-theme .aperture-header .logo-menu-bar {
        margin: 0;
        padding: .5rem 0;
        background: none;
    }
.ref-input, .ref-select, .ref-textarea, .ref-file {
    width: 100%;
    border: 1px solid #dcdcdc;
    border-radius: 10px !important;
    padding: 18px !important;
    font-size: 14px !important;
    outline: none !important;
    margin-bottom: 20px !important;
}

.aperture-content-pane {
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 2rem 32px;
    width: 100%;
}

#nav-desktop a, #nav-footer a {
    color: White;
    font-size: .89rem;
    font-weight: 600;
    text-decoration: none;
    text-transform: uppercase;
}

    #nav-desktop a
    {
        color:black;
    }
        #nav-desktop a:hover {
            color: lightgray;
        }

    #nav-footer a 
    {
        color:white;
    }

.logo-menu-bar .aperture-container {
    display: flex;
    margin: 0 auto;
    max-width: 1400px !important;
    width: 100%;
    background-color: white;
    padding: 15px 20px !important;
    border-radius: 100px 100px 100px 100px;
}

.breadcrumb {
    font-family: "Lato", Sans-serif;
    font-weight: 900;
    line-height: 1.2em;
    text-shadow: 0px 2px 8px rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 38px;
    margin: 3rem 0;
}

.aperture-theme .aperture-footer {
    background-color: #252C2F;
    color: var(--dnn-color-foreground-contrast, #fff);
    margin: 0;
    padding: 2rem 0;
}

/* ===== cs-headermain: clean, self-contained styles ===== */
#cs-headermain {

    --text: #ffffff;
    --muted: #c7d2fe;
    --link: #ffffff;
    --link-h: #ffffff;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";
    color: var(--text);
    border-bottom: 1px solid var(--border);
    background:none;
}

    /* layout */
    #cs-headermain .header-inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 1rem;
        padding: 0.75rem 1rem;
        max-width: 1400px;
        margin: 0 auto;
    }

    /* socials (left) */
    #cs-headermain .socials {
        display: flex;
        gap: 0.5rem;
        align-items: center;
        flex-wrap: wrap;
    }

        #cs-headermain .socials a {
            display: inline-flex;
            width: 34px;
            height: 34px;
            align-items: center;
            justify-content: center;
            border-radius: 999px;

            text-decoration: none;
            transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
        }

            #cs-headermain .socials a:hover {
                transform: translateY(-1px);
                background: rgba(255,255,255,0.12);
                border-color: rgba(255,255,255,0.28);
            }

        #cs-headermain .socials svg {
            width: 16px;
            height: 16px;
            fill: var(--link);
        }

        #cs-headermain .socials a:hover svg {
            fill: var(--link-h);
        }

    /* center logo */
    #cs-headermain .logo {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

        #cs-headermain .logo img {
            height: 44px; /* tweak as needed */
            width: auto;
            display: block;
            filter: drop-shadow(0 1px 0 rgba(0,0,0,.15));
        }

    /* phone (right) */
    #cs-headermain .phone {
        display: flex;
        justify-content: flex-end;
    }

        #cs-headermain .phone a {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.5rem 0.75rem;
            border-radius: 0.5rem;
            text-decoration: none;
            color: var(--link);
            border: 1px solid var(--border);
            background: rgba(255,255,255,0.06);
            transition: background-color .15s ease, border-color .15s ease, color .15s ease;
        }

            #cs-headermain .phone a:hover {
                color: var(--link-h);
                background: rgba(255,255,255,0.12);
                border-color: rgba(255,255,255,0.28);
            }

        #cs-headermain .phone svg {
            width: 16px;
            height: 16px;
            fill: currentColor;
        }

/* responsive */
@media (max-width: 992px) {
    #cs-headermain .header-inner {
        grid-template-columns: 1fr 1fr;
        row-gap: 0.75rem;
    }

    #cs-headermain .logo {
        grid-column: 1 / -1;
    }

        #cs-headermain .logo img {
            height: 40px;
        }
}

@media (max-width: 640px) {
    #cs-headermain .socials {
        gap: 0.4rem;
    }

        #cs-headermain .socials a {
            width: 32px;
            height: 32px;
        }

    #cs-headermain .logo img {
        height: 36px;
    }

    #cs-headermain .phone a {
        padding: 0.45rem 0.6rem;
    }
}





/* === Teal Card Login (screenshot style) === */
:root {
    --brand: #252C2F; /* primary brand teal */
    --brand-dark: Black; /* hover/active */
    --bg-teal: #ffffff; /* page background */
    --card: #ffffff;
    --text: #1f2937;
    --muted: #8ba0ae;
    --shadow: 0 18px 40px rgba(2,8,23,.15);
    --shadowBtn: 0 3px 10px rgba(2,8,23,.5);
}

/* Page background + centering */
body .dnnLogin {
    display: grid;
    place-items: center;
    background: none;
    padding: 3rem 1rem;
    justify-content: normal;
}

/* Card */
.dnnLogin .dnnForm {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    background: White;
    border-radius: 24px;
    box-shadow: var(--shadow);
    padding: 2.25rem 2.25rem 2rem;
    box-sizing: border-box;
}

    /* Title (Login) centered like screenshot */
    .dnnLogin .dnnForm h2,
    .dnnLogin .dnnForm h3 {
        text-align: center;
        margin: 0 0 1.25rem;
        color: var(--text);
        font-weight: 700;
        font-size: 1.8rem;
    }

    /* Keep labels for accessibility but visually tuck them away */
    .dnnLogin .dnnForm label {
        padding: 0;
        margin: -1px;
        white-space: nowrap;
        border: 0;
        font-size:1rem !important;
    }

    /* Row spacing */
    .dnnLogin .dnnForm .dnnFormItem {
        margin-bottom: 1.1rem;
    }

    /* Underline inputs (no box) */
    .dnnLogin .dnnForm input[type="text"],
    .dnnLogin .dnnForm input[type="email"],
    .dnnLogin .dnnForm input[type="password"] {
        width: 100%;
        background: transparent;
        border: none;
        border-bottom: 2px solid #e5e7eb;
        padding: .75rem 0 .6rem;
        font-size: 1rem !important;
        color: var(--text);
        outline: none;
        transition: border-color .15s ease, box-shadow .15s ease;
    }

    /* Focus underline -> teal, slightly thicker glow */
    .dnnLogin .dnnForm input:focus {
        border-bottom-color: var(--brand);
        box-shadow: 0 6px 0 -4px var(--brand);
    }

    /* Placeholder color (if your skin renders placeholders) */
    .dnnLogin .dnnForm input::placeholder {
        color: #a7b4be;
    }

    /* Forgot password link (centered, teal) */
    .dnnLogin .dnnForm .dnnFormHelp,
    .dnnLogin .dnnLoginActions {
        text-align: center;
        margin-top: .25rem;
    }

        .dnnLogin .dnnForm .dnnFormHelp a,
        .dnnLogin .dnnLoginActions a {
            color: var(--brand);
            text-decoration: none;
        }

            .dnnLogin .dnnForm .dnnFormHelp a:hover,
            .dnnLogin .dnnLoginActions a:hover {
                text-decoration: underline;
            }

/* Primary button -> pill teal */
.dnnLogin .dnnPrimaryAction {
    display: block;
    width: 100%;
    border: none;
    background: var(--brand);
    color: #fff !important;
    border-radius: 9999px;
    padding: .95rem 1rem;
    font-weight: 700;
    font-size: 1.05rem;
    text-align: center;
    cursor: pointer;
    transition: transform .08s ease, box-shadow .15s ease, background .15s ease;
    margin-top: .9rem;
    box-shadow: var(--shadowBtn);
}

    .dnnLogin .dnnPrimaryAction:hover {
        background: var(--brand-dark);
        transform: translateY(-1px);
    }

    .dnnLogin .dnnPrimaryAction:active {
        transform: translateY(0);
    }

/* Secondary links area ("Don't have an account? Sign Up") */
.dnnLogin .dnnForm .dnnSecondaryAction {
    background: transparent;
    border: 0;
    color: var(--brand) !important;
    padding: 0;
}

/* Validation summary (subtle) */
.dnnLogin .dnnForm .dnnFormValidationSummary,
.dnnLogin .dnnForm .dnnFormError {
    border-radius: 12px;
    background: #fff4f4;
    border: 1px solid #ffd6d6;
    color: #c03636;
    padding: .75rem 1rem;
    margin-bottom: 1rem;
}

/* Mobile adjustments */
@media (max-width: 480px) {
    .dnnLogin .dnnForm {
        padding: 1.75rem 1.25rem;
    }
}

/* shared look */
.dash-form {  margin: 40px auto; }
.card{background:#fff; border:1px solid #eee; margin-bottom:40px; border-radius:12px; padding:20px 50px 50px 50px; box-shadow:0 6px 20px rgba(0,0,0,.05);}
.row{display:flex;gap:12px;flex-wrap:wrap}
.col{flex:1 1 220px;min-width:220px}
.ctl{width:100%;padding:14px;border:1px solid #dcdcdc;border-radius:8px}
.btn{padding:8px 14px;border-radius:8px;border:1px solid #ccc;background:#f8f9fb;cursor:pointer;font-weight:600}
.btn-primary{background:#2a579a;color:#fff;border-color:#2a579a}
.grid{width:100%}
.muted{color:#666;font-size:12px}
.label{font-weight:600;color:#444}
.val{margin:2px 0 10px 0}
.card h3{font-size:1.5rem}

/* Grid polish */
.grid-wrap { border:1px solid #eee; border-radius:12px; overflow:hidden; }
.grid { width:100%; border-collapse:separate; border-spacing:0; }
.grid th, .grid td { padding:10px 12px; border-bottom:1px solid #f0f0f0; }
.grid th { background:#fafafa; font-weight:700; color:#333; text-align:left; }
.grid tr:nth-child(even) td { background:ffffff; }      /* alternating rows */
.grid tr:hover td { background:#f7faff; }                /* soft hover */
.grid a { color:#2a579a; text-decoration:none; }
.grid a:hover { text-decoration:underline; }

/* Pager */
.grid .pager { background:#fafafa; border-top:1px solid #eee; }
.grid .pager td { padding:10px 12px; }
.grid .pager a, .grid .pager span {
  display:inline-block; padding:6px 10px; border-radius:8px; margin-right:6px;
  border:1px solid #e5e7eb; background:#fff; color:#111; text-decoration:none;
}
.grid .pager span { background:#2a579a; color:#fff; border-color:#2a579a; } /* current page */
.grid .SortedAscendingHeaderStyle:after { content:" ▲"; font-size:11px; color:#666; }
.grid .SortedDescendingHeaderStyle:after { content:" ▼"; font-size:11px; color:#666; }