/* ============================================================
   CHARITY PAGE CSS - Styling for Projectcharity.html

   This is the same base styling used on About Me, My Gear and
   My Trip, so the Charity page matches the rest of the site.
============================================================ */


/* Import fonts from Google Fonts - a free online font library */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Lora:ital@0;1&family=DM+Sans:wght@300;400;500&display=swap');


/* ---- BASE PAGE SETTINGS ---- */

html {
    scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'DM Sans', sans-serif;
    background-color: #faf9f6;
    margin: 0;
    color: #2c2c2c;
}


/* ---- HEADER (blue title block at the top) ---- */

.site-header {
    background: linear-gradient(135deg, #0277bd 0%, #01579b 100%);
    padding: 22px 28px 16px;
}

.site-header h1 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    font-weight: 400;
    color: #fff;
    margin: 0;
    letter-spacing: -0.01em;
    text-align: left;
    background: none;
    padding: 0;
}

.site-header h3 {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.7);
    margin: 5px 0 0;
    font-style: italic;
    font-family: 'Lora', serif;
    font-weight: 400;
    text-align: left;
    background: none;
    padding: 0;
}


/* ---- NAVIGATION BAR ---- */

nav {
    background: #01579b;
    display: flex;
    padding: 0 20px;
    margin: 0;
}

nav a {
    padding: 10px 14px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
    text-decoration: none;
    letter-spacing: 0.03em;
    display: inline-block;
}

nav a:visited {
    color: rgba(255, 255, 255, 0.65);
}

nav a:hover {
    color: rgba(255, 255, 255, 0.9);
}

nav a.active {
    color: #fff;
    border-bottom: 2px solid #fff;
    font-weight: 500;
}


/* ---- MAIN CONTENT AREA ---- */

.main {
    max-width: 800px;
    margin: 0 auto;
    padding: 36px 36px;
}

.main h2 {
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    font-weight: 400;
    color: #1a1a1a;
    margin: 0 0 10px;
    padding: 0;
    text-align: left;
}

.post-rule {
    width: 30px;
    height: 1px;
    background: #0277bd;
    opacity: 0.4;
    margin-bottom: 16px;
}

.main p {
    font-size: 14px;
    color: #666;
    line-height: 1.85;
    font-weight: 300;
    margin: 0 0 20px;
    text-align: left;
    padding: 0;
}

.main img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 18px 0;
}

.section-divider {
    width: 100%;
    height: 1px;
    background: #ede9e0;
    margin: 28px 0;
}


/* ---- FOOTER ---- */

footer {
    text-align: center;
    padding: 16px;
    background-color: #01579b;
    color: rgba(255, 255, 255, 0.7);
    font-size: 13px;
    margin: 0;
}


/* ---- MOBILE RESPONSIVE STYLES ---- */

@media (max-width: 800px) {

    .main {
        padding: 20px;
    }

    .site-header {
        padding: 16px 20px 12px;
    }

    nav {
        flex-wrap: wrap;
        padding: 0 8px;
    }

    .main img {
        width: 100%;
    }
}
