/* ----------------------------------------------------------------
    THIS CODE IS CALLED CSS RESET, AND IT GIVES YOU MORE CONTROL OF THE STYLES ON YOUR PAGES AND ALLOWS YOU TO BETTER ENSURE SIMILAR DISPLAY ACROSS BROWSERS 
---------------------------------------------------------------- */
/* 
    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;
}

/* ----- CUSTOM STYLES WRITTEN BY PROF. BARNETT ----- */
/* ----- ROOT STYLES & CSS VARIABLES ----- */
:root{
    --mustard: #D9A648;
    --lt-blue: #75B2BF;
    --cream: #F2D6A2;
    --peach: #D97941;
    --brown: #593A28;

    --transparent-lt-blue: rgba(117, 178, 191, 0.5);

    --lt-gray: #eaeaea;
    --med-gray: #555;
    --dk-gray: #222;

    --fonts: 'Playfair Display', Georgia, serif;
    --box-shadow-sm: -3px 3px 7px var(--med-gray);
    --box-shadow-lg: -6px 6px 10px var(--med-gray);
    --filter-shadow: drop-shadow(-6px 6px 10px var(--med-gray));
}

/* ----- BODY STYLES ----- */
body{
    font-family: var(--fonts);
    line-height: 1.45;
    box-sizing: border-box;
    color: var(--dk-gray);
}

/* Code for Skip Link from WebAim: https://webaim.org/techniques/css/invisiblecontent/ */
#skip{
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}

#skip:focus{
    display: block;
    position:static;
    width:auto;
    height:auto;
    font-weight: bold;
    outline: 2px solid var(--peach);
    color: var(--dk-gray);
    margin-bottom: 4px;
}

/* ----- HEADING STYLES ----- */
h1, h2, h3{
    font-weight: bold;
}

h1{
    font-size: 2rem;
    text-align: center;
    color: var(--dk-gray);
}

h2{
    font-size: 1.75rem;
    padding: 0.25rem 1rem;
    background-color: var(--lt-blue);
    color: var(--dk-gray);
    border-radius: 0.25rem;
}

h3{
    font-size: 1.5rem;
    text-decoration: var(--peach) underline solid;
}

h3 span{
    font-size: 1.75rem;
    color: var(--peach);
}

/* ----- TEXT STYLES ----- */
p{
    padding: 0.5rem 0;
    max-width: 55ch;
    margin: 0 auto;
}

.credit{
    text-align: center;
}

pre{
    padding: 1rem;
    max-width: calc(700px - 2rem);
    margin: 0 auto 2rem;
    background-color: var(--lt-gray);
    overflow-x: scroll;
}

pre code{
    font-weight: normal;
}

code{
    font-family: monospace;
    font-size: 1rem;
    font-weight: bold;
}

.bold{
    display: inline;
    font-weight: bold;
}

/* ----- LINK STYLES ----- */
a{
    display: block;
    padding: 1rem;
    transition: all 1s;
}

header > a{
    border-radius: 50%;
    /* width: 25%; */
    max-width: 100px;
    height: auto;
    margin: 0 auto;
}

p a{
    display: inline;
    padding: 0;
    color: var(--brown);
}

section a{
    color: var(--brown);
}

/* ----- LINK HOVER/FOCUS STYLES ----- */
a:hover{
    color: var(--peach);
}

a:focus, iframe:focus, video:focus{
    outline: 4px solid var(--peach);
    outline-offset: 2px;
}

header a:hover svg{
    /* fill: var(--); */
    stroke: var(--lt-gray);
    background-color: var(--dk-gray);
    border-radius: 24px;
    transition: all 1s;
}

/* ----- IMAGE STYLES ----- */
img{
    display: block;
    margin: 1rem auto;
    border-radius: 0.25rem;
    max-width: 100%;
    height: auto;
}

/* ----- SVG STYLES ----- */
header svg{
    display: block;
    margin: 0 auto;
    width: 75px;
    height: 75px;
    stroke: var(--dk-gray);
}

/* ----- HEADER, MAIN, FOOTER STYLES ----- */
header, main, footer{
    
}

