body {
    padding: 0px; 
    margin: 0px;
    font-family:Verdana, Arial, Helvetica, sans-serif; 
    font-size:1.1em;
  }

#wrapper {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0%;
    background-color: #FFFFFF;
}

#content {
    width: 65%;
    padding-left: 10%;
	padding-right:10%;
	padding-top:20px;
	margin-left: auto;
	margin-right:auto;
    position: relative;
    background-color: #FFFFFF;
	overflow-x:hidden;
}

#table-wrapper {
    width: 700px;
    margin-left: -30%;
    position: relative;
}
h1 { 
    font-family: arial, helvetica, sans-serif; 
    font-size: 200%; 
    font-style: bold; 
    text-align:center; 
    margin-bottom:7px; margin-left:7px; margin-top:17px; 
}
h2 {
    font-family: arial, helvetica, sans-serif; 
    font-size: 130%; 
    font-style: bold; 
    margin-bottom:0;
}
h3 {
    font-family: Arial; 
    font-size: 100%; 
    text-align:left; 
    color:#FFFFFF; 
    font-weight:bold; 
    background-color:#003300; margin-top:0
}
h5 {
    font-family: verdana, arial, helvetica, sans-serif; 
    font-size: 100%; 
    margin-bottom:0; margin-left:0px; 
}

h6 {
    font-family: arial, helvetica, sans-serif; 
    font-size: 120%; 
    font-style: bold; 
    margin-bottom:0;
	color:#F00;
}

.author {
    font-style: italic;
	margin-bottom: 15px;
	padding-left:10%;
	display:inline-block;
}

.breadcrumbs {
	margin-bottom:40px;
	font-size:0.9em;
}

.indented-text {
	padding-left:40px;
}

ol.extra {
	margin-left:20px;
}

a {
	text-decoration: underline;
}

.content a:link {
	color:  #669900;	
	text-decoration:underline;
}

.content a:visited {
	color: #006600;	
}

.content a:hover {
	color: #006600;	
	text-decoration:underline;
}

.content a:active {
	color: #669900;	
}

/*begin style for book recommendation tile */

.book-recommendation {
  border: 1px solid #ddd;
  box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1);
  padding: 2%;
  margin: 1%;
  background-color: #fff;
  display: flex;
  align-items: center;
  flex-direction:row;
}

.book-cover {
  margin-right: 2%;
}

.book-cover img {
  min-width: 300px;  
  height: auto;
}

.book-info {
  height:100%;
}

.book-title {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 5px;
}

.book-author {
  font-style: italic;
  color: #555;
  margin-bottom: 10px;
}

.book-description {
  font-size: 0.9em;
  line-height: 1.4;
}

/* end style for book recommendation tile*/


.indent {
    margin-left: 30px; 
    margin-top:0
}

.indent2x {
    margin-left: 60px; 
    margin-top:0
}

.call-out {
    margin : 0 20px 0 20px;
	font-style: italic;
	border: solid 1px #000000;
	padding:1em;
	background-color:hsl(210, 0%, 88%);
}

.call-out2 {
    width:70%;
	margin : 0 auto 0 auto;
	border: solid 1px #000000;
	padding:1em;
	background-color:#F6F99C;
}

ul {
    margin-left: 10px;
    padding-left: 10px;
}

ul li {
        list-style-position: outside;
		margin-left:20px;
}

.indent3x {
    margin-left: 90px; 
    margin-top:0
}

.center-text {
    text-align: center;
}

.video {
    margin-left: 60px; 
    margin-top:0
}

#tile-wrapper {
	text-align:center;
}

#image-tile  {
  border: thin silver solid;
  display:inline-block;
  max-width:95%;
  margin-right: auto;
  margin-left:auto;
  margin-top:10px;
  margin-bottom:10px;
  padding: 0.5em 0.5em 0 0.5em;
  overflow:hidden;
}

.image-tile-text {
  text-align: left;
  font-weight: bold;
  font-size: smaller;
  text-indent: 0;
  padding-bottom:7px;
  width: 100%
}

.figure {
  width: 320px;
  border: thin silver solid;
  margin-right: auto;
  margin-left:auto;
  padding: 0.5em;
}

.figure p {
  text-align: left;
  font-weight: bold;
  font-size: smaller;
  text-indent: 0;
  width: 100%
}

.image-indent {
	margin-left: 7px;
}

.image-center {
	margin-left:auto;
	margin-right:auto;
}

/* css for watermark images */

/* css for watermark images */

