/********* CSS RESETS **********/

img {
	max-width:100%;
}

h1, h2, h3, p, ul, ol {
	margin: 0;
	padding: 0;
}

nav ul, nav ol {
	list-style-type: none;
}

/********* End CSS Reset *********/

body {
  background-image: url(assets/graphics/interlaced.png);
  background-size: 100%;
  background-repeat: repeat;
}

a:link, a:visited {
    color: #ffffff; 
    text-decoration: none;
}

a:hover, a:active {
    color: #ff8f8f; 
    text-decoration: underline;
}

header {
  text-align: center;
  padding: 20px;
  }

header img {
  width: 100%;
  height: auto;
}

#home img {
  margin-bottom: 40px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* Adds drop shadow */
}

#home {
	margin-bottom: 100px;
}


section {
  padding: 20px;
  margin-bottom: 100px;
}

h1, h2 {
  font-family: 'Rock Salt', cursive;
  text-align: center;
  color: red;
  font-size: 1.2rem;
  line-height: 1.2;
  margin-bottom: 20px;
}

h3 {
	font-family: 'Rock Salt', cursive;
  	text-align: center;
  	color: white;
	font-size: 1.2rem;
	line-height: 1.2;
	margin-bottom: 20px;
}

h4 {
	font-family: 'Lora', serif;
	text-align: center;
	color: white;
	font-size: 1.2rem;
	line-height: 1.2;
	margin-bottom: 20px;
}

#container {
  font-family: 'Lora', serif;
  color: #000;
  width: 100%;
  max-width: 1200px; 
  margin: 20px auto;    
  padding: 0 20px;   
  background-color: #ccc;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}

#container h2 {
  font-family: 'Rock Salt', cursive;
  text-align: center;
  color: red;
}


/*******Navigation Styles*******/

#navigation {
	position: relative;
}

#mobilenav {
	background: #000;
	margin-bottom: 20px;
	padding-right: 20px;
}

#mobilenav h2 {
	text-align: right;
	line-height: 50px;
	color:#ebebeb;
	font-size: 32px;
}

#mainnav {
	width: 200px;
	position: absolute;
	top: 50px;
	right: 0;
	border-top: 1px solid #ca6a0c;
}

#mainnav ul {
	background: #000;
}

#mainnav ul li a {
	display:block;
	background:#000;
	color:#ebebeb;
	font-weight:700;
	font-size:32px;
	line-height:50px;
	text-decoration:none;
	text-transform:uppercase;
	text-align:right;
	padding-right: 20px;
	width:180px;
	border-bottom: 1px solid #000;
}

#mainnav ul li a:hover {
	background:#40606f;
}


/*******Speaker Section and Guest Section********/

.speaker-section, .guest-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
  margin-bottom: 40px;
}

.speaker-section img, .guest-section img {
  width: 80%;
  height: auto;
  margin-bottom:40px;
  align-items: center;
}

.speaker-section {
  text-align: left;
  margin-bottom: 40px;
}

.speaker-section ul {
  list-style-type: none;
  padding-left: 0;
}

.content-wrapper {
  display: block; /* mobile default = stacked */
}

.content-wrapper img {
  width: 80%;
  margin-bottom: 40px;
}

.text-content {
  padding: 10px;
}

/*******Socials Section******/

.social-icons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 20px 0;
}

.social-icons img {
  width: 40px;
  height: 40px;
}

.socials {
  text-align: center;
  font-family: 'Rock Salt', cursive;
  margin: 30px 0 20px;
  font-size: 1.5rem;
}

#socials img {
	margin-bottom: 20px;
}

#socials h3 {
	margin-top: 20px;
}

#socials h2 {
	margin-bottom: 40px;
}

#socials {
	margin-bottom: 100px;
}

/*******Footer******/

footer {
  text-align: left;
  padding: 20px;
  background-color: #c95013;
  color: white;
  font-size: 0.9rem;
  margin-top: 100px;
}

footer h4 {
	font-size: 1.5rem;
}

/*******Responsive Media Queries*******/