/* ----- HEADER STYLES ----- */
header{
    padding: 1rem;
    background-color: var(--lt-gray);
}

/* ----- NAV STYLES ----- */
nav ul{
    /* display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem; */
}

nav a{
    text-align: center;
    font-weight: bold;
    color: var(--lt-gray);
    background-color: var(--dk-gray);
    text-decoration: none;
    border-radius: 0.25rem;
    width: calc(100% - 2rem);
    /* max-width: ; */
    margin: 1rem auto;
}

/* ----- NAV HOVER STYLES ----- */
nav a:hover{
    background-color: var(--lt-gray);
    color: var(--dk-gray);
}

/* ----- MAIN STYLES ----- */
main{
    padding: 2rem 1rem;
}

/* ----- IMAGES SECTION STYLES ----- */
#images div{
    margin: 2rem auto;
}

#images img{
    width: 100%;
    max-width: 400px;
    height: auto;
    margin: 1rem auto;
}

/* ----- VIDEO STYLES ----- */
video, iframe{
    display: block;
    width: 100%;
    max-width: 425px;
    margin: 1rem auto;
    border-radius: 0.25rem;
}

/*  */
#svg a{
    width: fit-content;
    margin: 0 auto;
}

#svg svg{
    display: block;
    height: 55px;
    width: 55px;
    margin: 0 auto;
    padding: 8px;
    stroke: var(--dk-gray);
    background-color: var(--lt-blue);
    border-radius: 50%;
    transition: all 1s;
}

#svg a:hover svg{
    stroke: var(--lt-blue);
    background-color: var(--dk-gray);
}

/* ----- FOOTER STYLES ----- */
footer{
    padding: 1rem;
    background-color: var(--lt-gray);
}

/* ----- FOOTER SOCIAL MEDIA SECTION STYLES ----- */
footer section{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    justify-items: center;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

footer h2{
    grid-column: 1/-1;
    text-align: center;
    color: var(--dk-gray);
    background-color: transparent;
}

footer section a{
    padding: 0;
    width: fit-content;
    border-radius: 50%;
}

/* ----- SOCIAL MEDIA LINK/ICON STYLES ----- */
footer svg{
    display: block;
    padding: 0.5rem;
    width: auto;
    height: 40px;
    stroke: var(--lt-gray);
    background-color: var(--dk-gray);
    border-radius: 50%;
    margin: 0 auto;
    transition: all 1s;
}

/* ----- SOCIAL MEDIA LINK/ICON HOVER STYLES ----- */
footer a:hover svg{
    stroke: var(--dk-gray);
    background-color: var(--lt-gray);
}

/* ----- MEDIA QUERIES ----- */
@media screen and (min-width: 450px){
    /* ----- HEADER STYLES ----- */
    header{
        display: grid;
        grid-template-columns: 1fr 3fr;
        gap: 0.5rem;
        align-items: center;
    }

    header > a{
        width: 100px;
    }

    header svg{
        width: 100px;
        height: 100px;
    }

    /* ----- NAV STYLES ----- */
    nav{
        grid-column: 1/-1;
    }

    nav ul{
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.5rem;
    }

    h1{
        text-align: left;
    }
}

@media screen and (min-width: 700px){
    /* ----- IMAGES SECTION STYLES ----- */
    #images div{
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 1rem;
    }
}

@media screen and (min-width: 1000px){
    /* ----- HEADER, MAIN, FOOTER STYLES ----- */
    header, main, footer{
        width: 100%;
        max-width: calc(1000px - 2rem);
        margin: 0 auto;
    }

    /* ----- HEADER STYLES ----- */
    header{
        padding: 1rem 2rem;
        grid-template-columns: 1fr 3fr 5fr;
        align-items: center;
    }

    nav{
        grid-column: auto;
    }

    h1, h2, h3{
        font-weight: bold;
        margin: 0.5rem;
    }

    h3{
        padding-left: 5rem;
    }

    /* ----- FOOTER STYLES ----- */
    footer{
        padding: 2rem;
    }
}