.watermark-gallery {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 40px;
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.watermark-item {
    margin: 0 auto 40px auto;
    max-width: 567px;        /* match your actual image width */
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.watermark-item img {
    width: 100%;             /* always fill the container width */
    height: auto;            /* height scales proportionally */
    display: block;
}

.watermark-caption {
    margin-top: 6px;
    margin-bottom: 0;
    text-align: center;
    font-size: 0.9em;
}

/* end watermark images */

/* end watermark images */



#form-border {
	border: 3px solid #006600;
    margin-left: 10%;
    margin-bottom: 1em;
    width: 70%;
    padding: 3% 10% 3% 5%;
    -webkit-border-radius: 10px 10px 10px 0px;
    -moz-border-radius: 10px 10px 10px 10px;
    border-radius: 10px 10px 10px 10px;
    line-height: 1.5em;
}

.imgshadow {
	background:#FFFFFF;
	padding:4px;
	border:1px solid #777777;
	margin-top:5px;
	-moz-box-shadow:0px 0px 5px #666666;
	-webkit-box-shadow:0px 0px 5px #666666;
	box-shadow:0px 0px 5px #666666;
}

.img_left {
	width:auto;
	float:left;
	margin:5px 15px 5px 15px;
}

.responsive {
	width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

#page-footer { 
	font-family: Verdana, Geneva, sans-serif;
	bottom:0;
	background-color: #006600;
	color: #FFFFFF;
	font-size:100%;
	text-align:center;
	max-width: 100%;
	margin-top:50px;
	padding-bottom:1%;
	padding-top:20px;
	clear: both;
	z-index:1;
	overflow-x:hidden;
}

#page-footer a:link {
	color:#FFFFFF;
	text-decoration:none;
}  /* unvisited link */

#page-footer a:visited {
	color:#FFFFFF !important;
	text-decoration:none;
}  /* visited link */

#page-footer a:hover {
	color:#FFC;
	text-decoration:none;
}  /* mouse over link */

#page-footer a:active {
	color:#FFFFFF;
	text-decoration:none;}  /* selected link */ 

#page-header {
	width:80%;
	margin-left:auto;
	margin-right:auto;
	position:relative;
	top:0;
	opacity:1.0;
    border-bottom:solid #006600 2px; 
	z-index:9999;
	display:flex;
	flex-direction:column;
	/* Assign default order for desktop */   
}

#top-menu { order: 1; }
#masthead { order: 2; }
#header-tagline { order: 3; }
#topnav-wrapper { order: 4; }	

#top-menu {
 	display:flex;
	gap:20px;
	justify-content:flex-end;
	align-items:right;
	width: 100%;
	height: 100%;
	margin-right:0;
	margin-top:5px;
	margin-bottom:15px;
	font-family:Arial, Helvetica, sans-serif;
	font-size: 83%;
	font-weight:500;
	padding-top: 2px;
	list-style: none;
}

#top-menu ul {
	display: flex;
    align-items: center;
    margin: 0;
    padding-right: 10%;
}

#top-menu li {
    display: flex;
	align-items:center;
    margin-right: 20px;
	margin-left:20px;
}

.search-item {
    position: relative;
}

#top-menu a:link {
    display:block;
	color:#000;
    text-align:center;
    text-decoration:none;
}

#top-menu a:visited {
    display:block;
	color:#000;
    text-align:center;
    text-decoration:none;
}

#top-menu a:hover {
    display:block;
	color:#006600;
	font-weight:bold;
    text-align:center;
    text-decoration:none;
}

#top-menu a:active {
    display:block;
	color:#000;
    text-align:center;
    text-decoration:none;
}

#top-menu .button {
  padding: 3px 6px;
  background-color: #006600;
  font-weight:600;
  color:white;
  border: none;
  cursor: pointer;
  border-radius: 2px;
  margin-top:7px;
}

#top-menu .button a:link {
	color:white !important;
	background-color: #336699;
}

#top-menu .button a:visited {
	color:white;
	background-color: #336699 !important;
}

#top-menu .button a:hover {
	color:white;
	background-color: #006600 !important;
}

#top-menu .button a:active {
	color:rgba(255,255,255,1);
	background-color: #006600 !important;
}

/* end code for top-menu styling */

#masthead {
	width:80%;
	opacity:1.0;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
}

/* FIX: constrain logo image to 70% of masthead width */
.header-main {
	width: 70%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.header-main a {
	display: block;
	width: 100%;
}

.header-main img.responsive {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
}

#header-tagline {
	font-family:Verdana, Geneva, sans-serif;
	font-size:1em;
	font-weight:600;
	text-align:center;
	position: relative;
	background-color:#FFFFFF;
	margin-top:-5px;
	padding:0;
}


