/* =================================================
   Alisa Avduli
   Date: October 2026
   Introduction to Web Design and Computer Principles
   NYU London - Fall 2026
   Project description: Shared stylesheet
   ================================================= */

/* ===== Base & Typography ===== */
body {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #3d2500;
    background-color: #fff3c2;
    margin: 0;
    padding: 0;
}

h1,
h2,
h3 {
    font-family: Arial, Helvetica, sans-serif;
    color: #3d2500;
}

/* ===== Header & Footer Backgrounds ===== */
header,
footer {
    background-color: #ffd6d6;
    padding: 16px 24px;
    box-sizing: border-box;
}

header h1 {
    text-align: center;
    margin: 0 0 12px 0;
}

/* ===== Navigation & Flexbox =====*/
#main-nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Descendant selector: styles anchors nested inside the nav list */
#main-nav ul li a {
    text-decoration: none;
    font-weight: bold;
    padding: 6px 10px;
    border-radius: 4px;
}

/* ===== Link Pseudo-Classes (all 4 states) ===== */
a:link {
    color: #3d2500;
}

a:visited {
    color: #7a5a33;
}

a:hover {
    color: #000000;
    background-color: #ffd6d6;
}

a:focus,
a:active {
    color: #fff3c2;
    background-color: #3d2500;
    outline: 2px solid #000000;
}

/* ===== Box Model: Card layout for main content ===== */
.card {
    background-color: #ffffff;
    border: 2px solid #3d2500;
    border-radius: 8px;
    max-width: 700px;
    margin: 24px auto;
    padding: 20px 24px;
}

/* ===== Class Selectors ===== */
.highlight {
    background-color: #ffd6d6;
    padding: 2px 6px;
    border-radius: 4px;
}

main img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 16px auto 4px auto;
    border: 3px solid #3d2500;
    border-radius: 4px;
}

/* ===== Footer text ===== */
footer p {
    text-align: center;
    margin: 4px 0;
    font-size: 0.85em;
}

/*** raster graphics ***/

#disclaimer {
    font-style: italic;
}

img {
    max-width: 100%;
    height: auto;
}

#raster header h1 {
    font-size: 1.5rem;
}

.hero-container {
    background-image: url("/media/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-top: 24px;
}

.hero-container img {
    display: block;
    width: auto;
    max-height: 80vh;
    object-fit: contain;
    margin: 0;
    border: none;
    border-radius: 0;
}

.raster-text {
    max-width: 700px;
    margin: 0 auto;
    padding: 20px 24px;
}

.raster-text h2 {
    margin-top: 0;
}

@media (min-width: 481px) {
    #raster header h1 {
        font-size: 2rem;
    }

    .hero-container {
        padding-top: 32px;
    }
}

@media (min-width: 1025px) {
    #raster header h1 {
        font-size: 2.5rem;
    }

    .hero-container {
        padding-top: 48px;
    }
}

/***** SVG Styles *****/

.header-brand {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.header-brand h1 {
    margin: 0;
    text-align: left;
}

#vector header h1 {
    font-size: 1.5rem;
}

.logo-link {
    display: block;
    line-height: 0;
    border-radius: 4px;
}

.logo-link:hover,
.logo-link:focus,
.logo-link:active {
    background-color: transparent;
}

.roundel {
    width: 56px;
    height: 56px;
    flex: none;
}

/* Hollow ring: no fill and a thick stroke, so the page background still shows through the middle */
.roundel circle {
    fill: none;
    stroke: #DC241F;
    stroke-width: 20px;
    transition: stroke-width 0.2s ease;
}

.roundel rect {
    fill: #0019A8;
}

.roundel text {
    fill: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
    font-weight: bold;
    font-size: 24px;
    text-anchor: middle;
    dominant-baseline: middle;
}

.roundel:hover circle,
.roundel:focus-visible circle,
.logo-link:focus-visible .roundel circle {
    stroke-width: 26px;
}

.roundel.custom-theme {
    width: 240px;
    max-width: 100%;
    height: auto;
}

/* Alternative theme: custom-theme is only on the large SVG, and .roundel.custom-theme is more specific
   than .roundel, so these rules replace the red, blue and white colours on that SVG only.
   The header logo still keeps the original colours. */
.roundel.custom-theme circle {
    stroke: #00695C;
}

.roundel.custom-theme rect {
    fill: #3d2500;
}

.roundel.custom-theme text {
    fill: #ffd6d6;
}

.svg-card {
    text-align: center;
}

.svg-card h2,
.svg-card p {
    text-align: left;
}