/* Media query for between 720px */
@media only screen and (min-width: 720px) {

    /* Ensuring images and text in speaker-section are aligned properly */
    .speaker-section, .guest-section {
        display: flex;
        flex-direction: column; /* Ensure content stacks vertically */
        align-items: center;
        margin-bottom: 40px;
    }

    /* Grid layout for breakout sessions */
    #breakout-sessions {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
        gap: 40px;
        align-items: start;
    }

    /* Ensuring text content for guest-section */
    .guest-section .content-wrapper {
        display: flex;
        flex-direction: column; /* Stack the text under images */
        align-items: center;
        text-align: center;
    }

    .speaker-section .content-wrapper img {
        margin: 0 auto;
    }

    .guest-section img {
        width: 80%;
        height: auto;
        margin-bottom: 40px; /* Add spacing between image and text */
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .guest-section .text-content {
        width: 100%; /* Ensure text content is full width under the image */
        text-align: left;
    }

    .guest-section .text-content h3 {
        text-align: center;
    }

    /* Footer layout for larger screens */
    footer {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
        gap: 20px;
        font-size: 1rem;
        line-height: 1.6;
        text-align: left;
    }

    footer h4 {
        grid-column: span 2;
        text-align: center;
        font-size: 1.5rem;
        margin-bottom: 10px;
    }

    footer img {
        grid-column: span 2;
        justify-self: center;
        margin-top: 20px;
        max-width: 120px;
    }
}



@media only screen and (max-width: 720px) {
    #container {
        margin: 0 10px; /* Add space on the sides for mobile */
    }

    footer {
        text-align: center;
        font-size: 1rem;
        line-height: 1.6;
    }

    .social-icons {
        justify-content: center;
        margin-top: 20px;
    }

    
}


@media only screen and (min-width: 960px) {

/******Desktop NAV Styles******/

	#mobilenav {
		display: none;
	}

	#mainnav {
		box-sizing: border-box;
		position: static;
		width: 100%;
		margin-bottom: 20px;
		border-top: none;
		border-left: 1px solid #ca6a0c;
	}
	
	#mainnav ul {
		display: flex;
	}

	#mainnav ul li {
		flex: 1;
	}

	#mainnav ul li {
		width: 100%;
		box-sizing: border-box;
		padding: 0;
		text-align: center;
		border-bottom: none;
		border-right: 1px solid #ca6a0c;
	}

  /* Container max width */
  #container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
  }

  /* Header */
  header {
    padding: 40px 0;
  }

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

  /* Speaker Section (3-column layout for desktop) */

   .guest-section .content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .guest-section .content-wrapper img {
    width: 80%;
    max-width: 300px;  /* Ensure images aren't too large */
    height: auto;
  }

 .guest-section {
    text-align: left;
  }

  .guest-section img {
    width: 100%;
    height: auto;
  }

  .guest-section .text-content {
    width: 100%;
    text-align: center;
  }

  .guest-section .text-content h3 {
    text-align: center;
  }

  /* For the speaker section, ensure images and text align properly */
  .speaker-section .content-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 30px;
  }

  .speaker-section .content-wrapper img {
    width: 40%;
    height: auto;
  }

  .speaker-section .text-content {
    width: 60%;
  }

  .speaker-section .text-content h2,
  .speaker-section .text-content h3 {
    text-align: center;
  }

  /* Grid layout for breakout sessions */
  #breakout-sessions {
      display: grid;
      grid-template-columns: repeat(4, 1fr); /* 4 columns */
      gap: 40px;
      align-items: start;
    }

  /* Footer layout */
footer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    font-size: 1rem;
    line-height: 1.6;
  }

  footer h4 {
    grid-column: span 2;
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 10px;
  }

  footer img {
    grid-column: span 2;
    justify-self: center;
    margin-top: 20px;
    max-width: 120px;
  }

  /* Social icons layout */
  .social-icons {
    display: flex;
    justify-content: space-evenly;
    gap: 20px;
    margin-top: 20px;
  }

  .social-icons img {
    width: 50px;
    height: 50px;
  }

  #socials img {
      display: block;
      margin: 0 auto 20px;
    }
}