/*Begin styling for Responsive Dropdown Menu */

#topnav-wrapper {
	width:80%;
    margin-left: auto;
    margin-right: auto;
	z-index:10000 !important;
}

/* FIX: changed display:block to display:flex so justify-content:center works */
.topnav {
  background-color: #FFFFFF;
  color:#006600;
  overflow: hidden;
  margin-left:auto;
  margin-right:auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-height: 52px; 
  transition: max-height 0.4s ease-in-out;
}

/* Style the links inside the navigation bar */
.topnav a {
  display: inline-block;
  text-align: center;
  color: #006600;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
  margin-left: 16px;
  margin-right: 16px;
  font-weight: 600;
  vertical-align: middle;
}

.topnav a, .dropdown, .dropdown .dropbtn {
    vertical-align: middle;
}

/* Add an active class to highlight the current page */
.active {
  background-color: #FFFFFF;
  color: #006600;
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

/* Dropdown container - needed to position the dropdown content */
.dropdown {
  display: inline-block;
  text-align: center;
  overflow: hidden;
}

.dropbtn {
	font-weight:600;
    background-color: inherit; 
    color: #006600;
}

/* Style the dropdown button to fit inside the topnav */
.dropdown .dropbtn {
  font-size: 17px;
  border: none;
  outline: none;
  padding: 14px 16px;
  font-family: inherit;
  margin-left: 16px;
  margin-right: 16px;
  vertical-align: middle;
  cursor: pointer;
}

/* Style the dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  margin-top: 0px;
  position: absolute;
  background-color: #FFC;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

/* Style the links inside the dropdown */
.dropdown-content a {
  float: none;
  color: #006600;
  font-size:14px;
  padding: 8px 8px;
  text-decoration: none;
  display: block;
  font-weight: 400;
  text-align: left;
}

.dropdown-content a:link,
.dropdown-content a:visited {
  color: #006600;
}

.dropdown-content a:hover,
.dropdown-content a:visited:hover {
  background-color: #F6F99C;
  color: black !important;
}

.dropdown-content a:visited {
  color: black;
}

.dropdown-content a:hover {
  color: black;
}

/* Add a dark background on topnav links and the dropdown button on hover */
.topnav a:hover, .dropdown:hover .dropbtn {
  background-color: #F6F99C;
  color: #000000;
}

/* Add a grey background to dropdown links on hover */
.dropdown-content a:hover,
.dropdown-content a:visited:hover {
  background-color: #F6F99C;
  color: black !important;
}

/* Show the dropdown menu when the user moves the mouse over the dropdown button */
.dropdown:hover .dropdown-content {
  display: block;
}

/* 1. Hide the mobile-specific links by default (Desktop view) */
.mobile-only-links {
    display: none !important;
}

/* 2. Mobile-specific behavior (870px and below) */
@media screen and (max-width: 870px) {
    
    /* Hide the desktop top-menu bar */
    #top-menu {
        display: none !important;
    }

    /* Keep mobile links hidden while hamburger is CLOSED */
    .topnav a.mobile-only-links, 
    .topnav span.mobile-only-links {
        display: none;
    }

    /* ONLY show mobile links when the menu is OPENED (with .responsive class) */
    .topnav.responsive .mobile-only-links {
        display: block !important;
        float: none;
        text-align: left;
        width: 100%;
        padding: 14px 16px;
    }
}

/* 3. General Tablet/Mobile width adjustments */
@media screen and (max-width: 1100px) {
    #topnav-wrapper {
        width: 95%;
    }
    .topnav a, .dropdown .dropbtn {
        margin-left: 10px;
        margin-right: 10px;
        font-size: 15px;
    }
    .book-recommendation {
        flex-direction: column;
    }
}


/* --- Mobile Styles (@media screen and (max-width: 870px)) --- */
@media screen and (max-width: 870px) {

#body {
	font-size:0.9em;
}

#page-header {
        display:flex;
		flex-direction:column;
		width: 100%;
		border-bottom:none;
}

#top-menu { display:none; }

#topnav-wrapper { 
    order: 1;
    width: 100%; 
    display: flex; 
    justify-content: flex-end;
}	

.topnav {
        width: 100%;
        justify-content: flex-end;
	    max-height: 52px;
        overflow: hidden;
        transition: max-height 0.9s ease-in-out;
}

/* Add a dark background on topnav links and the dropdown button on hover */
.topnav a:hover, .dropdown:hover .dropbtn {
  background-color: #FFFFFF;
  color: #000000;
}

