
/* reset selector */
* {
	margin: 0;
	padding: 0;
}

/* the styles for the html element */
/* html: sets background color to white */
html {
	background: white;
}

/* style for the body; sets font-family, width, padding, background-color,
 and grid display */
 body {
    font-family: Arial, Helvetica, sans-serif;
    width: 95%;
	margin: .5em auto;
    display: grid;
    background-color: #BEFAF6;
}

/* the styles for the header */
/* sets padding, border, grid, and background */
header {
	border-bottom: .2em solid black;
	padding: 1em 0 1em 0;
	background: linear-gradient(
		20deg, #0072E0 20%, #0DC8FC 50%, #0072E0 80% );
	display: grid;
    grid-template: repeat(1, auto) / 45% 55% ;
}
/* header img: justifies right. sets padding and width */
header img {
	justify-self: right;
	padding: 0 1em 0 0 ;
	width: 15%;
}
/* header h1: aligns itself */
header h1 {
	align-self: center;
}

/* style for the nav */
/* sets grid display and background-color. also removes bullets */
nav ul {
    display: grid;
    grid-template: 100% / repeat(3, 33.33%);
    list-style-type: none;
    background-color: #09D0DE;
}
/* centers text and sets position to relitive */
nav ul li {
    text-align: center;
    position: relative;
}
/* sets display to block, adds padding on top and bottem, removes underline, and
text is bolded and set to black */
nav ul li a {
	display: block;
	padding: 1em 0;
	text-decoration: none;
	color: black;
	font-weight: bold;
}
/* hides submenu, sets position to absolute, and sets top and width to 100% */
nav ul li ul {
	display: none;
	position: absolute;
	top: 100%;
	width: 100%;
}
/* changes the look of the nav menu when hovering */
nav ul li a:hover {
    background: #56AAF0;
    color: white;
    font-style: italic;
}
/* displays submenu when hovering */
nav ul li:hover > ul {
	display: block;
}
/* adjusts nav menu to displays current location */
li.current > a {
    color: white;
}
li.current > a:hover {
    background: #56AAF0;
    color: white;
    font-style: italic;
}
/* adds content an the end of the nav */
nav > ul::after {
	content: "";
	display: block;
}

/* stlye for the main */
/* main: creates a grid */
main {
    display: grid;
    grid-template: repeat(11, auto) / 50% 50%;
}
/* main h2: sets font-size and padding */
main h2 {
	font-size: 130%;
	padding: .5em 0;
}
/* main address: sets padding */
main address {
	padding: .5em 0 0 0;
}
/* main h3: sets padding */
main h3 {
	font-size: 105%;
	padding: .5em 0;
}
/* changes the link when hovering or foucusing on it. 
sets font-style and text color */
main a:hover, main a:focus {
	font-style: italic;
	color: #09D0DE;
}

/* the styles for the section */
/* section: sets padding */
section {
	padding: 0 .5em 0 .5em ;
	border-right: .2em solid black;
}
/* section h2: aligns text to center */
section h2 {
	text-align: center;
}

/* the styles for the aside */
/* aside: aligns text right and justifies itself right. Also sets padding */
aside {
	text-align: center;
	justify-self: right;
	padding: .5em .5em 0 .5em;

}
/* aside p: sets padding and aligns text to right */
aside p {
	margin: 0 0 1em 0;
	text-align: left;
}
/* aside h2: sets margin, padding, and background-color. Also aligns text to center */
aside h2 {
	margin: .2em 0 .5em 0;
	padding: .3em 0;
	border-radius: 10px 10px 10px 10px;
	text-align: center;
	background-color: #F5C593;
}
/* aside img: sets padding, width, and max-width */
aside img {
	padding: 0 0 .25em 0;
	width: 80%;
	max-width: 175px;
}

/* the styles for the footer */
/* footer p: sets padding and background. Also sets text color and alignment */
footer p {
	text-align: center;
	padding: 1em 0;
	background: linear-gradient(
		20deg, #0072E0 10%, #0DC8FC 50%, #0072E0 90% );
	color: black;
}

/* media query at 582px */
@media screen and (max-width: 582px) {
	body {font-size: 50%;}
	header img {max-width: 10%; padding: 0 3% 0 25%;}
}

/* media query at 400px */
@media screen and (max-width: 400px) {
	body {font-size: 30%;}
	header img {max-width: 10%; float: none; padding: 0 0 0 0; }
	header {text-align: center;}
}
