h1 { font-size: 2.25em; }
h2 { font-size: 1.9656em; }
h3 { font-size: 1.7171em; }
h4 { font-size: 1.5em; }
h5 { font-size: 1.3104em; }
h6 { font-size: 1.1447em; }
p { font-size: 1em; }
small { font-size: .8736em; }

p {margin-bottom: 1rem;}

h2,
h3,
h4,
h5,
h6 {
    color: #0057cf;
    font-weight: bold;
    line-height: 1.1;
    margin: 2rem 0 1rem 0;
}

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

body {
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.5;
    /* background-color: #56a9ff; */
}

/* header::before {
    content: " ";
    /* border: 1px solid red; 
    display: block;
    height: 17rem;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: #2679d8;
} */


#jac-logo {
    filter: invert(1);
    margin: 0 auto 9rem auto;
    max-width: 425px;
    display: block;
}

h1 span {
    display: block;
    font-size: 150%
}

header {
	background-image: url(../img/jac-square.jpg);
	background-size: 100%;
	height: 35rem;
	background-repeat: no-repeat;
	background-color: #257add;
	padding-top: 0rem;
	background-position-y: 17rem;
	position: relative;
	margin: 0;
	padding: 1rem 0 0 0;
}

h1 {
    line-height: 1;
    text-align: center;
    color: #FFB300;
    font-weight: bold;
    position: relative;
    top: -7rem
}

header h2 {
    margin: 0;
    color: #fff;
    font-weight: bold;
    font-style: italic;
    line-height: 1.3;
    text-align: center;
    font-size: 1.5rem;
    background-color: #596c21;
    padding: 1rem;
    margin-top: 80vw;
    max-width: 40ch;
    margin-left: auto;
    margin-right: auto;
}

section {
	/* border: 1px solid #444; */
	margin: 1rem 0.5rem 5rem 0.5rem;
	padding: 1rem;
	background-color: #fff;
}

picture {
    max-width: 18.75rem;
    /* 18.75rem * 16 = 300px */
}

footer {
	background-color: #2679d8;
	color: #fff;
	height: 10rem;
	line-height: 5rem;
	text-align: center;
}

footer a:link {color: white; text-decoration: none;}
footer a:visited {color: rgb(220, 218, 218);}
footer a:hover {text-decoration: underline;}
footer a:active {color: rgb(216, 216, 30);}

ol {
	list-style-type: decimal;
	margin-left: 1rem;
	margin-bottom: 1rem;
}

ol + p {font-weight: bold; text-align: center;}

.how .flex-container a {
	display: flex;
	width: 50%;
	justify-content: center;
}

.how .flex-container .flex-container {
	display: flex;
	align-content: center;
	justify-content: center;
	align-items: center;
    margin: 2rem 0;
}

.how .flex-container a.ios {
	width: 30%;
}

.ios img {
	width: 2.5rem;
}

#inat {
	height: auto;
	display: block;
}

.slogan {
	font-weight: bold;
	text-align: center;
	margin-top: 2rem;
	font-size: 1.5rem;
	color: #74ac00;
}

#gbif {
	float: right;
	width: 6rem;
	margin: 0 0 0.5rem 0.5rem;
}


@media screen and (min-width: 48rem) {

    body {
        background: rgb(255, 255, 255);
    }

    #jac-logo {
        margin: unset;
    }

    header {
        background-size: cover;
        height: 35rem;
        background-position-y: -9rem;
    }

    h1 {
        color: white;
        margin-top: 17.6rem;
        text-shadow: 3px 4px 5px #444;
        background-color: rgba(0, 0, 0, 0.4);
        padding: 3rem;
    }

    p {
        max-width: 90ch;
    }

    picture {
        max-width: 36rem;
        /* 36rem * 16 = 576px */
    }

    .flex-container > p,
    .flex-container > div {
        margin: 0 1rem;
    }
 

    .flex-container {
        display: flex;
        gap: 2rem;
    }

    .when .flex-container {
        flex-direction: row-reverse;
    }

    .when p,
    .when picture,
    .why p,
    .why picture {
	    flex-basis: 50%;
    }

    .how .flex-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 2rem;
    }

    .how picture {
        order: 2;
      }

    .how .flex-container div {
    order: 1;
    }

    .how {
        border: 1px solid #444;
        padding: 6rem;
        }

    .how h2 {color: #74ac00;}    

        #inat {
        width: 14rem;
        }

        .slogan {margin-top: 0; color: #0057cf; text-align: left; font-size: 2.3rem;}

        .how picture {
            order: 1;
            }
        
        .flex-container > p, .flex-container > div {
            margin: 0;
            }

            ol + p {
                text-align: left;
            }
}

/* always comment closing media query */


@media screen and (min-width: 64rem) {

    h1 {
        font-size: 4.6em;
    }

    .wrapper{
        max-width: 64rem;
        margin: 0 auto;
    }

    header h2 {margin-top: 53.75rem;}

    section {
        border: unset;
        padding: unset;
        margin: 1rem 0 5rem 0;
    }

    .why {
        border: 1px solid #444;
        padding: 2rem 6rem 5rem 6rem;
        border-radius: 6rem;
        background-color: #a14e0a;
        color: white;
    }

    .why h2 {color: white;}

    .why .flex-container .flex-container {
        flex-direction: column;
    }

    .why .glogo {
        background-color: white;
        width: 11rem;
        display: flex;
        align-content: center;
        justify-content: center;
        border-radius: 11rem;
        height: 13rem;
        align-items: center;
        flex-basis: 13.3rem;
    }

    #gbif {
        float: unset;
        width: 8rem;
        margin: 0 0 0.5rem 0.5rem;
        height: 5rem;
    }

}  /* always comment closing media query */