.topnav a:visited {
  background-color: #FFFFFF;
  color: #006600;
}

.topnav a {
  font-size: 17px;
  font-weight: 600;
  vertical-align: middle;
  align-content: center;
}

.topnav.responsive .dropbtn {
  font-size: 17px;
  font-weight: 600;
}

.topnav.responsive .dropdown-content a {
  font-size: 13px;
  font-weight: 400;
}

 #masthead {
    order: 2; 
    width: 100%;
    max-width: 100%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

/* FIX: full width on mobile, centered */
.header-main {
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

#masthead img.responsive {
    min-width: 300px;
    width: 100%;
    height: auto;
}

#header-tagline { 
    order: 3; 
    font-size:.8em;
	width:100%;
	text-align:center;
}

/* FIX: full-width content on mobile with box-sizing so padding doesn't overflow */  
#content {
    width: 100%;
    padding-left: 3%;
    padding-right: 3%;
    padding-top: 5px;
    box-sizing: border-box;
    margin-left: 0;
    margin-right: 0;
}

h1 {
	font-size:150%;
}

h2 {
	font-size:110%;
}

.breadcrumbs {
	display:none;
}

 /* Hide ALL links except the icon by default on small screens */
  .topnav a, .topnav .dropdown {
    display: none;
  }
   
  /* Ensure the icon is always displayed */
  .topnav a.icon {
    margin-left: 0;
	float: right;
    display: block;
	font-size: 35px;
    padding: 10px;
}

/* Hide the icon when the menu is in expanded (responsive) state */
  .topnav.responsive a.icon {
    display: none !important; 
}

  /* Styles applied when the "responsive" class is added */
  .topnav.responsive {
    position: relative;
    display: block;
    flex-direction: column;
    width: 100%;
    align-items: flex-start;    
    max-height: 800px;
    transition: max-height 0.6s ease-in-out;
}

  /* Position and style the hamburger icon when menu is open */
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
    background-color: transparent !important; 
    color: #006600 !important;
  }

  .topnav.responsive a, .topnav.responsive .dropdown {
    float: none;
    display: block;
    text-align: left;
    width: 100%;
  }

  /* Fix Home button visibility and general link hover fix */
  .topnav.responsive a.active,
  .topnav.responsive a.active:hover, 
  .topnav.responsive a.active:focus { 
    background-color: #FFFFFF !important; 
    color: #006600 !important;            
  }
  
  /* Prevent the #FF6 background color on hover for *all* standard menu links in mobile view */
  .topnav.responsive a:hover:not(.active) {
    background-color: #f9f9f9;
    color: #006600;
  }
  
  /* Add uniform border-bottom to all main menu items */
  .topnav.responsive a,
  .topnav.responsive .dropbtn {
    border-top: none; 
    border-bottom: solid #006600 2px; 
    margin: 0;
	width:100%;
  }
  
  .topnav.responsive a {
      padding-left: 14px;
      padding-right: 10px;
  }
  
  .topnav.responsive a:first-of-type,
  .topnav.responsive .dropdown:first-of-type .dropbtn {
      border-top: none;
  }

  /* Fix for the dropdown button formatting in responsive mode */
  .topnav.responsive .dropbtn {
    display: block;
    width: 100%;
    text-align: left;
    padding: 14px 16px; 
    border-left: none;
    border-right: none;
    background-color: #FFFFFF; 
    color: #006600;  
  }
  
  /* Handle the dropdown content specifically for the responsive view */
  .topnav.responsive .dropdown-content {
    position: relative; 
    display: none; 
    width: 100%;
    box-shadow: none; 
    background-color: #f9f9f9; 
  }

  /* Style for dropdown links within the responsive menu */
  .topnav.responsive .dropdown-content a {
    padding-left: 30px; 
	font-size:12px;
    background-color: inherit; 
    border: none; 
  }
  
  /* Add hover/click effects to the responsive dropdown button */
  .topnav.responsive .dropdown:hover .dropdown-content {
    display: block;
  }
  
  .video {
    margin-left: 0; 
    margin-top:0;
}

#page-footer {
	margin-top:0;
}

#form-border {
	border: 2px solid #006600;
    margin-left: auto;
	margin-right:auto;
    margin-bottom: 1em;
    width: 85%;
}

/* mobile-only-links shown when hamburger is open */
.topnav.responsive .mobile-only-links {
    display: block !important;
    float: none;
    text-align: left;
    width: 100%;
    opacity: 1;
    transition: opacity 0.5s ease-in;
}

}
/* end mobile styles */
