/* CSS BY Jhenica Magana */
/* IMPORTED FONTS */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

/* CSS RESET */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ROOT VARIABLES */
:root {
    /* Site theme colors */
    --midnight-blue: #1F2A44;
    --olive-green: #76885B;
    --champagne-gold: #E5C185;
    --linen: #F8F4EC;
    --dark-charcoal: #2B2B2B;
    --soft-white: #F4F9F6;

    /* Site theme font */
    --playfair-display: "Playfair Display", serif;
}

/* GLOBAL STYLES (mobile first/small) */
h1, h2, h3, p, li, a, address {
    font-family: var(--playfair-display);
}

/* header styles */
header {
    background-color: var(--midnight-blue);

    padding: 1em;
    text-align: center;
}

header img {
    width: 40%;

    display: block;
    margin: 0 auto;
}

h1, header p {
    color: var(--soft-white);

    line-height: 1.5em;
}

h1 {
    font-size: 2.8em;
    font-weight: bold;
}

header p {
    font-size: 0.87em;
    font-style: italic;
}

/* nav styles */
nav {
    background-color: var(--champagne-gold);

    padding: 0.5em;
}

nav ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
} 

nav li {
    text-align: center;
}

nav a {
    color: var(--midnight-blue);
    text-decoration: none;
    font-weight: bold;
}

/* main styles */
main {
    background-color: var(--soft-white);
    padding: 2em 1.2em;
}

h2 {
    color: var(--midnight-blue);
    font-size: 1.8em;
    line-height: 1.8em;
}

main p {
    color: var(--dark-charcoal);
    font-size: 0.8em;
    line-height: 1.5em;
}

hr {
    margin: 1.5em 0;
    height: 0.06em;
    background-color: var(--champagne-gold);
}

/* main - offerings section styling */
#offerings {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1em;
}
#offerings section {
    background-color: var(--olive-green);
    
    padding: 1em 0.8em;
    border-radius: 0.5em;
    box-shadow: 2px 2px 4px var(--dark-charcoal);
}

#offerings section > h3, #offerings section > p, #offerings section > ul {
    color: var(--linen);
}

h3 {
    padding-bottom: 0.3em;
    font-size: 1.5em;
    font-weight: bold;
}

#offerings section > ul {
    list-style-type: disc;
    list-style-position: inside;
    font-size: 0.8em;
    line-height: 1.5em;
}

/* main - gallery styles */
figure {
    display: grid;
    grid-template-columns: 1fr;

    margin: 1em 0;
    background-color: var(--soft-white);
    border-radius: 0.4em;
    box-shadow: 1px 1px 6px var(--dark-charcoal);

    text-align: center;
}

figure > img {
    width: 100%;
    border-top-left-radius: 0.4em;
    border-top-right-radius: 0.4em;
}

figure > figcaption {
    padding: 1em;
    font-family: var(--playfair-display);
    font-style: italic;
    font-size: 0.8em;
}

#gallery button {
    width: 100%;
    margin: 1em 0;
    padding: 1em;
    background-color: var(--olive-green);
    border: none;
    border-radius: 0.4em;
}

button > a {
    color: var(--linen);
    font-family: var(--playfair-display);
    font-size: 1.5em;
    font-weight: bold;
    text-decoration: none;
}

footer {
    background-color: var(--midnight-blue);

    padding: 5em 7em 2em;
    font-size: 0.8em;
    text-align: center;
    line-height: 1.4em;
}

footer a {
    text-decoration: none;
}

footer > address {
    color: var(--linen);
}

address + a {
    color: var(--linen);
} 

address + a + br ~ a {
    color: var(--champagne-gold);
    font-weight: bold;
}

address + a + br + a {
    display: block;
    padding-bottom: 2em;
}

/* MEDIA QUERY (medium) */
@media screen and (min-width: 600px) {
    #offerings {
        grid-template-columns: 1fr 1fr;
    }

    #offerings h2, #offerings section:last-of-type {
        grid-column: 1/3;
    }

    #gallery {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1em
    }

    #gallery h2, #gallery p, #gallery button {
        grid-column: 1/3;
    }
}

/* MEDIA QUERY (large) */
@media screen and (min-width: 900px) {
    header img {
        width: 30%;
    }

    h1 {
        font-size: 4em;
    }

    header p {
        font-size: 1em;
    }

    nav {
        padding: 0.8em;
    }

    nav a {
        font-size: 1.5em;
    }

    main {
        padding: 3em;
    }

    h2 {
        font-size: 2.5em;
    }

    h3 {
        font-size: 2em;
    }

    main p {
        font-size: 1em;
    }

    #gallery {
        grid-template-columns: 1fr 1fr 1fr;
    }

    #gallery h2, #gallery p, #gallery button {
        grid-column: 1/4;
    }

    figure figcaption {
        font-size: 1em;
    }
}


/* MEDIA QUERY (xl) */
@media screen and (min-width: 1200px) {
    header img {
        width: 20%;
    }
    
    main {
        padding: 5em 10em;
    }
    #gallery {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    }

    #gallery h2, #gallery p, #gallery button {
        grid-column: 1/6;
    }
}

