/* Kirsten Markley - CIS130 - Mobile-First CSS */

/* GLOBAL SETTINGS */
html {
	scroll-behavior: smooth;
  }
  
  body {
	font-family: 'Josefin Slab', serif;
	margin: 0;
	padding: 0;
  }
  
  .container {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 0 15px;
  }
  
  p {
	font-size: 20px;
  }
  
  /* HEADER */
  header {
	text-align: center;
	font-size: 30px;
  }
  
  .name {
	color: #404040;
	font-size: 1.5em;
	font-family: 'Cabin Sketch', cursive;
	border-bottom: 2px solid black;
	padding-bottom: 20px;
  }
  
  /* NAVIGATION - MOBILE FIRST */
  nav ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	list-style: none;
	padding: 0;
	gap: 10px;
  }
  
  nav li {
	display: block;
  }
  
  nav a {
	font-size: 20px;
	background-color: #404040;
	color: #fff9cc;
	text-decoration: none;
	padding: 15px 20px;
	display: block;
	border-radius: 5px;
  }
  
  a:hover {
	transition-duration: 0.3s;
	box-shadow: 2px 2px 4px black;
	font-weight: bold;
  }
  
  .main-nav a:hover {
	box-shadow: 10px 10px 5px black;
  }
  
  /* SECTION NAVIGATION */
  .section-nav {
	margin: 30px 0;
	text-align: center;
  }
  
  .section-nav ul {
	display: flex;
	flex-direction: column;
	align-items: center;
	list-style: none;
	gap: 10px;
	padding: 0;
  }
  
  .section-nav a {
	background-color: #ddd;
	color: #333;
	padding: 10px 15px;
	border-radius: 5px;
	font-size: 16px;
	text-decoration: none;
  }
  
  .section-nav a:hover {
	background-color: #aaa;
	color: white;
  }
  
  /* HOMEPAGE ARTICLE */
  .homepageArticle {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	margin-top: 50px;
	text-align: center;
  }
  
  #headshot {
	width: 100%;
	max-width: 300px;
	border: 5px solid #404040;
	box-shadow: 5px 5px 10px black;
  }
  
  .home-text {
	display: flex;
	flex-direction: column;
	align-items: center;
  }
  
  .home-text .greeting {
	color: #404040;
	font-size: 50px;
	font-family: 'Cabin Sketch', cursive;
	margin-bottom: 10px;
	padding-top: 10px;
  }
  
  .home-text p {
	font-size: 20px;
	text-align: center;
  }
  
  /* PERSONAL STORY SECTIONS */
  .personal-story {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas:
	  "heading"
	  "image"
	  "text";
	gap: 30px;
	text-align: center;
	margin-bottom: 50px;
  }
  
  .personal-story .heading {
	grid-area: heading;
	font-size: 25px;
	text-align: center;
  }
  
  .personal-story .story-img {
	grid-area: image;
	width: 100%;
	max-width: 300px;
	border: 5px solid #404040;
	box-shadow: 5px 5px 10px black;
	margin: 0 auto;
  }
  
  .personal-story p {
	grid-area: text;
	font-size: 20px;
	max-width: 700px;
	margin: 0 auto;
  }
  
  /* Horizontal separator after each section except last */
  .personal-story:not(:last-of-type)::after {
	content: "";
	display: block;
	height: 2px;
	background-color: #ccc;
	margin: 40px 0 0 0;
	grid-column: 1 / -1;
  }
  
  /* BACK TO TOP link styling */
  span a {
	font-size: 16px;
	background-color: #ddd;
	color: #333;
	padding: 10px 15px;
	border-radius: 5px;
	text-decoration: none;
	display: inline-block;
	margin-top: 20px;
  }
  
  span a:hover {
	background-color: #aaa;
	color: white;
  }
  
  /* FOOTER */
  footer {
	clear: both;
	padding: 15px;
	border-top: 2px solid black;
	margin-top: 100px;
	text-align: center;
  }
  
  footer p {
	margin: auto;
	font-family: 'Josefin Slab', serif;
	font-size: 16px;
  }
  
  /* MEDIA QUERIES - DESKTOP (min-width) */
  @media (min-width: 768px) {
	
	nav ul {
	  flex-direction: row;
	  justify-content: center;
	}
  
	.homepageArticle {
	  flex-direction: row;
	  align-items: flex-start;
	  text-align: left;
	}
  
	.home-text {
	  align-items: flex-start;
	}
  
	.home-text p {
	  text-align: left;
	}
  
	.personal-story:nth-of-type(odd) {
	  grid-template-columns: 1fr 1fr;
	  grid-template-areas:
		"heading heading"
		"image text";
	  text-align: left;
	}
  
	.personal-story:nth-of-type(even) {
	  grid-template-columns: 1fr 1fr;
	  grid-template-areas:
		"heading heading"
		"text image";
	  text-align: left;
	}
  
	.personal-story p {
	  text-align: left;
	}

	.personal-story .heading {
		
		text-align: center;
	  }

	  .section-nav ul {
		flex-direction: row;
		justify-content: center;
	  }
  }
  