/* type selectors */
html {
	background-image: linear-gradient(to bottom, white 0%, #facd8a 100%);	
}
body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 100%;
	width: 990px;
	background-color: white;
	margin: 15px auto;
	padding: 15px 0;
	border: 1px solid black;
}
section, aside, h1, h2, h3, p {
	margin: 0;
	padding: 0;
}
section, aside {
	margin-top: 1.5em;
	margin-bottom: 1em;	
}

a { font-weight: bold; }
a:link, a:visited { color: #931420; }
a:hover, a:focus { color: black; }

p {
	font-size: 95%;
	padding: .25em 0;
}
em { font-weight: bold; }

fieldset {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-top: .5em;
}
legend {
    color: #931420;
    font-weight: bold;
    font-size: 85%;
    margin-bottom: .5em;
}

label {
    float: left;
    width: 12em;
    text-align: right;
}
label, input, select {
	font-size: 90%;
}


/* Add margin around text areas with the "with-margin" class */
textarea.with-margin {
    margin: 0.5em 0; /* Adjust the margin as needed (top and bottom margin) */
    width: 15em; /* You can adjust the width if needed */
    display: inline-block;
}


/* Style for the fieldset to center its contents */
fieldset {
    text-align: center; /* Center-align all contents within the fieldset */
}



input, select {
    width: 15em;
    margin-left: .5em;
    margin-bottom: .5em;
}
input:required {
	border: 3px solid red;
}
input:valid {
	border: 1px solid black;
}
/* input:invalid {
	box-shadow: none;
} */
br {
    clear: both;
}
#buttons input {
	width: 10em;
}

/* the styles for the header */
header { 
    grid-row: 1 / 2;
    grid-column: 1 / span 12;
}
header h2 {
	font-size: 2.25em;
    color: #f2972e;
    text-shadow: 2px 3px 0 black;
    margin-left: 12%;
	margin-bottom: .25em;
}
header h3 {
	font-size: 1.25em;
	font-style: italic;
    margin-left: 12%;
}
header img {
    width: 8%;
    max-width: 80px;
    min-width: 40px;
	float: left;
	margin-left: 2%;
}

/* The styles for the navigation menu */
#nav_menu {
    grid-row: 2 / 3;
    grid-column: 1 / span 12;
}
#nav_menu ul {
	list-style: none;
    display: grid;
    grid-template: auto / repeat(5, 1fr);
    align-content: center;
	margin: 0;
	padding: 0;
}
#nav_menu ul li a {
	text-align: center;
	display: block;
	padding: .7em 0;
	text-decoration: none;
	background-color: #facd8a;
}
#nav_menu ul li a.current {
	color: #f2972e !important;
}
/* Style for the dropdown menu */
#nav_menu ul ul {
    display: none; /* Hide the dropdown by default */
    position: absolute;
    background-color: #facd8a;
  }
  
  #nav_menu ul ul li {
    float: none;
    position: relative;
  }
  
  #nav_menu ul ul li a {
    text-align: center;
    display: block;
    width: 198px;
    padding: .7em 0;
    text-decoration: none;
    background-color: #facd8a;
  }
  
  /* Show the dropdown on hover */
  #nav_menu ul li:hover > ul {
    display: block;
  }

/* the styles for the section */
section {
	width: 535px;
	margin-left: 20px;
	padding-right: 25px;
	float: right;
}
section h1 {
	font-size: 170%;
	margin-bottom: 0.35em;
}

/* the styles for the sidebar */
aside {
	width: 350px;
	float: right;
	padding: 20px;
	background-color: #ffebc6;
	margin-right: 20px;
}
aside h2 {
	font-size: 130%;
	padding-bottom: .5em;
}
aside ul { 
	margin-top: 0;
	margin-bottom: 1.5em; 
}
aside li {
	font-size: 95%;
	padding-bottom: 0.35em;
}

/* the styles for the footer */
footer {
	clear: both;
	border-top: 2px solid #f2972e;
	padding-top: 0.7em;
}
footer p {
	font-size: 80%;
	text-align: right;
	margin-right: 20px;
}
#mobile_menu {
    display: none;
}

/* media queries */

/* decrease font sizes to keep content from rolling */
@media only screen and (max-width: 886px) {
    section h1 {
	    font-size: 1.5em;
    }
	#nav_menu ul li a {
		font-size: .875em;
	}
}

/* decrease font sizes to keep content from rolling */
@media only screen and (max-width: 837px) {
	section h2, aside h2 {
		font-size: 1.125em;
	}
	aside h3 {
	    font-size: .9375em;
    }
}

/* remove floating from section, aside, and header image and display mobile menu */
@media only screen and (max-width: 771px) {

    body {
	    width: 100%;
	    margin: 0;
	    border: none;
        grid-template: repeat(5, auto) / 1fr;
        grid-gap: 0;
    }
    header {
        grid-column: 1 / 2;
        padding-bottom: 1.5em;
        display: grid;
        grid-template: repeat(3, auto) / 1fr;
        grid-gap: .3em;
        justify-items: center;        
    }
    header h2 {
	    font-size: 1.625em;
	    text-align: center; /* Center the text */
        margin-left: 0;
    }
    header h3 {
	    font-size: 1em;
	    margin-left: 0;
    }
    header img {
        float: none;
        margin-left: 0;
        margin-bottom: 1em;
    }
    #nav_menu {
    	display: none;
    }
    #mobile_menu {
    	display: block;
        grid-row: 2 / 3;
        grid-column: 1 / 2;
    }
    .slicknav_menu {
	    background-color: #facd8a !important;	
    }
    section {
        width: 450px;
        margin: 1.2em 2%;
        padding-right: 0;
        grid-row: 4 / 5;
        grid-column: 1 / 2;
    }
    section h1 {
	    text-align: center; /* Center the text */
        margin-left: 0;
    }
    #buttons {
        display: flex;
        flex-direction: column;
        justify-content: space-between; /* Adjust as needed */
        align-items: center;
    }
    #buttons input {
        margin-bottom: 2em; /* Adjust as needed */
    }
    /*aside {
        margin-right: 0;
        margin: 0 auto; Center the aside 
        padding: 1em 2% 0;
        grid-row: 3 / 4;
        grid-column: 1 / 2;
    }*/
    aside {
        grid-column: auto; /* Reset grid-column */
        max-width: 100%; /* Optional: Set a maximum width if needed */
        margin-right: 2em;
        margin-left: 2em;
    }
    footer {
        grid-row: 5 / 6;
        grid-column: 1 / 2;
    }
    footer p {
        margin-right: 0;
        text-align: center;
    }
}

/* decrease font sizes */
@media only screen and (max-width: 480px) {
    header h2 {
	    font-size: 1.375em;
    }
    header h3 {
	    font-size: .875em;
    }
}

/* decrease font sizes */
@media only screen and (max-width: 410px) {
    header h2, section h1, aside h2 {
        font-size: 1.125em;
    }
    header h3 {
        font-size: .75em;
    }
    section h2 {
        font-size: 1em;
    }
    aside h3 {
	    font-size: .9375em;
    }
    footer p {
	    font-size: .6875em;
    }
}