/*
    Author: Levi Smith
    Date:   06/13/2025
    Assignment: CS-125H - Final Term Project
    Version: 5
*/

* {
	margin: 0;
	padding: 0;
}

:root {
	/* color palette (using collors.co):
	Dark Moss Green:	#585E26
	Jet:				#3A3A3A
	Sage:				#B4C292
	Copper:				#C47335
	Blue (Munsell):		#2D93AD
	*/
	--jet: #3a3a3a;
	--dark-moss-green: #585e26;
	--sage: #B4C292;
	--copper: #C47336;
	--munsell-blue: #2D93AD;

	--darker-moss-green: #3d420f;
	--light-copper: #FE8E39;
	--dark-rock-grey: #2e2e2e;
	--light-rock-grey: #414141;
	--locorice-brown: #291711;

}

html {

	background: white url("../images/columbia_gorge_16x10.jpg") no-repeat fixed top center;
	background-size: cover;
	/* used to make anchor bookmarks align correctly with the sticky positioned header */
	scroll-padding-top: 5em;
}

/* ----------BODY---------- */
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 100%;
	color: black;

}

/*styles for the anchor element*/
a:link {
	color: var(--light-copper);
	text-decoration: none;
}

a:visited {
	color: var(--copper);
	text-decoration: none;
}

a:hover, a:focus {
	font-style: italic;
}

/* ----------Plain Element Selectors----------*/

/* styles for the paragraph element */
p {
	font-size: 100%;
	line-height: 1.25em;
}

/* styles for header elements */
h2, h3, h4 {
	margin: .5em 0;
}

h3 {
	font-size: 130%;
}

h4 {
	font-size: 110%;
}


/* ----------Generic Class, ID and Selection Psuedo-Elements----------*/

::selection {
	background: var(--munsell-blue);
}

/* ----------NAV---------- */

h1 a:link, nav a:hover, nav a:focus {
	font-style: normal;
}

nav a:hover, nav a:focus, nav a#current {
	background-color: var(--darker-moss-green);
}

nav a:link, nav a:visited {
	color: var(--light-copper);
}

/* ----------HEADER---------- */
header {

	border-bottom: 2px solid black;
	padding: .5em;

	background-color: var(--dark-moss-green);
	color: black;

	display: flex;
	flex-direction: row;
	justify-content: center;

	position: sticky;
	z-index: 1;/*when scrolling on a phone it is possible to force the aside to overlap the header. When that happens,
						I want the nav to be below the header*/
	top: 0;
}

header h1 {
	box-sizing: border-box;

	width: 20em;
	padding-right: .5em;
	border-right: 1px solid white;
	text-shadow: 1px 1px 1px var(--sage);

	font-variant: small-caps;
	letter-spacing: 0.1em;
	line-height: 1em;

	text-align: center;
	font-size: 1.5em;
}

header h1 a:link, header h1 a:visited {
	color: black;
}

/*desktop nav*/
header nav {
	width: 70em;
	overflow: hidden;
}

header nav ul {
	list-style: none;
}

header nav li {
	width: 25%;
	float: left;
}

header nav li a {
	padding: 1em 0;
	display: block;
	text-align: center;
	font-size: 1em;
}

/* ----------MAIN---------- */

main {
	margin: 5% auto;
	width: 70%;
	max-width: 1060px;

	background-color: var(--jet);
	color: white;
	
}

main article {
	padding: 1em 1.5em;
}

main h2,
main h3{
	margin-bottom: 1em;
}

main h2 {
	border-bottom: 2px solid white;
	padding-bottom: .25em;
}

main h3 {
	border-top: 2px solid white;
	padding-top: 1em;
}

main p {
	padding-bottom: .5em;
}

main ul li {
	margin: 0 2em;
}

main dl dt {
	font-weight: bold;
}

main dl dd {
	margin: .5em 1em;
}

main section {
	overflow: hidden;
}

main section:first-of-type {
	margin-top: 1em;
}

main section img {
	margin: .3em 0 1em 1em;
	border: 1px solid black;
	width: 20%;
	min-width: 150px;
	float: right;
	height: auto;
}

main table, main th, main td {
	border: 1px solid white;
	border-collapse: collapse;

	text-align: center;
}

main table {
	margin: .5em auto;
	border: 2px solid white;
	width: 95%;
}

main th, main td {
	padding: .25em 0;
}

figure {
	margin: 3em auto 2em;
	border: 1px solid white;

	width: 75%;
	text-align: center;
}

figure img {
	width: 100%;
}

figcaption {
	padding: .2em;
	color: white;
	font-size: 70%;
}

/* ----------FOOTER---------- */

footer {
	background-color: var(--dark-moss-green);
	padding: 1em 0;

	clear: both;
}

footer p {
	text-align: center;
	font-size: 80%;
}

/* ----------INTERIOR PAGES---------- */


main#interiorpages {
	margin: 3% auto;
	width: 80%;
	max-width: 1200px;

	display: flex;
	justify-content: space-between;
	background-color: transparent;
}

main#interiorpages article {
	width: 85%;
	background-color: var(--jet);
}

/*sidebar and quick nav for interior pages*/
main#interiorpages aside {
	margin-left: 5em;
	padding-bottom: 1em;
	width: 35%;

	box-sizing: border-box;
	border: 3px solid black;

	align-self: flex-start;

	background-color: var(--dark-moss-green);
	overflow: hidden;
}

main#interiorpages aside h4 {
	margin: 0;
	padding: .5em 0;
	border-bottom: 2px solid black;

	text-align: center;
	background-color: var(--dark-rock-grey);
	color: white;
}

/*featured hike aside on hiking index page*/

main#interiorpages aside img {
	width: 100%;
}

main#interiorpages aside dl {
	padding: .5em;
}

main#interiorpages aside dt {
	border-bottom: 1px dashed white;
	font-weight: 600;
}

/*quick nav on resources page*/

main#interiorpages aside a {
	display: block;
}

main#interiorpages aside a:visited {
	color: var(--light-copper);
}

main#interiorpages aside ul {
	list-style: none;
}

main#interiorpages aside ul, main#interiorpages aside ul li {
	margin: 0;
	padding: 0;
	width: 100%;
}

main#interiorpages aside ul li {
	padding: .5em 0 0 .5em;
}

main#interiorpages aside ul li ul li a {
	font-size: 90%;
}

