/* Define primary colors */
:root {
    --midnight-blue: #003B6D;
    --blue-sky: #6699CC;
    --dim-gray: #676767;
    --silver: #BDBDBD;
}
/* Navbar styles */
.navbar {
    background-color: var(--midnight-blue);
}

.navbar .nav-link {
    color: var(--blue-sky);
}
.bold {
    font-weight: bold;
}
.navbar .nav-link.active {
    color: var(--silver);
}

/* Footer styles */
footer {
    background-color: var(--dim-gray);
    color: var(--silver);
    padding: 1rem 0;
    text-align: center;
}
footer > a{
    color: inherit;
    text-decoration: none;
}
footer > a:hover{
    color: white;
    text-decoration: underline;
}
body {
    background-color: var(--midnight-blue);
}
/* Body and text styles */
main {
    background-color: var(--blue-sky);
    color: var(--midnight-blue);
    flex: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: flex-start;
    align-items: center; 
    margin: 0 8%;
    padding: 10px;
}

nav > a {
    color: var(--midnight-blue);
}

a:hover {
    color: var(--silver);
}
.bg-primary {
    --bs-bg-opacity: 1;
    background-color: var(--midnight-blue) !important;
}
/* Utility classes */
.bg-dim-gray {
    background-color: var(--dim-gray) !important;
}

.text-silver {
    color: var(--silver) !important;
}

/* Button styles */
.btn-primary {
    background-color: var(--midnight-blue);
    border-color: var(--midnight-blue);
}
.list-img{
    height: 200px;
    width: 200px;
}
.list-pic {
    display: flex;
    justify-content: space-between;
    align-items: center; 
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
    background-color: var(--blue-sky);
    border-color: var(--blue-sky);
}
@media (max-width: 992px){
    main {
        margin: 0;
    }
    .list-pic {
        display: flex;
        flex-direction: column; 
        justify-content: flex-start;
        align-items: center; 
    }
}

/* ---- Portfolio additions (2026) ---- */
body { min-height: 100vh; display: flex; flex-direction: column; }
main { max-width: 1100px; width: 100%; align-self: center; padding: 24px 32px 32px; line-height: 1.6; }
main h1 { margin-top: 1rem; font-weight: 700; }
main a { color: var(--midnight-blue); font-weight: 600; }
main a:hover { color: white; }
.credit-bar { background: #0b1d33; color: var(--silver); font-size: .8rem; text-align: center; padding: 4px 8px; }
.credit-bar a, .concept-note a { color: white; }
.navbar .nav-link.active { color: var(--silver); font-weight: 600; }
.list-pic { gap: 1rem; padding: .5rem 0; border-bottom: 1px solid rgba(0, 59, 109, .2); }
.list-img { object-fit: cover; border-radius: 8px; flex-shrink: 0; }
main ul { width: 100%; }
.page-hero { width: 100%; max-height: 320px; object-fit: cover; border-radius: 10px; margin: 8px 0 4px; }
.concept-note { margin: .5rem 0 0; font-size: .8rem; }
.contact-form { width: 100%; max-width: 760px; }
.form-done { display: none; }
@media (max-width: 992px) {
    main { padding: 16px; }
    .list-pic { text-align: center; }
}
@media (max-width: 576px) {
    .list-img { width: 100%; max-width: 320px; height: 200px; }
}
